BAB 2 LANDASAN TEORI
2.1. Teori Basis Data 2.1.1 Pengertian Basis Data Menurut Connolly dan Begg (2005, p15), basisdata adalah sebuah kumpulan data yang saling berhubungan secara logis dan sebuah penjelasan dari data tersebut, yang didesain untuk menemukan data yang dibutuhkan organisasi. Didalam basisdata, semua data diintegrasikan untuk menghindari duplikasi data. Basisdata banyak digunakan oleh banyak departemen dan pengguna. Basisdata tidak hanya menangani data operasional organisasi, tetapi juga mengenai data tersebut. Menurut Turban (2003, p16), basisdata merupakan kumpulan file atau record yang terorganisir yang menyimpan data beserta hubungan di antara data tersebut. Menurut Post, Gerald V(2004, p2), sistem basisdata merupakan kumpulan data yang disimpan dalam format yang standar dan dirancang untuk dibagikan oleh berbagai pengguna. Menurut Atzeni (2003, p2), basisdata merupakan koleksi dari data yang biasanya digunakan untuk mewakili informasi yang diinginkan terhadap suatu sistem informasi. Jadi, kesimpulannya basisdata adalah kumpulan data yang saling berhubungan secara logis dan disimpan dalam format standar yang secara khusus mendeskripsikan aktivitas dari satu atau lebih organisasi yang berhubungan.
6
7
2.1.2 Entity-Relationship Modeling Menurut Connolly (2002,p330), Entity-Relationship Modeling adalah pendekatan
perancangan
basisdata
top
down
yang
dimulai
dengan
mengidentifikasi data yang penting yang disebut dengan entity dan hubungan diantara data yang harus direpresentasikan dalam model. 2.1.2.1 Entiti (Entity) Konsep dasar dari model ER adalah Entity, yaitu kumpulan dari objek – objek dari dunia nyata dengan sifat (property) yang sama, yang diidentifikasi oleh perusahaan yang keberadaannya tidak tergantung (independent). Entity Occurance, yaitu pengidentifikasian objek yang unik dari sebuah type entity. Setiap entity diidentifikasikan dan disertakan propertinya. Menurut C.J. Date (2000,p425), entity didefinisikan sebagai sesuatu yang dapat diidentifikasi secara terpisah. Entity diklasifikasikan ke dalam regular entities dan weak entities. Weak entities adalah entity – entity yang keberadaannya tergantung pada keberadaan entity lain. Sebaliknya, regular entities adalah entity – entity yang bukan termasuk weak entity. Regular entity juga sering disebut strong entity. 2.1.2.2 Atribut (Attribute) Merupakan sifat – sifat dari sebuah entiti atau tipe relasi. Atribut domain adalah himpunan nilai yang diperbolehkan untuk satu atau lebih atribut. Macam – macam atribut:
8 • Simple Attribute, yaitu atribut yang terdiri dari satu komponen tunggal dengan keberadaan yag independent dan tidak dapat dibagi menjadi bagian yang lebih kecil lagi. Dikenal juga dengan nama Atomic Attribute. • Composite Attribute, yaitu atribut yang terdiri dari beberapa komponen, dimana masing – masing komponen memiliki keberadaan yang independent. • Single – valued Attribute, yaitu atribut yang mempunyai nilai tunggal untuk setiap kejadian. Misalkan entity cabang memiliki satu nilai untuk atribut Branch No pada setiap kejadian. • Multi – value Attribute, yaitu beberapa nilai untuk setiap kejadian. Misal entity cabang memiliki beberapa nilai untuk atribut telpNo pada setiap kejadian. 2.1.2.3 Keys • Candidate key didefinisikan sebagai sejumlah minimal atribut – atribut yang nilainya dapat secara unik mengidentifikasikan suatu entity. (Connolly, 2002, p340). • Primary key didefinisikan sebagai candidate key yang terpilih secara unik mengidentifikasikan suatu entity. (Connolly, 2002, p341). • Composite key didefinisikan sebagai candidate key yang terdiri atas dua atau lebih atribut. (Connolly, 2002, p341).
9 2.1.3 4GL (Fourth-Generation Languages) 4GL (Fourth-Generation Languages) adalah sebuah bahasa non-prosedural dimana pengguna mendefinisikan apa yang harus dilakukan bukan bagaimana. Fourth-Generation Languages meliputi : • Presentation Languages, seperti query languanges dan report generators. • Speciality Languages, seperti spreadsheets dan bahasa basisdata. • Application Generators, yang mendefinisikan insert, update dan mengambil kembali data dari basisdata untuk membuat aplikasi. • Very High Level Languages, yang digunakan untuk menghasilkan application code.
Tipe – tipe dari 4GL yaitu : - Forms Generators, adalah sebuah fasilitas interaktif untuk menghasilkan inputan data dan display layouts untuk bentuk layar. - Report Generators, adalah sebuah fasilitas untuk menghasilkan laporan dari data yang disimpan dalam basisdata. - Graphic Generators, adalah sebuah fasilitas untuk mengambil data dari basisdata dan menampilkan data dalam bentuk grafik yang menunjukkan kecenderungan dan hubungan dalam data. - Application Generators, adalah sebuah fasilitas untuk menghasilkan sebuah program yang berinteraksi dengan basisdata.
10 2.1.4 Database Management System (DBMS) 2.1.4.1 Pengertian Database Management System Database Management System (DBMS) atau Sistem Manajemen Basisdata adalah sebuah sistem perangkat lunak yang memungkinkan pemakai untuk mendefinisikan, memelihara, dan mengatur akses ke basisdata (Connolly, 2005, p16). Fasilitas – fasilitas yang disediakan DBMS adalah sebagai berikut: • Data Definition Language (DDL) Memperbolehkan pengguna untuk membuat spesifikasi tipe data, mendefiniskan basisdata, struktur data dan constraint data untuk disimpan dalam basisdata. • Data Manipulation Language (DML) Memperbolehkan
pengguna
untuk
memasukkan,
memperbaharui,
menghapus dan mengirim atau mengambil data dari suatu basisdata.
2.1.4.2 Komponen Database Management System (DBMS) Menurut Connolly (2005, p18), ada 5 komponen DBMS yaitu : • Hardware (Perangkat Keras) Perangkat keras digunakan untuk menjalankan DBMS dan aplikasi aplikasi. Contoh : Single Main Frame, Single Personal Computer atau komputer yang menggunakan jaringan. • Software (Perangkat Lunak)
11 Komponen perangkat lunak terdiri dari perangkat lunak DBMS itu sendiri dan program – program aplikasi, bersama sistem operasi, termasuk perangkat lunak jaringan jika DBMS menggunakan jaringan. •
Data Merupakan komponen yang paling penting dari DBMS, khususnya dari sudut pandang pengguna akhir mengenai data.
• Prosedur Cara untuk menjalankan sistem, seperti bagaimana masuk ke dalam DBMS, memulai dan menghentikan DBMS, dan juga bagaimana cara untuk membuat backup data dari suatu basisdata. • Manusia Komponen DBMS yang terakhir adalah manusia yang terlibat dengan sistem termasuk di dalamnya adalah DataBase Administrator (DBA), perancang basisdata, pengembang aplikasi dan pengguna akhir. Data Hardware
Software
Procedures
People
Bridge
Gambar 2.1 Komponen Database Management 2.1.5 Database System Development Lifecycle (DSDLC) Untuk merancang aplikasi sistem basis data, terdapat tahapan – tahapan terstruktur yang harus diikuti yang dinamakan dengan Database System Development Lifecycle atau disingkat dengan DSDLC. Perlu diingat bahwa tahapan dalam DSDLC tidak harus berurutan, namun juga dapat melibatkan
12 beberapa pengulangan ke tahapan sebelumnya melalui putaran balik (feedback loops). Untuk sistem basis data yang kecil, dengan user yang sedikit, lifecycle tidak perlu kompleks. Ketika mendesain sebuah sistem basis data yang sedang atau besar dengan sepuluh sampai ribuan user menggunakan ratusan query dan program aplikasi, lifecycle dapat menjadi sangat kompleks. Tahapan – tahapan tersebut terlihat pada gambar 2.3 2.1.5.1
Database planning Tujuan dari database planning adalah merencanakan agar tahap –
tahap dari aplikasi basis data dapat direalisasikan dengan seefektif dan seefisien mungkin (Connolly dan Begg, 2005, p285).
2.1.5.2 System definition System definition menggambarkan ruang lingkup dan batasan dari sistem basis data termasuk pandangan pengguna (user view) yang utama (Connolly dan Begg, 2005, p286). Pandangan pengguna (user view) mendefinisikan apa yang dibutuhkan oleh sistem basis data dari sudut pandang jabatan tertentu (seperti manajer atau pengawas) maupun dari sudut pandang area aplikasi perusahaan (seperti pemasaran, personalia, atau pengawasan persediaan) (Connolly dan Begg, 2005,p287).
13 2.1.5.3 Requirement collection and analysis Requirement collection and analysis adalah proses pengumpulan dan analisis informasi tentang bagian perusahaan yang akan didukung oleh sistem basis data dan menggunakan informasi ini untuk mengidentifikasikan kebutuhan – kebutuhan untuk sistem yang baru (Connoly, 2005, p288). Ada beberapa teknik untuk mengumpulkan informasi ini, salah satunya adalah teknik fact – finding. Teknik fact – finding adalah suatu proses resmi dalam menggunakan teknik – teknik seperti wawancara atau kuesioner untuk mengumpulkan fakta – fakta tentang sistem dan kebutuhan – kebutuhannya (Connolly dan Begg, 2005, p314).
14
Gambar 2.2. Database System Development Life Cycle
2.1.5.4 Database design (perancangan basis data) Perancangan
basis
data
adalah
suatu
proses
menciptakan
perancangan untuk basis data yang akan mendukung keseluruhan operasi dan tujuan – tujuan perusahaan (Connoly dan Begg, 2005, p291). Dalam database design terdapat tiga fase utama, yaitu perancangan konseptual
15 (conceptual database design), perancangan logikal (logical database design), dan perancangan fisikal (physical database design). 2.1.5.5 DBMS selection (optional) Tujuan dari DBMS selection adalah untuk memilih DBMS yang tepat untuk mendukung sistem basis data (Connolly dan Begg, 2005, p296). Tahapan utama dalam memilih DBMS antara lain : a. Mendefinisikan syarat – syarat sebagai referensi Dibuat dengan menyatakan tujuan dan ruang lingkup pembelajaran dan tugas – tugas yang akan dikerjakan. b. Daftar singkat dua atau tiga produk Kriteria yang dianggap penting dalam keberhasilan implementasi dapat digunakan untuk membuat daftar produk – produk DBMS dalam evaluasi, seperti dana yang tersedia, tingkat dukungan vendor, kecocokan dengan perangkat lunak lainnya, dan apakah produk hanya berjalan pada perangkat keras tertentu. c. Evaluasi produk Fitur – fitur yang digunakan dalam evaluasi produk – produk DBMS dikelompokkan menjadi definisi data, definisi fisik, kemampuan akses, penanganan keperluan – keperluan, pengembangan, dan fitur – fitur lainnya.
16 d. Merekomendasikan pilihan dan memproduksi laporan Langkah terakhir dari pemilihan DBMS adalah mendokumentasikan prosesnya dan membuat pernyataan dalam penemuan dan rekomendasi atas produk DBMS tertentu.
2.1.5.6 Application design Bertujuan merancang antarmuka pemakai (user interface) dan program aplikasi yang digunakan dan memproses basis data (Connolly dan Begg, 2005, p299). Dua aspek merancang aplikasi yaitu : a) Perancangan transaksi (transaction design) Transaksi adalah aksi atau rangkaian aksi yang dilakukan oleh seorang pengguna atau program aplikasi yang mengakses atau mengubah isi dari basis data (Connolly dan Begg, 2005, p300). Ada 3 jenis transaksi yaitu : 1. Retrieval transaction : digunakan untuk mendapatkan data untuk ditampilkan pada layar atau pada pembuatan laporan. 2. Update transaction : digunakan untuk memasukkan data baru, menghapus data lama atau memodifikasi data yang ada dalam basis data. 3. Mixed transaction : mencakup pengambilan dan pengubahan data. b) Perancangan antarmuka pengguna (user interface design) Elemen – elemen dalam merancang suatu antarmuka pengguna (user interface) (Connolly dan Begg, 2005, p301) antara lain :
17 1. Penetapan judul yang bermakna 2. Instruksi – instruksi yang dapat dipahami 3. Pengelompokkan logika dan pengurutan kolom 4. Bentuk form yang menarik secara visual 5. Judul kolom yang dikenal 6. Penggunaan istilah dan singkatan yang konsisten 7. Penggunaan warna yang konsisten 8. Ruang dan batasan yang terlihat untuk menginput kolom 9. Pergerakan kursor yang mudah 10. Perbaikan kesalahan untuk satu huruf dan semua kolom 11. Menampilkan pesan kesalahan terhadap nilai yang tidak sesuai 12. Pemberian tanda terhadap kolom yang berupa pilihan (optional field) 13. Pesan – pesan yang bersifat penjelasan untuk suatu kolom 14. Pemberian tanda penyelesaian 2.1.5.7 Prototyping (optional) Prototyping adalah proses membangun sebuah model kerja dari aplikasi basis data (Connolly dan Begg, 2005, p304). Tujuan utama prototyping adalah untuk memungkinkan pengguna menggunakan prototype untuk mengidentifikasi fitur – fitur yang bekerja dengan baik pada sistem, atau kekurangannya, dan memberikan saran bagi peningkatan kerja sistem atau bahkan memberikan masukan terhadap pengembangan bahkan fitur – fitur baru ke dalam sistem basis data.
18 2.1.5.8
Implementation Implementation adalah realisasi fisikal dari desain basis data dan
desain aplikasi (Connolly dan Begg, 2005, p304). Dalam tahap ini juga akan diimplementasikan komponen lain dari aplikasi basis data seperti menu layar, pemasukan data, keamanan dan kontrol integritas. 2.1.5.9
Data conversion and loading Data conversion and loading adalah suatu proses mentransfer data
yang ada ke dalam basis data baru dan mengubah aplikasi yang ada untuk dijalankan dalam basis data baru (Connolly dan Begg, 2005, p305). Tahap ini hanya dibutuhkan ketika sistem basis data baru menggantikan sistem yang lama. 2.1.5.10
Testing Testing adalah suatu proses mengeksekusi sistem basis data dengan
tujuan untuk menemukan kesalahan (Connolly dan Begg, 2005, p305). 2.1.5.11
Operational maintainance Operational maintenance adalah suatu proses memonitor dan
memelihara sistem dan diikuti dengan instalasi (Connolly dan Begg, 2005, p306). 2.1.6 Design Konseptual, Logikal, dan Fisikal Database Menurut Connolly (2002, p420), urutan metodologi antara lain:
19 • Design Konseptual Database Menurut Connolly (2002, p281), tujuan dari Design Conceptual Database adalah untuk memproses pembuatan suatu model dan informasi yang digunakan dalam suatu organisasi, yang independensinya tidak tergantung dengan apapun. Langkah – langkah pembuatan model konseptual database : Langkah 1 : Membangun model data konseptual lokal untuk setiap view Langkah 1.1 : Mengidentifikasi tipe entity Tujuan dari langkah ini adalah untuk mengidentifikasi tipe entity yang terutama dibutuhkan oleh user. Langkah utama yang diperlukan dalam membangun suatu lokal konseptual data model adalah untuk mendefinisikan objek utama atau entity dimana user memang membutuhkannya. Salah satu metode untuk mengidentifikasi kata benda atau frase kata benda yang telah disebutkan oleh user. Langkah 1.2 : Mengidentifikasi tipe relationship Tujuan dari langkah ini adalah mengidentifikasi hubungan penting yang terjadi antara entity yang telah diidentifikasi dengan menggunakan kata kerja atau frase kata kerja. Relasi yang paling umum adalah relasi binary. Yang artinya relasi antar entity yang sama antara dua entity. Adapun langkah – langkah dalam mengidentifikasi tipe relasi adalah sebagai berikut: 1. Menggunakan Entity Relationship Diagram (ERD)
20 Hal yang umum terjadi yaitu pengguna akan lebih cepat mengerti suatu perancangan database dengan cara divisualisasikan dibanding dengan perancangan database yang dituliskan dalam bentuk tekstual. Dalam hal ini, ERD digunakan untuk merepresentasikan entity dan relasi antar entity. Penggunaan entity sangat membantu dalam membuat gambaran umum dari perancangan database yang sedang dikembangkan. 2. Menentukan pembatas multiplicity dari tipe relasi Setelah mendapat relasi antar entity, maka langkah berikutnya adalah menentukan multiplicity setiap relasi. Jika memang ada suatu nilai yang spesifik dari suatu multiplicity maka akan lebih baik jika didokumentasikan. 3. Mengecek Fan Traps dan Chasm Traps Setelah relasi yang dibutuhkan antar entity didefinisikan, maka langkah berikutnya adalah mengecek fan traps dan chasm traps. Fan traps adalah suatu model yang merepresentasikan suatu relasi antar entity. Tetapi alur relasinya memperlihatkan ambiguitas. Chasm traps adalah suatu model dimana terdapat hubungan antar entity yang satu dengan yang lain, tetapi tidak ada relasi antar kedua entity yang utama. 4. Setiap entity mempunyai minimal sebuah relasi Pada saat membuat ERD, pastikan setiap entity mempunyai minimal satu relasi dengan entity yang lain. Jika memang setiap entity sudah memiliki minimal satu realsi dengan entity yang lain, maka langkah berikutnya adalah memperhatikan kamus data.
21 Langkah 1.3 : Mengidentifikasi dan menggabungkan atribut pada tiap entity atau relasi Tujuan
dari
langkah
ini
adalah
mengidentifikasi
menggabungkan atribut yang dibutuhkan entity
dan
atau relasi, dan
mendokumentasikan setiap atribut secar detail. • Simple atau Composite Atribut Perlu diperhatikan apakah suatu atribut tertentu itu simple atau composite. Composite atribut adalah atribut yang membangun dari simple atribut. Sebagai contoh, atribut alamat bisa dibuat simple dan menyimpan beberapa detail dari alamat sebagai suatu nilai. Contoh : Jl. Syahdan 21, Jakarta 14800. Bagaimanapun juga atribut alamat dapat merepresentasikan sebuah composite atribut, yang terdiri dari beberapa detail yang mempunyai nilai terpisah dalam atribut nama jalan (“Jl. Syahdan 21”), kota (“Jakarta”) dan kode pos (“14800”). Atribut alamat dapat dijadikan simple atribut atau composite atribut tergantung dari kebutuhan user. Jika user tidak membutuhkan detail dari atribut alamat seperti nama jalan, kota, kode pos dan sebagainya maka sebaiknya atribut alamat itu tetap dibuat sebagai simple atribut. Sedangkan jika user membutuhkan detail dari atribut alamat, maka sebaiknya atribut alamat tersebut dibuat sebagai composite atribut. • Single atau Multi Value Attribute Suatu atribut juga dapat mempunyai satu atau lebih nilai, contoh : atribut nomor telepon. Seorang bisa saja mempunyai nomor telepon
22 lebih dari satu, kejadian seperti itu dapat disebut Multi Value Attribute. Tetapi apabila atribut tertentu hanya mempunyai satu nilai maka disebut Single Attribute. • Derived Attribute Derived Attribute adalah atribut yang nilainya tergantung dengan nilai atribut yang lain. Contoh, umur seseorang staff, banyaknya properti yang dimanage oleh seorang staff. Langkah 1.4 : Mengidentifikasi domain atribut Tujuan dari langkah ini adalah untuk menentukan domain atribut dalam model konseptual lokal dan mendokumentasikan secara detail setiap domain. Contoh : Atribut dari nomor staff. Terdiri dari 5 karakter string dimana 2 karakter pertama berupa huruf dan 3 karakter sisa berupa angka. Langkah 1.5 : Menentukan atribut candidate dan primary key Tujuan dari langkah ini adalah untuk mengidentifikasikan candidate key untuk setiap entity dan jika terdapat lebih dari satu candidate key pilih satu menjadi primary key. Pada saat pemilihan primary key diantara banyak candidate key, menggunakan petunjuk berikut untuk membantu penyeleksian : 1. Merupakan candidate key dengan jumlah set yang paling sedikit. 2. Merupakan candidate key yang nilainya jarang sekali berubah. 3. Merupakan candidate key dengan jumlah karakter yang paling sedikit.
23 4. Merupakan candidate key paling sedikit dari nilai maksimalnya (untuk tipe atribut dengan tipe numeric). 5. Merupakan candidate key yang paling mudah digunakan dari sudut pandang user. Langkah 1.6 : Mempertimbangkan penggunaan konsep model enhanced (langkah optional) Tujuan dari langkah ini adalah untuk mempertimbangkan penggunaan
konsep
enhanced
modeling,
seperti
specialization,
generalization, aggreggation dan composition. Jika pendekatan user merupakan specialization, maka perhatikan perbedaan yang dilihat secara maksimal antara satu entity atau banyak subclass dari superclass entity. Jika anda menggunakan pendekatan generalization, maka anda akan mengidentifikasikan persamaan antar entity yang ada untuk membentuk superclass.
Langkah 1.7 : Cek model terhadap redudansi Tujuan dari langkah ini adalah untuk mengecek apakah setiap entity dan atribut redudansi dalam model database. Pada langkah ini dilakukan pengujian model konseptual data lokal dengan penglihatan lebih spesifik. Apabila terdapat redudansi, maka dapat dihilangkan dengan 2 cara : 1. Menguji kembali hubungan one-to-one 2. Menghilangkan relasi redudansi.
24 Langkah 1.8 : Validasi model konseptual data lokal terhadap transaksi user Tujuan dari langkah ini adalah untuk menjamin bahwa model konseptual data lokal dapat mendukung kebutuhan transaksi yang dibutuhkan oleh user. Pengujian dilakukan dengan 2 kemungkinan pendekatan yang mendukung kebutuhan transaksi : 1. Deskripsikan transaksi. 2. Gunakan alur transaksi. Langkah 1.9 : Mereview model konseptual data lokal terhadap kebutuhan user Tujuan dari langkah ini adalah untuk melakukan review terhadap model konseptual data lokal dengan user untuk menjamin model telah merepresentasikan user view berdasarkan kebutuhan perusahaan. Hasil
akhir
dari
perancangan
konseptual
database
adalah
memproses pembuatan suatu model dari informasi yang akan digunakan di dalam suatu organisasi, yang independensinya tidak tergantung pada apapun.
• Design Logical Database Adapun tujuan dari model logical data menurut Connolly (2002, p281) adalah untuk memproses pembuatan suatu model informasi yang digunakan di dalam suatu organisasi berdasarkan model data yang spesifik, tetapi tidak tergantung pada suatu DBMS dan perangkat keras lainnya.
25 Langkah 2 : Membangun dan memvalidasi model logical data local untuk setiap view Tujuan dari langkah ini adalah untuk membangun suatu model logical data lokal dari suatu model konseptual data lokal yang merepresentasikan perusahaan dan kemudian memvalidasi model ini untuk memastikan strukturnya benar dan bahwa model tersebut mendukung transaksi yang diminta. Langkah 2.1 : Menghilang bagian yang tidak sesuai dengan model relasi ( langkah optional) Tujuan dari langkah ini adalah untuk memperbaiki model konseptual lokal data dengan menghilangkan feature – feature yang tidak kompatibel dengan model relasi. Bagian yang dibahas pada langkah ini antara lain : 1. Menghilangkan many-to-many(*..*) tipe relasi binary. 2. Menghilangkan many-to-many(*..*) tipe relasi rekursif. 3. Menghilangkan tipe relasi komplek. 4. Menghilangkan multi value atribut. Langkah 2.2 : Menganalisis relasi untuk model logikal data lokal Tujuan dari langkah ini adalah untuk membuat suatu relasi untuk model logikal data lokal yang merepresentasikan suatu entiti; relasinya dan juga atribut yang telah diidentifikasi. Adapun pendeskripsian bagaimana relasi dapat diturunkan dari struktur data model yang ada sekarang, antara lain : 1. Tipe entiti kuat 2. Tipe entiti lemah
26 3. One-to-many (1..*) tipe relasi binary 4. One-to-one (1..1) tipe relasi binary 5. One-to-one (1..1) relasi rekursif 6. Superclass atau Subclass tipe relasi 7. Many-to-many tipe relasi binary 8. Tipe relasi komplek 9. Atribut Multi value Langkah 2.3 : Memvalidasi relasi dengan transaksi user Tujuan dari langkah ini adalah untuk memastikan bahwa relasi di dalam model logikal data lokal mendukung transaksi yang diminta user. Pada langkah ini, pengecekan bahwa relasi yang dibuat di langkah sebelumnya juga mendukung transaksi ini benar dan pastikan juga bahwa tidak ada error dalam relasi yang telah dibuat. Langkah 2.4 : Mengecek integritas database Tujuan dari langkah ini adalah untuk mendefinisikan tuang lingkup integritas yang diperlihatkan kepada user. Dalam hal ini ada 5 tipe ruang lingkup integritas, antara lain : • Data yang diminta • Domain pembatas atribut • Integritas entiti Yang mendefinisikan suatu entiti mempunyai integritas ialah tidak adanya primary key yang kosong (null). Suatu primary key merupakan
27 suatu atribut yang mendefinisikan bahwa setiap record atau tuple itu unik satu sama lain. • Integritas referensi Jika terdapat suatu foreign key dalam suatu relasi, maka nilainya harus sesuai dengan nilai candidate key suatu record dimana foreign key tersebut ada atau sepenuhnya kosong (null). • Pembatas enterprise Merupakan aturan tambahan yang dibuat oleh user atau seseorang database administrator dari database tersebut. Langkah 2.5 : Mereview model logikal data lokal dengan user Tujuan dari langkah ini adalah untuk membuat dokumentasi yang mendeskripsikan model logikal data lokal sebagai representasi yang sesuai dengan keadaan sebenarnya. Langkah 3 : Membangun dan memvalidasi model logikal data global Tujuan dari langkah ini adalah untuk mengkombinasi suatu individual model logikal data lokal ke dalam suatu model yang menggambarkan suatu enterprise. Langkah 3.1 : Menggabungkan model lokal logikal data menjadi model global Beberapa tugas dari pendekatan ini adalah sebagai berikut : 1.
Mereview nama dan isi dari suatu entiti atau relasi dan candidate key.
2.
Mereview nama dan isi dari suatu relasi dan foreign key.
3.
Menggabungkan entiti atau relasi dari model logikal data lokal.
28 4.
Memasukkan (tanpa penggabungan) entiti atau relasi untuk setiap model lokal data.
5.
Menggabunkan relasi atau foreign key dari model lokal data.
6.
Memasukkan (tanpa penggabungan) relasi atau foreign key pada setiap model lokal data.
7.
Mengecek untuk entiti, relasi dan foreign key yang hilang.
8.
Mengecek untuk foreign key.
9.
Mengecek untuk bahasa integritas.
10. Membuat global ERD atau relasi diagram. 11. Mengupdate dokumentasi. Langkah 3.2 : Memvalidasi model logikal data global Tujuan dari langkah ini adalah untuk memvalidasi relasi yang dibuat dari model logikal data global dengan menggunakan teknik dari normalisasi dan juga memastikan bahwa relasi yang dibuat mendukung transaksi. Langkah 3.3 : Melakukan cek kemungkinan pengembangan di masa depan Tujuan dari langkah ini adalah untuk memastikan bahwa model logikal data global itu memang merepresentasikan enterprise yang ada. Hasil akhir dari perancangan logikal database adalah merancang suatu model informasi berdasarkan spesifik model yang ada (seperti model relational), tetapi tidak tergantung terhadap suatu DBMS dan perangkat keras lainnya. Logical database mendesign suatu map untuk setiap lokal konseptual data. Jika terdapat lebih dari satu pandangan user,
29 maka model logikal data lokal akan dikombinasikan menjadi suatu model logikal data global yang merepresentasikan semua pandangan user dari suatu perusahaan.
• Design Fisikal Database Menurut Connolly (2002,p282), tujuan dari langkah ini adalah untuk mendeskripsikan pengimplementasian dari suatu database pada media penyimpanan secondary; itu juga akan mendeskripsikan dasar dari suatu relasi, file organisasi dan juga index yang digunakan untuk mencapai suatu koefesienan data, integritas, serta ukuran keamanan. Langkah 4 : Menerjemahkan model logikal data global sesuai DBMS yang dipakai Tujuan dari langkah ini adalah untuk membuat suatu skema relational database dari model data logikal global yang dapat diimplementasikan ke DBMS yang dipakai. Langkah 4.1 : Merancang basis relational Tujuan
dari
langkah
ini
adalah
memutuskan
bagaimana
merepresentasikan relational dasar yang diidentifikasi dalam model logikal data lokal pada DBMS yang dipakai. Untuk memulai proses perancangan fisikal database, pertama-tama anda dapat mengumpulkan dan meminimalisasikan suatu informasi tentang relational yang dirancang selama perancangan logikal database. Informasi yang diperlukan bisa berasal dari kamus data dan definisi data relasional yang didefinisikan menggunakan DDL. Untuk setiap relational
30 yang diidentifikasi pada model data logikal global, dapat diidentifikasi salah satu database : • Nama dari relational yang ada. • Suatu list untuk atribut yang simple. • Primary key, alternative key dan foreign key. • Suatu daftar dari atribut turunan dan bagaimana pembuatannya. • Batasan integrasi untuk setiap foreign key yang diidentifikasi. Langkah 4.2 : Merancang representasi data turunan Tujuan dari langkah ini adalah untuk memutuskan bagaimana merepresentasi suatu data turunan pada model data logikal global pada DBMS yang dipakai. Atribut yang nilainya didapatkan dengan mengevaluasi atribut lain dikenal sebagai atribut turunan atau kalkulasi. Sebagai contoh : • Jumlah staff yang bekerja pada suatu perusahaan. • Jumlah kostumer yang melakukan transaksi. Langkah 4.3 : Merancang batasan aplikasi Tujuan dari langkah ini adalah untuk merancang batasan aplikasi untuk DBMS yang dipakai. Langkah 5 : Merancang representasi fisik Tujuan dari langkah ini adalah untuk menentukan organisasi file yang paling optimal untuk menyimpan relational dasar dan index yang diminta untuk performansi yang optimal yang mana relational dan data yang ada disimpan pada secondary storage.
31 Langkah 5.1 : Menganalisis transaksi Tujuan dari langkah ini adalah mengerti fungsi dari suatu transaksi dimana akan dijalankan pada database untuk menganalsis transaksi yang penting. Untuk membuat perancangan database fisikal yang efektif perlu mempunyai pengetahuan mengenai transaksi atau query yang akan dijalankan di dalam database. Ini termasuk kuantitatif kriteria performansi sebagai berikut : • Transaksi yang sering digunakan dan akan berdampak besar terhadap performansi keseluruhan. • Transaksi yang merupakan transaksi bisnis yang kritis. • Durasi waktu dalam harian atau mingguan yang akan mendapatkan banyak permintaan pada database. Langkah 5.2 : Memilih organisasi file Tujuan dari langkah ini adalah untuk menentukan organisasi file yang efektif untuk relational data. Dalam banyak kasus yang ada, suatu relational DBMS akan memberikan sedikit bahkan tanpa pilihan dalam memilih organisasi file, walaupun beberapa akan mempunyai index yang spesifik. Beberapa organisasi file yang ada adalah sebagai berikut : • Heap • Hash • Indexed Sequential Access Method (ISAM)
32 • B*-three • Clusters Langkah 5.3 : Memilih index Tujuan dari langkah ini adalah untuk menentukan penambahan indeks yang akan meningkatkan performansi dari suatu sistem. Biasanya pemilihan suatu atribut untuk index adalah sebagai berikut : • Suatu atribut yang digunakan paling sering untuk penggabungan, yang akan membuat penggabungan itu lebih efektif. • Suatu atribut yang digunakan paling banyak untuk mengakses suatu record di dalam relasi yang ada. Langkah
5.4
:
Mengestimasi
kapasitas
penyimpanan
yang
dibutuhkan Tujuan dari langkah ini adalah untuk mengestimasi ukuran kapasitas disk yang diperlukan untuk database. Langkah 6 : Merancang tampilan layar untuk user Tujuan dari langkah ini adalah untuk merancang tampilan user yang diidentifikasi selama pengumpulan informasi dan analisis dari sirklus hidup aplikasi database. Langkah 7 : Merancang mekanisme keamanan Tujuan dari langkah ini adalah untuk merancang ukuran keamanan untuk database yang telah dispesifikasikan user. Beberapa issue keamanan yang perlu diperhatikan : 1. Pencurian data (Theft and Fraud) 2. Kehilangan kerahasiaan suatu data (Loss of Confidentially)
33 3. Kehilangan hak pribadi (Loss of Privacy) 4. Kehilangan integritas (Loss of Integrity) 5. Kehilangan ketersediaan data (Loss of Availibility) Langkah 8 : Mempertimbangkan pendahuluan dari kontrol redundansi Tujuan dari langkah ini adalah melakukan denormalisasi terhadap relasi atau hubungan antar entitas. Pertimbangan melakukan denormalisasi yaitu : 1. Menggabungkan relasi 1..1 2. Mengurangi join dengan duplikasi atribut non-key pada relasi 1..* 3. Mengurangi join dengan duplikasi atribut foreign key pada relasi 1..* 4. Mengurangi join dengan duplikasi atribut pada relasi 5. Mengurangi Weak Entity pada Repeating Group 6. Menggabungkan Table LookUp dengan relasi dasar 7. Membuat Extract Tables Hasil akhir perancangan fisikal database adalah suatu proses yang mendeskripsikan suatu implementasi dari suatu database pada media peyimpanan. Ini mendeskripsikan suatu relational dan struktur penyimpanan dan metodologi pengaksesan data oleh user yang efisien, selama batasan integritas dan pengukuran keamanan. 2.1.7
Normalisasi Normalisasi adalah suatu teknik untuk menghasilkan himpunan relasi dengan properti yang diinginkan berdasarkan kebutuhan – kebutuhan data suatu perusahaan (Connolly dan Begg, 2005, p388).
34 Unnormalized form (UNF) adalah suatu tabel yang terdiri dari satu atau lebih kelompok yang berulang (repeating group) (Connolly dan Begg, 2005, p403). Repeating group adalah sebuah atribut atau himpunan atribut di dalam tabel yang memiliki lebih dari satu nilai (multiple value) untuk sebuah primary key pada tabel tersebut (Connolly dan Begg, 2005, p403). Tingkatan normalisasi terdiri dari tiga tahap yaitu : 1. First Normal Form (1NF) Suatu relasi dikatakan 1NF jika titik temu tiap baris dan kolom pada relasi tersebut mengandung satu dan hanya satu nilai (Connolly dan Begg, 2005, p403). Sebuah relasi akan berada dalam bentuk 1NF jika repeating groupnya sudah hilang. Ada dua pendekatan untuk menghilangkan repeating group pada tabel yang tidak normal (unnormalized table), yaitu: a. Dengan memasukkan data yang sesuai ke dalam kolom yang kosong dari baris yang mengandung data yang berulang. b. Dengan menempatkan data yang berulang bersama salinan dari atribut kunci pada relasi yang terpisah. 2. Second Normal Form (2NF) Relasi dikatakan 2NF jika relasi tersebut berada pada 1NF dan setiap atribut yang bukan primary key bergantung sepenuhnya (fully functionally dependent) terhadap primary key (Connolly dan Begg, 2005, p407).
35 Full functional dependency terjadi jika A dan B merupakan atribut dari suatu relasi, dan B dikatakan bergantung penuh terhadap A (A→B), jika B bergantung terhadap A, namun bukan subset dari A (Connolly dan Begg, 2005, p395). 3. Third Normal Form (3NF) Suatu relasi dikatakan 3NF jika relasi tersebut berada dalam bentuk 1NF dan 2NF, dan tidak ada atribut yang bukan primary key bergantung secara transitif (transitively dependent) terhadap primary key (Connolly dan Begg, 2005, p409). Transitive dependency ialah sebuah kondisi dimana A, B, dan C merupakan atribut dari relasi yang jika A→B dan B→C maka C disebut bergantung secara transitif (transitively dependent) terhadap A melalui B (A tidak functionally dependent terhadap B atau C) (Connolly dan Begg, 2005, p397).
2.1.8 Data Flow Diagram (DFD) Menurut Whitten, Bentley, dan Dittman (2004,p344), DFD adalah sebuah alat yang menggambarkan aliran data melalui sebuah sistem dan bagaimana sebuah proses ditampilkan oleh sistem tersebut. Komponen-komponen DFD, yaitu : • Entitas Eksternal (Terminal) Entitas ini menyediakan input data dan menerima output data.
36 Simbol : Gambar 2.3 Simbol Entitas Eksternal (Whitten, Bentley, dan Dittman,2004,p365) • Proses Proses adalah kegiatan yang menggambarkan sistem atau prosedur yang berjalan. Simbol :
Gambar 2.4 Simbol Proses (Whitten, Bentley, dan Dittman,2004,p347) • Arus Data Terdiri dari sekelompok elemen data yang berhubungan secara logis yang bergerak dari satu titik atau proses ke titik atau proses lain. Simbol : Gambar 2.5 Simbol Arus Data (Whitten, Bentley, dan Dittman,2004,p357) • Penyimpanan Data (Data Store) Data store adalah suatu tempat penampung data. Proses dapat mengambil dan memasukkan data. Simbol :
Gambar 2.6 Simbol Penyimpanan Data (Whitten, Bentley, dan Dittman,2004,p366)
37 Tingkatan dalam DFD (G.Shell dan McLeod,2004,p173), yaitu : 1. Diagram Konteks Merupakan level tertinggi didalam DFD yang hanya terdiri dari satu simbol proses yang menggambarkan sistem secara keseluruhan. 2. Diagram Nol DFD yang levelnya berada dibawah diagram konteks dan mempresentasikan gambaran level tertinggi dari fungsi utama di dalam sistem. 3. Diagram Gambar n Jika perlu mendokumentasikan sistem secara lebih rinci dari diagram nol, bisa digunakan satu atau beberapa diagram gambar n.
2.1.9 State Transition Diagram (STD) Menurut Whitten, Bentley, dan Dittman (2004,p673), STD adalah sebuah alat yang digunakan untuk menggambarkan urutan dan variasi dari layar-layar yang dapat muncul saat user menggunakan sistem. Simbol-simbol yang digunakan dalam STD, yaitu : 1. State adalah kumpulan keadaan atau atribut yang mencirikan seseorang atau suatu benda pada waktu tertentu, pada kondisi tertentu.
Simbol : 2. Transition State atau perubahan state, disimbolkan dengan panah berarah. Simbol :
38 2.2. Internet 2.2.1. Pengertian Internet Internet adalah jaringan besar yang dibentuk oleh interkoneksi jaringan komputer dan komputer tunggal di seluruh dunia, melalui saluran telepon, satelit dan sistim komunikasi lainnya (Ellsworth, 1997, p.3). 2.2.2. Sejarah dan Perkembangan Internet Internet pertama kali dimulai melalui sebuah percobaan pengembangan networking yang dibiayai oleh Departemen Keamanan Amerika Serikat dengan nama ARPA (Advanced Research Project Agency) yaitu suatu departemen yang bertugas melakukan pengembangan dan penelitian di bidang komputer Hal yang perlu dikembangkan adalah bagaimana membuat suatu jaringan atau network computer. Tujuan dari pembangunan network ini adalah untuk membantu para peneliti yang bekerja di tempat yang terpisah dan berjauhan agar dapat bekerja bersama-sama. ARPA juga sangat tertarik, untuk mengusahakan agar network tersebut dapat dipergunakan unuk melaksanakan sejumlah aktifitas maupun aplikasi-aplikasi lainnya, seperti remote login access, e-mail ( electronic mail ), pertukaran file dan penggunaan sumber daya secara bersama-sama seperti printer dan lain sebagainya. Pada awalnya, network tersebut dikenal dengan ARPANET. Kemudian, ARPA mengadakan ikatan dengan sejumlah universitas dan lembaga-lembaga pemerintahan lainnya untuk mengembangkan host to host protocol dan membentuk sebuah network.
39 Pada tahun 1984, ARPANET dipisahkan menjadi dua bagian network, yang masih dapat saling berhubungan. Network yang digunakan untuk militer diberi nama MILNET, dan yang digunakan untuk pendidikan, tetap disebut ARPANET. Perkembangan dari ARPANET menjadi internet secara konsep mulai dicetuskan pada saat pertemuan ICCC, tahun 1972, dimana para peneliti di bidang network mulai memikirkan untuk menghubungkan network yang dikembangkan satu sama lain. Pemikiran tersebut akhirnya benar-benar tewujud setelah adanya penggunaan protocol oleh ARPANET. Jaringan tersebut semakin lama berkembang menjadi jaringan yang besar dan kemudian disebut sebagai internet.
2.2.3. Fasilitas-Fasilitas Pendukung Internet • Browser Browser (Ellsworth, 1997, p.4) adalah software yang dijalankan pada komputer pemakai (Client) yang meminta informasi dari web server and menampilkannya sesuai dengan file data itu sendiri. • Modem Modem adalah singkatan dari “Modulation and Demodulation” . Modem adalah piranti hardware yang merubah sinyal digital dari komputer ke sinyal suara dan juga sebaliknya, sehingga komputer dapat saling berkomunikasi melalui saluran telepon. (Ellsworth, 1997, p.4) • Host Host (Ellsworth, 1997, p.436) adalah komputer penyedia akses internet. Agar terhubung dengan host, dapat digunakan dial-up dengan menggunakan modem.
40 • Search Engine Search Engine (Kalakota, 1997, p.120) adalah program yang menggunakan “smart agents” dan “information finders” untuk mengumpulkan informasi pada web. • Internet Service Provider Menurut John dan Randall (1994, p 22), Internet Service Provider (ISP) atau Internet Access Provider (IAP) adalah suatu organisasi yang menyediakan jasa untuk hubungan internet dan menyediakan alamat internet sehingga user dapat melakukan akses ke internet. Dengan adanya ISP, user hanya perlu membayar sejumlah iuran tertentu dan pulsa telepon. • Protocol Protocol adalah set standart, formal dari aturan operasi tentang format, timing, kontrol kesalahan dan sebagainya dari transmisi data dan kegiatan lain dalam jaringan (Ellsworth.1997, p.442). • Web Server Web Server adalah sebuah komputer dan software yang menyimpan dan mendistribusikan data ke komputer lainnya (yang meminta informasi) malalui internet (Ellsworth, 1997, p.442). Menurut Eaglestone dan Ridley (2001, p198), web–server digunakan untuk menyimpan informasi dan layanan yang dapat diakses oleh web–client. Berdasarkan Wikipedia (2007), web server mempunyai dua arti yaitu : 1. Program komputer yang bertanggung jawab untuk menerima HTTP request dari client yang dikenal sebagai web browser dan memberikan respon dari
41 HTTP client bersama dengan data – data optional yang biasanya berupa halaman – halaman web seperti dokumen – dokumen HTML dan objek – objek yang terhubung seperti gambar, dll. 2. Sebuah komputer yang menjalankan program komputer yang menghasilkan fungsi – fungsi yang telah dideskripsikan pada point pertama. Menurut Eaglestone dan Ridley (2001, p201), tempat bagi web server untuk menyimpan informasi disebut dengan web site. Web site adalah penyimpanan file secara konvensional yang mana file tersebut berisi dokumen – dokumen web dan sumber – sumber lainnya. Dokumen tersebut dapat berbentuk form atau file html, tetapi dapat juga berbentuk plain text file, pdf file atau format lainnya dimana dokumen tersebut dapat disimpan. Sumber – sumber dapat berupa executeable code yang sering disebut juga script untuk mengakses program. 2.2.4. Elemen dan Aplikasi Internet • Protokol utama internet Protokol utama yang digunakan pada internet adalah TCP/IP yaitu kombinasi antara Transmision Control Protocol (TCP) dan Internet Protocol (IP). TCP/IP adalah aturan dan standart komunikasi komputer yang telah disetujui, yang memungkinkan komunikasi di antara berbagai jenis komputer dan jaringan yang dihubungkan ke internet (Ellsworth, 1997, p.444). TCP merupakan protokol yang digunakan untuk mengkoordinasi perpindahan paket data dari satu komputer ke yang lain dengan mengatur aliran dan menjaga agar data tetap utuh pada saat data diterima. Sedangkan IP merupakan protokol dasar internet
42 yang digunakan untuk memindahkan paket dari data mentah dari satu komputer ke komputer lain. • Protokol Transfer Protokol tranfer adalah suatu protokol yang digunakan untuk mengirim informasi di internet, seperti: HTTP (Hypertext Transfer Protocol ). Menurut Bean (1995. p.404), HTTP merupakan suatu protokol yang digunakan World Wide Web. Protokol ini merupakan protokol standar yang digunakan untuk mengakses dokumen HTML. • URL ( Uniform Resource Locator ) Uniform Resource Locator (URL) adalah rangkaian karakter menurut suatu format standar tertentu, yang digunakan untuk menunjukkan alamat suatu sumber – seperti dokumen dan gambar di Internet. URL pertama kali diciptakan oleh Tim Berners – Lee pada tahun 1991 agar penulis – penulis dokumen dapat mereferensikannya ke World Wide Web. Sejak 1994, konsep URL telah dikembangkan menjadi istilah Uniform Resource Identifier (URI) yang lebih umum sifatnya. Walaupun demikian, istilah URL masih tetap digunakan secara luas (Wikipedia, 2007). Menurut Eaglestone dan Ridley (2001, p201), bentuk dasar dari sebuah http URL adalah http://server/path. Path dari URL sebagai berikut : 1. Bagian pertama, “http”, menspesifikasikan protokol di mana sumber Web dialamatkan oleh URL diakses. 2. Bagian kedua, “server”, adalah nama Web server dimana sumber ditempatkan. Nama server mempunyai struktur yang hierarki. Contoh : www.dcs.shef.ac.uk.
43 “www” adalah nama server sedangkan “dcs.shef.ac.uk” merupakan nama dari domain yang bersangkutan. 3. Bagian ketiga dari URL adalah komponen “bagian” yang mengindikasikan lokasi dari sumber di server. Contohnya, public/index.html yang mengindikasikan path dari dokumen utama melalui struktur direktori dari Web server ke file tertentu atau sumber lain. • E-mail ( Electronic Mail ) E-mail merupakan salah satu fasilitas di internet yang paling populer dan merupakan fasilitas yang paling awal dihubungkan dengan internet. E-mail adalah pesan pribadi yang dihantarkan melalui jaringan ke e-mail account individu lain (Ellsworth , 1997, p.434). Dengan e-mail kita dapat menyusun, mengirimkan, membaca, dan mengolah pesan secara elektronis dengan mudah, cepat, dan tepat. E-mail dapat dikirim dan dibaca kapan saja, tanpa perlu terpengaruh perbedaaan waktu, geografis, dan tanpa memperhatikan jam-jam sibuk. • Mailing list Mailing List menurut Ellsworth (1997, p.434) adalah diskusi yang dilakukan dengan cara mengirimkan pesan e-mail ke “re-mailer otomat” yang kemudian mengirimkan salinan dari setiap pesan melalui e-mail ke siapapun yang telah berlangganan(daftar) grup diskusi tersebut.
44 • WWW (World Wide Web) WWW adalah jaringan dokumen yang sangat besar yang saling dihubungkan satu sama lain, satu set protokol yang mendefinisikan bagaimana sistem bekerja dan mentransfer data dan sebuah software yang membuatnya bekerja dengan baik (Ellsworth, 1997, p.31). WWW terdiri dari ratusan ribu halaman atau dokumen yang saling terkait ke halaman lainnya. Halaman ini berisi berbagai macam objek seperti teks, gambar, animasi, suara, dan halaman dalam web ini disebut sebagai homepage. Sistem yang menghubungkan informasi ke informasi lainnya pada dokumen web melalui semacam link yang disebut hypertext. Link dapat berupa suatu teks, file multimedia seperti gambar atau video yang menghubungkan ke informasi yang terkait, sehingga dalam mengakses suatu dokumen pada web, kita dapat memilih suatu topik lalu berpindah ke topik lainnya sampai mendekati topik yang diinginkan. • HTML ( HyperText Markup Language ) HTML adalah sistem yang digunakan untuk menciptakan halaman dan dokumen yang disajikan pada web. Dokumen HTML dapat dibuat dengan menggunakan editor teks standart, walaupun akan lebih mudah jika digunakan editor yang dirancang khusus untuk pembuatan HTML (Ellsworth, 1997, p.37) Dokumen HTML disebut sebagai markup language karena mengandung tandatanda tertentu yang digunakan untuk menentukan tampilan teks dan tingkat kepentingan teks tersebut pada suatu dokumen. Berikut ini adalah struktur dari dokumen HTML:
45 Kepala atau kop dokumen <TITLE>Contoh.html Isi dokumen Tag dan berfungsi untuk menandai awal dan akhir dari sebuah dokumen HTML. Pada tag dan biasanya dipergunakan untuk menampilkan informasi mengenai dokumen tersebut, contohnya: versi, revisi, dan sebagainya; dan di dalamnya terdapat tag <TITLE> dan yang berfungsi untuk menampilkan judul halaman web. Tag dan sebagai batasan dari isi dokumen atau informasi yang ingin kita tampilkan. • JavaScript JavaScript adalah scripting language yang berbasis objek yang dapat diletakkan di halaman – halaman HTML (Flanagan David, 2002, p4). • AJAX Asynchronous JavaScript and XML, atau disingkat AJAX, adalah suatu teknik pemrograman berbasis web untuk menciptakan aplikasi web interaktif (Wikipedia, 2008). Tujuannya adalah untuk memindahkan sebagian besar interaksi pada komputer web browser, melakukan pertukaran data dengan server di belakang layar, sehingga halaman web tidak harus dibaca ulang secara
46 keseluruhan setiap kali seorang pengguna melakukan perubahan. Hal ini akan meningkatkan interaktivitas, kecepatan, dan usability. AJAX merupakan kombinasi dari : 1. XHTML (atau HTML) dan CSS untuk bahasa mark up dan tampilan. 2. DOM yang diakses dengan client side scripting language, khususnya implementasi
ECMAscript
seperti
Javascript
dan
JScript,
untuk
menampilkan secara dinamis dan berinteraksi dengan informasi yang ditampilkan. 3. Objek XMLHttpRequest untuk melakukan pertukaran data asinkronus dengan web server. Pada beberapa framework dan kasus Ajax, objek IFrame lebih dipilih daripada XMLHttpRequest untuk melakukan pertukaran data dengan web server. 4. XML umumnya digunakan sebagai format untuk pengiriman data. • CSS Cascading Style Sheet (CSS) adalah kumpulan informasi berupa style – style untuk format desain halaman web seperti style font, warna background dan sebagainya untuk menjaga konsistensi tampilan disetiap halaman web (Lowe et al, 2006, p242). • DNS ( Domain Name System ) Komputer-komputer yang terhubung di internet agar dapat beroperasi menggunakan suatu pengamatan yang menggunakan angka, yaitu Internet Protocol (IP) address yang terdiri dari 32 bit. Tentunya sukar mengingat sekian juta komputer yang tersebar di seluruh internet, maka itu untuk memudahkan
47 pengolahan server komputer di internet yang berkembang dengan cepat, dibuat suatu konsep Domain Name System (DNS). DNS adalah suatu sistem yang melakukan pemetaan IP address ke FQDN (Fully Qualified Domain Name) dan dari FQDN ke IP address, (Joko Yulianto dan Onno W. Purbo, 1997, p.30). FQDN lebih mudah diingat dari pada IP address, misal sebuah komputer memiliki IP address 107.205.22.114 dan memiliki FQDN name NIC.ITB.AC.ID tentunya lebih mudah diingat dari pada nomor IP address yang berupa suatu urutan nomor.
2.3. Electronic Commerce 2.3.1. Definisi Electronic Commerce Definisi electronic commerce (e-commerce) sangat bervariasi (Kalakota, 1997, p.3). Setiap orang dapat melihat e-commerce dari sudut pandang yang berbeda-beda dan akan menghasilkan definisi yang berbeda pula. 1. Dari sudut pandang komunikasi, e-commerce adalah penghantaran informasi, produk, service atau pembayaran melalui jaringan telepon, jaringan komputer atau alat-alat elektronik lainnya. 2. Dari sudut pandang proses bisnis, e-commerce adalah aplikasi teknologi menuju otomatisasi transaksi bisnis. 3. Dari sudut pandang pelayanan, e-commerce adalah sebuah media yang mengakomodasikan keinginan perusahaan, konsumen dan manajemen untuk mengurangi biaya pelayanan dan pada saat yang bersamaan meningkatkan kualitas barang dan juga meningkatkan kecepatan dalam hal melakukan pelayanan.
48 4. Dari sudut pandang online, e-commerce menyediakan kemampuan untuk membeli dan menjual barang, jasa maupun informasi melalui media internet dan media-media online lainnya. 2.3.2. Jenis-Jenis E-Commerce Istilah e-commerce telah berkembang dari ide dasarnya yakni belanja melalui media elektronik menjadi segala aspek proses bisnis dan pasar yang dapat dijalankan dengan kemapuan teknologi internet dan WWW. • E-Commerce yang berorientasi ke pelanggan Arti sempitnya adalah melakukan bisnis online atau menjual dan membeli produk dan servis ditoko situs web. Produk yang diperdagangkan mungkin terdiri dari produk fisik seperti buku atau jasa seperti belajar jarak jauh, konsultasi kesehatan online. Selanjutnya mereka juga menjual produk digital seperti musik, film, data, perangkat lunak dan produk pengetahuan lainnya. • E-Commerce yang berorientasi ke bisnis E-Commerce tidak hanya tentang pemanfaatan web sebagai toko, tetapi juga mengenal proses memperpendek rantai penyediaan, memperlancar proses distribusi, mempercepat penyampaian produk ke pasaran, mengurangi biaya pengadaan stock dan lain-lain. 2.3.3. Keuntungan Penggunaan E-Commerce Penyampaian informasi di internet merupakan suatu media promosi yang lebih murah dibandingkan media lainnya. Hal ini disebabkan oleh :
49 • Bentuk promosi dapat menampilkan berbagai macam informasi, mulai dari profil perusahaan, produk, daftar harga, alamat perusahaan, e-mail, nomor telepon, sampai dengan staf dan logo perusahaan. • Publikasi di internet online 24 jam penuh. • Pelanggan dapat mengakses informasi produk 24 jam sehari tanpa mengenal libur. • Pemesanan dapat dilakukan langsung pada form Homepage. • Penampilan informasi produk yang lebih efektif dengan WWW (World Wide Web) dalam skala dan jangkauan yang luas dengan waktu yang singkat. • Adanya virtual katalog yang multi warna dengan format halaman dan teks yang mudah diperbaharui. Dengan demikian dapat menampilkan segera produk terbaru. • Memungkinkan pelanggan untuk tetap berhubungan dengan produsen, walaupun lokasi tempat tinggal sangat jauh, sehingga mendapat pelayanan purna jual yang lebih baik.
2.4. PHP PHP adalah bahasa pemograman script yang paling banyak dipakai saat ini. PHP banyak dipakai untuk memogram situs web dinamis, walaupun tidak tertutup kemungkinan digunakan untuk pemakaian lain. Kelebihan PHP dari bahasa pemrograman lain : 1. Web Server yang mendukung PHP dapat ditemukan dimana - mana dari mulai IIS sampai dengan Apache, dengan konfigurasi yang relatif mudah.
50 2. Dalam sisi pengembangan lebih mudah, karena banyaknya milis - milis dan developer yang siap membantu dalam pengembangan. 3. Dalam sisi pemahamanan, PHP adalah bahasa scripting yang paling mudah karena referensi yang banyak. 4. PHP adalah bahasa open source yang dapat digunakan di berbagai mesin (linux, unix, windows) dan dapat dijalankan secara runtime melalui console.
2.5. Microsoft SQL Server 2000 SQL Server 2000 adalah sebuah perangkat lunak sistem manajemen basis data SQL atau DBMS yang yang merupakan implementasi dari SQL standar ANSI/ISO yang digunakan oleh Microsoft dan Sybase. Kelebihan program Microsoft SQL Server 2000 : 1. Transaction Log Shipping Transaction Log Shipping adalah salah metode untuk menjaga availability dari datadata kita yang disimpan di Microsoft SQL Server 2000, dengan cara meng-copy Transaction Log yang ada pada server primer ke server sekunder, sehingga kita dapat mengurangi kemungkinan kehilangan data yang tidak kita harapkan apabila database pada server primer kita bermasalah. (sumber : http://dkusdeni.blogspot.com/2006/09) 2. Mendukung adanya store procedure, trigger dan cursor yang memudahkan pengelolaan data. 3. Program Microsoft SQL Server 2000 mudah diperoleh. 4. Mendukung data dalam skala kecil, menengah, maupun besar.
51 5. Program Microsoft SQL Server 2000 mudah digunakan.
2.6. Delapan Aturan Emas Perancangan (The Eight Golden Rules) Menurut Shneiderman (1998, pp 74-75), terdapat delapan aturan emas dalam merancang sebuah user interface yaitu: 1. Berusaha keras untuk konsisten. Konsisten dalam kesamaan terminology dalam membuat menu, tampilan, font, dan help screen. Selain itu konsisten dalam warna, kapitalitas, dan tampilan adalah juga penting. 2. Memungkinkan frequent user menggunakan shortcuts. Setelah para users mulai tanggap dalam mengakses sebuah site, maka users akan menginginkan
shortcut-shortcut
yang
akan
mempercepat
geraknya
dalam
pengaksesan site tersebut. 3. Memberikan umpan balik yang informatif. Untuk setiap operator action, beberapa diantaranya harus mempunyai system feedback. Untuk setiap tindakan yang sering dan sederhana maka respon yang diberikan juga sederhana, tetapi jika tindakan yang jarang dan major actions, maka respon juga harus lebih substancial. 4. Merancang dialog untuk menghasilkan keadaan akhir (sukses, selesai). Bertujuan untuk membuat seorang user merasa aman dalam melakukan sebuah tindakan dengan memberikan gambaran hasil akhir dari suatu pilihan, serta pemberian banyak option-option kepada user sehingga bisa ikut mempengaruhi hasil akhir.
52 5. Memberikan penanganan kesalahan yang sederhana. Suatu site harus dirancang agar kesalahan yang dibuat seorang user dapat ditekan selama mungkin, dan pesan kesalahan yang dimunculkan harus dapat dimengerti oleh user awam. 6. Mengizinkan pembalikan aksi (undo) dengan mudah. Tindakan harus dapat dibalikkan menjadi keadaan sebelumnya sehingga membuat user merasa aman karena ia tahu bahwa kesalahan yang dibuat dapat diperbaiki. 7. Mendukung internal locus of control (pemakai menguasai
sistem atau inisiator,
bukan responden). Membuat user merasa memegang kendali atas site tersebut. Kesulitan user dalam menavigasi site atau dalam mendapatkan data yang diinginkan akan menimbulkan rasa tidak puas. 8. Mengurangi beban ingatan jangka pendek. Manusia hanya dapat mengingat tujuh info ditambah atau dikurang dua info pada suatu waktu. Batasan ini berarti suatu site harus dibuat sesederhana mungkin sehingga tidak membuat seorang user bingung karena terlalu banyak info. 2.7. Teori Penjualan 2.7.1 Pengertian Penjualan Menurut Swastha (1993, p.35) definisi penjualan adalah ilmu dan seni mempengaruhi pribadi yang dilakukan oleh penjual untuk mengajak orang lain agar bersedia membeli barang atau jasa yang ditawarkan. Menurut Kotler (1986, p.33), konsep penjualan dimulai dengan produk perusahaan yang telah ada dan melakukan usaha keras dalam penjualan serta promosi agar tercapai penjualan yang menghasilkan laba.
53 2.7.2. Sistem Penjualan Sistem penjualan adalah suatu kerangka kerja dari seluruh kegiatan transaksi penjualan yang dikoordinasikan untuk menghasilkan informasi yang dibutuhkan oleh manajemen (Cushing, 1992, p.553-536). Menurut Mulyadi (2001, p213), fungsi – fungsi yang terkait dalam sistem penjualan adalah: 1. Faktur penjualan, bertanggung jawab untuk menerima order, mengedit order, meminta
otorisasi kredit, menentukan tanggal penerima dan bertanggung
jawab atas transaksi penjualan 2. Fungsi gudang, bertanggung jawab untuk menyimpan dan menyiapkan barang yang dipesan oleh pelanggan, serta menyerahkan barang ke fungsi pengiriman. 3. Fungsi pengiriman, bertanggung jawab untuk menyerahkan barang atas dasar surat order pengiriman yang diterimanya dari fungsi penjualan. 4. Fungsi penagihan, bertanggung jawab untuk membuat dan mengirimkan faktur penjualan kepada pelanggan, serta menyediakan copy faktur bagi kepentingan pencatatan transaksi penjualan oleh fungsi akuntansi. 5. Fungsi akuntansi, bertanggung jawab untuk mencatat piutang yang timbul dari transaksi penjualan kredit dan membuat serta mengirimkan pernyataan piutang kepada para debitur, serta membuat laporan penjualan.
Jaringan prosedur yang membentuk penjualan (Mulyadi, 2001, p222) adalah sebagai berikut : 1. Prosedur order penjualan
54 Dalam prosedur ini, fungsi penjualan menerima order dari pembeli dan menambahkan informasi penting pada surat order dari pembeli. Fungsi penjualan kemudian membuat surat order pengiriman dan mengirimkannya pada berbagai fungsi yang lain untuk memungkinkan fungsi tersebut memberikan kontribusi dalam melayani order dari pembeli. 2. Prosedur persetujuan kredit Dalam prosedur ini, fungsi penjualan meminta persetujuan penjualan kredit kepada pembeli tertentu dari fungsi kredit 3. Prosedur pengiriman Dalam prosedur ini, fungsi pengiriman mengirimkan barang kepada pembeli sesuai dengan informasi yang tercantum dalam surat order pengiriman yang diterima dari fungsi pengiriman. 4. Prosedur penagihan Dalam prosedur ini, fungsi penagihan membuat faktur penjualan dan mengirimkannya kepada pembeli. Dalam metode tertentu faktur penjualan dibuat oleh fungsi penjualan sebagai tembusan pada waktu bagian ini pembuat surat order pengiriman.
5. Prosedur pencatatan piutang Dalam prosedur ini, fungsi akuntansi mencatat tembusan faktur penjualan ke dalam kartu piutang atau dalam metode pencatatan tertentu mengarsipkan dokumen tembusan menurut abjad yang berfungsi sebagai catatan piutang. 6. Prosedur distribusi penjualan
55 Dalam prosedur ini, fungsi akuntansi mendistribusikan data penjualan menurut informasi yang dibutuhkan oleh manajemen. 7. Prosedur pencatatan harga pokok penjualan Dalam prosedur ini, fungsi akuntansi mencatat secara periodik total harga pokok produk yang dijual dalam periode akuntansi tertentu. Dokumen – dokumen yang digunakan dalam sistem penjualan (Mulyadi, 2001, p216) meliputi : 1. Surat jalan dan tembusannya 2. Faktur dan tembusannya 3. Rekapitulasi harga pokok penjulan 4. Bukti memorial 2.7.3 Retur penjualan Transaksi retur penjualan terjadi jika perusahaan menerima pengembalian barang dari pelanggan karena terjadi ketidaksesuaian seperti barang yang diterima tidak sesuai dengan spesifikasi pada surat order atau barang dalam keadaan rusak. Pengembalian barang oleh pelanggan harus diotorisasi oleh fungsi penjualan dan diterima oleh fungsi penerimaan.