BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Internet A. Definisi Internet Internet adalah kumpulan jaringan yang mempunyai mekanisme berkemampuan untuk menyebarkan informasi di seluruh dunia dan sebuah media untuk berkolaborasi dan berinteraksi antara individu-individu dengan komputernya tanpa memperhatikan lokasi geografisnya. ( Barry M. Leiner, http://www.isoc.org/internet/history/brief.html) Internet menurut Oetomo et al (2003, p.157) adalah sebuah jaringan komputer yang sangat besar yang terdiri dari jaringan-jaringan kecil yang saling terhubung yang menjangkau seluruh dunia. Internet yang digunakan orang saat ini, bermula dari jaringan komputer yang digunakan oleh departemen pertahanan Amerika Serikat. Jaringan komputer tersebut dikenal dengan ARPANET, yang digunakan pada saat terjadinya perang dingin antara Amerika dengan Rusia. Selanjutnya ARPANET dikembangkan menjadi jaringan yang lebih luas lagi yang disebut 7 internet. Perkembangan internet menjadi sangat pesat, karena banyak fasilitas yang ditawarkan seperti e-mail, USENET, newsgroup, file transfer, telnet, bulletin board service, WWW, Internet Telephony dan Internet Fax. (Oetomo et al, 2003, p.71) B. Mekanisme Internet Internet bekerja dalam jaringan yang besar, karena itu untuk melakukan perpindahan data antar komputer dibutuhkan beberapa hal seperti alamat tujuan dan perantara (Internet Service Provider) serta sebuah protokol untuk menjamin sampainya data pada tujuan. Untuk menghubungkan host-host dalam internet digunakan protokol TCP/IP (Transmission Control Protocol / Internet Protocol). TCP (Transmission Control Protocol) berfungsi untuk membagi-bagi informasi yang akan dikirim menjadi paket data yang kecil dan merakitnya kembali menjadi bentuk aslinya, sedangkan IP (Internet Protocol) berfungsi untuk menjamin paket yang dikirim mencapai tujuan dimana standar IP membagi alamat menjadi sepuluh digit dengan setiap kelompok digit memiliki referensi pengalamatan tersendiri. TCP/IP dibangun dalam sistem operasi UNIX dan digunakan oleh internet, menjadikan TCP/IP sebagai standar de 8 facto untuk transmisi data dalam jaringan. Bahkan TCP/IP didukung oleh sistem operasi jaringan yang memiliki protokol sendiri (misalnya Netware). C. Protokol Aplikasi di Internet Ada beberapa jenis protokol aplikasi dalam internet yang dikenal yaitu: • File Transfer Protocol (FTP) Berdasarkan pendapat Oetomo et al (2003, p72) File Transfer Protocol (FTP) adalah suatu protokol yang memungkinkan perusahaan dan konsumen berkomunikasi secara interaktif dengan komputer-komputer lain yang sedang terhubung dalam internet. FTP menyediakan fasilitas penyalinan file secara elektronik dari satu komputer ke komputer lainnya melalui internet. Berdasarkan pendapat McLeod (2001, jilid 1, p76) File Transfer Protocol (FTP) adalah perangkat lunak yang memungkinkan user untuk menyalin file ke komputer dari Website mana saja. • Hypertext Transfer Protocol (HTTP) Protokol yang digunakan oleh web server untuk mengirim dan menerima informasi. Bisa digunakan untuk mengirim dan 9 menerima teks, grafik, gambar, suara, video, dan file multimedia lainnya. (Oetomo et al, 2003, p155) Menurut ( Wahana Komputer Semarang, http://www.wahanakom.com/) adalah sebuah protokol yang berfungsi sebagai suatu sistem pendistribusian dan penggunaan informasi secara bersama di internet. • Gopher Protokol yang dikembangkan oleh Universitas Minnesota sebagai suatu cara untuk mengambil dokumen. Selanjutnya, Gopher dimodifikasi menjadi sistem yang digerakkan oleh menu yang digunakan untuk mengambil file. (McLeod, 2001, jilid 1, p77) • Telnet Protokol ini digunakan untuk berhubungan dengan komputer lain di dalam internet. (Oetomo et al, 2003, p2) D. WWW (World Wide Web) Menurut Oetomo (2003, p.13-14) Web merupakan sistem hypermedia yang mempunyai area luas yang ditujukan untuk akses secara universal. Web merupakan sistem yang menyebabkan pertukaran data di internet menjadi mudah dan efisien. Web terdiri dari atas dua komponen dasar, antara lain: 10 • Server Web : Sebuah komputer dan software yang menyimpan dan mendistribusikan data ke komputer lainnya (yang meminta informasi) melalui internet. • Browser Web : Software yang dijalankan pada komputer pemakai (client) yang meminta informasi dari server web yang menampilkannya sesuai dengan file data itu sendiri. Web menjadikan pandangan yang sangat penting terhadap internet. Pertama, World Wide Web ini menyediakan akses terhadap huruf, ukuran, gaya huruf dan termasuk gambar dari layar tanpa memerlukan perawatan yang khusus. Suara dan gambar juga mungkin, meskipun terlalu besar untuk di-download dan didengar ataupun dilihat. Kedua, web menyediakan hypertextual hubungan antara dokumen di segala tempat pada web, tidak hanya pada mesin tunggal saja. World Wide Web merupakan jaringan dokumen yang sangat besar, yang saling menghubungkan satu sama lain, satu set protokol yang mendefinisikan bagaimana sistem bekerja dan mentransfer data dan sebuah software yang membuatnya bekerja dengan mulus. Web menggunakan teknik hypertext dan multimedia yang membuat internet mudah digunakan, dijelajahi dan dikonstribusikan. 11 2.1.2 Lelang Definisi lelang dalam Undang-Undang Nomor 19 Tahun 2000 Pasal 1 sub 17 adalah penjualan barang di muka umum dengan cara penawaran harga secara lisan dan atau tertulis melalui usaha pengumpulan peminat atau calon pembeli. (http://www.pajakindonesia.com) 2.1.3 Lelang Online Definisi lelang online adalah proses lelang yang terjadi antara pembeli dan penjual tanpa harus ada sebuah tempat pelelangan yang nyata tetapi sebuah tempat pelelangan virtual. Keuntungan-keuntungan lelang online antara lain sebagai berikut: 1. Tidak terbatas oleh waktu Dengan lelang online, transaksi dapat dilakukan kapanpun, 24 jam sehari dan 7 hari seminggu. 2. Tidak terbatas oleh tempat Transaksi dapat dilakukan tanpa melihat wajah saingansaingan yang ikut menawar barang karena antar sesama pembeli dan penjual mungkin saja berada di tempat yang berbeda, bahkan di benua yang berbeda, tentunya selama tempat tersebut terjangkau oleh internet. 12 3. Jumlah penawar yang besar Jika seluruh penawar pada sebuah situs lelang online yang besar ( misalnya eBay) dikumpulkan menjadi satu, tentunya tidak akan ada tempat yang nyaman untuk menampung para penawar. Sementara semakin banyak penawar, maka itulah yang paling diharapkan oleh pengelola lelang. Lelang online menyediakan ruang yang cukup sekalipun semua manusia di dunia berpartisipasi. 4. Jumlah penjual yang besar Dengan adanya jumlah penawar yang besar, tentunya juga memicu penjual untuk memasarkan barangnya, tentunya ini harus didukung oleh kemudahan-kemudahan yang disediakan pada situs yang bersangkutan. 5. Jaringan ekonomi Dengan adanya jumlah penawar yang besar, akan memicu lebih banyak penjual, demikian juga sebaliknya. Hal ini akan menimbulkan siklus ekonomi permintaan dan persediaan, menjadikan sebuah sistem yang berguna bagi para peserta lelang. (http://www.scriptintermedia.com/view.php?id=693&jenis=ITKnowledge) 13 2.1.4 Basis Data A. Definisi Basis Data Basis data (Database) adalah kumpulan data yang saling berhubungan secara logikal serta deskripsi dari data-data tersebut, yang didesain untuk memenuhi kebutuhan informasi suatu organisasi. Basis data juga sebagai satu tempat penyimpanan data besar yang digunakan secara berkala oleh banyak departemen dan pengguna, daripada memisahkan file yang menyebabkan redundansi data, semua data diintegrasikan dengan sedikit duplikasi. Basis data bukan lagi dimiliki oleh satu departemen, tetapi menjadi sumber daya bersama perusahaan. Basis data tidak hanya menyimpan data operasional organisasi, namun juga deskripsi dari data tersebut. Oleh sebab itu, Basis data juga didefinisikan sebagai gambaran dari kumpulan data yang terintegrasi (self-describing collection of integrated records). Ketika menganalisa informasi, diperlukan identifikasi entitas, atribut, dan relationship (hubungan). Entitas adalah obyek nyata (orang, tempat, benda, konsep, kejadian, dsb) dalam organisasi yang ingin direpresentasikan dalam basis data. Atribut adalah properti yang mendeskripsikan beberapa aspek dari obyek yang ingin disimpan, sedangkan relationship adalah hubungan 14 antar entitas. Jadi basis data menggambarkan atau merepresentasikan entitas, atribut dan hubungan logikal antar entitas. (Thomas Connolly and Carolyn Begg, 2002, p. 14) B. Komponen Basis Data Sistem basis data terdiri dari 4 komponen data, yaitu: 1. Data. Data dapat berupa data yang single user ataupun data yang berupa multi user. 2. Perangkat Keras. Merupakan komponen yang dibutuhkan untuk manajemen basis data. 3. Piranti Lunak. Merupakan komponen yang menghubungkan fisik basis data dengan pengguna. 4. User. Ada 3 kelas pengguna dalam basis data yaitu: a. Pemrograman aplikasi. Bertanggung jawab dalam penulisan program aplikasi yang diperlukan dalam manajemen basis data dengan menggunakan berbagai bahasa pemrograman. 15 b. Pengguna akhir. Menggunakan data dalam basis data untuk keperluan tugas atau fungsinya. c. Database Administrator (DBA). Bertanggung jawab untuk keperluan sistem basis data. DBA berfungsi untuk mengatur penempatan data, penggunaan data, pembagian data, pengamanan data, pemilihan prosedur. C. Tingkatan Struktur dalam Basis Data 1. Field Æ unit terkecil dari data record yang disimpan dalam basis data. 2. Record Æ kumpulan field-field yang disimpan yang saling berelasi membentuk data yang mempunyai arti. 3. File Æ kumpulan seluruh kejadian atau peristiwa dari 1 tipe tersimpan. 4. Database Æ kumpulan terintegrasi dari file – file atau table – table kejadian atau peristiwa yang merupakan representasi data dari suatu model enterprise. 5. Normalisasi Æ sebuah teknik untuk menghasilkan sekumpulan dari hubungan dengan properti yang diinginkan, memberikan kebutuhan data untuk enterprise. Normalisasi adalah metode formal 16 yang dapat digunakan untuk mengidentifikasikan hubungan berdasarkan pada key dan functional depedencies diantara atribut-atributnya. D. DBMS (Database Management System) DBMS adalah koleksi dari data-data yang berhubungan dan kumpulan dari program-program untuk mengakses data-data tersebut. Tujuan dari DBMS adalah menyediakan sebuah cara untuk menyimpan dan menerima informasi dari basis data yang mudah dan efisien. Sistem dari basis data didesain untuk mengolah informasi yang banyak. Pengolahan data melibatkan penjelasan struktur tempat penyimpanan informasi dan penyediaan mekanisme untuk memanipulasi informasi. Di samping itu, sistem basis data harus memastikan keamanan dari data yang disimpan walaupun sistem dalam keadaan crash atau percobaan akses yang tidak diijinkan. Jika data akan dibagikan kepada para user, sistem tersebut harus menghindari kemungkinan hasil-hasil yang janggal. Karena informasi sangat penting di setiap organisasi, para ahli komputer telah mengembangkan sebuah konsep yang besar dan teknik untuk mengatur data. (Abraham Silberschatz et al, 2006, p1) 17 2.2 Teori Khusus 2.2.1 ER Modeling (Entity Relationship Modeling) ER Modeling adalah pendekatan top-down pada sebuah desain basis data yang dimulai dengan mengidentifikasi data penting yang disebut entitas dan relationship diantara data yang harus diwakilkan di model. Kemudian ditambahkan detil-detil seperti informasi yang menjelaskan entitas dan relationship yang disebut atribut dan batasanbatasan pada entitas, relationship, dan atribut. 2.2.2 Entity Types Konsep dasar dari ER Model adalah tipe entitas yang mewakilkan sekelompok obyek di dunia nyata dengan properti yang sama. Sebuah tipe entitas mempunyai eksistensi yang independen dan dapat menjadi obyek-obyek yang mempunyai bentuk fisik atau bentuk abstrak. (Thomas Connolly and Carolyn Begg, 2002, p. 331) 2.2.3 Relationship Types Sebuah relation type adalah kumpulan dari hubungan antara satu atau lebih tipe entitas. Setiap relation type diberikan sebuah nama yang menjelaskan fungsinya. Relationship Occurrence adalah sebuah hubungan unik yang teridentifikasi dimana terdapat sebuah kejadian dari setiap tipe entitas. (Thomas Connolly and Carolyn Begg, 2002, p. 334) 18 2.2.4 Keys Sebuah key dapat mengidentifikasi sekumpulan dari atribut yang cukup untuk membedakan sebuah entitas dari entitas lainnya. Key juga dapat mengidentifikasi relationships yang unik dimana membedakan relationships satu dengan yang lain. 2.2.5 Candidate Key Candidate Key adalah kumpulan dari atribut yang nilainya secara unik mengidentifikasi setiap entity occurrence. Candidate Key yang tidak terpilih sebagai primary key disebut alternate key . 2.2.6 Primary Key Primary Key adalah candidate key yang terpilih secara unik mengidentifikasi setiap occurrence dan sebuah entity type. Pemilihan primary key untuk sebuah entitas berdasarkan atas panjang atribut, jumlah minimal atribut dan kepastian keunikan di masa depan. 19 2.2.7 Composite Key Composite Key adalah candidate key yang memiliki 2 atau lebih atribut. Gambar 2.1 Penjelasan atribut, primary key, dan composite key. (Thomas Connolly and Carolyn Begg, 2002, p. 340-342) 2.2.8 Batasan-batasan Struktural Batasan-batasan sebaiknya merefleksikan aturan dalam relationship layaknya kehidupan nyata. Contoh-contoh dalam batasan yaitu kebutuhan sebuah properti sewaan yang harus dipunyai pemilik dan setiap departemen harus mempunyai karyawan. Tipe utama pada batasan dalam relationships disebut multiplicity. 2.2.9 Multiplicity Angka atau jarak dari kejadian-kejadian yang mungkin pada sebuah tipe entitas yang berhubungan dengan sebuah kejadian tunggal dari tipe entitas yang berhubungan melalui sebuah relationship khusus. 20 Batasan-batasan Pengertian multiplicity 0..1 Nol atau 1 kejadian entitas 1..1 (atau hanya 1) Tepat 1 kejadian entitas 0..* (atau hanya *) Nol atau banyak kejadian entitas 1..* Satu atau banyak kejadian entitas 5..10 Minimal 5 sampai dengan maksimal 10 kejadian entitas Nol atau tiga atau enam, tujuh, atau 0, 3, 6-8 delapan kejadian entitas Tabel 2.1 Ringkasan yang menjelaskan batasan-batasan multiplicity. (Thomas Connolly and Carolyn Begg, 2002, p. 344-350) 2.2.10 UML (Unified Modelling Language) E-R Diagram membantu model dari komponen perwakilan data dari sistem piranti lunak. Tetapi perwakilan data hanya membentuk satu bagian dari desain sistem keseluruhan. Komponen-komponen lainnya termasuk model-model dari pengguna berinteraksi dengan sistem, 21 spesifikasi dari modul-modul fungsional sistem dan interaksinya, dan sebagainya. UML adalah sebuah standar yang dikembangkan dibawah naungan dari Object Management Group (OMG) untuk menciptakan spesifikasi-spesifikasi dari komponen yang bermacam-macam pada sistem piranti lunak. (Abraham Silbershatz et al, 2006, p251-252) 2.2.11 DFD (Data Flow Diagram) Data Flow Diagram adalah sebuah representasi grafis dari aliran data melalui sebuah sistem informasi. Yang membedakan DFD dengan flowchart adalah DFD menunjukkan aliran dari data sedangkan flowchart menunjukkan aliran kontrol dari suatu program. Sebuah DFD dapat juga digunakan untuk visualisasi dari proses data DFD biasa dimulai dengan menggambar Context-level Data Flow Diagram yang menunjukkan interaksi antara sistem dan entitas eksternal. DFD juga didesain untuk menunjukkan bagaimana sebuah sistem dibagi ke dalam porsi-porsi yang lebih kecil dan untuk menyoroti aliran data pada bagian-bagian tersebut. Context-level DFD ini kemudian dipecah untuk menunjukkan detail pada sistem yang sedang dibuat. Pembuatan sebuah DFD membantu dalam mengidentifikasi data transaksi dalam model data. 22 (http://en.wikipedia.org/wiki/Data_flow_diagram) 2.2.12 Notasi-Notasi DFD Ada beberapa notasi yang berbeda dalam mendesain DFD. Notasi-notasi tersebut antara lain: Gambar 2.2 Notasi-notasi DFD (http://en.wikipedia.org/wiki/File:Data-flow-diagram-notation.svg) 23 2.2.13 Tingkatan DFD Tingkatan-tingkatan DFD antara lain: 1. Context Level Tingkatan ini menunjukkan konteks keseluruhan dari sistem dan lingkungan proses tersebut dan juga menunjukkan keseluruhan sistem sebagai sebuah proses. Pada tingkatan ini biasanya tidak menunjukkan penyimpanan data, kecuali penyimpanan data tersebut dimiliki oleh sistem eksternal. Gambar 2.3 Context Level Data Flow Diagram 2. Level 0 Tingkatan ini menunjukkan semua proses penomoran, penyimpanan data, entitas eksternal dan aliran-aliran data. Tujuan tingkatan ini adalah untuk menunjukkan proses-proses tingkatan level utama dari sistem dan antar relasi. Sebuah proses model hanya mempunyai satu diagram level 0. Sebuah diagram level 0 24 harus diseimbangkan dengan context level diagram, contohnya ada beberapa eksternal entitas dan aliran data yang sama antara level 0 diagram dan context level diagram. Eksternal entitas dan aliran data dapat dipecah lebih detail dalam level 0. Gambar 2.4 Level 0 Data Flow Diagram untuk sistem yang sama (http://en.wikipedia.org/wiki/Data_flow_diagram) 25 2.2.14 State Transition Diagram(STD) Menurut Whitten (2004, p673), State Transition Diagram digunakan untuk menggambarkan urutan dan variasi dari layar yang bisa ditampilkan ketika pengguna sistem berada pada terminal. Kita dapat membayangkannya sebagai peta jalan. Setiap layar sebagai analogi dari setiap kota. Tidak semua jalan melewati semua kota. Segiempat digunakan untuk mewakili tampilan layar. Panah mewakili aliran kendali dan kejadian pemicu yang menyebabkan layar menjadi aktif atau mendapatkan fokus. Segiempat hanya menerangkan apa yang dapat muncul selama interaksi. Arah panah menandakan urutan dimana layarlayar ini ditampilkan. Setiap panah, masing-masing dengan labelnya sendiri, digambar dengan arahnya masing-masing karena tindakan berbeda memicu aliran kendali dari dan kepada sebuah layar yang ada. 2.3 Hypertext Preprocessor (PHP) PHP digunakan sebagai bahasa server-side scripting dalam pengembangan Web yang disisipkan dalam dokumen HTML. Penggunaan PHP memungkinkan Web dapat dibuat dinamis sehingga pemeliharaan situs web tersebut menjadi lebih mudah dan efisien. PHP merupakan software OpenSource yang disebarkan dan dilisensikan secara gratis serta dapat di-download secara bebas dari situs resminya (www.php.net). 26 2.4 Perancangan Basis Data 2.4.1 Daur Hidup Basis Data Database Planning System Definition Requirement collection and analysis Conceptual database design Application design DBM selection (optional) Logical database design Physical database design Implementation Prototyping (optional) Data conversion and loading Testing Operational maintenance Gambar 2.5 Daur Hidup Basis Data 27 A. Perencanaan Basis Data (Database Planning) Perencanaan basis data adalah aktivitas yang memungkinkan tahapan terealisasinya aplikasai basis data dengan seefisien dan seefektif mungkin. (Connolly dan Begg, 2005, p273) Perencanaan basis data harus terintegrasi dengan keseluruhan strategi system informasi dari organisasi, dimana 3 hal utama yang berkaitan dengan strategi informasi tersebut adalah: a. Identifikasi rencana dan tujuan organisasi termasuk mengenai sistem informasi yang dibutuhkan b. Evaluasi sistem informasi yang ada untuk menentukan kelebihan dan kekurangan yang ada. c. Penafsiran kesempatan teknologi informasi yang mungkin memberikan keuntungan kompetitif. (Connolly dan Begg, 2005, p273) B. Definisi Sistem (system definition) Definisi sistem menjelaskan batasan dan ruang lungkup aplikasi basis data dan user view utama. (Connolly dan Begg, 2005, p274). 28 User views mendefinisikan apa saja yang dibutuhkan sebuah aplikasi basis data mulai dari perspektif (seperti manager atau supervisor) sampai lingkungan aplikasi (seperti personal, kontrol stok) (Connolly dan Begg, 2005, p275). Identifikasi user views merupakan aspek yang penting dalam mengembangkan aplikasi basis data karena hal tersebut membantuk untuk memastikan bahwa tidak ada pengguna utama dari basis data yang terlupakan ketika mengembangkan kebutuhan aplikasi basis data yang baru. User views juga membantu terutama dalam pengembangan aplikasi basis data yang kompleks dengan memungkinkan kebutuhan dipecahpecah menjadi bagian-bagian yang lebih dapat diatur. C. Pengumpulan dan Analisa Kebutuhan (Requirements Collection and Analysis) Pada tahapan ini dilakukan proses mengumpulkan dan menganalisis informasi tentang bagian dari organisasi yang akan didukung oleh aplikasi basis data dan menggunakan informasi ini untuk mengidentifikasi kebutuhan user pada sistem yang baru. Teknik yang digunakan disebut dengan fact-finding techniques. Informasi dikumpulkan untuk masing-masing user view utama meliputi: a. Deskripsi data yang digunakan atau dihasilkan. b. Detail mengenai bagaimana data digunakan atau dihasilkan. c. Beberapa kebutuhan tambahan untuk aplikasi basis data yang baru. 29 Selain itu, perlu juga memutuskan bagaimana mengatur aplikasi basis data dengan lebih dari satu user view. Terdapat tiga pendekatan utama untuk mengatur kebutuhan dari aplikasi basis data user view yang banyak, yaitu sebagai berikut: a. Pendekatan terpusat (centralized approach) b. Pendekatan integrasi sudut pandang (view integration approach) c. Kombinasi dari centralized approach dan view integration approach. D. Perancangan Basis Data Perancangan basis data adalah proses membuat rancangan basis data yang akan mendukung operasi dan sasaran layanan yang ingin dicapai oleh organisasi. a. Pendekatan untuk Mendesain Basis Data Ada beberapa pendekatan yang dapat merancang basis data, yaitu sebagai berikut: a. Pendekatan bottom-up b. Pendekatan top-down c. Pendekatan inside-out d. Pendekatan mixed strategy 30 digunakan dalam b. Data Modelling Ada dua tujuan dari data modelling yaitu membantu dalam memahami pengertian (semantics) data dan memfasilitasi komunikasi mengenai kebutuhan informasi. Model data dapat digunakan untuk menyampaikan pemahaman perancang terhadap kebutuhan informasi dari organisasi. Model data yang paling umum digunakan dalam database design adalah konsep model EntityRelationship (ER). c. Fase-Fase dari Desain Basis Data Perancangan basis data terbentuk dari tiga fase utama, yaitu sebagai berikut: 1) Conceptual Database Design 2) Logical Database Design 3) Physical Database Design E. Pemilihan DBMS Pemilihan DBMS adalah proses memilih DBMS yang cocok untuk mendukung aplikasi basis data. Langkah-langkah utama yang digunakan dalam memilih DBMS, yaitu sebagai berikut: a. Mendefinisikan cakupan tugas yang akan dilakukan. b. Membandingkan dua atau tiga produk DBMS. c. Mengevaluasi produk. 31 d. Merekomendasikan pemilihan sistem basis data dan membuat laporan dari evaluasi produk DBMS. F. Perancangan Aplikasi Perancangan aplikasi adalah proses merancang antar muka pengguna (user interface) dan program aplikasi yang menggunakan dan melakukan proses terhadap basis data. G. Prototyping Prototyping adalah proses membuat model kerja dari aplikasi basis data. Suatu prototype adalah model kerja yang biasanya tidak memiliki semua fitur yang dibutuhkan atau fungsi yang diinginkan pada sistem akhir. (Connolly dan Begg, 2002, p291) Tujuan utama dari mengembangkan prototype aplikasi basis data adalah memungkinkan pengguna untuk mengidentifikasi fitur-fitur dari sistem yang dirasakan sudah baik atau masih ada yang kurang. Selain itu, pengguna dapat memberikan saran perbaikan atau bahkan fitur-fitur baru pada aplikasi basis data sehingga perancang dapat mengevaluasi kembali. Ada dua jenis strategi prototyping yang digunakan sekarang ini, yaitu sebagai berikut: 32 a. Requirement prototyping Strategi ini menggunakan prototype untuk menentukan kebutuhan dari aplikasi basis data yang diusulkan dan ketika kebutuhan tersebut sudah diketahui semua, maka prototype dibuang. b. Evolutionary prototyping Strategi ini digunakan untuk tujuan yang sama juga, tetapi prototype tersebut tidak dibuang melainkan digunakan untuk perkembangan lebih lanjut. Beberapa analis dan designer lebih memilih pendekatan prototyping. Pendekatan prototyping adalah proses iteratif yang melibatkan hubungan kerja yang dekat antara designer dan pengguna. (Whitten, 2004, p450) Pendekatan ini memiliki beberapa keuntungan seperti di bawah ini: a. Prototyping menyarankan dan meminta partisipasi aktif dari pengguna akhir. b. Iterasi dan perubahan adalah sebuah konsekuensi alami dari pengembangan sistem, di mana pengguna akhir cenderung berubah pikiran. c. Prototyping dapat meningkatkan kreativitas karena memungkinkan umpan balik pengguna yang lebih cepat, yang dapat mengarahkan kepada solusi yang lebih baik. 33 d. Prototyping mempercepat beberapa fase dari siklus hidup, bahkan melewati programmer. Pada kenyataannya, prototyping mengkonsolidasikan bagian dari fase-fase yang biasanya terjadi setelah fase lain terjadi. Masing-masing sistem prototype ditinjau ulang oleh pengguna akhir dan manajemen, yaitu pihak yang membuat rekomendasi tentang persyaratan, metode, dan format. Prototype tersebut kemudian dikoreksi, ditingkatkan, atau diseleksi untuk mencerminkan persyaratan baru. Teknologi prototyping membuat beberapa perbaikan dalam cara yang relatif langsung. Revisi dan peninjauan ulang berlanjut sampai prototype diterima. Pada saat itu, pengguna akhir akan menerima baik persyaratan maupun desain yang memenuhi persyaratan tersebut. H. Implementasi Implementasi merupakan eksekusi dari perancangan sistem yang telah dibuat. Implementasi basis data dilakukan dengan menggunakan Data Definition Language (DDL) dari DBMS yang dipilih atau Graphical User Interface (GUI). I. Konversi Data dan Loading Konversi data dan loading adalah memindahkan data yang ada ke dalam basis data yang baru dan mengubah aplikasi yang ada untuk 34 beroperasi pada basis data yang baru. Tahap ini diperlukan ketika sistem basis data yang baru akan menggantikan sistem basis data yang lama. J. Testing Testing merupakan proses mengeksekusi program aplikasi dengan tujuan untuk menemukan error (kesalahan). K. Pemeliharaan Operasional Pemeliharaan operasional merupakan proses mengawasi dan memelihara sistem setelah instalasi. Tahap ini meliputi aktivitas-aktivitas sebagai berikut: a. Mengawasi performa dari sistem. b. Memelihara dan mengembangkan aplikasi basis data (optional). 2.4.2 Metodologi Perancangan Basis Data A. Conceptual Database Design Conceptual Database Design adalah proses membangun sebuah model informasi yang lepas dari semua pertimbangan secara fisikal, yang akan digunakan dalam sebuah sistem organisasi. Langkah pertama adalah membangun model data konseptual local untuk setiap view, mencakup: a. Mengidentifikasi tipe entitas, bertujuan untuk mengidentifikasi tipe entitas utama yang dibutuhkan oleh pengguna. Untuk mengidentifikasi tipe entitas dapat dilakukan dengan menelusuri kata benda, objek yang ada dalam prosedur sistem yang berjalan. Setelah 35 tipe entitas diidentifikasi, dilakukan pemberian nama yang berarti dan jelas kepada pengguna dan mencatat nama dan deskripsi entitas dalam kamus data. Apabila memungkinkan, mendokumentasikan jumlah occurrences yang diharapkan dari tiap entitas. Jika entitas dikenal dengan nama berbeda, nama tersebut menunjuk kepada sinonim atau alias, yang dicatat dalam kamus data. b. Mengidentifikasi tipe relasi, bertujuan untuk mengidentifikasi relasi yang penting di antara tipe entitas yang telah diidentifikasi. Untuk mengidentifikasikan tipe entitas dapat dilakukan dengan menelusuri kata kerja yang ada dalam prosedur sistem yang berjalan. c. Mengidentifikasi dan menggabungkan atribut dan entitas atau relasi, bertujuan untuk menggabungkan atribut dan tipe entitas atau relasi yang sesuai yaitu dengan mengidentifikasi simple/composite attribute, single/multi-value attribute dan derived attribute. Setelah atribut diidentifikasi, dilakukan pemberian nama yang berarti kepada pengguna, kemudian mencatat beberapa informasi untuk tiap atribut. d. Menentukan domain atribut, bertujuan untuk menentukan domain atribut dalam model data konseptual. e. Menentukan atribut primary key dan candidate key, bertujuan untuk mengidentifikasi candidate key untuk setiap tipe entitas dan bisa ada lebih dari satu candidate key, perlu memilih sebuah primary key. f. Mempertimbangkan penggunaan enhanced modeling concept (optional), bertujuan untuk mempertimbangkan penggunaan dari 36 enhanced modeling concept, seperti specialization, generalization, dan composition. g. Mengecek model redundansi, bertujuan untuk mengecek adanya redundansi dalam model data dan menghilangkannya jika ada. h. Memvalidasi model konseptual lokal terhadap user, bertujuan untuk memastikan bahwa model konseptual local mendukung transaksi yang dibutuhkan oleh view. i. Mengecek model data konseptual terhadap pengguna, bertujuan untuke mengecek model data konseptual dengan pengguna untuk meyakinkan bahwa model tersebut adalah representasi yang benar dari view. Langkah kedua adalah membangun dan memvalidasi data model logikal local untuk setiap view, mencakup: a. Menghilangkan fitur yang tidak kompatibel dengan model relasional (optional), bertujuan untuk memperbaiki model data konseptual lokal dengan menghilangkan fitur yang tidak kompatibel dengan model relasional. b. Menentukan relasi untuk model data logikal lokal, bertujuan untuk menciptakan relasi untuk model data logikal lokal yang mewakili entitas, relationship, dan atribut yang sudah diidentifikasi. c. Memvalidasi relasi dengan menggunakan normalisasi, bertujuan untuk memvalidasi relasi dalam model data logikal lokal dengan menggunakan teknik normalisasi. 37 d. Memvalidasi relasi terhadap transaksi user, bertujuan untuk memastikan bahwa relasi dalam model data logikal lokal mendukung transaksi yang dibutuhkan view, juga bahwa tidak ada error dalam relasi yang telah dibuat. e. Menentukan integrity constraint, bertujuan untuk menetapkan integrity constraint yang diberikan dalam view. f. Mengecek model data logikal local dengan user, bertujuan untuk memastikan model data logikal lokal dan dokumen pendukung yang menjelaskan model data adalah representasi yang benar dari view. Apabila pengguna merasa tidak puas dengan model tersebut maka dilakukan pengulangan kembali langkah-langkah sebelumnya jika diperlukan. B. Logical Database Design Langkah ketiga adalah membangun dan memvalidasi model data logikal global, mencakup: a. Menggabungkan model data logikal lokal menjadi model global, bertujuan untuk menggabungkan individu-individu model data logikal local ke dalam sebuah model data logikal global. b. Memvalidasi model data logikal global, bertujuan untuk memvalidasi relasi yang dihasilkan dari model data logikal global dengan teknik normalisasi dan memastikan bahwa model data tersebut mendukung transaksi yang dibutuhkan. 38 c. Mengecek perkembangan yang akan datang, bertujuan untuk menentukan bila ada perubahan signifikan di masa yang akan datang dan untuk memeriksa bisa model data logikal global dapat berakomodasi dengan perubahan tersebut. d. Mengecek ulang model data logikal global dengan user, bertujuan untuk memastikan model data logikal global adalah representasi yang benar dari view. C. Physical Database Design Langkah keempat adalah menerjemahkan model data logikal global untuk target DBMS, mencakup: a. Mendesain relasi dasar, bertujuan untuk memutuskan bagaimana menggambarkan relasi dasar yang diidentifikasi dalam model data logikal global pada target DBMS. b. Mendesain representasi dari derived data, bertujuan untuk memutuskan bagaimana merepresentasikan derived data yang ada dalam model data logikal global pada target DBMS. c. Mendesain enterprise constraint, bertujuan untuk mendesain enterprise constraint untuk target DBMS. Langkah kelima adalah mendesain representasi fisikal, mencakup: a. Menganalisis transaksi, bertujuan untuk memahami fungsionalitas dari transaksi yang akan dijalankan pada basis data dan menganalisis transaksi yang penting. 39 b. Memilih organisasi file, bertujuan untuk menentukan organisasi file yang efisien untuk setiap relasi dasar. Dalam banyak kasus yang ada, suatu relasional DBMS akan memberikan sedikit bahkan tanpa pilihan dalam memilih organisasi file, walaupun beberapa akan mempunyai indeks yang spesifik. Jika DBMS yang dituju tidak memperbolehkannya adanya pemilihan organisasi file, maka langkah ini dapat dihilangkan. c. Memilih indeks, bertujuan untuk menentukan bilamana penambahan indeks dapat meningkatkan tampilan dari sistem. d. Memperkirakan kebutuhan disk, bertujuan untuk memperkirakan jumlah ruang disk yang diperlukan oleh basis data. Perkirakan kebutuhan disk sangat bergantung pada DBMS yang dituju dan hardware yang digunakan untuk mendukung basis data. Secara umum, perkiraan dilakukan berdasarkan ukuran tiap tuple dan jumlah tuples dalam relasi. Langkah keenam adalah mendesain user view, dengan tujuan mendesain user view yang telah diidentifikasi selama tahap pengumpulan dan analisis dari aplikasi daur hidup basis data. Langkah ketujuh adalah mendesain mekanisme keamanan, dengan tujuan mendesain kebutuhan keamanan untuk basis data yang diinginkan user. Beberapa sistem menawarkan fasilitas keamanan yang berbeda dari sistem yang lainnya. Relasional DBMS biasanya menyediakan dua macam keamanan basis data antara lain: 40 a. Keamanan sistem Keamanan sistem menutupi pengaksesan dan penggunaan basis data pada tingkat sistem, seperti autentifikasi user name dan password. b. Keamanan data Keamanan basis data adalah suatu mekanisme yang memproteksi basis data dari suatu kejadian yang tidak diinginkan, baik secara disengaja maupun tidak. Langkah kedelapan adalah mempertimbangkan penggunaan redundansi yang terkontrol. Langkah ini bertujuan untuk menentukan apakah pengenalan pengontrolan redundansi dengan mengendurkan aturan normalisasi dapat meningkatkan unjuk kerja sistem. Langkah kesembilan adalah mengawasi dan mengurus sistem operasional. Langkah ini bertujuan untuk memantau operasional sistem dan meningkatkan unjuk kerja sistem untuk memperbaiki keputusan perancangan yang tidak sesuai atau menggambarkan kebutuhan pengguna. Hasil akhir perancangan fisikal basis data adalah suatu proses yang mendeskripsikan suatu implementasi dari suatu basis data pada media penyimpanan. Hal ini mendeskripsikan suatu relasional dan struktur penyimpanan dan metodologi pengaksesan data oleh user yang efisien, selama batasan integritas dan pengukuran keamanan. 41