BAB 2 LANDAS AN TEORI 2.1 Pengertian Data, Basis data dan Sistem Basis Data M enurut Navathe dan Elsmari (2004, p4), data adalah fakta yang dapat disimpan dan memiliki makna. Dapat disimpulkan data adalah kumpulan fakta yang terjadi yang dapat dicatat, disimpan serta dapat dimanfaatkan sedemikian rupa untuk berbagai tujuan. Contoh dari data, seperti data nomor telepon, data produk, data stok, data karyawan, data supplier. M enurut Connolly dan Begg (2005, p14), basis data adalah sekumpulan data yang terhubung secara logikal yang dipakai bersama dan deskripsi data ini dirancang untuk menemukan informasi-informasi yang dibutuhkan oleh sebuah organisasi. Basis data bukan merupakan file-file yang tidak terhubung dengan data yang redundan, melainkan semua data yang ada diintegrasikan dengan nilai duplikasi yang minimal. Basis data tidak lagi dimiliki oleh hanya satu departemen saja tetapi seluruh sumber daya perusahaan yang digunakan bersama. Dapat disimpulkan bahwa basis data adalah sebuah kumpulan data yang tidak redundan yang tersusun secara struktural untuk tujuan tertentu. M enurut Connolly dan Begg (2002, p4), sistem basis data adalah kumpulan dari program aplikasi yang berinteraksi dengan basis data. Sehingga dapat disimpulkan bahwa sistem basis data merupakan gabungan dari beberapa aplikasi yang digunakan untuk mengakses, dan mengubah data sesuai dengan kebutuhan. 7 8 2.2 Arsitektur Database M erupakan suatu proses pembuatan suatu rancangan yang akan mendukung mission statement dan mission objective perusahaan untuk membuat sistem basis data yang dibutuhkan. Tujuan utamanya, yaitu: 1. M erepresentasikan data dan hubungan antar data yang dibutuhkan oleh seluruh area aplikasi utama dan kelompok pengguna. 2. M enyediakan model data yang mendukung segala transaksi yang diperlukan pada data. 3. M enspesifikasikan desain minimal yang secara tepat disusun untuk memenuhi kebutuhan performa yang ditetapkan pada sistem (misal, waktu respon). Ada empat pendekatan dalam perancangan basis data, yaitu: 1. Top-Down Pendekatan ini dimulai dari pengembangan model data yang terdiri dari beberapa relationship dan entitas tingkat tinggi yang kemudian dipakai untuk mengidentifikasikan entitas tingkat rendah, relationship, dan atribut yang saling berhubungan. 2. Bottom-Up Pendekatan ini dimulai dari tingkat paling dasar dari atribut (yakni property dari entitas dan relationship) di mana melalui analisis gabungan antara atribut-atribut, dikelompokkan ke dalam relasi-relasi yang merepresentasikan tipe-tipe entitas dan hubungan antara entitas. 9 Pendekatan ini lebih cocok untuk perancangan basis data yang sederhana dengan jumlah atribut yang relatif kecil. 3. Inside-Out M enyerupai dengan pendekatan bottom-up tetapi sedikit berbeda di mana pada awalnya mengidentifikasikan entitas utama dan kemudian menentukan entitas, relationship, dan atribut lainnya yang berkaitan dengan entitas utama yang telah diidentifikasi sebelumnya. 4. Mixed M enggunakan pendekatan bottom-up dan top-down untuk bagian yang berbeda sebelum pada akhirnya digabungkan. A. Conceptual Database Design Suatu proses pembentukan model dari informasi yang digunakan dalam enterprise, independen dari keseluruhan aspek fisik. M odel data dibangun dengan menggunakan informasi dalam spesifikasi kebutuhan user. M odel data konseptual merupakan sumber informasi untuk fase desain logical. Langkah-langkah membuat data model lokal konseptual untuk setiap user view: 1. Identifikasi Tipe Entitas Untuk mengidentifikasikan entitas utama yang dibutuhkan oleh view. M endefinisikan objek utama dimana user mempunyai ketertarikan dengan objek tersebut. Objek-objek ini adalah tipe entity untuk model. 10 Salah satu metode untuk mengidentifikasi entity adalah dengan menguji spesifikasi kebutuhan dari user. 2. Identifikasi Tipe Relationship Tujuannya untuk mengidentifikasikan relationship penting yang ada antara tipe entity yang telah diidentifikasikan. Kita dapat menggunakan grammar dari spesifikasi kebutuhan tersebut untuk mengidentifikasi relationship, biasanya relationship dinyatakan oleh kata kerja / verb atau ekspresi verbal. Langkah-langkah identifikasi tipe relasi: • Gunakan Entity Relationship Diagram (ERD) • Cari batasan dari type relationship • Periksa fan dan chasm traps • Periksa bahwa masing-masing entity ikut serta setidaknya dalam satu relationship • Dokumentasikan tipe relationship 3. Identifikasi dan Hubungkan Atribut dengan Entitas atau Tipe Hubungan Tujuannya untuk menghubungkan atribut dengan entitas atau tipe relationship yang sesuai dan mendokumentasikan detail dari setiap atribut. Atribut-atribut bisa diidentifikasi dengan kata benda atau ungkapan kata benda (nouns phrases) seperti property, kualitas, identifier, atau karakteristik dari satu entity atau hubungan. 11 Atribut dapat dibagi menjadi 3 yaitu: • Atribut simple atau composite • Atribut single atau multi value • Atribut Derived 4. Tetapkan domain atribut Tujuannya untuk menetapkan domain atribut dalam model data konseptual lokal dan mendokumentasikan setiap detail dari domain. Domain merupakan sekumpulan (pool) nilai-nilai dari satu atau lebih atribut yang menggambarkan nilainya. M odel data yang dibuat menspesifikasikan domain untuk tiap-tiap atribut dan menyertakan nilai yang diizinkan untuk atribut dan ukuran dan format atribut. 5. Tetapkan Atribut Primary dan Candidate key Untuk mengidentifikasikan candidate key untuk setiap entity dan jika terdapat lebih dari satu candidate key, maka pilih satu sebagai primary key. 6. Periksa M odel Untuk Pengurangan Dalam langkah ini kita menguji model data konseptual lokal dengan tujuan spesifik untuk mengidentifikasikan apakah ada redundancy dalam data dan memindahkan data yang telah ada. Dua aktifitas dalam langkah ini adalah menguji ulang relationship 1-1 (oneto-one) dan menghilangkan relationship yang redundan. 7. Validasi M odel Konseptual Lokal Terhadap Transaksi User Tujuannya untuk memastikan model konseptual local mendukung transaksi yang dibutuhkan oleh view. Diuji dua pendekatan untuk 12 memastikan model data konseptual local mendukung transaksi yang dibutuhkan, dengan cara : • M endeskripsikan transaksi-transaksi • M engunakan jalur-jalur transaksi 8. Review M odel Data Konseptual Lokal Dengan User Tujuannya untuk mereview model data konseptual lokal dengan user untuk memastikan model tersebut adalah representasi sebenarnya dari view. M odel data konseptual ini termasuk ER diagram dan dokumentasi pendukung yang mendeskripsikan model data. Bila ada kejanggalan (anomali) dalam model data, maka harus dibuat perubahan yang sesuai yang mungkin membutuhkan pengulangan langkah-langkah sebelumnya. B. Logical Database Design Suatu proses pembentukan model data dari informasi yang digunakan dalam enterprise berdasarkan model data tertentu (misal:relational), tetapi independen terhadap DBM S tertentu dan aspek fisik lainnya. M odel data konseptual yang telah dibuat sebelumnya, diperbaiki dan dipetakan kedalam model data logical. Langkah membuat dan memvalidasikan data model local yang logical untuk setiap view: 1. Pindahkan fitur-fitur yang tidak kompatibel dengan model relational (step optional). 2. Ambilkan hubungan untuk data model local yang logical. 13 3. Validasikan hubungan menggunakan normalisasi. 4. Validasikan hubungan terhadap transaksi user. 5. Tentukan batasan integrity. 6. Tinjau kembali model data logical lokal dengan user. Langkah membuat dan memvalidasikan model data logical global: 1. Gabungkan model data logical lokal menjadi model global. 2. Validasikan model data logical global. 3. Periksa untuk pengembangan mendatang. 4. Tinjau kembali model data logical global dengan user. C. Physical Database Design Suatu proses yang menghasilkan deskripsi implementasi database pada penyimpanan sekunder. M enggambarkan struktur penyimpanan dan metode akses yang digunakan untuk mencapai akses yang efisien terhadap data. Dapat dikatakan juga, desain fisikal merupakan pembuatan menuju sistem DBM S tertentu. • M enerjemahkan model data logical global target DBM S : - Desain hubungan dasar. - Desain representasi dari data yang dihasilkan. - Desain batasan-batasan perusahaan. • M endesain representasi fisikal : - Analisa transaksi-transaksi. - Pilih organisasi file. - Pilih indeks-indeks. cara 14 - Perkirakan kebutuhan penyimpanan (disk space). • M endesain user view. • M empertimbangkan pengenalan dari redudansi terkontrol. • Awasi dan atur sistem operasional. 2.3 DBMS (Database Management System) M enurut Elmasri dan Navathe (2000, p5), sistem manajemen basisdata (Database Management System) adalah sekumpulan program yang memungkinkan pengguna untuk membuat dan menjaga sebuah basis data, sedangkan menurut Ramakrishnan dan Gehrke (2003, p4), sistem manajemen basisdata (Database Management System) adalah perangkat lunak yang dirancang untuk membantu dalam menjaga dan mengutilisasi koleksi data yang besar. Sistem manajemen basisdata (Database Management System) adalah sistem perangkat lunak yang memungkinkan pengguna untuk mendefinisikan, membuat, menjaga, dan mengendalikan akses pada basis data (Conolly dan Begg, 2005, p16). Fasilitas yang dimiliki oleh DBM S : a. Data Definition Language(DDL) b. Data Manipulation Language(DML) c. Akses kontrol kedalam database. 15 DBM S menyediakan : 1. Sistem keamanan, yang mencegah akses pengguna yang tidak memiliki otoritas. 2. Integritas sistem, yang menjaga konsistensi data yang disimpan dalam basis data. 3. Sistem kontrol konkurensi, yang memungkinkan akses secara bersamaan kedalam basis data. 4. Sistem kontrol perbaikan, yang mengembalikan basisdata kedalam keadaan konsisten sebelum terjadinya kegagalan pada perangkat keras atau perangkat lunak. 5. Katalog yang dapat diakses pengguna, yang berisi penjelasan tentang data yang ada dalam basis data. M enurut Gerald V.Post (2002, p2), sistem manajemen basisdata (Database Management System) adalah perangkat lunak yang mendefinisikan basisdata, menyimpan data, mendukung bahasa query, membuat laporan, dan membuat tampilan input data. 2.3.1 Komponen DBMS M enurut Connolly dan Begg (2005, p18) ada 5 (lima) komponen utama dari DBM S, yaitu perangkat keras, perangkat lunak, data, prosedur dan sumber daya manusia(SDM ). 1. Hardware (Perangkat keras) Suatu DBM S dan aplikasi nya menggunakan perangkat keras untuk menjalankan aplikasinya. Perangkat keras dapat 16 disusun dari suatu komputer tunggal, suatu mainframe tunggal, dan suatu jaringan. 2. Software (Perangkat lunak) Komponen perangkat lunak meliputi perangkat lunak DBM S dan program aplikasi beserta sistem operasi, termasuk perangkat lunak tentang jaringan, bila DBM S digunakan dalam jaringan LAN. 3. Data Data merupakan komponen terpenting dalam DBM S khususnya sudut pandang dari pengguna akhir mengenai data. Data pada sebuah basis data baik single-user maupun multiuser sistem harus terintegrasi dan dapat digunakan bersama. 4. Procedures Prosedur berupa instruksi dan aturan-aturan yang membuat rancangan dan menggunakan basis data. Pengguna sistem dan staf yang mengatur kebutuhan basis data di dokumentasikan dalam prosedur yang berupa petunjuk penggunaan sistem atau petunjuk menjalankan sistem. 5. Sumber Daya M anusia(SDM ) Komponen terakhir adalah manusia yang terlibat langsung dalam sistem tersebut. M anusia dibedakan menjadi 3 (tiga), yaitu : a. Application programmers, bertanggung jawab untuk membuat aplikasi basis data dengan menggunakan bahasa 17 pemrograman yang ada, seperti: C++, Java, Visual Basic, dan lainnya. b. End users, siapapun yang akan menggunakan aplikasi. Database administrator ( DA), seorang yang berwenang untuk membuat keputusan strategis dan kebijakan mengenai data yang ada, Database Administrator (DBA) menyediakan keputusan dukungan tersebut dan teknis untuk bertanggung menerapkan jawab atas keseluruhan kontrol sistem pada tingkat teknis. 2.3.2 Fungsi DBMS M enurut Connolly dan Begg (2005, p48), ada beberapa fungsi dari DBM S adalah sebagai berikut: 1. Data storage, retrieval, and update Sebuah DBM S harus menyediakan kemampuan penyimpanan, pengambilan, dan pembaharuan data dalam basis data untuk pengguna. 2. User-accesible catalog Sebuah DBM S harus dilengkapi/menyediakan sebuah katalog yang mendeskripsikan data tersimpan yang dapat diakses oleh pengguna. 3. Transaction Support Sebuah DBM S harus menyediakan mekanisme yang akan menjamin antara semua pembaharuan yang berhubungan 18 dengan transaksi yang diberikan sukses dilakukan atau tidak dari semua transaksi itu berhasil dilakukan. 4. Concurrency Control Services Sebuah DBM S harus menyediakan sebuah mekanisme untuk menjamin bahwa basis data telah terubah dengan benar ketika banyak pengguna melakukan perubahan terhadap basis data secara bersamaan. 5. Recovery Services Sebuah DBM S harus mennyediakan sebuah mekanisme untuk memperbaiki basis data yang rusak dalam berbagai hal karena suatu kejadian. 6. Authorization Services Sebuah DBM S harus menyediakan sebuah mekanisme untuk menjamin bahwa hanya pengguna yang memiliki otoritas yang dapat mengakses basis data. 7. Support for Data Communication Sebuah DBM S harus sanggup berintegrasi dengan perangkat lunak komunikasi. 8. Integrity service Sebuah DBM S harus menyediakan sebuah cara untuk menjamin bahwa data dalam basis data dan perubahan data keduanya mengikuti aturan-aturan yang tepat. 19 9. Services to promote data independence Sebuah DBM S harus memiliki fasilitas-fasilitas untuk mendukung program-program independence dari struktur basis data yang aktual. 10. Utility services Sebuah DBM S seharusnya menyediakan sekumpulan utility service agar basis data dapat di administrasi secara efektif. 2.3.3 Keuntungan dan Kerugian DBMS • Keuntungan DBM S (Connolly, 2005, p26), antara lain: 1. Kontrol terhadap pengulangan data 2. Data yang konsisten 3. Semakin banyak informasi yang didapat dari data yang sama 4. Data yang dibagikan (sharing data) 5. M enambah integritas data 6. M enambah keamanan data 7. Penetapan standarisasi 8. Pengurangan biaya 9. M enyeimbangkan konflik kebutuhan 10. M enambah pengaksesan data dan hasilnya 11. M enambah produktivitas 12. M enambah pemeliharaan data melalui independensi data 13. M enambah konkurensi 20 14. M enambah backup dan recovery • Kerugian DBM S (Connolly, 2005, p29), antara lain: 1. Kompleksitas 2. Ukuran yang besar 3. Biaya dari suatu DBM S 4. Biaya penambahan perangkat keras 5. Biaya konversi 6. Kinerja 7. Efek yang besar dari kegagalan 2.4 DDL (Data Definition Language) M enurut Connolly dan Begg (2005, p40), Data Definition Language (DDL) adalah suatu bahasa yang memungkinkan Database Administrator (DA) atau pengguna untuk mendeskripsikan nama dari suatu entity, atribut dan hubungan data yang diminta oleh aplikasi bersama dengan integritas data dan keamanan datanya. Hasil dari kompilasi perintah DDL adalah kumpulan tabel yang disimpan dalam file khusus yang disebut kamus data (Data Dictionary). M enurut Connolly dan Begg (2005, p169) beberapa tahapan dari DDL, yaitu : 1. Create Table Untuk membuat tabel dengan meindentifikasikan tipe data untuk tiap kolom. 21 2. Alter table Untuk menambah atau membuat kolom dan constraint. 3. Drop table Untuk membuang atau menghapus tabel beserta semua data yang ada di dalamnya. 4. Create Index Untuk membuat index pada suatu table 5. Drop index Untuk membuang atau menghapus index yang dibuat sebelumnya. 2.5 Komponen Data Flow Diagram (DFD) 22 Komponen Terminator / Entitas Luar Terminator mewakili entitas eksternal yang berkomunikasi dengan sistem yang sedang dikembangkan. Biasanya terminator dikenal dengan nama entitas luar (external entity). Terdapat dua jenis terminator : • Terminator Sumber (source) : merupakan terminator yang menjadi sumber. • Terminator Tujuan (sink) : merupakan terminator yang menjadi tujuan data / informasi sistem. Terminator dapat berupa orang, sekelompok orang, organisasi, departemen di dalam organisasi, atau perusahaan yang sama tetapi di luar kendali sistem yang sedang dibuat modelnya. Terminator dapat juga berupa departemen, divisi atau sistem di luar sistem yang berkomunikasi dengan sistem yang sedang dikembangkan. Komponen terminator ini perlu diberi nama sesuai dengan dunia luar yang berkomunikasi dengan sistem yang sedang dibuat modelnya, dan biasanya menggunakan kata benda, misalnya Bagian Penjualan, Dosen, M ahasiswa. Ada tiga hal penting yang harus diingat tentang terminator : 1. Terminator merupakan bagian/lingkungan luar sistem. Alur data yang menghubungkan terminator dengan berbagai proses sistem, menunjukkan hubungan sistem dengan dunia luar. 2. Profesional Sistem Tidak berhak mengubah isi atau cara kerja organisasi atau prosedur yang berkaitan dengan terminator. 3. Hubungan yang ada antar terminator yang satu dengan yang lain tidak digambarkan pada DFD. 23 Komponen Proses Komponen proses menggambarkan bagian mentransformasikan input menjadi output. dari sistem yang Proses diberi nama untuk menjelaskan proses/kegiatan apa yang sedang/akan dilaksanakan. Pemberian nama proses dilakukan dengan menggunakan kata kerja transitif (kata kerja yang membutuhkan obyek), seperti M enghitung Gaji, M encetak KRS, M enghitung Jumlah SK S. Ada beberapa hal yang perlu diperhatikan tentang proses : 1. Proses harus memiliki input dan output. 2. proses dapat dihubungkan dengan komponen terminator, data store atau proses melalui alur data. 3. Sistem/bagian/divisi/departemen yang sedang dianalisis oleh profesional sistem digambarkan dengan komponen proses. Komponen Data S tore Komponen ini digunakan untuk membuat model sekumpulan paket data dan diberi nama dengan kata benda bersifat jamak. Data store dapat berupa file/database yang tersimpan dalam disket, harddisk atau bersifat manual seperti buku alamat, file folder. Yang perlu diperhatikan tentang data store : 1. Alur data dari proses menuju data store, hal ini berarti data store berfungsi sebagai tujuan/tempat penyimpanan dari suatu proses (proses write). 24 2. Alur data dari data store ke proses, hal ini berarti data store berfungsi sebagai sumber/ proses memerlukan data (proses read). 3. Alur data dari proses menuju data store dan sebaliknya berarti berfungsi sebagai sumber dan tujuan. Komponen Alur Data Alur data digunakan untuk menerangkan perpindahan data /paket data dari satu bagian ke bagian lainnya. Alur data dapat berupa kata, pesan, formulir / informasi. Ada 4 konsep tentang alur data : 1. Packets of data Apabila ada 2 data / lebih yang mengalir dari 1 sumber yang sama menuju pada tujuan yang sama & mempunyai hubungan digambarkan dengan 1 alur data. 2. Diverging data flow Apabila ada sejumlah paket data yang berasal dari sumber yang sama menuju pada tujuan yang berbeda atau paket data yang kompleks dibagi menjadi beberapa elemen data yang dikirim ke tujuan yang berbeda. 3. Converging data flow Apabila ada beberapa alur data yang berbeda sumber menuju ke tujuan yang sama. 4. Sumber dan Tujuan Arus data harus dihubungkan pada proses, baik dari maupun yang menuju proses. 25 2.6 DML (Data Manipulation Language) M enurut Connolly (2005, p40), DM L (Data Manipulation Language) adalah suatu bahasa yang memberikan fasilitas pengoperasian data yang ada dalam basis data. Pengoperasian data yang dimanipulasi antara lain : 1. Penambahan data baru ke dalam basis data (insertion) 2. M odifikasi data yang disimpan dalam basis data (modify) 3. Pengambilan data yang terdapat dalam basis data (retrieve) 4. Penghapusan data dari basis data (delete). M enurut Connolly (2005, p41), kita dapat membedakan DM L menjadi 2 tipe yang berbeda, yaitu : a. Procedural DM L Procedural DM L adalah suatu bahasa yang memungkinkan perngguna (umumnya programmer) untuk memberi instruksi ke sistem mengenai data apa yang dibutuhkan dan bagaimana cara pemanggilannya (retrieve). Artinya pengguna harus menjelaskan operasi pengaksesan data yang akan digunakan dengan menggunakan prosedur yang ada untuk mendapatkan informasi yang dibutuhkan. b. Non-Procedural DM L Non-Procedural DM L adalah bahasa yang memungkinkan pengguna untuk menentukan data apa yang dibutuhkan dengan menyebutkan spesifikasi bagaimana cara mendapatkannya. 26 2.7 Entity Relationship Modelling (ER Modelling) 2.7.1 Entity Types Konsep dasar dari M odel ER adalah entity types, yaitu kumpulan dari objek-objek dengan sifat (property) yang sama, yang diidentifikasi oleh perusahaan yang mempunyai eksistensi yang independen. Keberadaannya dapat berupa fisik maupun abstrak (Connolly, 2005, p331). Entity occurence, yaitu pengidentifikasian objek yang unik dari sebuah tipe entitas. Setiap entitas diidentifikasikan dan disertakan propertinya (Connolly, 2005, p333). 2.7.2 Relationship Types Relationship type adalah kumpulan keterhubungan yang mempunyai arti (meaningful associations) antara tipe entitas yang ada. Relationship occurence, yaitu keterhubungan yang diidentifikasi secara unik yang meliputi keberadaan tiap tipe entitas yang berpartisipasi (Connolly, 2005, p334). 2.7.3 Atribut-atribut • Key Atribut yang digunakan untuk menentukan suatu entity secara unik. • Atribut S imple Atribut yang bernilai tunggal. 27 • Atribut Multivalue Atribut yang memiliki sekelompok nilai untuk setiap instan entity. • Atribut Composite Suatu atribut yang terdiri dari beberapa atribut yang lebih kecil yang mempunyai arti tertentu. • Atribut Derivatif Suatu atribut yang dihasilkan dari atribut yang lain. 2.7.4 S tructural Constraint Batasan utama pada relationship disebut multiplicity (Connolly, 2005, p344), yaitu jumlah (atau range) dari kejadian yang mungkin terjadi pada suatu entitas yang terhubung ke satu kejadian dari entitas lain yang berhubungan melalui suatu relationship. Relationship yang paling umum adalah binary relationship. M acam-macam binary relationship, yaitu: 1. One-to-one (1:1) 2. one-to-many (1 :*) 3. many-to-many (*:*) 2.8 DS DLC (Database System Development Life Cycle) Untuk merancang aplikasi sistem basis data diperlukan beberapa tahapan struktur yang harus diikuti dan dinamakan Siklus Hidup Aplikasi Basisdata atau Database System Development Life Cycle (SDLC). M erupakan hal penting 28 untuk mengetahui tahapan daur hidup sistem informasi tidaklah harus berurutan, tetapi melibatkan beberapa jumlah pengulangan tahap sebelumnya melalui feedback loops. Berikut ini gambar yang menunjukkan tahapan daur hidup aplikasi basis data : Gambar 2.1 Tahapan Daur Hidup Aplikasi Basis Data 29 A. Perencanaan Basisdata (Database Planning) M enurut Connolly (2005, p285) perencanaan basis data (Database Planning) merupakan aktifitas-aktifitas manajemen yang memungkinkan tahap-tahap dalam aplikasi basis data direalisasikan seefisien dan seefektif mungkin. M enurut Connoly (2005, p286), tahapan dalam perencanaan basis data harus menjelaskan : a. Mission statement dari proyek basis data. Mission statement ini menjelaskan tujuan utama aplikasi basis data. b. Mission objectives. Selain merumuskan tujuan dari sebuah proyek basis data, harus diperhatikan juga mengenai tugas apa saja yang harus didukung oleh basisdata tersebut. B. Pendefinisian System (System Definition) Pendefinisian sistem (system definiton) menjelaskan bidang dan batasan aplikasi basis data serta pandangan pengguna (user view) secara umum (Connolly dan Begg (2005, p286)). Hal ini sangat penting dilakukan dalam proses perancangan basis data agar dapat melakukan proses identifikasi mengenai batasan sistem yang akan dirancang, serta bagaimana sistem tersebut akan berhubungan dengan bagian sistem informasi pada organisasi lain. Selain itu batasan sistem tidak hanya sesuai dengan bidang dan batasan aplikasi basis data serta pandangan pengguna yang telah ada pada saat ini saja, namun harus sesuai juga dengan kebutuhan pada masa yang akan datang. 30 C. Pengumpulan Kebutuhan dan Analisa (Requirements Collection and Analysis) Pada tahap ini dilakukan proses pengumpulan dan analisa informasi yang harus didukung oleh aplikasi basis data, dan penggunaan informasi ini berguna untuk mengidentifikasikan persyaratan pengguna terhadap sistem yang baru. Tahap ini meliputi pengumpulan dan analisis informasi mengenai bagian perusahaan yang harus dilayani oleh basis data. M enurut Connolly dan Begg (2005, p314) terdapat 3 (tiga) pendekatan utama untuk pengaturan kebutuhan aplikasi basis data dengan multiple user views, yakni : a. Pendekatan centralized Kebutuhan-kebutuhan untuk setiap user view digabung dalam suatu kumpulan kebutuhan tunggal untuk aplikasi basis data baru. b. Pendekatan view integration Kebutuhan-kebutuhan untuk setiap user view digunakan untuk membangun model data terpisah untuk merepresentasikan pengguna itu sendiri. c. Kombinasi antara centralized dan view integration Ada banyak cara untuk mengumpulkan informasi pada suatu proses resmi dalam menggunakan teknik-teknik seperti wawancara atau kuesioner untuk mengumpulkan fakta-fakta tentang sistem dan kebutuhan-kebutuhannya yang dinamakan fact finding. 31 D. Perancangan Basis Data (Database Design) Dalam merancang sebuah database terdapat 3 macam tahan, yaitu : 1. Perancangan Basis Data Konseptual (Conceptual Database Design) Conceptual Database Design adalah proses membangun suatu model informasi yang digunakan oleh perusahaan atau organisasi yang tidak tergantung dari pertimbangan fisik. Langkah – langkah dalam perancangan model data konseptual: a. M engidentifikasikan entity types b. M engidentifikasikan relationship types c. M engidentifikasikan dan mengasosiasikan atribut dengan entitas atau relationship types d. M enentukan wilayah atribut e. M enentukan atribut candidate key, primary key, dan alternate key. f. M empertimbangkan konsep pemodelan tingkat lanjut (langkah opsional) g. M emeriksa redudansi pada model h. Validasi model pada user transaction i. Review model data konseptual dengan user 2. Perancangan Basis Data Logikal (Logical Database Design) Logical Database Design adalah proses pembuatan suatu model informasi yang digunakan pada perusahaan berdasarkan pada model data yang spesifik, tetapi tidak bergantung dari DBM S 32 (Database Management System). Langkah – langkah dalam perancangan model data logikal: a. M enurunkan (derive) relasi untuk model data logical b. M emvalidasi relasi-relasi menggunakan normalisasi c. M emvalidasi relasi – relasi terhadap transaksi user d. M emeriksa batasan – batasan integritas e. Review model data logikal dengan user f. M enggabungkan model data logikal kedalam model global (langkah optional) g. M emeriksa untuk perkembangan di masa yang akan datang 3. Perancangan Basis Data Fisikal (Physical Database Design) Physical Database Design adalah suatu proses untuk menghasilkan gambaran dari implementasi basis data pada tempat penyimpanan, menjelaskan dasar dari relasi, organisasi file dan indeks yang digunakan untuk efisiensi data dan menghubungkan beberapa integrity constraints dan tindakan keamanan. Langkah – langkah dalam perancangan model data fisikal : a. M erancang base relations. b. M erancang representasi dari derived data c. M erancang batasan-batasan umum d. M erancang organisasi file dan index - M enganalisis transaksi - M emilih organisasi file - M emilih index 33 - M emperkirakan kebutuhan ruang penyimpanan e. M erancang user views f. M erancang mekanisme keamanan g. M empertimbangkan pengenalan redudancy terkontrol h. M emantau operasional system E. Pemilihan DBM S (DBM S Selection) M enurut Connolly (2005, p295-299) tahapan ini adalah pemilihan dari suatu DBM S yang tepat untuk mendukung aplikasi basis data. Tahap-tahap pemilihan DBM S : 1. M enentukan istilah referensi studi M enetapkan objektif dan ruang lingkup studi, dan tugastugas yang harus dilakukan. 2. M embuat daftar sementara 2 (dua) atau 3 (tiga) produk M embuat daftar awal persiapan produk DBM S untuk evaluasi. 3. M engevaluasi produk Ada berbagai fitur yang dapat digunakan untuk mengevaluasi produk DBM S yaitu : a. Data definition meliputi pemberian primary key, spesifikasi foreign key, keberadaan tipe data, perluasan tipe data, spesifikasi domain, control integritas, mekanisme view, kamus data dan kebebasan data. b. Physical definition pemeliharaan meliputi struktur file, keberadaan mengurangi struktur file, reorganisasi, 34 pemberian indeks, variable panjang field/records, kompresi data, encryption routines, kebutuhan memori, kebutuhan penyimpanan. c. Accessibility meliputi query language, compliant, interface ke 3GLs, multi-user, security, access controls dan authorization mechanism. d. Transaction handling meliputi backup dan recovery routines, strategi resolusi deadlock, kemajuan model transaksi, parallel query processing. e. Utilities meliputi performance measuring, tuning, fasilitas load/unload, user usage monitoring, database administration support. f. Development meliputi 4GL/5GL tools, CASE tools, kemampuan windows, prosedur penyimpanan, triggers, rules, web development tools. Fitur-fitur lainnya meliputi upgradability, stabilitas vendor, user base, training, user support, dokumentasi, sistem operasi, biaya, online help, penggunaan standar, skalabilitas, mendukung analytical tools 4. M erekomendasikan pilihan dan meproduksi laporan Langkah terakhir dari pemilihan DBM S adalah mendokumentasikan prosesnya dan membuat pernyataan dalam penemuan dan rekomendasi atas produk DBM S tertentu. 35 F. Perancangan Aplikasi (Application Design) M enurut Connoly (2005, p295) perancangan aplikasi adalah perancangan user interface dan program aplikasi yang menggunakan dan memproses basis data. Terdapat 2 aspek penting dalam perancangan aplikasi yaitu : 1. Perancangan Transaksi (Transaction Design) Transaksi merupakan sebuah aksi, atau serangkaian aksi yang dilakukan oleh seorang pengguna atau program aplikasi yang mengakses atau mengubah isi dari basis data. Terdapat 3 (tiga) jenis transaksi : a. Retrieval transactions, digunakan untuk mendapatkan kembali data untuk ditampilkan di layar atau dalam laporan. b. Update transaction, digunakan untuk menambah data, menghapus data lama, atau memodifikasikan data yang ada dalam basis data. c. Mixed Transaction, melibatkan retrieval (pemanggilan) dan update (perubahan) data atau kombinasi antara keduanya. 2. Perancangan antar muka (User Interface Design) Sebelum mengimplementasi sebuah form atau laporan, ada perlunya merancang tampilan (layout) terlebih dahulu. G. Prototipe (Prototyping) M erupakan pembuatan suatu model kerja dari aplikasi basis data. Suatu prototipe adalah model yang bekerja yang tidak mempunyai semua fitur-fitur yang diperlukan atau menyediakan 36 semua fitur-fitur yang diperlukan atau menyediakan semua fungsionalitas dari sistem terakhir. Terdapat 2 macam prototyping yaitu : 1. Requirement Prototyping, menggunakan suatu prototipe untuk menentukan kebutuhan-kebutuhan dari aplikasi basis data yang diusulkan dan suatu waktu kebutuhan-kebutuhan tersebut lengkap, prototipe dibuang. 2. Evolutionary Prototyping, digunakan untuk tujuan sama, perbedaan yang penting adalah bahwa prototipe tidak dibuang tetapi dengan perkembangan yang lebih jauh menjadi aplikasi basis data yang digunakan. H. Implementasi (Implementation) Implementasi merupakan realisasi fisik dari perancangan basis data dan aplikasi. Pada penyelesaian tingkat-tingkat perancangan (dimana mungkin tidak melibatkan prototyping), sekarang kita dalam posisi mengimplementasikan basis data dan program aplikasi. I. Perubahan dan Pengambilan Data (Data Conversion and Loading) Perubahan dan Pengambilan Data merupakan pemindahan data yang ada ke dalam basis data baru dan mengubah aplikasi yang ada untuk beroperasi pada basis data baru. Langkah ini diperlukan bila suatu sistem basis data baru menimpa sistem basis data yang lama. 37 J. Pengetesan (Testing) Pengetesan merupakan proses pengeksekusian program aplikasi dengan maksud pencarian kesalahan-kesalahan. K. Perawatan Operasional (Operational Maintenance) Langkah ini merupakan proses pengawasan dan pertahanan sistem berikut instalasi. Pada langkah sebelumnya aplikasi basis data telah diimplementasikan dan diuji sepenuhnya. Sekarang sistem memasuki langkah perawatan yang melibatkan aktifitas-aktifitas berikut : 1. M engawasi kinerja sistem. 2. M empertahankan dan meng-upgrade aplikasi basis data. 2.9 Normalisasi M enurut Connolly dan Begg (2005, p388), Normalisasi adalah sebuah teknik untuk menghasilkan kumpulan relasi atau hubungan dengan propertiproperti yang diinginkan, yang memberikan kebutuhan data dari suatu perusahaan. A. Bentuk Normal Pertama (First Normal Form / 1NF) Unnormalized (UNF), sebuah tabel yang berisi satu atau lebih grup yang berulang. Yang dimaksud grup yang berulang itu adalah atribut-atribut yang multivalued. Normalisasi pertama (1NF), menghilangkan perulangan. Sebuah relasi dimana setiap baris dan kolom hanya berisi satu nilai saja. Bentuk Normal pertama ini, dicapai apabila setiap nilai atribut adalah tunggal. Kondisi ini dapat diperoleh dengan melakukan eliminasi terhadap 38 terjadinya data ganda (repeating groups). Pada kondisi normal pertama ini kemungkinan masih terjadi adanya data rangkap. B. Bentuk Normal Kedua (Second Normal Form / 2NF) M enurut Connolly dan Begg (2005, p407), aturan normalisasi kedua (2NF) dapat dikatakan bahwa sebuah relasi dalam bentuk 1NF dan setiap atribut bukan primary key yang fungsi seluruhnya bergantung pada primary key. Normalisasi dari 1NF ke 2NF melibatkan penghapusan ketergantungan parsial. C. Bentuk Normal Ketiga (Third Normal Form / 3NF) M enurut Connolly dan Begg (2005, p409), aturan normalisasi ketiga (3NF) adalah sebuah relasi dalam bentuk 1NF dan 2NF dimana tidak ada ketergantungan transitif antara atribut non-primary key dengan primary key. D. Bentuk Normal Boyce-Codd (Boyce-Codd Normal Form / BCNF) M enurut Connolly dan Begg (2005, p419) aturan normalisasi boyce-codd (BCNF) adalah sebuah relasi jika dan hanya jika setiap determinan adalah candidate key. 2.10 ERD (Entity-Relationship Modeling) Model data entity relationship (E-R) berdasarkan pada persepsi dari dunia nyata yang terdiri dari sekumpulan objek-objek dasar yang desebut entity, dan relationship antara objek-objek tersebut. Pembentuk M odel E-R (Entity Relationship) pada dasarnya terdiri dari 2 komponen, yaitu : Entitas (Entity) dan Relasi (Relation). 39 2.10.1 Entity Entity adalah kumpulan objek dengan properties yang yang di identifikasi oleh perusahaan yang memiliki keberadaan sama, yang bebas (Connolly and Begg (2005, p343)) Gambar 2.2 Type Entity (Connolly and Begg, 2005, p345) 2.10.2 Relationship Type Relationship types adalah sekumpulan hubungan antar entitas yang memiliki arti (Connolly dan Begg (2005, p346)). Relationship occurrence yaitu sebuah keterhubungan unik yang diidentifikasi dan meliputi suatu kejadian dari setiap tipe entitas yang ada. Degree of relationship yaitu jumlah tipe entitas yang digunakan dalam suatu relationship. Degree of relationship terdiri dari : 1. Binary Relationship Hubungan antar dua tipe entitas. 2. Ternary Relationship Keterhubungan antar tiga tipe entitas. 40 3. Quaternary Relationship Keterhubungan antar empat tipe entitas. 4. Recursive Relationship Keterhubungan antar satu tipe entitas, dimana tipe entitas tersebut berpartisipasi lebih dari satu kali dengan peran yang berbeda. 2.10.3 Attribute M enurut Connolly dan Begg (2005, p350), attribute adalah sifat dari entity atau type relationship. Attribute domain adalah adalah himpunan nilai yang diperbolehkan untuk satu atau lebih atribut. Atribut dapat diklasifikasikan menjadi empat yaitu: 1. Simple dan Composite Attribute Simple Attribute adalah sebuah atribut yang mempunyai keberadaan bebas dan tidak dapat dibagi menjadi komponen yang lebih kecil lagi. Simple Attribute dikenal juga dengan nama Atomic Attribute. Composite Attribute adalah sebuah atribut yang terdiri dari beberapa komponen, dimana masing-masing komponen mempunyai keberadaan yang bebas. 2. Single-valued dan Multi-valued Attribute Single-valued Attribute adalah atribut yang mempunyai nilai tunggal untuk setiap kejadian dari tipe entity. Multi-valued Attribute adalah atribut yang mempunyai beberapa nilai untuk setiap kejadian dari tipe entity 41 3. Derived Attribute Atribut yang merepresentasikan nilai yang dihasilkan dari satu atau sekelompok atribut yang berhubungan, dan tidak harus berasal dari satu entitas 4. Keys Key adalah sebuah field yang digunakan untuk mengidentifikasi satu atribut atau lebih yang secara unik mengindentifkasi setiap record (Connolly dan Begg (2005, p352)). a. Candidate key yaitu sekelompok atribut yang secara unik mengidentifikasi setiap kejadian dari tipe entitas. Atribut ini mempunyai nilai yang unik pada hampir tiap barisnya. Fungsi dari candidate key adalah sebagai calon primary key. b. Primary key yaitu candidate key yang dipilih untuk mengidentifikasikan secara unik setiap kejadian dari tipe entitas. Primary key harus merupakan field yang benarbenar unik. c. Composite key yaitu candidate key yang terdiri dari dua atau lebih atribut. Pada kondisi tertentu, suatu atribut tidak dapat digunakan untuk mengidentifikasi baris secara unik dan membutuhkan kolom lain untuk digunakan sebagai primary key. 42 d. Alternate key adalah candidate key yang tidak dipilih sebagai primary key. e. Foreign key adalah jika sebuah primary key terhubung ke tabel lain dan fungsinya sebagai penghubung antar tabel. 2.11 Internet M enurut Jill H. Ellsworth dan M atthew, internet adalah jaringan komunikasi digital yang menghubungkan jaringa-jaringan lebih kecil dari banyak negara di seluruh dunia. Internet mentransfer data menggunakan protokol standar yang disebut TCP/IP. Internet semakin mudah digunakan baik bagi individu maupun bisnis. Sebelumnya aktifitas bisnis di internet terbatas, tetapi sekarang tidak hanya bisnis yang dapat dilakukan di internet. Internet dalam arti yang luas, meliputi individu, kelompok, organisasi sekolah, universitas, layanan komersial, perusahaan pemerintah dan mereka yang menggunakan protokol TCP/IP. Hingga sekarang internet terus mengalami kemajuan yang sangat cepat. 2.11.1 WWW (Word Wide Web ) WWW (World Wide Web) adalah layanan yang paling sering digunakan dan memiliki perkembangan yang sangat cepat karena dengan layanan ini kita bisa menerima informasi dalam berbagai format atau multimedia. Sedangkan, menurut Jill H. Ellsworth dan M atthew, WWW adalah sistem client server yang dirancang untuk menggunakan dokumen hypermedia dan hypertext via internet. WWW menggunakan HTTP (Hypertext Transfer Protocol) untuk bertukar informasi, image dan data 43 lainnya yang diformat dalam dokumen HTM L (Hypertext Markup Language). WWW (World Wide Web) disebut juga dengan dokumen hypertext dan hypermedia yang dirancang khusus untuk ditampilkan di browser. Dokument ini bertindak sebagai interface antara user dengan internet. 2.11.2 HTML (Hypertext Markup Language ) HTM L (HyperText M arkup Language) adalah standar informas i yang berbasis hypertext yang dipakai pada web. Berdasarkan standar inilah web browser dapat memahami isi suatu dokumen yang berasal dari web server. HTM L bekerja dengan menggunakan HTTP, yaitu protokol komunikasi yang memungkinkan web server berkomunikasi dengan web browser. (Kadir, 2004, p12). 2.11.3 HTTP (Hypertext Tran sfer Protocol) HTTP (HyperText Transfer Protocol) adalah suatu protokol yang menentukan aturan yang perlu diikuti oleh web browser dalam meminta atau mengambil suatu dokumen dan oleh web server dalam menyediakan dokumen yang diminta web browser. Protokol ini merupakan protokol standar yang digunakan untuk mengakses dokumen HTM L seperti http://www.yahoo.com; ini merupakan salah satu penggunaan protokol HTTP dalam web (Sutarman, 2003, p5). 44 2.11.4 URL (Uniform Resource Locator) URL (Unified Resource Locator) adalah suatu sarana yang digunakan untuk menentukan lokasi informasi pada suatu web server. URL dapat diibaratkan suatu alamat, dimana alamat tersebut terdiri atas (Sutarman, 2003, p5) : 1. Protokol yang digunakan oleh suatu browser untuk mengambil informasi. 2. Nama komputer (server) dimana informasi tersebut berada. 3. Jalur/path serta nama file dari suatu informasi Format umum dari URL adalah sebagai berikut : Protokol_transfer://nama_host/path/nama_file Contoh : http://www.yahoo.com/mail/index.html Dimana : • http adalah protokol yang digunakan • www.yahoo.com adalah nama host atau server komputer informasi yang dicari berada. • Index.html adalah nama file dimana informasi tersebut berada. 45 2.12 Interaksi Manusia dan Komputer Pengertian ilmu Interaksi M anusia Komputer adalah suatu hubungan timbal balik yg terjadi antara manusia dan komputer, dimana satu sama lain saling membutuhkan. Suatu komputer tidak akan berfungsi apabila tidak ada seseorang yang mengoperasikannya. Begitu pula dengan manusia, manusia sangat membutuhkan komputer untuk berbagai keperluan, seperti mendapatkan informasi yang tidak mungkin didapat dari buku. Cakupan bidang ilmu IM K: 1. M anusia 2. Komputer 3. Proses Design 4. Prinsip dan Rancangan Usability 5. Prinsip GUI (Graphical User Interfaces) yang baik 2.12.1 Delapan Aturan Emas Perancangan Tampilan Pengguna Untuk meningkatkan kegunaan dari sebuah aplikasi maka digunakan sebuah aturan yang dinamakan delapan aturan emas (8 Golden Rules). Prinsip-prinsip ini berasal dari pengalaman dalam merancang tampilan pengguna dan berlaku di sebagian besar sistem interaktif. Delapan aturan tersebut merupakan panduan untuk desain interaksi yang baik (Ben shneiderman, 1998), terdiri dari: 46 1. Setiap tampilan harus konsisten. Konsistensi dilakukan pada urutan tindakan, perintah, dan istilah yang digunakan pada prompt, menu, serta layar bantuan. 2. Untuk memudahkan pengguna dengan menyediakan shortcut. Ada kebutuhan dari pengguna yang sudah ahli untuk meningkatkan kecepatan interaksi, sehingga diperlukan singkatan, tombol fungsi, perintah tersembunyi, dan fasilitas makro. 3. M emberikan umpan balik kepada pengguna. Untuk setiap tindakan operator, sebaiknya disertakan suatu sistem umpan balik. Untuk tindakan yang sering dilakukan dan tidak terlalu penting, dapat diberikan umpan balik yang sederhana. Tetapi ketika tindakan merupakan hal yang penting, maka umpan balik sebaiknya lebih substansial. M isalnya muncul suatu suara ketika salah menekan tombol pada waktu input data atau muncul pesan kesalahannya. 4. Desain dialog untuk menampilkan akhir. Urutan tindakan sebaiknya diorganisir dalam suatu kelompok dengan bagian awal, tengah, dan akhir. Umpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. 47 5. M enawarkan penanganan kesalahan yang sederhana. Sedapat mungkin sistem dirancang sehingga pengguna tidak dapat melakukan kesalahan fatal. Jika kesalahan terjadi, sistem dapat mendeteksi kesalahan dengan cepat dan memberikan mekanisme yang sedehana dan mudah dipahami untuk penanganan kesalahan. 6. M emudahkan untuk kembali ke keadaan sebelumnya. Hal ini dapat mengurangi kekuatiran pengguna karena pengguna mengetahui kesalahan yang dilakukan dapat dibatalkan; sehingga mengekplorasi pengguna pilihan-pilihan lain tidak takut yang belum untuk biasa digunakan. 7. M emberikan respon terhadap aksi yang pengguna lakukan. Pengguna ingin menjadi pengontrol sistem dan sistem akan merespon tindakan yang dilakukan pengguna daripada pengguna merasa bahwa sistem mengontrol pengguna. Sebaiknya sistem dirancang sedemikan rupa sehingga pengguna menjadi inisiator daripada responden. 8. M engurangi memori ingatan jangka pendek. Keterbatasan ingatan manusia membutuhkan tampilan yang sederhana atau banyak tampilan halaman yang sebaiknya disatukan, serta diberikan cukup waktu pelatihan untuk kode, mnemonic, dan urutan tindakan. 48 2.13 E-Learning E-learning adalah pembelajaran jarak jauh yang menggunakan teknologi komputer, atau biasanya internet (Allan J. Henderson, 2002). Henderson menambahkan juga bahwa e-learning memungkinkan pembelajar untuk belajar melalui komputer di tempat mereka masing-masing tanpa harus secara fisik pergi mengikuti pelajaran di kelas. E-learning merupakan pembelajaran berbasis web (William K. Horton, 2006). E-learning, seperti juga namanya “Electronic Learning” disampaikan dengan menggunakan media elektronik yang terhubung dengan Internet (world wide web yang menghubungkan semua unit komputer di seluruh dunia yang terkoneksi dengan Internet) dan Intranet (jaringan yang bisa menghubungkan semua unit komputer dalam sebuah perusahaan). E-learning dalam arti luas bisa mencakup pembelajaran yang dilakukan di media elektronik (internet) baik secara formal maupun informal. E-learning secara formal, misalnya adalah pembelajaran dengan kurikulum, silabus, mata pelajaran dan tes yang telah diatur dan disusun berdasarkan jadwal yang telah disepakati pihakpihak terkait (pengelola e-learning dan pembelajar sendiri). M anfaaat digunakannya metode e-learning: 1. M emberikan fasilitas pelatihan yang memungkinkan untuk mengatur jadwal sendiri sehingga mengatasi kendala waktu dan jarak (perjalanan). 2. M emberikan kontrol yang lebih leluasa. 49 3. M emungkinkan untuk mengikuti pelatihan sesuai dengan kecepatan (kemampuan) masing-masing individu sehingga bagi yang mampu menyerap materi dengan cepat akan bisa maju dengan lebih cepat. 4. M emungkinkan untuk memilih berbagai materi dan metoda pelatihan. 5. M enghemat biaya dan waktu perjalanan sehingga penggunaan waktu dan biaya akan lebih efektif. 6. M emungkinkan untuk memperbarui materi pelatihan dengan cepat untuk menyesuaikan dengan kebutuhan dan perkembangan terbaru. 2.14 PHP M enurut Kasiman Peraninangin (2006, p2), PHP diciptkan pertama kali oleh Rasmus Lerdorf pada tahun 1994. Awalnya, PHP digunakan untuk mencatat jumlah serta untuk mengetahui siapa saja pengunjung pada homepagenya. Sebuah website yang dibuat hanya dengan tag-tag HTM L bersifat statis. Dengan adanya PHP ini dapat dibuat suatu website yang dinamis bahkan interaktif. PHP merupakan singkatan dari "PHP: Hypertext Preprocessor", bahasa scripting yang menyatu dengan HTM L dan dijalankan pada serverside. Artinya semua sintaks yang kita berikan akan sepenuhnya dijalankan pada server sedangkan yang dikirimkan ke browser hanya hasilnya saja. Ketika seorang pengguna internet membuka suatu situs yang menggunakan fasilitas server side 50 scripting PHP, maka terlebih dahulu server yang bersangkutan akan memproses semua perintah PHP di server lalu mengirimkan hasilnya dalam format HTM L ke web server pengguna internet tadi. Sehingga kode asli yang ditulis dengan m PHP tidak terlihat di browser pengguna. PHP merupakan software yang open source bebas. Jadi anda dapat merubah source code dan mendistribusikan secara bebas dan gratis. PHP juga dapat berjalan lintas platform, yaitu dapat digunakan dengan sistem operasi (Windows dan Linux) dan web server apapun (misalnya: IIS, Apache dll). 2.15 MySQL M enurut Haris ( 2003, p2), MySql dikembangkan oleh sebuah perusahaan swedia yang bernama MySQL AB yang mempunyai tujuan untuk mengembangkan aplikasi web yang dimiliki kliennya. MySql merupakan database server dimana pemrosesan data terjadi di server dan client hanya mengirim data dan meminta data. MySQL merupakan software database yang termasuk paling populer dilingkungan linux, kepopuleran ini karena ditunjang performansi query dari databasenya yang bisa dikatakan paling cepat dan jarang bermasalah. Namun MySQL telah tersedia juga di lingkungan Windows. PHP untuk Windows secara default telah mendukung M ySQL. MySQL dikembangkan oleh sebuah perusahaan Swedia bernama M ySQL AB, yang pada saat itu bernama TcX Data Konsult AB sekitar tahun 1994-1995. M YSQL sudah ada sejak 1979. MySQL termasuk jenis RDBM S (Relational Database Management System). M YSQL digunakan oleh banyak portal-portal 51 internet sebagai basis data dari informasi yang ditampilkan pada situs web. Kepopuleran M YSQL dimungkinkan karena kemudahannya untuk digunakan, cepat secara kinerja query, dan mencukupi untuk kebutuhan basis data perusahaan-perusahaan skala menengah dan kecil. Istilah seperti tabel, baris, dan kolom tetap digunakan dalam M ySQL. Sebuah basis data yang terdapat pada M YSQL mengandung satu atau beberapa tabel yang terdiri dari sejumlah baris dan kolom. 2.16 Web Server Berdasarkan Wikipedia, web server bisa berarti dua hal, yaitu : • Sebuah komputer yang bertanggung jawab untuk menangani permintaan HTTP dari klien dan memberikan respon balik berupa HTTP beserta data yang diminta yang umumnya adalah web page, seperti dokumen HTM L dan objek lainnya yang terhubung. • Sebuah program komputer yang menangani permintaan HTTP dari klien dan memberikan respon balik berupa HTTP beserta data yang diminta yang umumnya adalah web page, seperti dokumen HTM L dan objek lainnya yang terhubung. Beberapa jenis web server yang umum di internet yaitu : Apache, IIS, Apache Tomcat.