9
BAB II LANDAS AN TEORI
2.1 Teori Basis Data 2.1.1 Pengertian Basis Data Basis data adalah sekumpulan data yang saling berhubungan secara logikal, dirancang untuk memenuhi kebutuhan organisasi (Connolly dan Begg, 2005, p15). Sedangkan sistem basis data adalah sekumpulan aplikasi program yang berinteraksi dengan basis data melalui DBM S dan basis data itu sendiri (Connolly dan Begg, 2005, p4). Basis data adalah sekumpulan data dari persisten yang digunakan oleh aplikasi sistem dari perusahaan (C.J. Date, 2000, p2). Sedangkan sistem basis data pada
dasarnya
merupakan
suatu
sistem
penyimpanan
record
yang
terkomputerisasi. Sistem basis data terdiri dari empat komponen, yaitu: data, hardware, software, pengguna (C.J. Date, 2000, p5). Dari sumber-sumber definisi di atas, maka dapat disimpulkan bahwa basis data adalah sekumpulan relasi data persisten yang secara logika terhubung dimana data tersebut merupakan deskripsi dari satu atau lebih aktivitas dari organisasi yang bersangkutan yang digunakan oleh aplikasi sistem perusahaan yang dibagi dan saling berhubungan yang dirancang demi memenuhi kebutuhan organisasi. Sedangkan sistem basis data dapat disimpulkan sebagai sekumpulan aplikasi program yang saling berinteraksi dengan basis data melalui DBM S dan basis data
10
itu sendiri dan juga merupakan suatu sistem penyimpanan record yang sudah terkomputerisasi. 2.1.2 Database Management System (DBMS ) 2.1.2.1 Definisi DBMS DBM S adalah salah satu sistem perangkat lunak yang memungkinkan pengguna untuk mendefinisikan , membuat, memelihara, dan mengendalikan akses terhadap sistem basis data (Connolly dan Begg, 2005, p16). DBM S adalah perangkat lunak yang menangani semua berkas ke basis data (C.J. Date, 2000, p43). Dari definisi - definisi diatas, maka dapat disimpulkan bahwa DBM S adalah suatu sistem perangkat lunak yang didesain untuk menangani pengelolaan dan penggunaan dari suatu kumpulan data, serta memungkinkan pengguna untuk mendefinisikan, membuat, memelihara, dan mengendalikan akses terhadap sistem basis data. 2.1.2.2 Fungsi-fungsi dasar DBMS M enurut C.J. Date (2000,p44-p46), ada beberapa fungsi-fungsi dasar yang harus didukung oleh DBM S adalah: 1.
Pendefinisian data (data definition) DBM S harus dapat menerima pendefinisian data (skema eksternal, skema konseptual, dan semua asosiasi pemetaan) dari sumber dan mengkonversikan ke dalam bentuk objek yang sesuai.
11
2.
M anipulasi data (data manipulation) DBM S
harus
dapat
menangani
permintaan
untuk
mengambil,
memperbaharui atau menghapus data yang sudah ada di basis data, maupun menambah data baru ke dalam basis data. 3.
Optimalisasi dan eksekusi (optimization and execution) Permintaan
Data
Manipulation
Language
(DM L)
harus
diproses
dikomponen pengoptimalisasi yang bertujuan untuk menentukan cara yang efisien untuk implementasi permintaan. Permintaan yang telah dioptimalisasi kemudian dieksekusi di bawah kendali re-time manager. 4.
Keamanan dan integritas data (data security and integrity) DBM S harus mengawasi permintaan pengguna dan menolak gangguan yang dapat membahayakan keamanan dan integrity constraint yang sudah ditentukan oleh Database Administrator (DBA).
5.
Perbaikan data dan konkurensi (data recovery and concurrency) DBM S yang dapat juga disebut Transaction Processing Monitor (TP M onitor) harus melakukan kendali perbaikan dan konkurensi.
6.
Kamus data (data dictionary) Kamus data berisi “data mengenai data” adalah definisi dari objek lain di sistem. Semua skema dan pemetaan, berbagai sistem keamanan, dan integrity constraint akan disimpan, baik di sumber maupun bentuk objek di dalam kamus data.
7.
Kinerja (performance) DBM S harus dapat mengerjakan semua tugas seefektif mungkin.
12
2.1.2.3 Keuntungan dan Kelemahan DBMS Keuntungan Database Management System menurut Connolly dan Begg (2005, p26-p29), antara lain: 1.
Pengendalian redudansi data (control of data redundancy) Pendekatan basis data berupaya untuk menghilangkan redundansi dengan mengintegrasikan file sehingga beberapa salinan dari data yang sama tidak tersimpan. Namun, pendekatan basis data tidak sepenuhnya menghilangkan redundansi, tetapi mengendalikan jumlah redundansi yang melekat dalam basis data. Sebagai contoh, ketika kita menyimpan data yang sama untuk properti sewa dan pelanggan didalam Penjualan dan Departemen Kontrak, data tersebut mungkin saja redundan.
2.
Konsistensi data (data consistency) Dengan menghilangkan atau mengendalikan redundansi, kita mengurangi resiko terjadinya ketidakkonsistenan. Jika item data disimpan hanya sekali didalam basis data, setiap update dari data tersebut dilakukan hanya sekali dan data yang baru langsung tersedia untuk semua pengguna. Jika item data disimpan lebih dari sekali, sistem dapat memastikan bahwa semua salinan dari item data tersebut tetap konsisten. Sayangnya, banyak dari DBM Ss saat ini tidak secara otomatis memastikan konsistensi data.
3.
Informasi untuk jumlah data yang sama (more information from the same amount of data ) Dengan adanya integrasi data operasional, maka memungkinkan organisasi untuk memperoleh informasi tambahan dari data yang sama.
13
4.
Berbagi data (sharing of data) Umumnya, file dimiliki dan digunakan oleh seseorang atau suatu departemen. Di sisi lain, basis data dimiliki keseluruhan organisasi dan dapat dibagi oleh semua pengguna yang berwenang. Dengan cara ini, semakin banyak pengguna yang berbagi semakin banyak pula datanya. Selain itu, aplikasi baru dapat dibangun diatas data yang sudah ada dalam basis data dan hanya menambahkan data yang belum tersimpan didalam basis data. Aplikasi baru juga dapat bergantung pada fungsi yang disediakan oleh DBM S, seperti definisi dan manipulasi data, kontrol pemulihan, daripada harus menyediakan fungsi-fungsi itu sendiri.
5.
M eningkatkan integritas data (improved data integrity) Integritas basis data mengacu pada validitas dan konsistensi data yang tersimpan. Integritas biasanya dinyatakan dalam persyaratan dari constraints, yang merupakan aturan konsistensi yang tidak boleh dilanggar oleh basis data. Constraints dapat berlaku untuk item data dalam single record atau hubungan antara record. Sebagai contoh, sebuah batasan integritas dapat menyatakan bahwa gaji karyawan tidak dapat lebih besar dari $40,000 atau jumlah cabang yang berada dalam catatan karyawan mewakili cabang dimana karyawan bekerja, harus sesuai dengan kantor cabang yang ada. Integrasi memungkinkan DBA untuk menetapkan dan DBM S untuk menerapkan integrity constraints.
14
6.
M eningkatkan keamanan (improved security) Keamanan basis data adalah perlindungan basis data dari pengguna yang tidak berhak. Tanpa tindakan keamanan yang cocok, integrasi membuat data lebih rentan daripada file berbasis sistem. Namun, integrasi memungkinkan DBA untuk menetapkan dan DBM S untuk menegakkan keamanan basis data. Hal ini dapat berupa username dan password untuk mengidentifikasi orang yang berwenang untuk menggunakan basis data. Akses data oleh pengguna yang berwenang mungkin dibatasi oleh jenis operasi (retrieval, insert, update, delete). Sebagai contoh, DBA memiliki akses ke semua data didalam basis data, seorang manajer cabang dapat memiliki akses ke semua data yang berhubungan dengannya atau kantor cabangnya, dan seorang asisten penjualan mungkin memiliki akses ke semua data yang berhubungan dengan properti tetapi tidak memiliki akses ke data sensitif seperti rincian gaji karyawan.
7.
Penegakan standar (enforcement of standards) Integrasi memungkinkan DBA untuk menetapkan dan menegakkan standar yang diperlukan. Hal ini dapat mencakup departemen, organisasi, standar nasional atau internasional untuk hal-hal seperti format data untuk memfasilitasi pertukaran data antara sistem, konvensi penamaan, standar dokumentasi, update prosedur, dan aturan akses.
8.
Ekonomi skala (economy of scale) M enggabungkan semua data operasional organisasi ke dalam satu basis data dan membuat aplikasi yang bekerja pada salah satu sumber data dapat
15
menghasilkan penghematan biaya. Dalam kasus ini, anggaran yang biasanya akan dialokasikan untuk masing-masing departemen untuk pengembangan dan pemeliharaan sistem berbasis file yang dapat digabungkan, mungkin mengakibatkan total biaya yang lebih rendah, yang menyebabkan ekonomi skala. Anggaran gabungan dapat digunakan untuk membeli konfigurasi sistem yang lebih cocok dengan kebutuhan organisasi. Hal ini bisa terdiri dari satu komputer yang besar, kuat atau jaringan komputer yang lebih kecil. 9.
Keseimbangan ketentuan yang bertentangan (balance of conflicting requirements) Setiap pengguna atau departemen memiliki kebutuhan yang mungkin bertentangan dengan kebutuhan pengguna lain. Basis data berada dibawah kontrol DBA, DBA dapat membuat keputusan tentang desain dan penggunaan operasional dari basis data yang menyediakan penggunaan sumber daya terbaik bagi organisasi secara keseluruhan. Keputusan ini akan memberikan performa yang optimal untuk aplikasi penting.
10. M eningkatkan aksesibilitas dan respon data (improved data accessibility and responsiveness) Sebagai hasil integrasi, data yang melintasi batas-batas departemental secara langsung diakses oleh pengguna akhir. Hal ini menyediakan sistem dengan fungsionalitas yang lebih, misalnya, akan digunakan untuk menyediakan layanan yang lebih baik kepada pengguna akhir atau klien organisasi. Banyak DBM S menyediakan bahasa query yang memungkinkan pengguna untuk mengajukan pertanyaan ad-hoc yang menghasilkan informasi yang
16
diperlukan langsung di terminal mereka tanpa memerlukan programmer. Sebagai contoh, seorang manajer cabang bisa membuat daftar sewa bulanan semua flat yang lebih besar dari $400 dengan memasukkan perintah SQL berikut pada terminal. SELECT* FROM PropertyForRent WHERE type = ‘Flat’ AND rent > 400; 11. M eningkatkan produktivitas (increased productivity) DBM S menyediakan penanganan semua file tingkat rendah secara rutin yang khas didalam program aplikasi. Penyediaan fungsi ini memungkinkan programmer untuk berkonsentrasi pada fungsi spesifik yang dibutuhkan oleh pengguna tanpa harus khawatir tentang implementasi rincian tingkat rendah. Banyak DBM S yang juga menyederhanakan pengembangan aplikasi basis data. Hasilnya produktivitas programmer meningkat dan mengurangi waktu pengembangan. 12. M eningkatan
pemeliharaan
melalui
independensi
data
(improved
maintenance through data independence) Dalam sistem berbasis file, deskripsi data dan logika untuk mengakses data yang dibangun ke dalam setiap program aplikasi, membuat program bergantung pada data. Perubahan pada struktur data, misalnya membuat alamat iklan 41 karakter, bukan 40 karakter atau perubahan dengan cara data disimpan pada disk, dapat memerlukan perubahan yang substansial (besar) untuk program yang dipengaruhi oleh perubahan. Sebaliknya, DBM S yang
17
memisahkan deskripsi data yang dikenal sebagai independensi data. Penyediaan independensi data menyederhanakan pemeliharaan aplikasi basis data. 13. M eningkatkan konkurensi (increased concurrency) Dalam beberapa sistem berbasis file, jika dua atau lebih pengguna diperbolehkan untuk mengakses file yang sama secara bersamaan kemungkinan akses tersebut akan mengganggu satu sama lain. Hal ini mengakibatkan hilangnya informasi atau bahkan hilangnya integritas. Banyak DBM Ss mengelola akses basis data bersamaan dan memastikan masalah tersebut tidak dapat terjadi. 14. M eningkatkan cadangan dan pemulihan layanan (improved backup and recovery services) Banyak sistem berbasis file meletakkan tanggung jawab pada pengguna untuk memberikan langkah-langkah untuk melindungi data dari kegagalan sistem komputer atau program aplikasi. Hal ini bisa berarti mengambil backup data, apabila terjadi kegagalan, cadangan dipulihkan dan pekerjaan yang telah terjadi sejak backup yang hilang dan harus dimasukkan kembali. Sebaliknya, DBM S modern menyediakan fasilitas untuk meminimalkan jumlah pengolahan data yang hilang setelah kegagalan.
18
Kelemahan penggunaan DBM S antara lain sebagai berikut (Connolly dan Begg, 2005, p695-p696) : 1.
Kompleksitas (complexity) Keinginan untuk membuat DBM S yang baik akan membuat DBM S tersebut menjadi perangkat lunak yang kompleks. Perancang dan pembuat basis data, pengelola data dan basis data, serta pengguna akhir harus memahami fungsionalitasnya agar dapat memperoleh keuntungan dari DBM S tersebut. Apabila terjadi kesalahan dalam mengerti, sistem akan menghasilkan rancangan yang buruk yang akhirnya akan berdampak buruk bagi suatu organisasi atau perusahaan.
2.
Ukuran (size) Fungsionalitas yang kompleks membuat DBM S menjadi perangkat lunak yang memiliki ukuran besar dan membutuhkan tempat yang besar pula di memori agar dapat bekerja secara efisien.
3.
Biaya DBM S (cost of DBMS) Biaya DBM S bervariasi sesuai dengan lingkungan dan fungsionalitas yang disediakan. Selain itu ada juga biaya perawatan per tahun.
4.
Biaya tambahan untuk perangkat keras (additional hardware cost) Tempat penyimpanan untuk DBM S dan basis data yang dibutuhkan mengakibatkan biaya tambahan. Selain itu, untuk menghasilkan kinerja yang diinginkan, maka mungkin pembelian mesin yang lebih besar dibutuhkan bahkan mungkin sebuah mesin tersendiri untuk menjalankan DBM S.
19
5.
Biaya konversi (cost of conversion) Alam beberapa situasi, biaya DBM S dan tambahan perangkat keras (hardware) bisa tidak sebanding dengan biaya untuk mengkonversikan aplikasi yang sudah ada untuk berjalan pada DBM S yang baru dan perangkat kerasnya (hardware). Biaya ini termasuk biaya pelatihan karyawan untuk menggunakan sistem yang baru, dan kemungkinan
mempekerjakan
karyawan ahli untuk membantu konversi dan menjalankan sistem. 6.
Kinerja (performance) DBM S ditulis menjadi lebih umum untuk mendukung banyak aplikasi. Akibatnya beberapa aplikasi bisa tidak berjalan dengan kecepatan yang seharusnya.
7.
Dampak yang lebih besar dari kegagalan (higher impact of a failure) Sumber data yang tersentralisasi meningkatkan kerentanan dari sistem. Sejak semua pengguna dan aplikasi bergantung kepada ketersediaan dalam DBM S, kegagalan dari beberapa komponen bisa mengakibatkan operasi terhenti.
2.2 Siklus Basis Data Ketika sistem basis data menjadi komponen mendasar dari suatu sistem informasi organisasi yang lebih besar dan luas, maka siklus aplikasi basis data dihubungkan dengan siklus hidup sistem informasi.
20
Gambar 2.1 S iklus Basis Data Penjelasan siklus basis data (Connolly dan Begg, 2005, p285-p306) : 2.2.1
Perencanaan Basis Data (Database Planning) Perencanaan basis data atau database planning merupakan aktivitas manajemen yang memungkinkan tahapan dari siklus basis data direalisasikan seefisien dan seefektif mungkin. Perencanaan basis data harus terintegrasi dengan keseluruhan strategi sistem informasi organisasi. Terdapat tiga hal pokok yang berkaitan dengan strategi sistem informasi, yaitu:
21
a.
Identifikasi rencana dan sasaran dari perusahaan termasuk mengenai informasi yang dibutuhkan.
b.
Evaluasi sistem informasi yang ada untuk menetapkan kelebihan dan kekurangan yang dimiliki.
c.
Penaksiran kesempatan teknologi informasi yang mungkin memberikan keuntungan kompetitif.
2.2.2 Pendefinisian Sistem (System Definition) Pendefinisian sistem menggambarkan batasan-batasan dan cakupan dari aplikasi basis data dan sudut pandang pengguna (user view) yang utama. User view mendefinisikan apa yang dibutuhkan dari suatu sistem basis data melalui beberapa perspektif. Sistem basis data dapat memiliki satu user view atau lebih. Identifikasi user view merupakan aspek penting dalam pengembangan sistem basis data karena membantu untuk memastikan bahwa tidak ada pengguna utama dari suatu basis data yang terlupakan saat mengembangkan kebutuhan untuk basis data yang baru. User view juga membantu dalam pengembangan sistem basis data yang kompleks dengan memungkinkan kebutuhan di pecah menjadi bagian-bagian yang lebih mudah dikelola. 2.2.3 Analisis dan Pengumpulan Kebutuhan (Requirements Collection and Analysis) Analisis dan pengumpulan kebutuhan merupakan suatu proses pengumpulan dan menganalisis informasi mengenai bagian dari organisasi yang didukung oleh
22
sistem basis data, dan menggunakan informasi tersebut untuk identifikasi kebutuhan pengguna pada sistem baru. Informasi yang dikumpulkan untuk setiap 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.
2.2.4 Perancangan Basis Data (Database Design) Perancangan basis data merupakan suatu proses pembuatan sebuah desain yang akan mendukung tujuan dan operasi dari perusahaan untuk kebutuhan sistem basis data (Connolly, 2005, p281). Tujuan utama perancangan basis data adalah sebagai berikut: a.
M erepresentasikan data dan relationship antar data yang dibutuhkan oleh seluruh area aplikasi dan grup pengguna.
b.
M enyediakan model data yang mendukung segala transaksi yang diperlukan pada data.
c.
M enspesifikasikan rancangan minimal yang secara tepat disusun untuk memenuhi kebutuhan performa yang ditetapkan pada sistem. Perancangan suatu basis data terdiri dari tiga fase utama, yaitu perancangan
basis data konseptual (Conceptual Database Design), perancangan basis data logikal (Logical Database Design), dan perancangan basis data fisikal (Physical Database Design) (Connolly, 2005, p442-p536).
23
2.2.4.1 Perancangan Basis Data Konseptual (Conceptual Database Design) Perancangan basis data konseptual adalah proses membangun sebuah model informasi yang digunakan pertimbangan-pertimbangan
di perusahaan, fisik
(Connolly,
yang terlepas
dari semua
2005,
Tujuan
p439).
dari
perancangan basis data konseptual adalah mengidentifikasi entitas penting beserta atribut-atributnya dan hubungan antara entitas yang satu dengan entitas yang lain (Connolly, 2005, p442). Langkah 1 : Membangun model data konseptual Perancangan basis data konseptual dimulai dengan penciptaan model data konseptual perusahaan, yang seluruhnya independen dari rincian implementasi seperti tujuan DBM S, program aplikasi, programming languages, hardware platform, isu kinerja, atau pertimbangan fisik lainnya. Tahapan-tahapan yang dilakukan pada langkah pertama adalah : 1.1
M engidentifikasi tipe entitas M endefinisikan objek-objek utama user. Objek-objek ini merupakan tipetipe
entitas
untuk
model
tersebut.
Salah
satu
metode
untuk
mengidentifikasi entitas adalah dengan memeriksa spesifikasi kebutuhan user dengan mengidentifikasi kata benda. Contohnya adalah staff number, staff name, property number, property room dan sebagainya. 1.2
M engidentifikasi tipe relationship Setelah
mengidentifikasi
tipe
entitas,
langkah
selanjutnya
yaitu
mengidentifikasikan semua relasi-relasi penting yang ada diantara tipe entitas yang telah diidentifikasikan. Setelah mengidentifikasikan relasi,
24
langkah selanjutnya yaitu menentukan multiplicity dari setiap relasi. Batasan multiply digunakan untuk memeriksa dan memelihara kualitas data. 1.3
M engidentifikasi dan menghubungkan atribut dengan tipe entitas atau relationship Langkah berikutnya yaitu mengidentifikasi atribut-atribut yang terdapat dalam suatu entitas. Biasanya berupa kata benda atau frasa kata benda dari spesifikasi kebutuhan user. Ada 3 jenis atribut, yaitu : Simple atau composite attributes, single atau multi-value attributes, derived attributes.
1.4
M enentukan domain atribut Tahap ini bertujuan untuk menentukan domain atribut di model data konseptual lokal.
Domain
merupakan
kumpulan
nilai-nilai
yang
diperbolehkan untuk satu atau lebih atribut. Sebuah model data yang baik menentukan domain untuk setiap atribut dan termasuk sekumpulan nilainilai yang diperbolehkan untuk atribut juga ukuran dan format dari atribut. 1.5
M enentukan atribut candidate key dan primary key Candidate key adalah kunci yang unik atau tidak mungkin sama atau berbeda dengan yang lain, dapat dipakai untuk mengidentifikasi satu baris dalam tipe entitas. Primary key adalah candidate key yang dipilih sebagai kunci primer untuk mengidentifikasikan setiap entitas. Langkah ini bertujuan untuk mengidentifikasi candidate key untuk setiap tipe entitas, jika terdapat lebih dari satu candidate key kemudian pilih salah satunya menjadi primary key.
25
1.6
M empertimbangkan penggunaan enhanced modeling concepts (optional step) M empertimbangkan penggunaan enhanced modeling concepts seperti specialization atau generalization, aggregation, dan composition. Jika memilih pendekatan specialization, usahakan untuk memperhatikan perbedaan antara entitas dengan mendefinisikan satu atau lebih subclass dari sebuah entitas superclass. Jika memilih menggunakan pendekatan generalization, usahakan untuk mengidentifikasikan fitur-fitur umum antara entitas untuk mendefinisikan generalisasi entitas superclass. Pendekatan aggregation digunakan untuk mempresentasikan hubungan “mempunyai sesuatu” atau “bagian dari” relasi antara tipe-tipe entitas, dimana yang satu mempresentasikan “keseluruhan” dan yang lain sebagai “bagiannya”. Pendekatan composition digunakan untuk mempresentasikan sebuah asosiasi antara tipe-tipe entitas dimana terdapat kepemilikan yang kuat dan keterhubungan antara “keseluruhan” dan “bagiannya”.
1.7
Cek model untuk redudansi Tahap ini bertujuan untuk memeriksa model data konseptual lokal, apakah masih ada redudansi pada model. Dua aktivitas pada tahap ini, yaitu : a.
M emeriksa kembali relasi one-to-one (1 :1) Saat identifikasi entitas, mungkin saja kita menemukan dua entitas yang merepresentasikan objek yang sama pada perusahaan. Untuk kejadian ini kedua entitas tersebut harus digabungkan. Jika primary
26
key berbeda, pilih salah satu untuk menjadi primary key dan biarkan yang lain menjadi alternate key. b.
M enghilangkan relasi yang redudan Data model yang baik sangat diharapkan untuk tidak memiliki relasi yang redudan. Suatu relasi dikatakan redudansi jika terdapat informasi yang sama yang diperbolehkan oleh relasi lain.
1.8
Validasi model konseptual lokal dengan transaksi user Tahap
ini bertujuan untuk memastikan bahwa model konseptual
mendukung kebutuhan transaksi yang diperlukan bagi view. Dua pendekatan untuk memastikan model data konseptual mendukung kebutuhan transaksi, yaitu : a.
M endeskripsikan transaksi M emeriksa apakah semua informasi (entitas, relasi, dan atributnya) yang dibutuhkan oleh setiap transaksi telah disediakan oleh model, dengan mendokumentasikan sebuah deskripsi dari setiap kebutuhan transaksi.
b.
M enggunakan jalur transaksi M emvalidasi model data terhadap
kebutuhan
transaksi yang
melibatkan diagram yang merepresentasikan jalur setiap transaksi dalam diagram ER. 1.9
M eninjau kembali model data konseptual lokal dengan user Pada langkah ini, user akan meninjau ulang model data konseptual. Jika terjadi anomali pada model data, maka harus dilakukan perubahan yang
27
mungkin memerlukan pengulangan langkah-langkah sebelumnya. Proses ini akan terus diulang sampai model data benar-benar menjadi representasi aktual dari perusahaan. 2.2.4.2 Perancangan Basis Data Logikal (Logical Database Design) Perancangan basis data logikal adalah suatu proses membangun sebuah model data yang digunakan pada perusahaan berdasarkan sebuah model data spesifik, tetapi terlepas dari DBM S dan pertimbangan fisik lainnya (Connolly, 2005, p439). Tujuan perancangan basis data logikal adalah untuk menerjemahkan model data konseptual menjadi model data logikal dari basis data yang meliputi perancangan relasi-relasi dan kemudian memvalidasi model tersebut untuk mengecek apakah sudah terstruktur dengan benar dan mampu mendukung kebutuhan transaksi (Connolly, 2005, p462). Langkah 2 : Membangun dan memvalidasi model data logikal Langkah ini bertujuan untuk membangun model data logikal dari model data konseptual,
yang
telah
didapatkan
pada
tahap
sebelumnya,
yang
merepresentasikan view tertentu untuk menjamin agar strukturnya benar dan mendukung kebutuhan transaksi suatu perusahaan. Tahapan-tahapan yang dilakukan pada langkah kedua adalah : 2.1
M enurunkan relasi untuk model data logikal Tahap ini bertujuan untuk membuat relasi untuk model data logikal untuk merepresentasikan entitas, relasi dan atribut yang telah diidentifikasikan.
28
Cara–cara yang dapat dilakukan untuk mendapatkan relasi dari data model yang ada adalah tipe entitas kuat, tipe entitas lemah, tipe relasi binary oneto-many (1:*), tipe relasi binary one-to-one (1:1), relasi rekursif one-to-one (1:1), tipe relasi superclass/subclass, tipe relasi binary many-to-many (*:*), tipe relasi kompleks, atribut multi-valued. 2.2
Validasi relasi-relasi menggunakan normalisasi Normalisasi digunakan untuk memastikan relasi dan atribut yang mendukung kebutuhan dari perusahaan. Juga redudansi data yang minimal pada relasi untuk menghindari masalah yang mungkin terjadi. Proses normalisasi terdiri dari UNF, 1NF, 2NF, 3NF.
2.3
Validasi relasi-relasi terhadap transaksi user Tujuan pada tahap ini yaitu untuk memvalidasi model data logikal untuk memastikan bahwa model data mendukung kebutuhan transaksi yang telah tercantum didalam spesifikasi kebutuhan user. Validasi transaksi seperti ini sudah dilakukan pada tahap 1.8, namun kembali dilakukan untuk memeriksa relasi-relasi yang telah dibuat pada langkah sebelumnya juga mendukung transaksi ini. Juga untuk memastikan tidak terdapat kesalahan dalam pembuatan relasi-relasi.
2.4
M emeriksa integrity constraint Integrity constraint adalah batasan-batasan yang harus ditentukan untuk melindungi basis data agar tetap konsisten (Connolly & Begg, 2005, p474). Tipe integrity constraint, yaitu : a.
Required data (data/ nilai yang valid)
29
b.
Batasan domain atribut
c.
Multiplicity
d.
Integritas entitas (entity integrity) Primary key pada entitas tidak boleh null.
e.
Integritas referensial (referential integrity), adalah jika foreign key berisi sebuah nilai yang nilainya harus menunjukan baris yang ada pada relasi induknya.
f. 2.5
General Constraints
M eninjau Kembali model data logikal dengan user Tahapan ini memastikan bahwa model data logikal lokal yang terbentuk merupakan representasi dari perusahaan.
2.6
M enggabungkan model data logikal ke dalam model global (optional step) Tahapan ini bertujuan untuk menggabungkan model data logical lokal ke dalam data model single global logical yang mewakili semua user views dari basis data. Aktivitas dalam tahap ini, yaitu :
2.7
a.
M enggabungkan model data logikal lokal ke dalam model global
b.
Validasi model data logikal global
c.
M eninjau kembali model data logikal global dengan user
M emeriksa perkembangan di masa depan Tujuan dari tahap ini adalah untuk menentukan apakah ada perubahan yang signifikan di masa depan dan untuk memperkirakan apakah model data logikal bisa mengakomodasi perubahan tersebut.
30
2.2.4.3 Perancangan Basis Data Fisikal (Physical Database Design) Perancangan basis data fisikal adalah proses untuk menghasilkan deskripsi dari pengimplementasian suatu basis data pada media penyimpanan kedua. Juga menjelaskan relasi dasar, pengaturan file, dan indeks yang digunakan untuk mencapai akses data yang efisien, integrity constraint yang terkait, serta ukuran keamanan (Connolly & Begg, 2005, p496). Langkah 3 : Menerjemahkan model data logikal global untuk target DBMS Langkah ini bertujuan untuk menghasilkan skema basis data relational dari model data logikal yang dapat diimplementasikan pada DBM S pilihan. Bagian pertama dari proses ini melibatkan perbandingan informasi yang dikumpulkan selama perancangan basis data logikal. Sedangkan bagian kedua dari proses ini menggunakan informasi tersebut untuk menghasilkan desain relasi dasar. Proses ini memerlukan pengetahuan yang mendalam mengenai fungsionalitas yang ditawarkan oleh DBM S pilihan. 3.1
M erancang relasi dasar M enentukan bagaimana mempresentasikan relasi dasar dalam model data logikal ke dalam DBM S.
3.2
M erancang representasi dari derived data M enentukan bagaimana mempresentasikan beberapa derived data yang terdapat dalam model data logikal ke dalam DBM S.
3.3
M erancang general constraints Perubahan terhadap data dapat dibatasi oleh general constraint yang mengatur transaksi dalam “dunia nyata”. Perancangan batasan ini
31
tergantung pada pemilihan DBM S yang akan digunakan. Beberapa DBM S menyediakan fasilitas ini, namun ada juga yang tidak menyediakannya, sehingga untuk menentukan batasan harus dilakukan pada program aplikasi. Langkah 4 : Merancang organisasi file dan indeks Langkah ini bertujuan untuk menentukan organisasi file yang optimal untuk menyimpan relasi dasar dan indeks yang dibutuhkan untuk mencapai hasil yang baik, yaitu dengan cara dimana relasi dan basis data akan dipegang di tempat penyimpanan akhir sekunder. 4.1
M enganalisa transaksi Analisa transaksi berfungsi untuk memahami fungsi dari transaksi yang akan dijalankan pada basis data dan untuk menganalisa transaksi yang penting.
4.2
M emilih organisasi file Bertujuan untuk menentukan organisasi file yang efisien untuk setiap relasi dasar. Ada lima tipe organisasi file, yaitu heap, hash, indexed sequential office access method (ISAM ), b-tree, dan clusters.
4.3
M emilih indeks M enentukan apakah dengan menambahkan indeks akan meningkatkan kinerja dari sistem.
4.4
M emperkirakan disk space yang dibutuhkan M emperkirakan jumlah dari disk space yang dibutuhkan untuk mendukung implementasi basis data pada secondary storage.
32
Langkah 5 : Mendesain user view M endesain user view yang telah diidentifikasi selama pengumpulan kebutuhan. Langkah 6 : Mendesain mekanisme keamanan M embatasi pengaksesan basis data oleh user yang tidak berhak dan menspesifikasikan basis data yang dapat diakses oleh user. Langkah 7 : Mempertimbangkan petunjuk controlled redudancy M elakukan normalisasi agar dapat meningkatkan kinerja dari sistem dan menghilangkan redudansi. Langkah 8 : Memonitor dan memperbaiki sistem operasional M emonitor sistem operasional dan meningkatkan kinerja dari sistem dengan memperbaiki desain yang tidak sesuai atau perubahan kebutuhan. 2.2.5 Pemilihan DBMS (DBMS Selection) Pemilihan DBM S yang tepat untuk mendukung sistem basis data. Pemilihan dapat dilakukan kapanpun sebelum desain basis data logikal asalkan terdapat cukup informasi mengenai kebutuhan sistem. Tahap-tahap utama dalam memilih DBM S: a.
M endefinisikan terms studi referensi
b.
M endaftar dua atau tiga produk
c.
M engevaluasi produk
d.
M erekomendasikan pilihan dan menghasilkan laporan
33
2.2.6 Perancangan Aplikasi (Application Design) Perancangan antarmuka pengguna dan program aplikasi yang menggunakan dan memproses basis data. Ada 2 aspek dalam perancangan aplikasi, yaitu: 1.
Perancangan transaksi (transaction design) Transaksi adalah sebuah tindakan atau serangkaian tindakan yang dilakukan oleh pengguna tunggal atau program aplikasi yang mengakses atau mengubah isi dari basis data. Fungsi dari perancangan transaksi adalah untuk menetapkan dan mendokumentasikan karakteristik high-level dari suatu transaksi yang dibutuhkan pada basis data, diantaranya sebagai berikut: a. Data yang akan digunakan oleh transaksi b. Karakteristik fungsional dari transaksi c. Output dari transaksi d. Kepentingannya bagi pengguna e. Tingkat pemakaian yang diharapkan
2.
Pedoman
perancangan
antarmuka pengguna (user
interface design
guidelines) Sebelum mengimplementasikan suatu form atau report, sangat penting untuk merancang layout terlebih dahulu. Beberapa pedoman untuk merancang form atau report adalah sebagai berikut: a. Judul yang bermakna b. Instruksi yang dapat dipahami c. Pengelompokan logikal dan field yang berurutan d. Tampilan layout form atau report menarik
34
e. Nama field mudah dikenali f. Terminologi dan penggunaan singkatan yang konsisten g. Penggunaan warna yang konsisten h. Ruang dan batasan tempat untuk data-entry terlihat i. Pergerakan kursor yang mudah j. Koreksi kesalahan untuk satu karakter atau seluruh field k. Pesan kesalahan ditampilkan untuk nilai yang tidak dapat diterima l. Field yang bersifat opsional diberi tanda yang jelas m. Penjelasan pesan untuk setiap field n. Pemberian suatu tanda jika proses telah selesai 2.2.7 Pembuatan Prototype (Prototyping) Prototyping adalah kegiatan membuat model kerja untuk suatu sistem basis data. Tujuan utama dari pembuatan prototyping adalah sebagai berikut: a.
Untuk mengidentifikasi apakah fitur dari sistem berjalan dengan baik atau tidak
b.
Untuk memberikan perbaikan-perbaikan atau penambahan fitur baru
c.
Untuk klarifikasi kebutuhan pengguna
d.
M engevaluasi kemungkinan dari rancangan sistem tertentu
Dalam membuat prototype, ada dua macem strategi prototyping yang digunakan, yaitu:
35
a.
Requirements Prototyping Requirements prototyping menggunakan prototype untuk menentukan kebutuhan dari sistem basis data yang diinginkan dan ketika kebutuhan itu terpenuhi maka prototype akan dibuang.
b.
Evolutionary Prototyping Evolutionary prototyping digunakan untuk tujuan yang sama dengan requirement prototyping, perbedaannya yaitu prototype yang digunakan tidak dibuang melainkan dikembangkan lebih lanjut menjadi sistem basis data yang digunakan.
2.2.8 Implementasi (Implementation) Implementasi merupakan realisasi fisik dari basis data dan rancangan aplikasi. Implementasi basis data dicapai dengan menggunakan : a.
DDL untuk membuat struktur basis data dan file basis data kosong dan untuk membuat user view yang diinginkan
b.
3GL atau 4GL untuk membuat program aplikasi. Termasuk basis data transaksi disertakan yang diimplementasikan dengan menggunakan DM L atau ditambahkan pada bahasa pemrograman.
2.2.9 Loading dan Konversi Data (Loading and Data Conversation) Pemindahan data yang ada ke dalam basis data baru dan mengkonversi aplikas i yang ada agar dapat digunakan pada basis data yang baru. Tahapan ini dibutuhkan ketika sistem basis data baru menggantikan sistem yang lama. DBM S
36
biasanya memiliki utilitas yang memanggil ulang file yang sudah ada ke dalam basis data baru. 2.2.10 Pengujian (Testing) Pengujian atau testing merupakan proses menjalankan sistem basis data dengan tujuan untuk menemukan kesalahan. Dengan menggunakan strategi tes yang direncanakan dan data yang sesungguhnya, pengujian hanya akan menunjukan jika terdapat kesalahan software. M endemonstrasikan basis data dan program aplikasi terlihat berjalan seperti yang diharapkan. 2.2.11 Perawatan Operasional (Operational Maintenance) Operational maintenance merupakan proses pengawasan dan pemeliharaan sistem basis data setelah instalasi. Aktivitas yang dilakukan pada tahap ini meliputi: a.
Pengawasan kinerja sistem, jika kinerja menurun maka memerlukan perbaikan atau pengaturan ulang basis data.
b.
Pemeliharaan dan pembaharuan sistem basis data (jika dibutuhkan). Kebutuhan yang baru tergabung ke dalam sistem basis data melalui tahapan dari siklus sebelumnya.
2.3 Data Modeling Data modeling adalah teknik untuk mendefinisikan kebutuhan bisnis untuk basis data. Data modeling kadang-kadang disebut sebagai database modeling karena model data pada akhirnya diimplementasikan sebagai basis data (Roger S.Pressman, 2005, p294).
37
Ada beberapa notasi untuk data modeling. M odel yang sebenarnya sering disebut hubungan entitas diagram (ERD) karena menggambarkan data didalam konteks entitas dan hubungan yang digambarkan oleh data. Entity Relationship Diagram atau biasa kita kenal dengan ERD adalah model data yang menggunakan beberapa notasi untuk menggambarkan data dalam konteks entitas dan hubungan yang dideskripsikan oleh data tersebut (Whitten, 2004, p281). E-R diagram menggambarkan komponen-komponen dari entitas dan relasi yang masing-masing dilengkapi dengan atribut-atribut yang merepresentasikan seluruh fakta dari ‘real-world’yang kita tinjau menurut Whitten, Bentley, Dittman (2004, p282).
Gambar 2.2 Contoh ERD
38
Konsep dasar dari semua data model, antara lain (Roger S.Pressman, 2005, p295): a. Entitas (entity) Entity yaitu sebuah kelas dari orang, tempat, benda, kejadian, atau konsep, tentang apa yang kita butuhkan untuk menangkap dan menyimpan data. Sebuah contoh entitas adalah kejadian tunggal dari suatu entitas. b. Atribut (attribute) Attribute sebuah properti deskriptif atau karakteristik dari suatu entitas. Jika entitas adalah tentang dimana kita ingin menyimpan data, maka kita perlu mengidentifikasi bagian khusus dari data yang ingin kita simpan tentang setiap instance dari entitas tertentu. c. Relasi (relationship) Apakah asosiasi bisnis alami yang ada antara satu atau lebih entitas. Hubungan dapat mewakili suatu peristiwa yang menghubungkan entitas atau hanya afinitas yang logis yang ada antara entitas (Roger S. Pressman, 2005, p298). 2.4 Teori Evaluasi Sistem 2.4.1 Integrity constraint Iso standar SQL menyediakan klausa di CREATE dan ALTER TABLE pernyataan untuk mendefinisikan batasan integritas yang menangani: data yang dibutuhkan (required data), batasan domain (domain constraints), integritas entitas (entity integrity), integritas referensial (referential integrity), dan kendala umum (general constraints). Required data dapat ditentukan menggunakan klaus a NOT NULL atau dengan menentukan domain menggunakan pernyataan DOM AIN
39
CREATE. Primary key harus didefinisikan menggunakan klausa PRIM ARY KEY dan kunci alternatif (ALTERNATE KEYS) menggunakan kombinasi NOT NULL dan UNIQUE. Foreign keys harus didefinisikan menggunakan klausa FOREIGN KEY dan memperbarui dan menghapus aturan menggunakan subklausa ON UPDATE dan ON DELETE. General constraints dapat didefinisikan dengan menggunakan NOT NULL dan klausa UNIQUE. General constraints juga dapat dibuat menggunakan pernyataan pernyataan CREATE (Connolly & Begg, 2005, p194). Integrity constraints juga berkontribusi mempertahankan sistem basis data yang aman dengan mencegah data dari menjadi tidak sah dan karenanya memberikan hasil yang menyesatkan atau tidak benar (Connolly & Begg, 2005, p570). 2.4.2 Database Security Keamanan basis data adalah mekanisme yang melindungi basis data terhadap ancaman yang disengaja atau kecelakaan. Keamanan basis data yang bersangkutan dengan menghindari situasi berikut: pencurian dan penipuan, kehilangan kerahasiaan, kehilangan privasi, kehilangan integritas, dan hilangnya ketersediaan. Ukuran keamanan yang berhubungan dengan DBM S pada web: proxy server, firewall, mencerna pesan algoritma dan tanda tangan digital, sertifikat digital, kerberros, Secure Socket Layer, dan HTTP Secure, Secure Electronic Transaction dan Teknologi Secure Transaction, Jawa Security, dan activeX keamanan. Enkripsi adalah pengkodean data dengan algoritma khusus yang membuat data tidak terbaca oleh program tanpa kunci dekripsi (Connolly & Begg, 2005, p570).
40
2.4.3 Back Up an d Recovery Kontrol Konkurensi adalah proses mengelola operasi simultan basis data tanpa harus mengganggu satu sama lain. Oleh karena itu Database Kompleks memungkinkan hilangnya ketergantungan integrity dan konsistensi dari basis data misalnya loss update problem. Namun, mungkin dua transaksi yang mungkin sangat benar sendiri, bertolak antar operasi dengan cara ini dapat menghasilkan hasil yang salah, sehingga mengorbankan integritas dan konsistensi basis data (Connolly & Begg, 2005, p577). Sebuah DBM S harus menyediakan fasilitas sebagai berikut untuk membantu pemulihan sarana (Connolly & Begg, 2005, p609): a. Sebuah mekanisme cadangan (a backup mechanism), yang membuat salinan cadangan periodik od basis data b. Logging fasilitas (logging facilities), yang menjaga jalur dari state saat transaksi dan perubahan basis data c. Sebuah fasilitas pos pemeriksaan (a checkpoint facility), yang memungkinkan update ke basis data yang sedang berlangsung yang akan dibuat permanen d. Seorang manajer pemulihan (a recovery manager), yang memungkinkan sistem untuk mengembalikan basis data ke keadaan yang konsisten setelah kegagalan.
41
2.5 Teori Khusus 2.5.1 Pengertian Gedung Gedung adalah bangunan yang berukuran besar sebagai tempat kegiatan, seperti perkantoran, pertemuan, peniagaan, pertunjukkan, olahraga, dan sebagainya (kamus besar bahasa indonesia, 2008, p245). 2.5.2 Pengertian Pengelolaan Gedung Pengelolaan gedung adalah disiplin ilmu yang datang di bawah naungan pengelolaan fasilitas. Seorang manajer gedung mengawasi jasa hard dan soft dari stuktur yang dibangun, memastikan bahwa keamanan, kesehatan dan keselamatan, juga pemeliharaan struktur yang dibangun berada ditempat ketingkat yang memadai. Pada dasarnya ada dua tipe pengelola bidang gedung yaitu perumahan dan komersial. Layanan hard biasanya berhubungan dengan fisik, seperti sistem alarm kebakaran
sedangkan
layanan soft seperti menangani kebersihan
(http://en.wikipedia.org/wiki/Building_management). 2.5.3 Internet dan Intranet 2.5.3.1 Internet Internet adalah sebuah jaringan dari kumpulan jaringan, yang bertukar informasi tanpa terlihat, dengan menggunakan standarisasi dan protokol yang terbuka dan tanpa pemilik. Internet merupakan sekumpulan dari banyak jaringan komputer tunggal yang dimiliki oleh pemerintah, universitas, grup non-profit, dan perusahaan. Internet juga merupakan sebuah jaringan packet-swicthed yang menggunakan transmission control protocol / internet protocol (TCP/IP). User
42
dapat terkonek ke internet melalui sebuah server LAN, SLIP/PPP, atau melalui sebuah layanan online(internet service provider). Internet menyediakan 3 tipe layanan utama : komunikasi, informasi retrieval, dan layanan web. Layanan komunikasi meliputi electronic mail(email), usenetnewsgroup, listserv, chatting, telnet, internettelephony, dan internet fax. Layanan information retrieval meliputi gophers, Archie, WAIS, File transfer Protocol(FTP), dan Veronica. Sedangkan layanan Web adalah aplikasi perangkat lunak yang dikirim sebagai layanan melalui internet.(Turban, Rainer, dan Potter, 2003, p230). 2.5.3.2 Intranet Intranet
adalah
sebuah
jaringan private (private network)
yang
menggunakan protokol-protokol internet (TCP/IP), untuk membagi informas i rahasia perusahaan atau operasi dalam perusahaan tersebut kepada karyawannya. Kadang-kadang istilah intranet hanya merujuk kepada layanan yang terlihat, yakni situs Web internal perusahaan. Untuk membangun sebuah intranet, maka sebuah jaringan haruslah memiliki sebuah komponen yang membangun Internet, yakni protokol internet (protokol TCP/IP, alamat IP, dan protokol lainnya), klien dan juga server. Protokol HTTP dan beberapa protokol internet lainnya (FTP, POP3, atau SMTP) umumnya merupakan komponen protokol yang sering digunakan. Umumnya sebuah intranet dapat dipahami sebagai sebuah “versi pribadi dari jaringan internet”, atau sebagai sebuah versi dari internet yang dimiliki oleh sebuah organisasi (http://id.wikipedia.org/wiki/Intranet).
43
M enurut Turban, Rainer, dan Potter (2003, p222-224), intranet adalah jaringan private yang menggunakan perangkat lunak internet dan protokol TCP/IP. Kesimpulannya, intranet adalah internet private atau grup dari segmen private dari jaringan internet publik, digunakan oleh orang-orang yang diberikan otorisasi untuk menggunakan jaringan tersebut. Keamanan intranet merupakan suatu hal yang penting. Perusahaan dapat mencegah gangguan yang tidak diinginkan dengan berbagai cara. Public key Security digunakan sebagai perantara otorisasi untuk masuk ke dalam intranet. Ada dua bagian didalamnya, yaitu enskripsi dan digital certificate. Enkripsi mengacaukan data yang keluar, sementara digital certificate seperti kartu identitas elektronik yang memastikan bahwa orang yang mengakses intranet adalah user yang valid. Cara lain yang digunakan perusahaan untuk melindiungi intranet adalah menggunakan firewall. Firewall merupakan sebuah alat yang ditempatkan diantara jaringan internal perusahaan (intranet) dan jaringan eksternal (internet). 2.5.3.3 Web World wide web (“WWW”, atau singkatannya web) adalah suatu ruang informasi yang yang dipakai oleh pengenal global yang disebut uniform resource identifier (URL). WWW sering dianggap sama dengan Internet secara keseluruhan, walaupun sebenarnya ia hanyalah bagian daripadanya. WWW (world wide web) merupakan kumpulan server web dari seluruh dunia yang mempunyai kegunaan untuk menyediakan data dan informasi untuk dapat digunakan bersama. WWW adalah bagian yang paling menarik dari
44
Internet. M elalui web, para pengguna dapat mengakses informasi-informasi yang tidak hanya berupa teks tetapi bisa juga berupa gambar,suara, video dan animasi. Kegunaan ini tergolong masih baru dibandingkan surat elektronik, sebenarnya WWW merupakan kumpulan dokumen yang tersimpan di server web, dan yang server/peladennya tersebar di lima benua termasuk Indonesia yang terhubung menjadi satu melalui jaringan Internet. Dokumen-dokumen informas i ini disimpan atau dibuat dengan format HTM L (Hypertext M arkup Language). Suatu halaman dokumen informasi dapat terdiri atas teks yang saling terkait dengan teks lainnya atau bahkan dengan dokumen lain. Keterkaitan halaman lewat teks ini disebut pranala. Dokumen infomasi ini tidak hanya terdiri dari teks tetapi dapat juga berupa gambar, mengandung suara bahkan klip video. Kaitan antar-dokumen yang seperti itu biasa disebut hypermedia. Jadi dapat disimpulkan bahwa WWW adalah sekelompok dokumen multimedia yang saling berpautan dengan menggunakan tautan hiperteks. Dengan mengeklik pranala, maka para pengguna bisa berpindah dari satu dokumen ke dokumen lainnya (http://id.wikipedia.org/wiki/Web). 2.5.3.4 Personal Home Page (PHP) PHP merupakan gabungan dari beberapa fitur-fitur terbaik dari bahasa pemrograman yang modern untuk membuat sesuatu yang unik dan pendekatan untuk membuat web aplikasi yang baru. PHP adalah singkatan dari personal home page. PHP hypertext preprocessor, merupakan bahasa berbentuk skrip yang ditempatkan dalam server dan diproses diserver dan kemudian hasilnya dikirim ke klien, tempat pemakai
45
browser. PHP dirancang untuk membentuk suatu tampilan berdasarkan permintaan terkini (Kadir, 2003, p2). 2.5.3.5 MySQL MySQL adalah relational database management system (RDBM S) yang didistribusikan secara gratis dibawah lisensi GPL(General Public License), dimana setiap orang bebas untuk menggunakan MySQL namun tidak boleh dijadikan produk turunan yang bersifat closed source atau komersial. M ySQL sebenarnya merupakan turunan salah satu konsep utama dalam basis data sejak lama, yaitu MySQL(structured query language). SQL adalah sebuah konsep pengoperasian database, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan perngoperasian data dikerjakan dengan mudah secara otomatis. Kendala suatu sistem basis data (DBM S) dapat diketahui dari cara kerja optimizer-nya dalam melakukan proses perintah-perintah SQL, yang dibuat oleh user maupun program-program aplikasinya. Sebagai server basis data, MySQL dapat dikatakan lebih unggul dibandingkan server basis data lainnya dalam query data. Hal ini terbukti untuk query yang dilakukan oleh single user, kecepatan query MySQL bisa sepuluh kali lebih cepat dari PostgreSQL dan lima kali lebih cepat dibandingkan Interbase.