BAB 2 LANDAS AN TEORI
2.1
Teori-Teori Umum 2.1.1
Pengertian Sistem Basis Data 2.1.1.1
Pengertian Data Berdasarkan Turban, et al. (2003, p352), data adalah fakta –
fakta mentah, belum diolah untuk menunjukkan makna yang spesifik. Informasi adalah kumpulan fakta yang diatur untuk diartikan. Pengetahuan adalah informasi yang telah diatur dan diproses untuk membantu para pembuat keputusan membuat keputusan. Dalam setiap organisasi, tujuan utama dari pengumpulan dan pemrosesan data, informasi, dan pengetahuan adalah untuk menyediakan dukungan bagi para pembuat keputusan. Para pembuat keputusan ini tersebar di seluruh organisasi dan membuat berbagai jenis keputusan. Untuk memenuhi berbagai kebutuhan yang berbeda ini, pengaturan data, informasi dan pengetahuan dalam suatu organsisasi harus fleksibel dan mudah beradaptasi, namun tetap kuat dan stabil.
2.1.1.2
Pengertian Basis Data M enurut M cLeod dan Schell (2004, p148) data bisnis secara
tradisional telah diorganisasikan menjadi suatu hierarki golongan data atau field data yang bila digabungkan akan menjadi catatan data (data 7
8 record). Bila catatan ini digabungkan akan membentuk file. Datafield adalah unit terkecil. Ini menggambarkan jumlah terkecil suatu data yang dapat diakses kembali dari komputer pada suatu waktu. Kumpulan data field yang berhubungan dengan pengguna secara logis akan membentuk suatu record. Data field – data field dalam satu record saling berhubungan. File merupakan kumpulan record yang saling berhubungan. Jadi, di dalam file terdapat record beserta data field. Basis data merupakan kumpulan beberapa file. Definisi yang lebih spesifik dari basis data adalah kumpulan data yang dikontrol oleh perangkat lunak sistem manajemen basis data. M enurut Connolly dan Begg (2010, p65), basis data adalahsebuah kumpulan data yang berhubungan secara logikal dandeskripisinya, dirancang untuk memenuhi kebutuhan informasi dari sebuah organisasi. M enurut C.J. Date (2000,p2), basis data adalah tempat penyimpanan elektronik seperti kumpulan atau wadah data-data hasil komputerisasi.
2.1.1.3
Pengertian Sistem Basis Data M enurut C.J. Date (2000,p5), sistem basis data adalah
sistem yang menyimpan informasi secara terkomputerisasi, yang secarakeseluruhan memiliki tujuan untuk menyimpan informasi danmemperbolehkan pengguna untuk mengambil dan mengubah informasi yangdibutuhkan.
9 2.1.1.4
Pengertian Sistem M enurut O’Brien (2002,p8), sistem adalah sekelompok
komponen-komponen yang saling berhubungan dan salingbekerja sama untuk mencapai sebuah tujuan denganmenerima input dan memproses output dalam proses perubahan organisasi. M enurut Connolly (2010,p316), sistem didefinisikan sebagai deskripsi mengenai ruang lingkup dan batasan dari sistem basis data dan pandangan user.
2.1.2
Sistem Informasi M enurut M cLeod dan Schell (2004,p2), komputer telah digunakan
untuk aplikasi bisnis kurang lebih lima puluh lima tahun. Selama itulah terjadi peningkatan secara dramatis pada perangkat keras dan perangkat lunak, sehingga keuntungan – keuntungan dari penggunaan komputer dapat dinikmati bukan hanya oleh berbagai macam perusahaan tetapi juga individu. Komputer yang pertama kali dipasarkan secara luas adalah UNIVAC I, dipasang pertama kali di US Census Bureau pada tahun 1951, kemudian di General Electric (GE) tahun 1954. International Bureau M achines (IBM ) merespons hal ini dengan mengeluarkan produk yang lebih lengkap yang dikenal sebagai System/350 pada tahun 1960-an, merupakan komputer pertama yang memungkinkan beberapa pengguna mengakses komputer pada waktu bersamaan. Kecenderungan penggunaan komputer berukuran lebih kecil dalam waktu singkat memperoleh momentum untuk berkembang pesat. Komputer berukuran kecilyang pertama adalah minicomputer pada tahun 1970-an, lebih
10 kecil daripada mainframe yang berukuran besar dan populer bagi pengguna dari kalangan ilmuwan. Kemudian muncul microcomputer pada awal tahun 1980an,diciptakan bukan hanya untuk perusahaan kecil, tetapi juga pemakai individu. PC (Personal Computer) buatan IBM yang dilegitimasi sebagai lompatan dalam perkembangan
komputerberukuran
kecil.
Ukuran
yang tepat
terhadap
peningkatan teknologi perangkat keras adalah Hukum M oore yang menyatakan bahwa kekuatan komputer menjadi dua kali lipat setiap 18 bulan. Komputer pada awalnya adalah sebuah mesin berukuran sebesar ruangan
dan hanya melakukan pekerjaan sederhana, seperti melakukan
penjumlahan bilangan dengan cepat. Tabung – tabung hampa udara seukuran bola lampu menyediakan sirkuit bagi komputer ini. Kemudian transistor dan chip pada lempengan silikon menggantikan perangkat elektronik sebelumnya dan hasil dari biaya manufaktur yang lebih rendah ini adalah pertumbuhan permintaan terhadap komputer. Kecepatan pemrosesan komputer meningkat terus sementara ukuran komputer semakin kecil. Karena kecepatan gerak energi elektronik pada sirkuit konstan, maka pembuatan sirkuit dengan ukuran seetengahnya akan memberikan kecepatan dua kali lipat. Dengan prinsip desain sirkuit seperti ini, maka memperkecil ukuran komputer akan mengingkatkan kecepatan pemrosesan komputer diiringi semakin turunnya biaya produksi komputer. Komputer dan komunikasi saling bergandengan. Komunikasi antara komputer terus berkembang seperti tumbuhnya penggunaan komputer. Sistem komunikasi telah berubah, meninggalkan transmisi sederhana menggunakan kabel ke dunia gelombang radio tanpa kabel dan penggunaan serat optik.
11 Aplikasi bisnis pertama diciptakan dari pengolahan transaksi data akuntansi. Sistem ini merupakan sistem konseptual di mana komputer memproses dan memelihara data yang menggambarkan sistem fisik perusahaan. Di samping itu, perusahaan sebagai sistem fisik berkomunikasi dengan lingkungannya dan mempunyai kemampuan pengontrolan sendiri. Dengan
adanya sistem pengolahan
transaksi data akuntansi,
perusahaan menggeser fokus dari sistemnya menjadi penyediaan informasi bagi manajer perusahaan untuk penyelesaian masalah. Sistem yang berorientasi pada informasi pertama kali disebut sistem informasi manajemen (SIM ) dan tujuannya adalah secara luas membantu para manajer di semua unit organisasi. Pada saat bersamaan, pengolah kata memperkenalkan serangkaian aplikasi yang membuat kantor maya menjadi kenyataan. Langkah berikutnya adalah memperbaiki konsep sistem informasi manajemen untuk menghasilkan s istem kelas baru, yang disebut sistem pendukung pengambilan keputusan ( Decision Support System – DSS), ditujukan untuk manajer tertentu dengan permasalahan tertentu. Pertama kali sistem ini menekankan output dalam bentuk laporan dan hasil simulas i matematika, kemudian ditingkatkan untuk menyelesaikan masalah berkelompok (Group Decision Support System – GDSS), penambahan kecerdasan buatan ( Artificial Intelligence – AI) dan penggabungan pengolahan analisis secara online.
Akhir
–
akhir
ini perusahaan
menyelenggarakan
proyek
untuk
mengintegrasikan seluruh sistem informasi perusahaan untuk membentuk satu sistem perencanaan sumber daya perusahaan (Enterprise Resource Planning – ERP).
12 Pengguna sistem informasi terdiri dari manajer dan nonmanajer internal perusahaan, serta individu atau organisasi di luar perusahaan. M anajer merupakan sekelompok penting pengguna karena informasi sangat menentukan dalam pekerjaan mereka. M anajer ada di tingkat organisasi perusahaan yang berbeda dan beragam area bisnisnya. Namun, apapun kedudukan mereka manajer menjalankan fungsi dan peran manajemen tertentu. M ereka memerlukan informasi dalam membuat keputusan untuk menyelesaikan masalah. Informas i ini digunakan untuk menemukan masalah beserta pemecahannya dan memilih solusi – solusi alternatif. Setelah masalah diidentifikasi, solusi terbaik telah ditentukan, manajer harus meninjau kembali konsekuensi atas pilihan mereka.
2.1.3
Dukungan Teknik Informatika pada Berbagai Le vel Organisasi Berdasarkan Turban, et al. (2003, p41), individu – individu dalam
suatu organisasi didukung oleh berbagai jenis sistem informasi tergantung peran dan tugas yang mereka jalankan, antara lain : •
Keputusan – keputusan penting biasanya dibuat oleh manajemen tingkat teratas. Biasanya ini merupakan keputusan perencanaan jangka panjang yang berhubungan dengan tujuan – tujuan perusahaan dan alokasi sumber daya untuk mencapai tujuan – tujuan ini.
•
Keputusan taktikal atau manajerial dibuat oleh manajer tingkat menengah yang menyiapkan rencana jangka pendek, prosedur, dan kebijakan – kebijakan yang menerapkan rencana jangka panjang suatu organisasi yang dibuat oleh manajemen tingkat teratas.
13 •
Keputusan operasional dibuat oleh manajer level bawah dan operator. Keputusan – keputusan ini adalah keputusan yang berhubungan dengan keputusan sehari – hari untuk menjaga operasi organisasi berjalan dengan lancar.
Peranan – peranan yang berbeda dalam suatu organisasi seperti ini memerlukan komunikasi yang baik di antara setiap tingkatan manajer, dan antara manajer dengan pelaksana lapangan. Para manajer perlu mengetahui apakah rencana yang dibuat benar – benar terlaksana dengan baik atau tidak. Perkembangan ini dapat diketahui dengan memantau aktivitas sehari – hari para pelaksana lapangan. Teknologi membantu menjembatani keperluan tersebut dengan menyediakan akses komunikasi yang simple dan reliable. Teknologi yang menjembatani keperluan tersebut secara khusus kita sebut dengan S istem Informasi.
2.1.4
File Based S ystem Berdasarkan Turban, et al. (2003, p128), dari pertama kali
aplikasi komputer ditemukan dalam bisnis (pertengahan tahun 1950) sampai pada awal tahun 1970, organisasi – organisasi mengatur data mereka dengan File Based System. Sistem seperti ini dimulai karena organisasi – organisasi mulai mengotomatisasi kegiatan keorganisasiannya. Sistem ini tumbuh secara independen, tanpa perencanaan secara matang. Setiap aplikasi membutuhkan datanya sendiri. Yang diatur di dalam datafile.
14 Sebuah data file adalah kumpulan dari catatan – catatan yang saling berhubungan secara logikal. Karenanya, dalam sebuah file management environment, setiap aplikasi memiliki data file spesifik yang berhubungan dengannya, yang mengandung data – data yang diperlukan oleh aplikasi. Seirin g dengan perkembangan waktu, organisasi – organisasi mengembangkan sejumlah aplikasi, di mana setiap aplikasi tersebut memiliki data file yang spesifik dan berhubungan dengan aplikasi tertentu. Sebagai contoh, sebuah universitas memiliki banyak aplikasi berbasis komputer yang behubungan dengan para mahasiswanya. Aplikasi – aplikasi ini termasuk pendaftaran KRS, pembayaran tagihan, IPK, dsb. Dalam file management environment setiap aplikasi ini memiliki data file masing – masing. Pendekatan manajemen data ini, di mana organisasi memiliki beberapa aplikasi dengan data file yang berhubungan dengannya disebut pendekatan tradisional. Pendekatan tradisional yang disebutkan di atas memiliki beberapa masalah, diantaranya : •
Beberapa aplikasi organisasi biasanya memiliki beberapa fungsi utama yang umum, misalnya sistem pelaporan, dan pencarian data tahunan. Bagaimanapun setiap fungsi ini dirancang dan dibangun dalam aplikasi yang berbeda. Satu aplikasi untuk satu fungsi. Setiap aplikasi perlu dibangun sendiri dan dirawat. Juga memerlukan waktu pelatihan pula. Dengan cara ini, pendekatan tradisional seringkali memboroskan sumber daya – sumber daya yang berharga dalam membuat dan merawat aplikasi yang serupa.
15 •
Data redundancy yaitu bagian informasi yang sama terdapat pada beberapa lokasi yang berbeda. Hal ini menyebabkan perubahan informasi oleh satu aplikasi tidak diketahui oleh aplikasi lainnya karena hanya merubah informasi di satu lokasi dan tidak di lokasi lainnya.
2.1.5
DBMS (Database Management S ystem) M enurut Connolly dan Begg (2010,p66), DBM S adalah sebuah piranti
lunak yang memungkinkan pengguna untuk mendefinisikan,
membuat,
memelihara, dan mengontrol akses basis data. M enurut C.J. Date (2000,p43), DBM S adalah piranti lunak yang menangani semua akses ke basis data.
Komponen dari DBM S menurut Connolly dan Begg (2005, p69) adalah :
Gambar 2.1 Komponen DBMS
1.
Perangkat Keras DBM S dan aplikasi membutuhkan perangkat keras untuk berjalan. Perangkat keras ini dapat berupa sebuah personal computer hingga
16 sebuah mainframe atau kumpulan dari beberapa komputer. Setiap komputer tersebut minimal harus memiliki memory dan disk sebagai tempat penyimpanan data. 2.
Piranti Lunak Komponen piranti lunak yang dibutuhkan adalah DBM S itu sendiri, program aplikasi yang berjalan bersama dengan sistem operasi, dapat juga meliputi perangkat lunak jaringan apabila terhubung dengan jaringan komputer. Program aplikasi ini dapat ditulis dengan bahasa pemrograman tertentu, seperti C, C++, Java, Visual Basic, COBOL, dan lain sebagainya. DBM S yang digunakan dapat memiliki Fourth Generation
Language
yang
berfungsi
untuk
mempercepat
prosespembuatan program aplikasi. 3.
Data Data merupakan komponen terpenting dalam DBM S, karena berlaku sebagai jembatan antara komponen mesin dengan komponen manusia. Basis data berisi data operasional dan metadata (data mengenai data). Struktur dari basis data disebut dengan skema.
4.
Prosedur Prosedur berhubungan dengan instruksi-instruksi dan aturan-aturan yang menentukan bagaimana perancangan dan penggunaan dari basis data. Contohnya : •
Prosedur log in ke DBM S
•
M enggunakan fasilitas DBM S atau program aplikasi tertentu
17 •
M enjalankan atau mematikan DBM S
•
M embuat backup dari basis data
•
M engatasi kegagalan perangkat keras atau piranti lunak, termasuk identifikasi akan komponen yang gagal, cara memperbaiki komponen tersebut, memperbaiki komponen tersebut, dan pemulihan basis data.
•
M engubah struktur tabel, mengatur basis data pada banyak media
penyimpanan,
peningkatan
performa,
atau
pengarsipan. 5.
M anusia Terdapat 4 jenis pengguna yang berpartisipasi di dalam lingkungan DBM S, yakni : 1.
Data dan Database Administrator Data Administrator (DA) bertanggung jawab terhadap sumber daya data yang meliputi perencanaan basis data, pengembangan dan pemeliharaan, prosedur dan aturan, dan perancangan basis data logikal dan konseptual. Database Administrator (DBA) bertanggung jawab terhadap realisasi fisik dari basis data meliputi perancangan dan implementasi, keamanan dan pengawasan integritas data, pemeliharaan dari sistem operasional, dan memastikan keputusan pengguna terhadap aplikasi.
18 Pekerjaan DBA lebih bersifat teknis daripada DA, oleh karena itu seorang DBA harus memiliki pengetahuan yang lebih banyak daripada DA. Selain itu DBA juga harus memiliki pengetahuan lebih dalam system environment. 2.
Database Designer Dalam proyek yang besar, kita dapat membedakan dua jenis designer, yakni logical database designer dan physical database designer. Seroang logical database designer berhubungan dengan identifikasi data, hubungan antar data, dan batasan dari data yang dis impan dalam basis data. Physical
database
designer
memutuskan
bagaimana
perancangan logikal dari basis data diubah menjadi realisasi fisikal. 3.
Application Developer Ketika basis data diimplementasikan, program aplikasi yang menyediakan fungsi-fungsi yang dibutuhkan oleh pengguna akhir (end-users), juga harus diimplementasikan. Hal tersebut merupakan tanggung jawab dari application developer. Biasanya, application developer bekerja dari hasil analisa yang dihasilkan oleh system analyst. Setiap program memiliki fungsi-fungsi yang dapat melakukan beragam operasi dari DBM S, seperti mengambil data, memasukkan data, menghapus data, dan mengubah data.
19 4.
End-User Pengguna akhir merupakan clients dari basis data yang telah dirancang dan diimplementasi dan dipelihara sebagai penyedia informasi yang dibutuhkan. Pengguna akhir dari DBM S dibagi menjadi 2, yaitu : 1.
Naive users, merupakan pengguna yang belum pernah menggunakan DBM S tersebut. M ereka berhubungan dengan basis data melalui aplikas i khusus yang dirancang sesederhana mungkin.
2.
Sophisticated users, merupakan kebalikan dari naive users. M ereka sudah terbiasa menggunakan DBM S dan fasilitasnya. Oleh karena itu, mereka langsung menggunakan high-level query language untuk melakukan operasi-operasi dalam basis data.
M enurut Connolly dan Begg (2010,p77) keuntungan dari DBM S : 1.
Pengawasan terhadap redundansi data Pendekatan basis data berusaha untuk menghilangkan redundansi dengan mengintegrasikan file – file supaya salinan dari data yang sama tidak disimpan. Suatu data mengalami redundansi, bila data yang sama dengan data tersebut dapat ditemukan pada lebih dari 1 tabel di dalam basis data.
20 2.
Konsistensi data Dengan menghilangkan atau mengontrol redundansi, akan memelihara konsistensi data. Jika data disimpan lebih dari sekali, dan sistem mengetahuinya, maka sistem harus meyakinkan bahwa semua salinan data tetap konsisten.
3.
Lebih banyak informasi mengenai jumlah data yang sama Dengan integritas data operasional, memungkinkan organisasi untuk mengambil informasi tambahan dari data yang sama.
4.
Penggunaan data bersama Basis data dimiliki oleh organisasi secara keseluruhan dan bisa digunakan
oleh
semua pengguna yang
berwenang.
Hal ini
menyebabkan semakin banyak pengguna yang bisa menggunakan data. 5.
M eningkatkan integritas data Berfungsi untuk membuat validasi dan data yang tervalidasi dan konsisten. Pada umumnya diaplikasikan menggunakan constraint, yang merupakan aturan basis data yang tidak dapat dilanggar.
6.
M eningkatkan kemanan Keamanan basis data merupakan perlindungan basis data dari pengguna yang tidak berwenang. Hal ini dapat dilakukan dengan membentuk username dan password untuk mengidentifikasi pengguna yang berwenang dalam menggunakan basis data. Akses yang diberikan kepada pengguna yang berwenang pada suatu data dapat dibatasi oleh jenis operasi (retrieval, insert, update and delete).
21 7.
Standarisasi Integrasi memperbolehkan Database Administrator untuk membuat standar – standar yang diperlukan pada DBM S. Standar – standar ini mencakup format data, aturan penamaan, standar dokumentasi, prosedur update dan hak akses.
8.
Skala ekonomi M enggabungkan semua data operasional dalam sebuah organisasi menjadi sebuah basis data dan membuat satu set aplikasi yang menggunakan satu sumber data akan menghemat biaya.
9.
M enyeimbangkan kebutuhan – kebutuhan yang saling bertentangan Setiap pengguna / departemen memiliki kebutuhan yang berbeda dan bisa saling bertentangan. Oleh karena itu, Database Administrator dapat memutuskan mengenai rancangan dan mekanisme operasional penggunaan basis data seefisien mungkin.
10.
M eningkatkan akses dan respon data Sebuah sistem berpotensi memiliki fungsi – fungsi yang sangat kompleks. Banyak DBM S yang sudah menyediakan query language atau report writers yang mengizinkan pengguna untuk membuat pertanyaan ad-hoc untuk mendapatkan informasi yang dibutuhkan secepat mungkin tanpa membutuhkan programmer yang membuat aplikasi untuk mengeluarkan informasi dari basis data
11.
M eningkatkan produktivitas DBM S menyediakan banyak fungsi standar sehingga memungkinkan programmer
berkonsentrasi pada fungsionalitas
spesifik
yang
22 dibutuhkan pengguna tanpa harus memikirkan tentang rincian implementasi level dasar.
Hal ini menghasilkan
peningkatan
prduktivitas programmer dan mengurangi waktu pengembangan. 12.
M eningkatkan pemeliharaan melalui independency data Dalam sistem berbasis file, deskripsi data dan pengaksesan data dibuat di setiap aplikasi, artinya program bergantung kepada data. Perubahan data akan dapat mengakibatkan perubahan pada program pula. Sebuah DBM S memisahkan antara deskripsi data dengan aplikasi sehingga aplikasi terbebas dari pengaruh perubahan data yang dikenal sebagai data independence.
13.
M eningkatkan concurrency DBM S memperbolehkan lebih dari 1 pengguna untuk mengakses file yang sama secara bersamaan, di mana hal ini tidak dapat diterapkan pada beberapa sistem yang berbasis website.
14.
M eningkatkan pelayanan terhadap backup dan recovery Untuk menghindari kegagalan sistem komputer atau program aplikasi maka dibuatlah pelayanan backup secara teratur. Apabila backup tersebut gagal, DBM S masih menyediakan fasilitas untuk recovery atau pengembalian data yang hilang sebagai minimalisasi dari data yang hilang.
23 M enurut Connolly dan Begg (2010,p80) kekurangan dari DBM S : 1.
Kompleksitas Ketentuan dari sebuah fungsionalitas yang baik menjadikan sebuah DBM S sebuah piranti lunak yang sangat kompleks. Kegagalan untuk memahami sistem dapat mengakibatkan perancangan yang kurang baik.
2.
Ukuran Funsionalitas yang kompleks menjadikan DBM S sebuah piranti lunak yang membutuhkan media penyimpanan dan jumlah memori yang cukup besar untuk menjalankan DBM S secara efisien.
3.
Harga dari DBM S DBM S memiliki harga yang relatif mahal.
4.
Tambahan biaya untuk perangkat keras Seiring dengan berkembangnya ukuran data di dalam DBM S, maka semakin besar pula biaya yang diperlukan untuk menyediakan perangkat kerasnya.
5.
Biaya untuk konversi Untuk mengubah data dari sistem non-DBM S menuju sistem DBM S memerlukan biaya.
6.
Performa Dibandingkan sistem berbasis file, DBM S cenderung membutuhkan waktu yang lebih lama untuk memproses tugas yang simple.
24 7.
Efek yang lebih besar bila terjadi kegagalan Sentralisasi resources mengakibatkan sistem menjadi rentan karena semua pengguna dan aplikasi tergantung dari ketersediaan DBM S tersebut. Kegagalan dari komponen – komponen tertentu dapat menyebabkan berhentinya operasional sistem.
M enurut C.J. Date (2000,p44), fungsi DBM S yaitu : 1.
Data Definition DBM S harus mendukung semua definisi data (skema eksternal, skema konseptual, dan skema internal) dan melakukan perubahan terhadap skema-skema tersebut ke dalam bentuk objek yang sesuai.
2.
Data Manipulation DBM S harus dapat mengatur permintaan dari pengguna untuk mengambil atau mengubah data atau memasukkan data ke dalam basis data.
3.
Data Security And Integrity DBM S harus mengawasi permintaan pengguna dan menolak semua hal yang dapat mengganggu keamanan dan pemeriksaan integritas yang telah ditentukan oleh database administrator.
4.
Data Recovery And Concurrency DBM S atau piranti perangkat lunak lain yang berhubungan (biasanya disebut dengan transcation manager) harus menjalankan pengaturan data recovery dan concurrency.
25 5.
Data Dictionary DBM S harus menyediakan fungsi data dictionary. Data dictionary berisi data tentang data (metadata) yang merupakan definisi dari objek-objek dalam sistem. Dalam sebagian kasus, beberapa macam skema dan pemetaan disimpan secara fisikal baik dalam bentuk asli maupun bentuk yang sudah disesuaikan.
6.
Performance DBM S harus menyediakan semua fungsi yang telah diidentifikasikan seefisien mungkin.
2.1.6
Database Language 2.1.6.1
DDL (Data Definition Language) DDL adalah bahasa yang digunakan oleh database
administrator atau pengguna untuk menggambarkan dan menamakan entitas, atribut, dan hubungan yang diperlukan untuk aplikasi. Selain itu
juga
diperlukan
untuk
keamanan
dan
integritas
data
menurutConnolly dan Begg (2010, p225).
2.1.6.2
DML (Data Manipulation Language) DM L adalah bahasa yang digunakan untuk memanipulasi
data yang ada di dalam basis data menurut Connolly Begg(2010,p183). Operasi DM L meliputi : •
M emasukan atau menambah data baru (Insert)
dan
26
2.1.7
•
M engubah isi data (Update)
•
M enghapus isi data (Delete)
•
M engambil data (Select)
Database S ystem Development Life Cycle M enurut Connolly dan Begg (2010, p313) sebuah sistem basis data
merupakan komponen dasar dari suatu organisasi yang memiliki informasi yang sangat besar. Siklus hidup pengembangan sistem basis data merupakan warisan dari siklus hidup sistem informasi. Berikut ini merupakan gambaran mengenai tahapan siklus hidup basis data menurut Connolly dan Begg (2010, p314).
27
Gambar 2.2 Database development life cycle
28 2.1.7.1
Perencanaan Basis Data (Database Planning) Perencanaan basis data merupakan kegiatan perencanaan
yang bertujuan agar tahapan dari siklus hidup pengembangan basis data untuk direalisasikan seefisien dan seefektif mungkin. Tahapan perencanaan dari basis data meliputi : 1.
Mission statement dari sistem basis data. Mission statement mendefinisikan tujuan utama dari sistem basis data. Dengan begitu akan membantu menjelaskan tujuan dari proyek basis data sehingga dalam proses pembuatannya lebih efektif dan efisien.
2.
Mission objectives. Setiap mission objectives mengidentifikasikan tugas-tugas yang harus didukung oleh sebuah sistem basis data. M aka dapat diasumsikan jika basis data mendukung mission objectives maka mission statement dapat ditentukan. Mission objectives dan mission statement dapat disertai dengan beberapa tambahan informasi yang spesifik, seperti tugas yang harus dikerjakan, sumber untuk mengerjakannya, dan biaya yang dibutuhkan.
2.1.7.2
Definisi Sistem (S ystem Definition) Definisi sistem menggambarkan mengenai ruang lingkup
dan batasan dari aplikasi basis data, termasuk gambaran pengguna, pengguna, dan area aplikasi. Pandangan pengguna mendeskripsikan
29 kebutuhan sistem basis data dari sudut pandang pekerjaan tertentu (seperti M anager atau Supervisor), atau area aplikasi perusahaan (seperti HRD, marketing, inventory). Sebuah sistem basis datamungkin memiliki satu atau lebih pandangan pengguna. M engidentifasikan pandangan pengguna merupakan hal yang sangat penting dalam mengembangkan sebuah sistem basis data untuk memastikan tidak ada pengguna yang terlupakan ketika mengembangkan aplikasi yang baru.
2.1.7.3
Pengumpulan dan Analisis Kebutuhan (Requirement Collection and Analysis) Tahap ini merupakan proses pengumpulan dan analisis
informasi dari sebuah bagian perusahaan yang didukung oleh sistem basis
data,
dan
menggunakan
informasi
tersebut
untuk
mengidentifikasi kebuthan sistem yang baru. Proses pengumpulan informasi ini dikenal dengan teknik fact finding. M enurut Connolly dan Begg (2010, p344), terdapat 5 jenis fact finding yang umum : 1.
M engevaluasi Dokumen M engevaluasi dokumen
digunakan
ketika kita ingin
memperoleh pengertian mengenai bagaimana basis data dibangun. Dokumentasi juga membantu dalam menyediakan informasi mengenai permasalahan yang dihadapi. Beberapa contoh dokumen adalah form, reports, dan files.
30 2.
Wawancara Wawancara
merupakan
digunakan.Wawancara
teknik digunakan
yang
paling
ketika
kita
umum ingin
mengumpulkan informasi dari individu secara langsung. 3.
Observasi Observasi merupakan teknik yang paling efektif dalam memahami suatu sistem. Teknik ini paling cocok digunakan ketika validitas dari data yang dikumpulkan dari metode lain masih diragukan atau ketika aspek suatu sistem yang sangat kompleks dan menyulitkan mendapatkan penjelasan yang jelas dari pengguna akhir.
4.
Penelitian Penelitian dapat menghemat waktu jika solusi yang akan dibuat sudah ada.Beberapa sumber yang baik untuk melakukan penelitian adalah jurnal, buku referensi, dan internet.
5.
Kuisioner Kuisioner merupakan dokumen yang bertujuan khusus untuk mendapatkan fakta dari banyak orang namun tetap mengontrol respon.
2.1.7.4
Rancangan Basis Data (Database Design) Proses membuat rancangan yang akan mendukung mission
statement dan mission objectives dari suatu perusahaan untuk
31 membangun sistem basis data yang dibutuhkan. Ada 4 pendekatan dalam merancang basis data, yaitu bottom-up, top-down, inside-out, dan
mixed-strategy.
Bottom-up
merupakan
pendekatan
untuk
merancang basis data yang dimulai dari atribut tingkat dasar yang mana melalui analisa asosiasi antar atribut dikelompokkan ke dalam relasi yang merepresentasikan tipe dan hubungan dari entitas. Proses ini dikenal juga dengan normalisasi. Pendekatan top-down dimulai dengan pengembangan dari model data yang mengandung entitas dan hubungan
tingkat
tinggi
kemudian
dilanjutkan
dengan
mengidentifikasi entitas tingkat rendah, hubungan antar entitas, dan atribut yang berhubungan. Pendekatan inside-out berdekatan dengan pendekatan bottom-up. Perbedaannya adalah teknik inside-out dimulai dengan mengidentifikas i kumpulan dari entitas yang utama kemudian dilanjutkan dengan entitas lain, hubungan antar entitas, dan atribut lain yang berhubungan dengan atribut yang pertama kali diidentifikasi tadi. Mixed-strategi merupakan teknik penggabungan antara bottom-up dantop-down. Tahapan perancangan basis data menurut Connolly dan Begg (2010, p322), yaitu : 1.
Perancangan Basis Data Konseptual. M erupakan tahapan pertama untuk merancang sebuah model data yang digunakan dalam sebuah perusahaan, yang terlepas dari semua pertimbangan fisikal. Pertimbangan
32 fisikal yang dimaksud adalah DBM S, program aplikasi, bahasa pemrograman,platform perangkat keras, dll. M enurut Connolly dan Begg (2010, p468), langkah-langkah dalam membuat perancangan basis data konspetual, yaitu : 1.
M engidentifikasi tipe entitas. Cara pertama membuat model konseptual adalah dengan
mendefinisikan
objek-objek
yang
dibutuhkan pengguna. Salah satu metode untuk mengidentifikasikan
entitas
adalah
dengan
mencari tahu spesifikasi kebutuhan pengguna. Dari spesifikasi ini, kita mengidentifikasi kata benda atau frase kata benda. Kita juga mencari tahu mengenai objek utama seperti manusia, tempat, atau konsep penting lainnya, tidak termasuk
kata benda
yang
hanya sekedar
menjelaskan kualitas objek lain. Dokumentasikan tipe entitas. 2.
M engidentifikasi tipe hubungan. M engidentifikasikan hubungan penting antara tipe entitas yang sudah diidentifikasi. Gunakan entity relationship modeling untuk menggambarkan entitas dan hubungannya. Tentukan multiplicity constraint
dari
tipe
hubungan
Dokumentasikan tipe hubungan.
yang
ada.
33 3.
M engidentifikasi dan mengasosiasikan atribut dengan tipe entitas dan hubungan. Asosiasikan atribut dengan tipe entitas atau hubungan
yang
cocok.Identifikasikan
simple/composite attributes, single/ multi-value attributes,dan derived attributes. Dokumentasikan atribut. 4.
M enentukan domain atribut. Tentukan domain untuk atribut pada model konseptual. Dokumentasikan domain atribut.
5.
M enentukan
candidate,
primary
key,
dan
alternative key. Identifikasikan candidate key untuk setiap entitas dan jika ada lebih dari satu candidate key, maka pilih salah satu untuk menjadi primary key. Dokumentasikan primary dan alternative keys untuk setiap strong entity. 6.
M empertimbangkanuntuk menggunakanenhanced modeling concepts (optional). Pertimbangkan penggunaan dari konsep modeling yang lebih tinggi, seperti spesialisasi/generalisasi, agregasi, dan komposisi.
34 7.
M emeriksa redudansi. Periksa
keberadaan
redudansi
pada
model.
Khususnya, memeriksa kembali hubungan one-toone (1:1), menghilangkan hubungan redudansi, dan pertimbangkan dimensi waktu. 8.
M emvalidasi model konseptual dan transaksi pengguna. M emastikan
bahwa
mendukung
transaksi
model yang
data
konseptual
dibutuhkan.Dua
pendekatan yang mungkin untuk memvalidas i antara lain dengan mendeksripsikan transaksi dan menggunakan jalur transaksinya. 9.
M eninjau kembali data konseptual dan pengguna M eninjau kembali model data konseptual dengan pengguna untuk memastikan bahwa model telah merepresentasikan kebutuhan data perusahaan dengan benar.
2.
Perancangan Basis Data Logikal. M erupakan tahapan dalam merancang model data yang digunakan dalam sebuah perusahaan, yang terlepas dari DBM S dan pertimbangan fisikal yang lain. Pada tahap ini, model data yang diperoleh dari perancangan konseptual diubah menjadi model data logikal. M odel data ini menjadi dasar dari tujuan basis data, seperti relational data model.
35 M enurut Connolly dan Begg (2010, p468), langkah-langkah dalam membuat perancangan basis data logikal, yaitu : 1.
M endapatkan hubungan antara data model logikal. Buat hubungan dari model data konseptual untuk merepresentasikan entitas, hubungan, dan atribut yang telah diidentifikasi.Tabel 2.1 merangkum bagaimana memetakan entitas, hubungan, dan atribut ke hubungan. Dokumentasikan hubungan hubungan,
atribut,
dan
foreign
key.
Dokumentasikan juga primary key atau alternate key yang baru yang dibentuk dari hasil proses mendapatkan hubungan. 2.
Validasi hubungan menggunakan normalisasi. Validasikan hubungan pada model data logical menggunakan teknik normalisasi. Tujuan dari langkah ini adalah untuk memastikan bahw a setiap hubungan setidaknya sudah mencapai 3NF (Third Normal Form).
3.
Validasi hubungan dalam transaksi pengguna. Pastikan bahwa hubungan dalam model data logical mendukung transaksi yang dibutuhkan.
36 Tabel 2.1 Rangkuman bagaimana memetakan entitas dan relationship Entitas / Hubungan / Atribut Strong Entity
Pemetaan Hubungan M embuat hubungan yang mengandung semua simple attribute.
Weak Entity
M embuat hubungan yang mengandung semua simple attribute (primary key tetap harus diidentifikasikan setelah hubungan dengan entitas pemilik telah dipetakan).
1:* Binary Relationship
Tentukan primary key dari entitas pada sisi “one” untuk berperan sebagai foreign key dalam hubungan yang merepresentasikan sisi
“many”.
Beberapa
atribut
juga
memiliki hubungan yang merepresentasikan sisi “many”. 1:1 Binary Relationship
(a) M engkombinasikan entitas menjadi
(a) Mandatory participation on both sides
satu hubungan.
(b) Mandatory participation on one sides
(b) M enentukan primary key pada sisi
(c) Optional participation on both sides
“optional” berlaku sebagai foreign key pada sisi “mandatory”. (c) Bebas pada kedua sisi.
Superclass/subclass relationship *:*
Binary
relationship
relationship,
Lihat tabel 2.2 complex
M embuat hubungan untuk menunjukkan relationship
dan
memasukan
setiap
atributnya. Ambil primary key dari masing
37 – masing entitas kedalam sebuah entitas baru sebagai foreign key. Multivalued attributes
M embuat hubungan untuk merepresentasikan
multivalued
attribute
dan
buat
duplikasi primary key dari entitas pemilik menjadi foreign key.
Tabel 2.2 Panduan untuk representasi relationship superclass atau subclass berdasarkan participation dan disjoint Participation Constraint Mandatory
Disjoint Constraint Nondisjoint {and}
Pemetaan Hubungan Single relation (dengan satu atau lebih diskriminator untuk membedakan tipe dari setiap tuple).
Optional
Nondisjoint {and}
Two
relation
hubungan
:
sebuah
untuk superclass
dan sebuah hubungan untuk semua subclass (dengan satu atau lebih banyak diskriminator untuk membedakan tipe dari setiap tuple). Mandatory
Disjoint {or}
Many
relations
hubungan
untuk
:
sebuah setiap
superclass atau class yang dikombinasikan
38 Optional
Disjoint {or}
Many
relations
hubungan
:
sebuah
untuk superclass
dan sebuah hubungan untuk setiap subclass.
4.
M emeriksa batasan-batasan integritas. Identifikasikan batasan-batasan integritas, seperti spesifikasi data yang dibutuhkan, attribute domain constraints, multiplicity,entityintegrity, referensial integrity,
dan
Dokumentasikan
general semua
constraints. batasan-batasan
integritas. 5.
M eninjau
kembali
model
data
logikal
denganpengguna. M eninjau kembali model data logikal dengan pengguna untuk memastikan bahwa model telah merepresentasikan kebutuhan data perusahaan dengan benar. 6.
M enggabungkan model data logikal menjadi model global. M etode model data logikal dirancang agar dapat diaplikasikan untuk perancangan sistem basis data yang sederhana maupun kompleks. Contohnya, langkah ini digunakan untuk membuat basis data
39 dengan singleuser view atau multiple user view yang
dikelola
menggunakan
centralized
approach. Namun, jika basis data memiliki multiple user view yang dikelola menggunakan view integration approach, maka langkah 1-5 diulang untuk setiap banyaknya model data yang dibutuhkan,
yang
masing
–
masingnya
merepresentasikan user view yang berbeda pada sistem basis data. Pada langkah ini model - model datadigabungkan. 7.
M emeriksa perkembangan yang akan datang. M enentukan
apakah
ada
perubahan
yang
signifikan yang mungkin dapat terjadi di mas a mendatang, dan menilai apakah model data logikal dapat mengakomodasi perubahan tersebut.
3.
Perancangan Basis Data Fisikal M erupakan tahapan untuk menghasilkan sebuah gambaran dari implementasi basis data pada secondary storage, menggambarkan
hubungan
dasar,
pengaturan
file,
pengindeksan untuk mempermudah pengaksesan data, batasan integritas, dan keamanan. M enurut Connolly dan Begg (2010, p468), langkah-langkah dalam membuat perancangan basis data fisikal, yaitu :
40 1.
M engubah data model logikal ke DBM S tujuan. M enghasilkan skema hubungan basis data yang dapat diimplementasikan di dalam DBM S tujuan di dalam model data logikal. a.
M erancang relasi dasar. M emutuskanbagaimana
merepresent-
asikan
yang
relasi
dasar
telah
diidentifikasi didalam DBM S tujuan. Dokumentasikan rancangan dari relasi dasar. b.
M erancang representasi data turunan. M enentukan bagaimana cara merepresentasikan hubungan dasar (base relations) yang sudah diidentifikasikan di model data logikal pada DBM S tujuan. Dokumentasikan rancangan dari hubungan dasar.
c.
M erancang batasan umum. M erancang batasan umum dari DBM S tujuan. Dokumentasikan rancangan dari batasan umum.
2.
M erancang organisasi file dan indeks. M enentukan pengaturan file yang optimal untuk menyimpan hubungan dasar dan indeks – indeks
41 yang diperlukan untuk mencapai performa yang dapat diterima, yakni cara untuk menyimpan hubungan dan tuples pada secondary storage. a.
M enganalisa transaksi. M emahami fungsionalitas dari transaksi yang akan dijalankan pada basis data dan menganalisa transaksi – transaksi yang penting.
b.
M emilih pengaturan file. M enentukan
pengaturan
file
yang
efisien untuk hubungan dasar. c.
M emilih indeks. M enentukan apakah pengindeksan akan meningkatkan performa sistem.
d.
M emperkirakankebutuhankapasitasdisk. M engestimasi
ukuran
disk
yang
diperlukan untuk menyimpan basis data. 3.
M erancang user view. M erancang user view yang sudah diidentifikasikan
saat
pengumpulan
kebutuhan
dan
tahapan analisis dari siklus hidup pengembangan sistem basis data. Dokumentasikan rancangan user view.
42 4.
M erancang mekanisme keamanan. M erancang tingkat keamanan untuk sistem basis data sesuai keinginan pengguna (users). Dokumentasikan rancangan tingkat keamanan.
5.
M empertimbangkan
pengenalan
redudans i
terpantau. M enentukan apakah redudansi dalam cara yang terpantau dapat digunakan atau tidak dalam meningkatkan performa sistem. 6.
M emantau dan meningkatkan sistem operasional. M emantau sistem operasional dan meningkatkan performa
dari
sistem
untuk
mengkoreks i
keputusan perancangan yang tidak tepat atau merefleksikan perubahan kebutuhan. 2.1.7.5
DBMS Selection Tahap ini bertujuan untuk memilih DBM S yang cocok untuk
mendukung sistem basis data. Tahapan dalam memilih DBM S, yaitu : 1.
M endefinisikan syarat-syarat sebagai referensi.
2.
Daftar singkat dua atau tiga produk.
3.
M engevaluasi produk.
4.
M erekomendasikan pilihan dan membuat laporan.
2.1.7.6
Application Design
43 M erupakan rancangan tampilan layar pengguna dan aplikasi program yang dalam penggunaan dan pemrosesan basis data.
2.1.7.7
Prototyping Prototyping adalah bentuk kerangka kerja dari sebuah sistem
basis data. Tujuan dari pembuatan prototyping adalah untuk memungkinkan pengguna menilai fungsi-fungsi dari sistem tersebut sudah baik atau tidak, dan kebutuhan dari pengguna.
2.1.7.8
Implementasi Implementasi adalah realiasi fisikal dari basis data dan
rancangan aplikasi. Tahapan ini dicapai menggunakan DDL dari DBM S atau graphical user interface (GUI), yang menyediakan fungsi yang sama ketika menyembunyikan pernyataan DDL tingkat rendah. Program aplikasi yang digunakan menggunakan bahasa generasi ketigaatau keempat (3GL atau 4GL). Pengimplementasian transaksi data dari sebagian aplikasi ini
menggunakan DM L dari
DBM S. Selain itu juga perlu kontrol keamanan dan integritas.
2.1.7.9
Data Conversion and Loading M erupakan pemindahan data yang sudah ada ke dalam basis
data yang baru dan mengkonversi beberapa aplikasi yang sudah ada untuk berjalan di basis data yang baru. 2.1.7.10 Testing
44 Tahapan
ini
untuk
melakukan
pengecekan
terhadapkesalahan dengan menjalankan sistem basis data.
2.1.7.11 Operational Maintenance Proses pengawasan dan pemeliharaan setelah instalasi sistem basis data. Pengawasan yang dilakukan : a.
M engawasi performa sistem.
b.
M enjaga dan memperbaharui sistem basis data (jika dibutuhkan).
2.1.8
Normalisasi M enurut Connolly dan Begg (2010, p416) normalisasi adalah sebuah
teknik untuk memproduksi satu set relasi dengan atribut – atribut yang diingikan, sesuai dengan
kebutuhan
perusahaan.
Tujuan
dari normalisasi adalah
mendeskripsikan satu set relasi yang mendukung permintaan data dari perusahaan, mengatasi redudansi (perulangan)data, dan anomalies (insert, update, delete). 2.1.8.1
Proses Normalisasi M enurut Connolly dan Begg (2010, p430)proses normalisasi
diawali dengan tahapan – tahapan sebagai berikut : 1.
Unnormalized Form (UNF) M erupakan sebuah tabel yang berisikan satu atau lebih grup yang berulang. Cara membuat tabel UNF yaitu dengan
45 memindahkan data dari sumber informasi, misalnya dari form menjadi tabel berformat kolom dan baris. 2.
First Normal Form (1NF) Sebuah relasi dimana irisan dari setiap baris dan kolom berisi satu dan hanya satu nilai (menghilangkan perulangan).
3.
Second Normal Form (2NF) Sebuah relasi dimana berasal dari 1NF dan setiap atribut non-primary-key bergantung sepenuhnya secara fungsional atau partial terhadap primary-key.
4.
Third Normal Form (3NF) Sebuah relasi yang berasal dari 1NF dan 2NF yang bukan non-primary-key yang bergantung secara transitif kepada primary-key.
5.
General Definition of 2NF Sebuah relasi yang berasal dari 1NF yang dimana terdapat atribut non candidate key yang bergantung secara fungsional atau partial kepada atribut candidatekey lainnya. Sehingga dapat disimpulkan bahwa atribut candidatekey merupakan bagian dari atribut candidatekey lainnya.
6.
General Definitionof3NF Sebuah relasi yang berasal dari 1NF dan 2NF yang dimana terdapat atribut noncandidatekey yang bergantung secara transitif
kepada atribut candidatekey lainnya. Sehingga
46 dapat disimpulkan bahwa atribut candidatekey merupakan bagian dari atribut candidatekey lainnya. 7.
Boyce-Codd NormalForm (BCNF) Sebuah relasi dikatakan BCNF jika dan hanya jika setiap determinant adalah candidate-key.
8.
FourthNormalForm (4NF) Sebuah relasi dikatakan 4NF jika dan hanya jika untuk setiap nontrivial multi valued dependency AÆ B, dimana A adalah candidate key.
9.
FifthNormalForm (5NF) Sebuah relasi dikatakan 5NF jika dan hanya jika untuk setiap join-dependency.
47
Gambar 2.3 Langkah - langkah normalisasi
2.1.9
Entity Relationship Modeling (ER-Modeling) M enurut Connolly dan Begg (2010, p371) ER-Modeling adalah sebuah
pendekatan top-down dalam merancang basis data yang dimulai dengan identifikasi data penting seperti entitas (entity) dan hubungan (relationship) diantara data dimana harus direpresentasikan di dalam model. Notasi yang
48 biasanya digunakan untuk menggambar ER adalah UM L (Unified Modeling Languange).
2.1.9.1
Entitas (Entity) M enurut Connolly dan Begg (2010, p372) entitas adalah
sebuah objek yang memiliki kesamaan property yang diidentifikasi oleh perusahaan yang memiliki eksistensi yang independen. M enurut Connolly dan Begg (2010, p383) Entitas dibagi menjadi 2, yaitu : •
StrongEntityType Suatu entitas yang tidak bergantung pada entitas lain. Biasanya disebut parent, owner dominant.
•
Weak Entity Type Suatu entitas yang bergantung pada entitas lain. Biasanya disebut child, dependent, subordinate.
2.1.9.2
Hubungan (Relationship) M enurut Connolly dan Begg (2010, p374) hubungan adalah
sekumpulan asosiasi yang mempunyai arti diantara entitas. Derajat hubungan adalah banyaknya entitas yang berpartisipasi di dalam hubungan.
49
Gambar 2.4 Contoh derajat hubungan
2.1.9.3
Atribut M enurut Connolly dan Begg (2010, p379) atribut adalah
sebuah property dari entitas atau hubungan. Attribute domain adalah satu set dari nilai – nilai yang diperbolehkan untuk dipakai oleh satu atau lebih atribut. Jenis – jenis atribut : 1.
Key Ada 3 jenis key, yakni :
50 •
CandidateKey Jumlah minimal atribut – atribut yang dapat mengidentifikasikan setiap kejadian yang unik.
•
Primary Key Candidatekey
yang
dipilih
untuk
mengidentifikasikan setiap kejadian yang unik. •
CompositeKey Candidatekey yang memiliki 2 atau lebih atribut.
2.
Single-value Atribut yang memiliki 1 nilai tunggal pada setiap entitas.
3.
Multi-value Atribut yang memiliki lebih dari 1 nilai pada setiap entitas.
4.
Composite Atribut yang terdiri dari bermacam – macam komponen dimana setiap komponen memiliki eksitensi independen.
5.
Derived Atribut yang menunjukan suatu nilai yang diturunkan dari nilai satu atribut atau sekumpulan atribut, tidak harus berasal dari entitas yang sama.
6.
Simple Attribute yang terdiri dari satu komponen dengan eksistensi independen.
51 2.1.9.4
Kendala S truktural (StructuralConstraints) M enurut Connolly dan Begg (2010, p385)Constraints harus
merefleksikan batasan hubungan seperti anggapan “real world”. Contohnya seperti constraints yang berisi kebutuhan property for rent yang harus memiliki owner dan setiap branch harus memiliki staff. Jenis constraints yang utama pada hubungan disebut multiplicity. Multiplicity adalah jumlah keterhubungan dari suatu entitas dengan entitas lain yang mungkin terjadi. Multiplicity membatasi setiap hubungan antar entitas. Derajat umum dari multiplicity adalah binary. Hubungan binary terdiri dari one-to-one (1:1), one-to-many (1:*), many-to-many (*:*).Multiplicity sebenarnya terdiri dari 2 constraints yang terpisah, yaitu : •
Cardinality M enjelaskan jumlah maksimal occurrence relationship yang diperbolehkan untuk satu entitas yang berpartisipasi dalam satu jenis hubungan.
•
Participation M enentukan
apakah
seluruh
atau
sebagian
entity
occurrences yang berpartisipasi dalam sebuah hubungan.
52 2.1.10
Pengertian SoftwareEngineering M enurut Pressman (2005, p28-47), software engineering adalah
kegiatan yang menghubungkan antara proses, metode, dan alat dalam pembuatan suatu software. Ada berbagai macam model proses yang bisa digunakan dalam pengembangan software, dan masing – masing memiliki kelemahan dan kelebihannya masing – masing. Namun dari sekian banyak model proses tersebut memiliki beberapa tahapan yang sama dalam aturan, konsep dan metode untuk pengembangannya.
2.1.11
Manajemen Proses Model M odel / cara untuk manajemen proses kegiatan softwareengineering
ada bermacam - macam,
masing -
masing memiliki kelebihan
dan
kekurangannya. Beberapa diantaranya sebagai berikut:
2.1.11.1 Waterfall / linearmodel M odel pengembangan software ini berurutan dari analisis, perancangan, coding, pengujian, dan pendukung. Aktifitas didalamnya terdiri dari : •
Pencarian kebutuhan dan analisis.
•
Perancangan pada struktur data, software-architecture, interface, dan rincian prosedur.
53 •
Pembuatan code program. Jika pada saat perancangan dilakukan dengan sangat rinci dan akurat, maka coding mungkin bis a diotomatisasi.
•
Pengujian dilakukan mulai dari setiap fungsi dari softwar e tersebut sampai pada gabungan dari fungsi – fungsi tersebut dalam membentuk fungsi yang lebih luas lagi.
•
Pendukung dapat berupa update karena software itu sendiri mungkin masih mengalami masalah atau sedang dikembangkan lagi.
Kelebihan dan kekurangan: •
Pada kenyataannya, project – project jarang yang bisa berjalan dengan tahapan yang berurutan, biarpun linear / waterfallmodel ini memperbolehkan pengulangan namun tetap menjadi masalah ketika perubahan harus dilakukan.
•
Client sulit untuk mengutarakan semua kebutuhannya pada suatu waktu tertentu, sehingga umumnya akan daftar kebutuhan akan bertambah seiring perkembangan waktu.
•
Client harus bersabar karena software hanya akan jadi saat akhir masa pengembangan, dan masalah yang tidak diketahui saat awalbisa menyebabkan masalah besar jika baru ditemukan saat akhir masa pengembangan.
54 •
M odel ini mudah untuk diterapkan dan tidak memerlukan perencanaan yang kompleks.
•
M odel ini juga banyak digunakan sebagai acuan untuk proses model lainnya karena komponen aktifitas yang dilakukannya memang sudah benar.
2.1.11.2 Spiral Proses model yang menggabungkan model iterative dari prototyping dengan linear / waterfall model. Tahapan dari proses model ini meliputi: •
Komunikasi dengan pelanggan. M embangun komunikasi yang efektif antara pengembang dan pelanggan.
•
Perencanaan. M endefinisikan sumber daya, waktu dan informasi lain yang berhubungan dengan pengembangan perangkat lunak.
•
Analisa resiko. M enganalisa resiko secara teknis dan manajemen.
•
Perekayasaan. M embuat beberapa prototype aplikasi yang direncanakan.
•
Konstruksi dan release. Tahapan untuk membangun, menguji, implementasi dan menyediakan dukungan bagi pengguna.
55 •
Evaluasi pelanggan M endapatkan umpan balik dari pelanggan berdasarkan dari evaluasi atas representasi perangkat lunak yang dibuat pada saat perekayassan.
Setelah itu, setiap tahapannya akan berulang kembali sampai pelanggan merasa puas atau cocok dengan aplikasi yang diberikan. M odel ini baik untuk sistem dengan skala besar, untuk sistem dengan skala kecil biasanya akan menyebabkan masalah. M odel ini juga memberikan kesempatan bagi pengembang untuk membuat prototype sehingga bisa lebih akurat dalammemenuhi kebutuhan pelanggan.
Jika
diterapkan
dengan
tepat
akan
mengurangi
kemungkinan terjadinya masalah.
2.1.11.3 Prototyping M odel ini mirip dengan model spiral dimana proses akan berulang, namun dalam model ini, prototype dari aplikasi akan dibuat dan ditawarkan ke client untuk diuji, jika masih ada kekurangan dan kebutuhan yang kurang lengkap maka akan segera diperbaiki. Tahapan pada model proses ini diawali dengan pencarian kebutuhan / requirement gathering, yang dilanjutkan dengan analisa dan desain, tahapan – tahapan tersebut dilakukan dengan singkat karena prototype dari software tersebut harus cepat selesai dan diberikan
ke
client
untuk
diuji
lagi.
Setelah
desain,
56 codingpundilakukan, dan setelah prototypeselesai, akan diberikan ke clientlagi.
M emang hampir selalu prototype pertama dari
suatu kegiatan pembuatan software akan terbuang percuma karena biasanya selalu “terlalu pelan, besar, dan aneh” yang menyebabkan pada saat iterasi kedua, aplikasi harus dibuat dari awal lagi. Namun hal ini bukanlah masalah besar karena developer biasanya sudah memiliki gambaran akan apa yang harus dibuat dan cara yang lebih baik bagaimana agar software bisa lebih cepat dibangun dan lebih baik dari pada sebelumnya.Setiap iterasi akan semakin meningkatkan kualitas software dan akan semakin tepat sasaran terhadap kebutuhan client. Kelebihandan kekurangan yang dihadapi prototyping ini antara lain karena pada saat prototype yang ditawarkan ke client dan client sudah setuju dengan aplikasi tersebut sehingga aplikasi tersebut dinyatakan selesai, masalah terletak pada prototype tersebut yang jikamana prototype itu masih dalam iterasi awal, maka protype tersebut mungkin masih memiliki kualitas yang kurang baik karena konsep model prototypeadalah membuat prototype dengan cepat dan mengesampingkan kualitas.
2.1.12
Use Case Diagram Berdasarkan Carol Britton dan Jill Doake (2005, p40) Model use case
menggambarkan fungsionalitas dari suatu sistem, misalnya apa yang dikerjakan sistem untuk pengguna dan apa kegunaannya bagi pengguna. M odel use case
57 dimaksudkan untuk dapat mengatur, menyusun dan mendokumentasikan informasi yang didapat dari aktivitas analisa kebutuhan pelangggan. Dengan adanya use case, maka informasi yang disediakan dari usecase tersebut dapat dipergunakan oleh model lain, seperti sequencediagram. Usecase juga berguna pada tahapan testing. Usecase pada awal pengembangan proyek berguna untuk komunikasi dengan pelanggan, tanpa informasi yang berkaitan dengan perancangan termasuk di dalam usecasetersebut.
2.1.13
Sequence Diagram Berdasarkan Carol Britton dan Jill Doake (2005, p156-162) Sequence
diagram menunjukkan dengan jelas dan sederhana alur dari control antara objek – objek yang diperlukan untuk menjalankan suatu skenario. Sebuah skenario menjelaskan langkah – langkah berurutan yang menggambarkan satu instance dalam usecase. M isalkan langkah – langkah yang diperlukan untuk menyimpan data pegawai baru. Sequence diagram menunjukkan bagaimana langkah – langkah tersebut diterjemahkan menjadi pengiriman pesan antar objek. Berbeda
dengan
usecasediagram
yang
diperuntukkan
untuk
komunikasi dengan pelangan, sequencediagram lebih dimaksudkan untuk komunikasi antar sesama pengembang dalam proses pengembangan proyek. Sequencediagram memudahkan pengembang untuk melakukan pemrograman karena sequencediagram memberikan gambaran prosedur aliran data antar kelas sehingga pada tahap pemrograman pengembang tidak perlu lagi memikirkan langkah apa selanjutnya yang perlu dilakukan, melainkan hanya perlu mengacu pada urutan di sequencediagram.
58 2.1.14
ClassDiagram Berdasarkan Carol Britton dan Jill Doake (2005, p117) Classdiagram
merupakan
sentral
dari
analisaobject-orienteddan
perancangan,
serta
menjelaskan softwarearchitecture. Classdiagram digunakan untuk modeling higher-levelstructures yang terdiri dari koleksi class - class menjadi packages. Classdiagram didapat dari proses iterasi yang sukses pada setiap tahapan saat proses pengembangan software. Tahapan dalam membuat classdiagram adalah: 1.
Identifikasi objek dan class turunan
2.
Identifikasi atribut
3.
Identifikasi relasi antara kelas
4.
Buat datadictionary
5.
Buat CRC cards
6.
Pisahkan antara operasi dengan atribut
7.
Tuliskan spesifikasi proses untuk mendeskripsikan operasi
2.1.15
Rich Picture M enurut M athiassen (2000, p26), rich picture adalah gambaran
informasi yang memberikan pemahaman seorang ilustrator dari suatu situasi. Rich picture memperlihatkan aspek penting dari situasi yang ditentukan oleh ilustrator. Rich picture harus memberikan suatu uraian dari situasi yang memungkinkan beberapa penjelasan alternatif.
59 2.2
Teori – Teori Khusus 2.2.1
Tata Kelola Kerekayasaan 2.2.1.1
Definisi Perekayasa Perekayasa adalah jabatan yang mempunyai ruang lingkup,
tugas, tanggungjawab dan wewenang untuk melakukan kegiatan kerekayasaan
dalam suatu kelompok kerja fungsional pada bidang
Penelitian Terapan, Pengembangan, Perekayasaan dan Pengoperasian. Yang diduduki oleh PNS dengan hak dan kewajiban yang diberikan secara penuh oleh pejabat yang berwenang (PerM enPAN No.219/M .PAN/7/2008). Jabatan Fungsional ini mulai dikembangkan berdasarkan Surat Keputusan M enteri Negara Pendayagunaan Aparatur Negara Nomor 89 tahun 1991 dengan instansi pembina adalah Kementerian Riset dan Teknologi. Pada awalnya, penjenjangan dalam jabatan fungsional terdiri dari 9 (sembilan) jenjang. Setelah dikeluarkannya Keppres
Nomor
makapenjenjangan
87
tahun
dalam
1999
jabatan
tentang
Rumpun
fungsional
baik
Jabatan, keahlian
maupunketrampilan menjadi 4 (empat). Pada tahun 2004, M enteri Negara Pendayagunaan Aparatur Negara mengeluarkan Keputusan Nomor: Kep/193/M .PAN/11/2004 tentang Jabatan Fungsional Perekayasa dan Angka Kreditnya dimana Instansi Pembina jabatan fungsional ini dialihkan dari Kementerian Riset dan Teknologi ke Badan Pengkajian dan Penerapan Teknologi (BPPT). Selanjutnya, BPPT bersama dengan Badan Kepegawaian
60 Negara
(BKN)
menerbitkan
Peraturan
Bersama
Nomor:161/KA/BPPT/X/2005 dan Nomor: 19B Tahun 2005 tentang Petunjuk Pelaksanaan Jabatan Fungsional Perekayasa dan Angka Kreditnya. Kemudian, BPPT menerbitkan Petunjuk Teknis Nomor: 150/Kp/BPPT/V/2007 tentang Jabatan Fungsional Perekayasa dan Angka Kreditnya. Dalam perkembangannya, BPPT sebagai instansi pembina berkepentingan untukmelakukan evaluasi dan penyempurnaan sistem tata
kerja
Kementerian
kerekayasaan Negara
yang
selanjutnya
Pendayagunaan
diusulkan
Aparatur
Negara.
kepada Hasil
penyempurnaan ini tertuang dalam Peraturan M enteri Pendayagunaan Aparatur Negara Nomor: PER/219/M .PAN/7/2008 tentang Jabatan Fungsional Perekayasa dan Angka Kreditnya. Selanjutnya, BPPT bersama
dengan
BKN
menyusun
Peraturan
Bersama
yang
ditandatangani oleh M enteri Negara Riset dan Teknologi dan Kepala BKN Nomor: 13/M /PB/VIII/2008 dan Nomor 22 Tahun 2008 tentang Petunjuk Pelaksanaan Jabatan Fungsional Perekayasa dan Angka Kreditnya. Dan dilanjutkan dengan diterbitkannya Petunjuk Teknis Jabatan Fungsional Perekayasa dan Angka Kreditnya ini.
2.2.1.2
Definisi Teknologi Teknologi adalah cara atau metode serta proses atau produk
yang dihasilkan dari penerapan dan pemanfaatan dari berbagai disiplin ilmu
pengetahuan
yang
menghasilkan
nilai
bagi pemenuhan
61 kebutuhan, kelangsungan dan peningkatan mutu kehidupan manusia (UU 18 Tahun 2002 Sisnas Iptek ). Teknologi adalah pengendalian alam melalui
penggabungan
kekuatan- kekuatannya menuju
suaturancangan yang bisa diwujudkan oleh pemahaman manusia. Berbagai disiplin ilmu pengetahuan ini diwujudkan dalam lima unsur Teknologi yaitu :
Gambar 2.5 Diagram 5 unsur Teknologi
2.2.1.3 Kegiatan Kerekayasaan 2.2.1.3.1 Penelitian Terapan (R) Penelitian
adalah
kegiatan
yang
dilakukan
menurut kaidah dan metode ilmiah secara sistimatis untuk memperoleh informasi, data, dan keterangan yang berkaitan dengan pemahaman dan pembuktian kebenaran atau ketidakbenaran suatu asumsi dan / atau hipotesis di bidang ilmu pengetahuan dan teknologi serta menarik kesimpulan ilmiah bagi keperluan kemajuan ilmu pengetahuan dan teknologi (UU 18 TAhun 2002 Sisnas Iptek).
62 Penelitian dilaksanakan secara: •
Teoritik, melalui model matematika.
•
Experimental melalui percobaan laboratorium, explorasi, observasi, survey. Penelitian dilaksanakan secara bertahap, mulai
dengan pengumpulan data, pengolahan data, interpretasi hasil pengolahan data dan penarikan kesimpulan. Penelitian
Terapanadalah
kegiatan
penelitian
multi disiplin ilmu pengetahuan yang dapat dilanjutkan melalui kegiatan pengembangan dan perekayasaan.
2.2.1.3.2 Pengembangan (D) Pengembangan adalah kegiatan ilmu pengetahuan dan teknologi yang bertujuan memanfaatkan kaidah dan teori ilmu pengetahuan yang telah terbukti kebenarannya untuk meningkatkan fungsi, manfaat dan aplikasi ilmu pengetahuan
dan
teknologi
yang
telah
ada
atau
menghasilkan teknologi baru (UU 18 TAhun 2002 Sisnas Iptek. Juknis Perekayasa 2008). Kegiatan melakukan pengembangan suatu hasil penelitian, secara experimental maupun teoritik, untuk menarik manfaat yang bisa diterapkan melalui proses :
63 1.
Desain konseptual suatu Produk Perekayasaan. (Engineering
Product)
yangberkaitan
dengan
hasilPenelitian sebelumnya. 2.
Desain konseptual suatu Sistem Perekayasaan. (Engineering Systems) berkaitan
dari gejala alami yang
dengansubjek
hasil
penelitian
sebelumnya. Pengembangandilaksanakan
secara
bertahap,
mulai dengan desain konseptual, desain awal, uji simulasi sub-skala serta komponen – komponennya di laboratorium hingga penetapan hasil desain.
2.2.1.3.3 Perekayasaan (E) Perekayasaan adalah kegiatan penerapan ilmu pengetahuan dan teknologi dalam bentuk desain dan rancang bangun untuk menghasilkan nilai, produk, dan/atau proses produksi dengan mempertimbangkan keterpaduan sudut pandang, dan/atau konteks teknikal, fungsional, bisnis, sosial budaya, dan estetika ( UU No. 18 tahun 2002 sisnas iptek ). Kegiatan
perekayasaan
merealisasikan
hasil
pengembangan menjadi produk desain melalui proses desain rinci, prototyping, uji sertifikasi dan uji standardisasi. Produk desain adalah produk perekayasaan ataupun sistem
64 perekayasaan, yang dapat berupa perangkat keras ataupun perangkat lunak. Uji Sertifikasi dari suatu produk desain adalah uji kinerja dengan penekanan pada terpenuhinya prestasi produk dan persyaratan keselamatan dan keandalannya. Uji ini dilaksanakan oleh lembaga resmi pemerintah
atau
lembaga di luar negeri yang berwenang dalam bidang produk desain tersebut. Uji Standardisasi dari suatu produk desain adalah uji persyaratan keselamatan dan keandalannya menurut standard minimal yang ditetapkan oleh lembaga negara yang berwenang.
2.2.1.3.4 Pengoperasian (O) Kegiatan melakukan pengoperasian suatu produk atau sistem perekayasaan yang meliputi uji operasional & evaluasi, pemasaran, penjualan serta pelayanan pasca jual, modifikasi & perawatan untuk tujuan non komersial maupun komersial.
Produk
atau
Sistem
Perekayasaan
yang
dioperasikan dapat berupa produk / sistem yang diadakan dari luar atau produk / sistem sebagai hasil Perekayasaan sendiri. Pengoperasian dilaksanakan secara bersama-sama antara lembaga Perekayasaan dengan Industri (Jasa atau
65 Manufacturing), untuk mengevaluasi hasil produk atau sistem perekayasaan tersebut.
2.2.1.4
Kategori Kegiatan Kerekayasaan
Kegiatan Kerekayasaan dapat dikategorikan sebagai berikut: •
•
•
Penelitian Terapan: o
Eksplorasi, Survey, Observasi
o
Penelitian Lanjut Teoritikal, Eksperimental
o
Studi Banding Sistem Teknologi
o
Studi Kelayakan Banding Sistem Teknologi
Pengembangan: o
Pengembangan Parametrik Sistem Teknologi
o
Pengembangan Kebijakan Teknologi
o
Desain Konseptual SW / HW
o
Desain Awal SW / HW
o
Uji Laboratorium (sub-scale) & simulasi
Perekayasaan: o
Desain Rinci SW / HW [ uji lab & simul ]
o
Uji Kinerja Prototype atau Produk tersertifikasi SW/HW
o
Uji Standarisasi, Audit Teknologi, Uji Sertifikas i SW / HW
66 •
Pengoperasian: o
Uji Operasional & Evaluasi Produk SW / HW
o
Produksi, Perakitan&Integrasi Produk
yang
tersetifikasi SW / HW
2.2.2
o
Engineering Services SW / HW
o
Marketing Sales SW / HW
o
Routine Operation SW / HW
o
M odifikasi & Perawatan SW / HW
Tools yang digunakan 2.2.2.1
PHP File yang hanya berisi kode HTM L tidak mendukung
pembuatan aplikasi yang melibatkan basis data karena HTM L dirancang untuk menyajikan informasi yang besifat statis (tampilan yang isinya tetap sehingga web master atau penanggung jawab web melakukan perubahan isi). Kemudian muncul pemikiran untuk membuat
suatu
perantara yang memungkinkan
aplikasi bisa
menghasillkan sesuatu yang bersifat dinamis dan berinteraksi dengan basis data. Dari sini lahirlah berbagai perantara seperti PHP, ASP, dan JSP.
67 File Sesuatu.php
Web Server
M esin PHP
Server Basis Data
Kode HTM L
Komputer pengguna
Gambar 2.6 Mekanisme kerja web dengan PHP
Pada
gambar
2.6,
komputer
pengguna
mengajukan
pemintaan halaman ke Web Server. Setelah Web Server menemukanfile yang diminta dari komputer pengguna, file tersebut diarahkan kemesin PHP untuk diproses. Bila PHP mendeteksi adanya interaksi dengan basis data, maka PHP akan melakukan permintaan pada server basis data dan hasil dari server basis data diproses lebih lanjut. Setelah semua isi file diproses, maka hasilnya (berupa suatu kode HTM L)diserahkan ke web server. Selanjutnya, web server mengirimkan kode HTM L kepada pemakai. Berdasarkan penjelasan di atas, terlihat bahwa kode sumber PHP tidak akan diketahui oleh pemakai karena pemakai hanya menerima kode hasil pemrosesannya. Dengan cara seperti ini
68 kerahasiaan
kode
sumber
dapat
terjaga.
Tidak
perlu
ada
kekhawatiranbahwa pemakai bisa melihat password yang digunakan untuk mengakses basis data. M enurut Abdul Kadir (2009,p5), pemrosesan seperti di atas disebut dengan sebutan pemrosesan di sisi server. Adapun pemrosesan kode HTM L oleh browser dikenal dengan istilah pemrosesan di sisi pemakai. M enurut Luke Welling dan Laura Thomson (2001,p2), PHP adalah bahasa pemrograman sisi server yang dirancang secara spesifik untuk website. Dalam halaman HTM L dapat disisipkan kode PHP yang akan dieksekusi setiap kali halaman dikunjungi. Kode PHP akan diterjemahkan
di web
server
dan
menjalankan
HTM L atau
hasilkeluaran lain yang akan dapat dilihat oleh pengunjung. PHP ditemukan pada tahun 1994 dan merupakan hasil pekerjaan dari 1 orang, yaitu Rasmus Lerdof. PHP diadopsi oleh orang – orang berbakat lainnya dan telah direvisi sebanyak 3 kali untuk mencapai hasil yang maksimal. Sekarang, PHP telah digunakan setidaknya 5 juta domain di seluruh dunia dan angka ini terus tumbuh secara signifikan. PHP adalah produk open-source sehingga dapat diakses, digunakan dan didistribusikan kembali oleh siapapun tanpa dikenakan biayaapapun. Awalnya PHP merupakan singkatan dari Personal Home Page, tapi mengalami perubahan untuk menyesuaikan dengan konvensi penamaan GNU menjadi PHP Hypertext Preprocessor.
69 Beberapa pesaing utama dari PHP adalah Perl, ASP, JSP dan Allaire Cold Fusion. M enurut Luke Welling dan Laura Thomson (2001,p4), dibandingkan dengan produk – produk pesaing ini, PHP memiliki beberapa kelebihan dalam bidang performa atau kehandalan, antar-muka terhadap banyak sistem basis data, built-in libraries, biaya yang rendah, kemudahan pembelajaran dan penggunaan, portabilitas, serta ketersediaan kode sumber. •
Kehandalan PHP sangat efisien karena sekalipun hanya menggunakan sebuah server yang tidak mahal, website yang dibangun dengan
menggunakan
PHP
dapat
melayani
jutaan
pengunjung setiap harinya. •
Integrasi basis data PHP dapat dihubungkan dengan banyak sistem basis data. Selain M ySQL, PHP dapat juga dihubungkan dengan Oracle, Informix, Sybase Databases, Postgre SQL, dan lain sebagainya.
•
Built-in libraries Karena dirancang untuk digunakan dalam website, PHP memiliki banyak fungsi – fungsi built-in untuk menjalankan banyak tugas yang berhubungan dengan website, seperti misalnya melakukan manipulasi gambar GIF, mengirim email, dan sebagainya.
70 •
Biaya PHP dapat digunakan dengan gratis, karena itu dilihat dari segi biaya, PHP sangat ekonomis.
•
Kemudahan pembelajaran Sintaks dari PHP didasarkan atas bahasa pemrograman lain, terutama C dan Perl. Jadi, penggunaan sintaks PHP tidak sulit dipelajari bagi mereka yang telah mengerti mengenai C dan Perl.
•
Portabilitas PHP dapat dijalankan di berbagai sistem operasi. Kode PHP dapat ditulis pada sistem operasi yang gratis seperti Linux dan FreeBSD, maupun sistem operasi berbayar seperti Solaris.
•
Kode program M odifikasi terhadap kode PHP dapat dilakukan dengan bebas, tidak seperti bahasa pemgrograman berbasis website lain yang komersial.
2.2.2.2
Pengenalan MyS QL M enurut Luke Welling dan Laura Thomson (2001,p3),
MySQL (dibaca mai-es-kiu-el) adalah sistem manajemen basis data relasional yang sangat cepat, dan efektif. Sebuah basis data memungkinakn
penyimpanan,
pencarian,
penyusunan
dan
71 pengambilan data secara efisien.Server MySQL mengatur akses kedata untuk memastikan beberapa pengguna dapat menggunakan data tersebut secara konkruen, untuk menyediakan akses yang cepat terhadap basis data, dan memastikan hanya pengguna yang telah diberikan otoritas mengakses data yang dapat memperoleh hak akses ke data. Karenanya, MySQL adalah sebuah multi-user server dan multi-threaded server. MySQL menggunakan SQL ( Structured Query Language ), bahasa query basis data standar yang digunakan di dunia. M ySQL dipublikasikan sejak tahun 1996, tetapi dikembangkan sejak tahun 1979. Sekarang M ySQL telah mendapat penghargaan Linux Journal Reader’s Choice Award selama 3 tahun. MySQL sekarang merupakan Open Source Software, namun jika dibutuhkan lisensi komersial MySQL juga tersedia. Beberapa pesaing utama MySQl adalah PostgresSQl, M icrosoft SQL Server,dan Oracle. Namun menurut Luke Welling dan Laura
Thomson(2001,p5),
dibandingkan
dengan
semua
pesaingnya,MySQL memiliki kekuatan dalam bidang performa yang tinggi, biaya yang rendah,
mudah
dikonfigurasi dan mudah
dipelajari,portable, serta kode sumbernya tersedia. •
Kehandalan MySQL tidak disangkal lagi dapat memberikan performa yang sangat cepat
72 •
Biaya rendah MySQL dapat digunakan tanpa mengeluarkan biaya karena merupakan
Open
Source
Software.
Namun
apabila
dibutuhkan lisensi khusus, maka lisensi M ySQL dapat diperoleh dengan biaya yang amat kecil. •
Kemudahan penggunaan Kebanyakan basis data saat ini menggunakan SQL dan MySQL dapat digunakan dengan menggunakan SQL, maka tidak sulit menggunakan MySQL. MySQL juga memiliki kelebihan lain, yaitu lebih mudah dalam pengaturannya dibandingkan dengan produk – produk lain yang sejenis.
•
Portabilitas MySQL dapat dijalankan di sistem operasi yang berbeda – beda, mulai dari yang gratis, seperti UNIX, sampai yang berbayar seperti M icrosoft Windows.
•
Kode sumber Seperti PHP, kode sumber untuk M YSQL dapat didapatkan dan diubah.