BAB 2 LANDASAN TEORI 2.1 Teori-Teori Umumlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2011-1-00301-if...
Transcript of BAB 2 LANDASAN TEORI 2.1 Teori-Teori Umumlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2011-1-00301-if...
7
BAB 2
LANDASAN 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
Menurut McLeod 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
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.
Menurut Connolly dan Begg (2010, p65), basis data
adalahsebuah kumpulan data yang berhubungan secara logikal
dandeskripisinya, dirancang untuk memenuhi kebutuhan informasi dari
sebuah organisasi.
Menurut 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
Menurut 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
Menurut 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.
Menurut Connolly (2010,p316), sistem didefinisikan sebagai
deskripsi mengenai ruang lingkup dan batasan dari sistem basis data
dan pandangan user.
2.1.2 Sistem Informasi
Menurut McLeod 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 Machines (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 1980-
an,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 Moore 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 on-
line. 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. Manajer
merupakan sekelompok penting pengguna karena informasi sangat menentukan
dalam pekerjaan mereka. Manajer ada di tingkat organisasi perusahaan yang
berbeda dan beragam area bisnisnya. Namun, apapun kedudukan mereka manajer
menjalankan fungsi dan peran manajemen tertentu. Mereka 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 Sistem Informasi.
2.1.4 File Based System
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 System)
Menurut Connolly dan Begg (2010,p66), DBMS adalah sebuah piranti
lunak yang memungkinkan pengguna untuk mendefinisikan, membuat,
memelihara, dan mengontrol akses basis data.
Menurut C.J. Date (2000,p43), DBMS adalah piranti lunak yang
menangani semua akses ke basis data.
Komponen dari DBMS menurut Connolly dan Begg (2005, p69) adalah :
Gambar 2.1 Komponen DBMS
1. Perangkat Keras
DBMS 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 DBMS 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. DBMS yang digunakan dapat memiliki Fourth
Generation Language yang berfungsi untuk mempercepat
prosespembuatan program aplikasi.
3. Data
Data merupakan komponen terpenting dalam DBMS, 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 DBMS
• Menggunakan fasilitas DBMS atau program aplikasi tertentu
17
• Menjalankan atau mematikan DBMS
• Membuat backup dari basis data
• Mengatasi kegagalan perangkat keras atau piranti lunak,
termasuk identifikasi akan komponen yang gagal, cara
memperbaiki komponen tersebut, memperbaiki komponen
tersebut, dan pemulihan basis data.
• Mengubah struktur tabel, mengatur basis data pada banyak
media penyimpanan, peningkatan performa, atau
pengarsipan.
5. Manusia
Terdapat 4 jenis pengguna yang berpartisipasi di dalam lingkungan
DBMS, 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 DBMS, 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 DBMS dibagi menjadi 2, yaitu :
1. Naive users, merupakan pengguna yang belum
pernah menggunakan DBMS tersebut. Mereka
berhubungan dengan basis data melalui aplikas i
khusus yang dirancang sesederhana mungkin.
2. Sophisticated users, merupakan kebalikan dari
naive users. Mereka sudah terbiasa menggunakan
DBMS dan fasilitasnya. Oleh karena itu, mereka
langsung menggunakan high-level query language
untuk melakukan operasi-operasi dalam basis
data.
Menurut Connolly dan Begg (2010,p77) keuntungan dari DBMS :
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. Meningkatkan 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. Meningkatkan 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 DBMS. Standar – standar ini
mencakup format data, aturan penamaan, standar dokumentasi,
prosedur update dan hak akses.
8. Skala ekonomi
Menggabungkan semua data operasional dalam sebuah organisasi
menjadi sebuah basis data dan membuat satu set aplikasi yang
menggunakan satu sumber data akan menghemat biaya.
9. Menyeimbangkan 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. Meningkatkan akses dan respon data
Sebuah sistem berpotensi memiliki fungsi – fungsi yang sangat
kompleks. Banyak DBMS 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. Meningkatkan produktivitas
DBMS 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. Meningkatkan 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
DBMS memisahkan antara deskripsi data dengan aplikasi sehingga
aplikasi terbebas dari pengaruh perubahan data yang dikenal sebagai
data independence.
13. Meningkatkan concurrency
DBMS 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. Meningkatkan pelayanan terhadap backup dan recovery
Untuk menghindari kegagalan sistem komputer atau program aplikasi
maka dibuatlah pelayanan backup secara teratur. Apabila backup
tersebut gagal, DBMS masih menyediakan fasilitas untuk recovery
atau pengembalian data yang hilang sebagai minimalisasi dari data
yang hilang.
23
Menurut Connolly dan Begg (2010,p80) kekurangan dari DBMS :
1. Kompleksitas
Ketentuan dari sebuah fungsionalitas yang baik menjadikan sebuah
DBMS sebuah piranti lunak yang sangat kompleks. Kegagalan untuk
memahami sistem dapat mengakibatkan perancangan yang kurang
baik.
2. Ukuran
Funsionalitas yang kompleks menjadikan DBMS sebuah piranti lunak
yang membutuhkan media penyimpanan dan jumlah memori yang
cukup besar untuk menjalankan DBMS secara efisien.
3. Harga dari DBMS
DBMS memiliki harga yang relatif mahal.
4. Tambahan biaya untuk perangkat keras
Seiring dengan berkembangnya ukuran data di dalam DBMS, maka
semakin besar pula biaya yang diperlukan untuk menyediakan
perangkat kerasnya.
5. Biaya untuk konversi
Untuk mengubah data dari sistem non-DBMS menuju sistem DBMS
memerlukan biaya.
6. Performa
Dibandingkan sistem berbasis file, DBMS 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 DBMS
tersebut. Kegagalan dari komponen – komponen tertentu dapat
menyebabkan berhentinya operasional sistem.
Menurut C.J. Date (2000,p44), fungsi DBMS yaitu :
1. Data Definition
DBMS 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
DBMS harus dapat mengatur permintaan dari pengguna untuk
mengambil atau mengubah data atau memasukkan data ke dalam basis
data.
3. Data Security And Integrity
DBMS 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
DBMS atau piranti perangkat lunak lain yang berhubungan (biasanya
disebut dengan transcation manager) harus menjalankan pengaturan
data recovery dan concurrency.
25
5. Data Dictionary
DBMS 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
DBMS 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)
DML adalah bahasa yang digunakan untuk memanipulasi
data yang ada di dalam basis data menurut Connolly dan
Begg(2010,p183).
Operasi DML meliputi :
• Memasukan atau menambah data baru (Insert)
26
• Mengubah isi data (Update)
• Menghapus isi data (Delete)
• Mengambil data (Select)
2.1.7 Database System Development Life Cycle
Menurut 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).
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. Maka
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 (System 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 Manager atau Supervisor), atau area aplikasi perusahaan
(seperti HRD, marketing, inventory). Sebuah sistem basis datamungkin
memiliki satu atau lebih pandangan pengguna.
Mengidentifasikan 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.
Menurut Connolly dan Begg (2010, p344), terdapat 5 jenis
fact finding yang umum :
1. Mengevaluasi Dokumen
Mengevaluasi 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 teknik yang paling umum
digunakan.Wawancara digunakan ketika kita 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.
Merupakan tahapan pertama untuk merancang sebuah model
data yang digunakan dalam sebuah perusahaan, yang
terlepas dari semua pertimbangan fisikal. Pertimbangan
32
fisikal yang dimaksud adalah DBMS, program aplikasi,
bahasa pemrograman,platform perangkat keras, dll.
Menurut Connolly dan Begg (2010, p468), langkah-langkah
dalam membuat perancangan basis data konspetual, yaitu :
1. Mengidentifikasi 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. Mengidentifikasi tipe hubungan.
Mengidentifikasikan hubungan penting antara tipe
entitas yang sudah diidentifikasi. Gunakan entity
relationship modeling untuk menggambarkan
entitas dan hubungannya. Tentukan multiplicity
constraint dari tipe hubungan yang ada.
Dokumentasikan tipe hubungan.
33
3. Mengidentifikasi 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. Menentukan domain atribut.
Tentukan domain untuk atribut pada model
konseptual. Dokumentasikan domain atribut.
5. Menentukan 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. Mempertimbangkanuntuk menggunakanenhanced
modeling concepts (optional).
Pertimbangkan penggunaan dari konsep modeling
yang lebih tinggi, seperti spesialisasi/generalisasi,
agregasi, dan komposisi.
34
7. Memeriksa redudansi.
Periksa keberadaan redudansi pada model.
Khususnya, memeriksa kembali hubungan one-to-
one (1:1), menghilangkan hubungan redudansi,
dan pertimbangkan dimensi waktu.
8. Memvalidasi model konseptual dan transaksi
pengguna.
Memastikan bahwa model data konseptual
mendukung transaksi yang dibutuhkan.Dua
pendekatan yang mungkin untuk memvalidas i
antara lain dengan mendeksripsikan transaksi dan
menggunakan jalur transaksinya.
9. Meninjau kembali data konseptual dan pengguna
Meninjau kembali model data konseptual dengan
pengguna untuk memastikan bahwa model telah
merepresentasikan kebutuhan data perusahaan
dengan benar.
2. Perancangan Basis Data Logikal.
Merupakan tahapan dalam merancang model data yang
digunakan dalam sebuah perusahaan, yang terlepas dari
DBMS dan pertimbangan fisikal yang lain. Pada tahap ini,
model data yang diperoleh dari perancangan konseptual
diubah menjadi model data logikal. Model data ini menjadi
dasar dari tujuan basis data, seperti relational data model.
35
Menurut Connolly dan Begg (2010, p468),
langkah-langkah dalam membuat perancangan basis data
logikal, yaitu :
1. Mendapatkan 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 bahwa
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 Pemetaan Hubungan Strong Entity Membuat hubungan yang mengandung
semua simple attribute.
Weak Entity Membuat 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 merepresentasi-
kan sisi “many”.
1:1 Binary Relationship
(a) Mandatory participation on both sides
(b) Mandatory participation on one sides
(c) Optional participation on both sides
(a) Mengkombinasikan entitas menjadi
satu hubungan.
(b) Menentukan primary key pada sisi
“optional” berlaku sebagai foreign key
pada sisi “mandatory”.
(c) Bebas pada kedua sisi.
Superclass/subclass relationship Lihat tabel 2.2
*:* Binary relationship, complex
relationship
Membuat 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 Membuat hubungan untuk merepresentasi-
kan 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 Disjoint Constraint Pemetaan Hubungan Mandatory Nondisjoint {and} Single relation (dengan satu
atau lebih diskriminator untuk
membedakan tipe dari setiap
tuple).
Optional Nondisjoint {and} Two relation : sebuah
hubungan untuk superclass
dan sebuah hubungan untuk
semua subclass (dengan satu
atau lebih banyak diskrimi-
nator untuk membedakan tipe
dari setiap tuple).
Mandatory Disjoint {or} Many relations : sebuah
hubungan untuk setiap
superclass atau class yang
dikombinasikan
38
Optional Disjoint {or} Many relations : sebuah
hubungan untuk superclass
dan sebuah hubungan untuk
setiap subclass.
4. Memeriksa batasan-batasan integritas.
Identifikasikan batasan-batasan integritas, seperti
spesifikasi data yang dibutuhkan, attribute domain
constraints, multiplicity,entityintegrity, referensial
integrity, dan general constraints.
Dokumentasikan semua batasan-batasan
integritas.
5. Meninjau kembali model data logikal
denganpengguna.
Meninjau kembali model data logikal dengan
pengguna untuk memastikan bahwa model telah
merepresentasikan kebutuhan data perusahaan
dengan benar.
6. Menggabungkan model data logikal menjadi
model global.
Metode 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. Memeriksa perkembangan yang akan datang.
Menentukan apakah ada perubahan yang
signifikan yang mungkin dapat terjadi di masa
mendatang, dan menilai apakah model data
logikal dapat mengakomodasi perubahan tersebut.
3. Perancangan Basis Data Fisikal
Merupakan 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.
Menurut Connolly dan Begg (2010, p468), langkah-langkah
dalam membuat perancangan basis data fisikal, yaitu :
40
1. Mengubah data model logikal ke DBMS tujuan.
Menghasilkan skema hubungan basis data yang
dapat diimplementasikan di dalam DBMS tujuan
di dalam model data logikal.
a. Merancang relasi dasar.
Memutuskanbagaimana merepresent-
asikan relasi dasar yang telah
diidentifikasi didalam DBMS tujuan.
Dokumentasikan rancangan dari relasi
dasar.
b. Merancang representasi data turunan.
Menentukan bagaimana cara mere-
presentasikan hubungan dasar (base
relations) yang sudah diidentifikasikan
di model data logikal pada DBMS
tujuan. Dokumentasikan rancangan dari
hubungan dasar.
c. Merancang batasan umum.
Merancang batasan umum dari DBMS
tujuan. Dokumentasikan rancangan dari
batasan umum.
2. Merancang organisasi file dan indeks.
Menentukan 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. Menganalisa transaksi.
Memahami fungsionalitas dari transaksi
yang akan dijalankan pada basis data
dan menganalisa transaksi – transaksi
yang penting.
b. Memilih pengaturan file.
Menentukan pengaturan file yang
efisien untuk hubungan dasar.
c. Memilih indeks.
Menentukan apakah pengindeksan akan
meningkatkan performa sistem.
d. Memperkirakankebutuhankapasitasdisk.
Mengestimasi ukuran disk yang
diperlukan untuk menyimpan basis
data.
3. Merancang user view.
Merancang user view yang sudah diidenti-
fikasikan saat pengumpulan kebutuhan dan
tahapan analisis dari siklus hidup pengembangan
sistem basis data. Dokumentasikan rancangan
user view.
42
4. Merancang mekanisme keamanan.
Merancang tingkat keamanan untuk sistem basis
data sesuai keinginan pengguna (users).
Dokumentasikan rancangan tingkat keamanan.
5. Mempertimbangkan pengenalan redudans i
terpantau.
Menentukan apakah redudansi dalam cara yang
terpantau dapat digunakan atau tidak dalam
meningkatkan performa sistem.
6. Memantau dan meningkatkan sistem operasional.
Memantau 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 DBMS yang cocok untuk
mendukung sistem basis data.
Tahapan dalam memilih DBMS, yaitu :
1. Mendefinisikan syarat-syarat sebagai referensi.
2. Daftar singkat dua atau tiga produk.
3. Mengevaluasi produk.
4. Merekomendasikan pilihan dan membuat laporan.
2.1.7.6 Application Design
43
Merupakan 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
DBMS 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 DML dari
DBMS. Selain itu juga perlu kontrol keamanan dan integritas.
2.1.7.9 Data Conversion and Loading
Merupakan 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. Mengawasi performa sistem.
b. Menjaga dan memperbaharui sistem basis data (jika
dibutuhkan).
2.1.8 Normalisasi
Menurut 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
Menurut Connolly dan Begg (2010, p430)proses normalisasi
diawali dengan tahapan – tahapan sebagai berikut :
1. Unnormalized Form (UNF)
Merupakan 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)
Menurut 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 UML (Unified Modeling
Languange).
2.1.9.1 Entitas (Entity)
Menurut Connolly dan Begg (2010, p372) entitas adalah
sebuah objek yang memiliki kesamaan property yang diidentifikasi
oleh perusahaan yang memiliki eksistensi yang independen.
Menurut 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)
Menurut 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
Menurut 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 Struktural (StructuralConstraints)
Menurut 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
Menjelaskan jumlah maksimal occurrence relationship yang
diperbolehkan untuk satu entitas yang berpartisipasi dalam
satu jenis hubungan.
• Participation
Menentukan apakah seluruh atau sebagian entity
occurrences yang berpartisipasi dalam sebuah hubungan.
52
2.1.10 Pengertian SoftwareEngineering
Menurut 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
Model / 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
Model 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 bisa
diotomatisasi.
• Pengujian dilakukan mulai dari setiap fungsi dari software
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
• Model ini mudah untuk diterapkan dan tidak memerlukan
perencanaan yang kompleks.
• Model 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.
Membangun komunikasi yang efektif antara pengembang dan
pelanggan.
• Perencanaan.
Mendefinisikan sumber daya, waktu dan informasi lain yang
berhubungan dengan pengembangan perangkat lunak.
• Analisa resiko.
Menganalisa resiko secara teknis dan manajemen.
• Perekayasaan.
Membuat beberapa prototype aplikasi yang direncanakan.
• Konstruksi dan release.
Tahapan untuk membangun, menguji, implementasi dan
menyediakan dukungan bagi pengguna.
55
• Evaluasi pelanggan
Mendapatkan 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.
Model ini baik untuk sistem dengan skala besar, untuk
sistem dengan skala kecil biasanya akan menyebabkan masalah. Model
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
Model 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. Memang 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. Model 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. Misalkan 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
Menurut Mathiassen (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 (PerMenPAN
No.219/M.PAN/7/2008).
Jabatan Fungsional ini mulai dikembangkan berdasarkan
Surat Keputusan Menteri 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 87 tahun 1999 tentang Rumpun Jabatan,
makapenjenjangan dalam jabatan fungsional baik keahlian
maupunketrampilan menjadi 4 (empat).
Pada tahun 2004, Menteri 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 kerekayasaan yang selanjutnya diusulkan kepada
Kementerian Negara Pendayagunaan Aparatur Negara. Hasil
penyempurnaan ini tertuang dalam Peraturan Menteri 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 Menteri 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) dari gejala alami yang
berkaitan 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
o Engineering Services SW / HW
o Marketing Sales SW / HW
o Routine Operation SW / HW
o Modifikasi & Perawatan SW / HW
2.2.2 Tools yang digunakan
2.2.2.1 PHP
File yang hanya berisi kode HTML tidak mendukung
pembuatan aplikasi yang melibatkan basis data karena HTML
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
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 HTML)diserahkan ke web
server. Selanjutnya, web server mengirimkan kode HTML 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
Web Server
File Sesuatu.php
Server Basis Data
Mesin PHP
Komputer pengguna
Kode HTML
68
kerahasiaan kode sumber dapat terjaga. Tidak perlu ada
kekhawatiranbahwa pemakai bisa melihat password yang digunakan
untuk mengakses basis data.
Menurut Abdul Kadir (2009,p5), pemrosesan seperti di atas
disebut dengan sebutan pemrosesan di sisi server. Adapun pemrosesan
kode HTML oleh browser dikenal dengan istilah pemrosesan di sisi
pemakai. Menurut Luke Welling dan Laura Thomson (2001,p2), PHP
adalah bahasa pemrograman sisi server yang dirancang secara spesifik
untuk website. Dalam halaman HTML dapat disisipkan kode PHP
yang akan dieksekusi setiap kali halaman dikunjungi. Kode PHP akan
diterjemahkan di web server dan menjalankan HTML 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. Menurut 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 MySQL, 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
Modifikasi terhadap kode PHP dapat dilakukan dengan
bebas, tidak seperti bahasa pemgrograman berbasis website
lain yang komersial.
2.2.2.2 Pengenalan MySQL
Menurut 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. MySQL
dipublikasikan sejak tahun 1996, tetapi dikembangkan sejak tahun
1979. Sekarang MySQL 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,
Microsoft 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 MySQL 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 Microsoft Windows.
• Kode sumber
Seperti PHP, kode sumber untuk MYSQL dapat didapatkan
dan diubah.