BAB 2 LANDASAN TEORI
2.1. Teori – teori Dasar/Umum 2.1.1 Pengertian Sistem Basis Data Sistem basis data adalah merupakan suatu kumpulan data-data yang berhubungan secara logis, dan deskripsi dari data-data tersebut serta dirancang untuk memenuhi informasi yang dibutuhkan oleh sebuah organisasi. Ini arti sistem basis data menurut Connolly dan Begg. Artinya basis data merupakan penyimpanan data yang tunggal dan besar yang dapat digunakan secara simultan oleh banyak bagian departemen dan pemakai (user). Di dalam basis data semua item diintegrasikan dengan jumlah duplikasi data yang minimum. Basis data tidak lagi dimiliki oleh suatu departemen, melainkan resource perusahaan yang dapat dishare. Basis data tidak hanya mengandung data operasional organisasi, tetapi juga deskripsi dari data tersebut. Untuk itu, sebuah basis data juga mendefinisikan integrasi record dari basis data itu sendiri (selfdescribing of integrated record). Deskripsi dari data dikenal sebagai system catalog (data dictionary-meta data). Deskripsi ini menciptakan kebebasan dari program aplikasi (program data independence). Pendekatan dengan sistem basis data, dimana definisi dari data adalah dipisahkan dari program aplikasi. Pemakai dalam melihat sebuah objek hanya pada definisi eksternal dan tidak mengetahui bagaimana objek didefinisikan dan objek bisa berfungsi. Pendekatan ini dikenal sebagai abstraksi data 8
9 (data abstraction), di mana perubahan definisi internal dari sebuah objek tanpa mempengaruhi pemakai (user) atau tidak mempengaruhi definisi eksternal. Dalam arti lainnya, pendekatan basis data memisahkan struktur dari pada data dari program aplikasi dan meyimpannya ke dalam basis data. Jika ada penambahan struktur data atau perubahan struktur data yang ada maka tidak akan mempengaruhi program aplikasi, sehingga tidak perlu bergantung langsung dengan apa yang telah dirubah. Arti lain dari basis data menurut Faried Irmansyah (2003) adalah kumpulan dari item-item data yang saling berhubungan satu dengan yang lainnya yang diorganisasikan berdasarkan sebuah skema atau struktur tertentu, tersimpan di perangkat keras komputer dan dimanipulasi dengan piranti lunak agar bisa digunakan sesuai dengan keinginan user. Tetapi menurut Petrousos (Arte,1980,p12), basis data adalah sebuah objek untuk menyimpan informasi terstruktur yang kompleks, yang diorganisir dan disimpan dalam satu cara yang mengijinkan pemakainya dapat mengambil informasi secara cepat dan efisien. Informasi dipecah ke dalam bagian-bagian kecil agar bisa dikelola dengan mudah. Basis data adalah suatu record terkomputasi yang memiliki tujuan untuk memberikan informasi yang dibutuhkan (Date,2000,p4). Pemakai dapat melakukan berbagai hal di dalam sistem basis data seperti manipulasi data dan operasi file, dimulai dari memuat file baru ke dalam basis data, memasukkan data, mengambil data, dan lain-lain sebagainya.
10 Dalam skripsi kami, kami menggunakan teori basis data yang di kemukakan oleh Thomas Connolly dalam buku nya yang berjudul Database System. Basis data merupakan sekumpulan file-file yang saling berhubungan dan hubungan tersebut biasanya dapat ditunjukkan dengan kunci dari setiap file yang ada. Satu basis data menunjukkan satu kumpulan data yang digunakan dalam suatu lingkup instansi atau perusahaan. Berikut ini kegunaan basis data dalam mengatasi masalah penyusunan data : a. Redudansi dan inkosistensi data. b. Multiple user. c. Kesulitan pengaksesan data. d. Security (keamanan). e. Kebebasan data. Pada umumnya data dalam basis data bersifat integrated dan shared. Integrated artinya adalah basis data merupakan gabungan dari beberapa file data yang saling berbeda satu dengan yang lainnya dengan membatasi pengulangan baik keseluruhan file atau sebagian. Shared maksudnya adalah data individual dalam basis data dapat digunakan secara bersamasamaan antara beberapa pengguna yang berbeda. Data adalah merupakan kumpulan fakta yang dapat diolah menjadi informasi yang bermanfaat, sehingga data yang ada dapat dintegrasi dan di-sharing dalam penggunaan basis data. Data juga merupakan nilai atau value yang turut mempresentasikan deskripsi dari suatu objek atau kejadian.
11 2.1.1.1 Pengertian Basisdata Terdistribusi 2.1.1.1.1 Definisi Basisdata Terdistribusi Basis data terdistribusi dapat diartikan juga sebagai basis dataterintegrasi, sesuai dengan perkembangan teknologi informasi dewasa ini, secara umum merupakan bentuk implementasi dari konsep pengolahan terdistribuasi. Suatu basis data terdistribusi mempunyai implikasi pengertian bahwa suatu aplikasi dapat saja secara transparan beroperasi pada data yang penyimpanannya berada pada beberapa lokasi (basis data), menggunakan berbagai produk perangkat lunak DBMS, bekerja pada komputer yang berbeda, dan pada sistem operasi yang berbeda pula, serta dihubungkan satu sama lain yang dihubungkan melalui berbagai media
jaringan
komunikasi.
Pengertian
transparan
diatas
mengandung arti bahwa dengan berbagai bentuk fisik basisdata tersebut. Secara logikal dirasakan oleh pengguna basisdata sebagai layaknya sebuah basis data yang dioperasikan pada sebuah komputer. Definisi basis data terdistribusi dapat dituliskan sebagai berikut: Sistem basisdata terdistribusi adalah basisdata yang terdiri dari kumpulan site (instalasi), dihubungkan satu dengan yang lainnya menggunakan jaringan komunikasi, dimana: 1. Setiap site adalah merupakan basis data sendiri, atau masingmasing site merupakan betul-betul satu basisdata yang memiliki
sendiri
DBMS
maupun
perangkat
lunak
12 management transaksi (termasuk locking local, logging, dan prosedur recovery), serta perangkat lunak komunikasi data. 2.
Semua site setuju bekerja sama (bila perlu), sehingga pengguna pada site yang mana saja dapat mengakses tersebut berada pada lokasi pengguna itu sendiri. Secara umum suatu basis data terdistribusi dapat dilihat pada gambar 4.1 Pada gambar tersebut dapat saja antara satu lokasi basisdata dengan basisdata yang lain terpisah dengan jarak yang sangat jauh, tetapi dapat terjadi pula bahwa dua atau lebih basis data berada pada lokasi gedung yang sama bahkan pada mesin yang sama misalnya pada aplikasi jaringan area lokal (LAN) yang menggunakan multi basis data. Disebutkan, bahwa berbagai site tersebut menggunakan DBMS yang berbeda, namun untuk memudahkan pembahasan selanjutnya maka kita asumsikan bahwa berbagai site yang terlibat dalam jaringan basisdata terdiri dari sistem-sistem yang homogen. Mengapa diperlukan basis data terdistribusi? Jawaban mendasar dari pertanyaan ini adalah pada umumnya enterprise sendiri pada umumnya secara fisik sudah terdidtribusi misalnya dengan kontor pusat dan kantor-kantor cabangnya, atau secara structural terdiri dari divisi-divisi (pemasaran, personil, pembelian, penjualan dan lain-lain) dari bentuk seperti ini saja sudah bisa kita bayangkan bahwa datanya pasti terdistribusi, karena setiap bagian dan cabang akan secara logical
13 mengelola datanya sendiri untuk kepentingan operasinya. Data lokal dapat dikelola pasa masing-masing site, namun bila diperlukan suatu site dapat mengakses data yang lain, tentunya dengan pengaturan batasan wewenang akses yang berlaku. Salah satu keuntungan yang jelas dari model basis data terdistribusi adalah memungkinkan dibuat struktur yang merupakan model dari enterprise itu sendiri. Namun perlu dilihat salah satu kerugian utama dengan sistem basis data terdistribusi adalah rumit dari aspek teknis. Memang seharusnya kompleksitas tersebut hanya muncul dari sisi implementer, bukan dari sisi pengguna, namun pada kenyataannya kerumitan terjadi juga tidak terhindarkan bagi pengguna. Biasanya dari berbagai produk DBMS yang sudah ada, bila akan mengimplementasikan produknya dilingkungan aplikasi yang terdistribusi maka secara khusus akan menerbitkan
produk
perangkat
lunak
khusus
yang
ditempelkan pada produk yang ada.seperti misalnya R* (dibaca R star) yang merupakan versi terdistribusi dari System R yang dibuat oleh IBM (1980), Distributed ingress dari ingress (1980), DB2 Version 2 Release 2 dari IBM dan lainlain. Yang jelas dari semua produk baru di atas menggunakan teknologi relasional sebagai basis desainnya.
14 2.1.1.1.2 Prinsip-prinsip dasar Pada dasar, bagi pengguna, sistem yang terdistribusi harus dirasakan sebagai sistem yang non terdistribusi. Atau dengan kata lain, bahwa pengguna pada sistem yang terdistribusi harus berperilaku seperti halnya pengguna pada sistem yang tidak terdistribusi. Semua permasalahan yang ada pada sistem terdistribusi
harus
dipecahkan
secara
internal,
bukan
permasalahan eksternal atau tingkat pengguna yang didalam operasi terhadap basisdata menggunakan bahasa manipulasi data (DML) seperti SELECT, INSERT, UPDATE, dan DELETE, yang secara logikal haruslah tidak berubah. Mungkin bahasa definisi (DDL) mengalami beberapa perkembangan , misalnya saja bila suatu tabel dibuat di site A, maka pembuat dapat menentukan misalnya datanya disimpan di site B. Kita namakan prinsip tersebut sebagai “ Kaidah Nol” dari sistem terdidtribusi . Prinsipprinsip dasar dari basis data terdistribusi adalah suatu hal sangat penting agar dapat dibedakan antara basisdata terdistribusi dengan apa yang disebut akses data secata remote (yang kadangkadang disebut sistem pengolahan terdistribusi atau sistem jaringan) pada sistem ini user dapat beroperasi pada data yang letaknya berjauhan atau bahkan pada data di beberapa site secara simultan.
15 Kaidah-kaidah dari sistem terdistribusi: 1. Otonomi Lokal Suatu site dalam sistem terdistribusi harus memiliki otonomi. Otonomi lokal mempunyai arti bahwa semua operasi yang dilaksanakan pada suatu site yang sepenuhnya dikendalikan oleh site tersebut, tidak ada site yang tergantung pada site lain ataupun suatu site lokal tergantung (down) maka site yang lain masih beroperasi dengan normal. Otonomi local mempunyai implikasi bahwa data lokal dimiliki dan dikelola, secara lokal. Semua data benar-benar dimiliki oleh basis data lokal bersangkutan meskipun dapat diakses dari site remote. Berbagai aspek seperti keamanan, integritas dan representasi penyimpanan data lokal tetap dalam pengendalian site bersangkutan. 2. Tidak tergantung pada site pusat Otonomi lokal juga mempunyai implikasi bahwa semua site harus diperlakukan setingkat, tidak ada ketergantungan pada site induk pusat untuk mendapatkan berbagai dukungan, seperti misalnya pengolahan query terpusat atau manajemen transaksi terpusat, sehingga
seluruh
sistem
tergantung
pada
site
pusat.
Ketergantungan pada site pusat sangat tidak diharapkan karena dua alasan berikut: a. Site pusat dapat menjadi “bottleneck” b. Sistem akan menjadi sangat rawan (“vulnerable”) yaitu bila site pusat mati, maka seluruh sistem juga mati.
16 3. Operasi yang berlanjut Pada sistem terdistribusi seperti halnya pada sistem yang non distribusi, secara ideal tentunya sistem tidak pernah dimatikan dalam kondisi apapun. 4. Transparan Lokasi (Independensi Lokasi) Pengertian dasar dari transparan lokasi adalah bahwa pengguna tidak perlu mengetahui dimana data tersimpan secara fisik, sebaliknya pengguna harus dapat berlaku secara logical seakan data berada di site sendiri meskipun secara fisik dapat berada dimana
saja.
Transparan
lokal
sangat
diperlukan,
untuk
menyederhanakan program-program pengguna dan kegiatan di terminal. Secara khusus memungkinkan adanya migrasi data dari site ke site yang lain tanpa harus merubah program ataupun kegiatan tersebut. Migrasi kadang-kadang sangat diperlukan dalam rangka menyesuaikan terhadap kebutuhan unjuk kerja yang lebih baik 5. Transparan Fragmentasi Sistem terdistribusi melaksanakan fragmentasi data, dimana suatu tabel dapat dipecah menjadi bagian bagian atau fregmentasi dan disimpan terspisah secara fisik. Fragmentasi ini biasanya diperlukan untuk meningkatkan unjuk kerja. Data dapat disimpan pada lokasi dimana paling sering dipergunakan sehingga dengan demikian operasi terhadap data dapat dilakukan secara lokal dan mengurangi trafik jaringan. Pada dasarnya ada dua macam bentuk
17 fragmentasi , horisontal dan vertikal yang berarti fragmentasi berdasarkan pada pengertian operasi aljabar relasional restriksi dan proyeksi. Namun secara umum, fragmentasi dapat merupakan berbagai bentuk subrelasi yang diturunkan dari operasi restriksi dikombinasikan dengan operasi proyeksi ( khususnya untuk proyeksi harus tetap memperhatikan peranan primary key dalam bentuk tabel asli). Rekonstruksi tabel asli, dapat di lakukan dengan operasi join dan union (join untuk fragmentasi vertikal,sedang union untuk fragmentasi horisontal dapat di catat di sini bahwa, fragmentasi yang mudah dan rekontruksi yang mudah pula merupakan alasan utama mengapa sistem terdistribusi haruslah relasional, karena model relasional menunjang operasi– operasi tersebut secara tepat. Sistem yang mendukung fragmentasi data harus juga mempunyai kemapuan untuk mendukung transparansi fragmentasi sehingga pengguna dapat berlaku seolah data tidak difragmentasi paling tidak secara logikal. Transparansi fragmentasi diperlukan untuk memudahkan program dan kegiatan access data di terminal. Dengan cara tersebut juga memungkinkan refragmentasi tanpa harus merubah program atau kegiatan terminal, misalnya dalam mencari unjuk kerja yang lebih baik.
18 6. Transparan Replikasi Sistem terdistribusi juga mempunyai kemampuan menggunakan bentuk replikasi data. Replikasi data diperlukan dengan alasan utama : • Merupakan suatu cara meningkatkan unjuk kerja (aplikasi dapat beroperasi pada copy yang ada di site sehingga mengurangi beban trafik jaringan). • Merupakan suatu cara untuk meningkatkan ketersediaan data (availability) artinya object yang diaccess selalu tersedia sepanjang terdapat minimum satu copy. Namun replikasi mempunyai kerugian terutama bila kita memutakhirkan suatu fragment tabel, maka semua copy dari objek tersebut harus dimutakhirkan, masalah propagasi, kesulitan juga akan muncul bila site yang menyimpan copy obyek bersangkutan tidak bisa ditemukan, misalnya karenatiba-tiba ada kerusakan di dalam jaringan pada saat terjadi replikasi. 7. Pengolahan Query terdistribusi Tujuan untuk meminimumkan trafik jaringan mempunyai implikasi proses optimasi query-nya harus didistribusikan, demikian pula proses eksekusi query-nya sendiri. Dengan demikian proses biasanya akan terdiri langkah optimisasi global, kemudian diikuti langkah optimasi lokal pada masingmasing site yang terlibat.
19 8. Manajemen Transaksi Terdistribusi Dengan manajemen konkurensi, dalam sistem terdistribusi akan sangat tergantung pada mekanisme locking, sama halnya dalam sistem yang non distribusi. Namun pada system terdistribusi permintaan tes , men-set , dan pelepasan “lock” menjadi pesan. 9. Transparansi Perangkat Keras Perangkat keras merupakan kebutuhan dalam system terdistribusi dan mempunyai peran yang sama untuk dapat mengintegrasikan dalam sistem–sistem dan menyajikan pada pengguna sebagi suatu sistem. Sama halnya dengan system operasi sebagai platform yang berbeda pula. Maka secara jelas sistem tersebut harus bekerja pada berbagai jaringan komunikasi. 10. Transparansi Sistem Operasi Sasaran merupakan keterkaitan yang erat dengan transparansi (independensi) perangkat keras diatas sangat jelas, dengan menggunakan perangkat keras yang berbeda, tentunya juga menggunakan sistem operasi sebagai platform yang berbeda pula. Jika tidak saja kita harus dapat menjalankan DBMS pada mesin yang berbeda, tetapi juga pada system Operasi yang berbeda pula , misalnya pada Sistem Operasi UNIX, PC DOS, dan lain sebagainya. 11. Transparansi Jaringan Jika suatu sistem dapat bekerja pada banyak site yang terpisah– pisah lokasinya, dengan berbagai perangkat keras yang berbeda ,
20 dan dengan sistem operasi yang berbeda pula , maka secara jelas sistem tersebut harus dapat bekerja pada berbagai jaringan komunikasi 12. Transparansi DBMS Berdasarkan kaidah ini, maka kita berharap bahwa lingkungan sistem terdistribusi seharusnya dapat dilaksanakan dengan kondisi yang lebih heterogen, menggunkan produkproduk DBMS yang berbeda. Hal ini agak sulit bias dilaksanakan, mengingat satu produk DBMS dengan produk DBMS yang lain biasanya memiliki struktur perangkat lunak yang sangat berbeda, meskipun menggunkan bahasa-bahasa kueri yang standar. Namun dengan berbagai teknik interface ternyata dapat dibuktikan bahwa hal ini dimungkinkan untuk dilaksanakan sehingga pada lingkungan yang multi DBMS seorang pengguna pada satu DBMS yang lain seperti layaknya menggunakan DBMS yang pertama.
21 2.1.1.1.3 Komponen-komponen dari DBMS Kita dapat mengidentifikasi 5 komponen-komponen utama dalam DBMS, yaitu antara lain adalah: • Hardware, DBMS dan aplikasi membutuhkan hardware agar dapat beroperasi. Ada beberapa DBMS yang hanya dapat beroperasi pada perangkat keras ataupun system operasi tertentu. Perangkat keras yang dibutuhkan untuk management basis data biasanya masih berupa mesin standard yang ada, dalam arti tidak ada kekhususan tertentu. Akan tetapi karena sifatnya dalam access data yang lebih sangat bervariasi (yang tentunya cenderung lebih banyak direct access) maka suatu manajemen basis data akan lebih banyak membutuhkan media penyimpanan (hardisk). • Software, merupakan komponen dari DBMS itu sendiri dan program aplikasi termasuk sistem operasi. Program aplikasi ada yang ditulis dengan bahasa pemrograman ke-tiga (3GL) seperti C, C++, Java, Visual Basic, COBOL, Fortran dan ada juga yang ditulis dengan bahasa pemrograman keempat (4GL) seperti SQL. Antara fisik basis data (tempat di mana sesungguhnya suatu basis data dapat tersimpan dalam media) dengan pengguna terdapat suatu piranti lunak yang disebut system manajemen basis data atau juga disebut DBMS. Semua kebutuhan akses oleh pengguna
seperti
pembentukan
file,
penambahan
data,
penghapusan data dan lain-lain dilakukan oleh DBMS. Satu hal lagi, bahwa DBMS juga berfungsi untuk memberikan suatu batas
22 agar sesame pengguna basis data tidak perlu memikirkan berbagai hal yang berkaitan dengan detil pada level perangkat keras (misalnya metoda akses). • Data, merupakan komponen yang penting dari basis data. Data merupakan penghubung antara mesin dan manusia. Basis data terdiri dari operational data dan metadata. Data dalam basis data merupakan data yang single user (hanya satu pengguna yang beroperasi terhadap basis data) atau multi user di mana satu atau lebih pengguna beroperasi secara bersamaan ke dalam basis data. Sehingga data dalam basis data terutama untuk sistem yang besar harus
terintegrasi
(integrated)
dan
dapat
dipakai
secara
bersamasama (shared). • Procedur, merupakan instruksi dan aturan yang menentukan pembuatan dan penggunaan dari basis data. User membutuhkan prosedur untuk menjalankan dan menggunakan sistem. • Brainware, terdiri dari empat jenis, yaitu data dan database administrator, database designer, application developer dan end user. Sebagai pengguna basis data secara umum dapat dibagi dalam tiga kelompok besar pengguna, yaitu :
1. Database Administrator Database Administrator adalah orang atau kelompok orang yang merupakan penanggung jawab pada penyelenggaraan basis data.
23 Basis data administrator mempunyai fungsi yang meliputi berbagai kegiatan seperti tempat pengaturan data, pengamanan data, recovery procedur, backup procedur. Jadi secara lebih jelas dapat dikatakan bahwa database administrator adalah seorang atau group personil pengolahan data yang bertanggung jawab terhadap kontrol keseluruhan basis data. Berikut merupakan berbagai kegiatan pengendalian basis data: • Menentukan isi informasi basis data. • Penghubung antar pengguna. • Menentukan struktur penyimpanan. • Menentukan prosedur cek otorisasi atau kewenangan dan validasi. • Memonitor penampilan (performance) dan memberikan respon terhadap permintaan perubahan oleh pengguna. • Menentukan strategi backup dan recovery.
2. Programmer Programmer merupakan tenaga ahli komputer yang berfungsi untuk
mengembangkan
program-program
aplikasi
yang
diperlukan dalam manajemen basis data. Seringkali suatu aplikasi basis data memang perlu disiapkan dalam bentuk program, misalnya untuk bentuk tampilan layar dalam proses penyiapan dan pemuktahiran data, pembuatan laporan-laporan baik yang melalui printer ataupun layar monitor dan lainlain.Program
24 aplikasi basis data dapat dikembangkan dengan menggunakan bahasa pemrograman SQL. Program aplikasi yang dikembangkan dapat juga ditempelkan pada layar web pada aplikasi internet, sehingga bagi pengguna akhir akan menjadi sangat mudah melakukan akses ke dalam basis data.
3. End User ( Pengguna Akhir ) Yang termasuk dalam kategori pengguna akhir adalah pemilik sistem atau enterprise, para manager, supervisor, operator, pelanggan dan sebagainya yang terlibat langsung dalam pengunaan basis data.Pengguna melakukan akses ke dalam basis data
menggunakan
alat
bantu
yang
dikembangkan
oleh
programmer, analis ataupun browser.
2.1.1.1.4 Alasan penggunaan dari DBMS Ada
beberapa
keuntungan
dan
kerugian
dalam
penggunaan basis data yang diperoleh dari hasil penerapan menajemen basis data pada suatu perusahaan.
Keuntungan dari Database Management system Keuntungan dari DBMS antara lain : • Kontrol terhadap redudansi data. Dengan basis data, filefile diintegrasikan sehingga data-data yang sama dapat dikontrol.
25 • Konsistensi data, dengan terkontrolnya redudansi data, maka data menjadi konsisten. • Sharing data, dengan DBMS user dapat melakukan sharing data dengan user lainnya. • Meningkatkan integritas data, integritas dari suatu basis data adalah validitas dan konsistensi dari data pada basis data tersebut. Dengan DBMS dapat diterapkan sejumlah batasan agar integritas data dapat terjaga. • Meningkatkan keamanan, data dapat diproteksi dari user yang tidak memiliki autoritas terhadap data tersebut. • Meningkatkan backup dan recovery, untuk mencegah terjadinya kerusakan atau kehilangan data, dapat dilakukan proses backup dan recovery.
Kerugian dari Data Base Management Sistem Kerugian dari DBMS antara lain adalah: • Kompleksitas, keharusan untuk menghasilkan suatu DBMS yang baik membuat software DBMS menjadi semakin kompleks. Perancang dan pengembangan basis data, administrator data, dan pengguna akhir harus mengerti fungsi-fungsi dari DBMS supaya dapat memperoleh keuntungan secara maksimal. Kesalahan pemahaman dari sistem dapat menghasilkan keputusan yang salah. Karena sistem yang kompleks mengakibatkan DBMS memiliki ukuran yang semakin besar, dan berakibat banyaknya
26 ruang disk yang dibutuhkan dan juga membutuhkan memori yang besar supaya program dapat berjalan secara efisien. Kompleks, karena kemampuan perangkat lunak yang lebih besar menjadi terlihat lebih rumit dan penguasaan yang lebih tinggi, antara lain untuk kebutuhan system administrasi, prosedur recovery, prosedur backup, penataan keamanan data dan penataan dalam rangka proses yang konkuren. • Biaya DBMS, harga dari DBMS bervariasi tergantung dari fungsi dan kebutuhan. Kebutuhan penyimpanan untuk DBMS mengharuskan pembelian ruangan penyimpanan tambahan. Selanjutnya untuk mencapai performance yang diperlukan, mungkin perlu membeli mesin yang lebih besar, sehingga pengadaan
perangkat
keras
tambahan
mengakibatkan
pembelanjaan lebih lanjut. Dalam beberapa situasi, biaya DBMS dan ekstra hardware mungkin tidak penting dibandingkan dengan biaya untuk mengkonversi aplikasi yang ada untuk dijalankan pada DBMS dan hardware yang baru. Biaya ini juga termasuk biaya untuk melatih staff untuk menggunakan sistem yang baru ini dan mungkin juga biaya untuk memperkerjakan staff spesialis untuk membantu mengkonversi dan menjalankan system baru. Biaya ini yang menjadi alasan utama kenapa beberapa organisasi puas dengan sistem yang sekarang dan tidak ingin beralih ke sistem yang modern.
27 • Performance, secara khusus sebuah sistem file-based ditulis untuk sebuah aplikasi spesifik seperti invoicing. Hasilnya, performance secara umum lebih baik. Bagaimanapun DBMS harus ditulis menjadi lebih umum lagi untuk menyediakan beberapa aplikasi sekaligus, tetapi akibatnya beberapa aplikasi tidak berjalan secara cepat seperti biasanya. • Dampak kegagalan dari DBMS, pemusatan dari sumber daya dapat meningkatkan kemudahan rusak dari sebuah sistem. Karena semua pemakai dan aplikasi tergantung pada ketersediaan dari DBMS, kegagalan beberapa komponen bisa membuat operasi berhenti.
2.1.2 Database Application Life Cycle Database life cycle merupakan komponen yang penting dalam system basis data karena aplikasi dari database life cycle berkaitan dengan informasi yang ada. Berikut ini meupakan table tahapan DBLC :
Tahapan Database Planning
Aktifitas Utama Merencanakan tahapan
dari
bagaimana DBLC
dapat
terealisasi dengan efektif dan efisien System Definition
Menspesifikasikan
ruang
28 lingkup dari sistem basis data Requirement Collection and Analysis
Mengumpulkan
dan
menganalisis kebutuhan dari sistem basis data yang baru Database Design
Desain konseptual, logical dan fisikal dari basis data
DBMS Selection ( optional )
Memilih DBMS yang sesuai dengan sistem basis data
Application Design
Melakukan desain tampilan dan aplikasi
yang
menggunakan
dan memproses basis data Prototyping ( optional )
Membangun sistem
basis
memungkinkan
model
untuk
data
yang
pendesain
untuk memvisualisasikan dan mengevaluasi
bagaimana
sistem akhir Implementation
Membuat definisi fisikal dari basis data dan aplikasinya
Data / Convertion and loading
Memasukkan data lama ke dalam sistem basis data dan merubah koneksi dari aplikasi lama ke sistem basis data baru
29 Basis
Testing
data
mengetahui
diperiksa
untuk
kesalahan
dan
divalidasi terhadap kebutuhan pengguna Operational Maintenance
Sistem
basis
data
diimplementasikan
secara
penuh dan diperiksa secara kesinambungan.
Saat
dibutuhkan,
baru
bias
kebutuhan
ditambahkan
tahapan alur hidup
Tabel 2.1 Tahapan DBLC ( Connolly, 2005, p285 )
melalui
30
Gambar 2.1 Siklus Basis Data ( Connolly dan Begg, 2002, p272)
2.1.2.1 Database Planning Merencanakan bagaimana tahapan dari life cycle dapat dijalankan dalam sistem basis data secara efektif dan efisien. Perencanaan basis data ( Database Planning ) harus terintegrasi dengan keseluruhan strategi
31 system informasi dari organisasi. Ada tiga masalah pokok dalam merumuskan suatu strategi sistem informasi, yaitu : 1. Identifikasi rencana dan tujuan perusahaan dengan penentuan kebutuhan sistem informasi berikutnya. 2. Mengevaluasi sistem informasi yang ada sekarang untuk menentukan kekuatan dan kelemahan yang ada. 3. Penilaian kesempatan peluang teknologi informasi yang menghasilkan keuntungan yang kompetitif. Perencanaan basis data perlu juga meliputi pengembangan standard yang mengontrol bagaimana data akan dikumpulkan, bagaimana format harus diterapkan, dokumentasi apa saja yang diperlukan, dan bagaimana rancangan dan implementasi dapat diproses. Dalam merancang suatu standard yang baik harus menyediakan suatu basis untuk staff pelatihan dan mengukur pengendalian mutu, dan dapat memastikan bahwa pekerjaan yang ada menyesuaikan diri kepada suatu pola teladan, tanpa tergantung dengan ketrampilan dan pengalaman staff.
32 2.1.2.2 System Definition Adalah menentukan ruang lingkup dari aplikasi basis data yang akan dibuat termasuk pengguna dan tempat di mana aplikasi basis data tersebut diterapkan. Sebelum mencoba untuk merancang suatu aplikasi basis data, sangatlah penting bahwa pertama kali kita harus mengidentifikasi batasan-batasan sistem yang ada dan bagaimana system tersebut dapat menghubungkan dengan bagian lain yang terdapat dalam sistem informasi organisasi / perusahaan. Dan juga sangatlah penting bahwa kita harus menentukan batasan-batasan sistem tidak hanya area aplikasi dan para pemakai yang sekarang, tetapi juga aplikasi para pemakai masa depan. Suatu aplikasi basis data mungkin punya satu atau lebih user views dan mengidentifikasi user views adalah suatu hal yang penting dalam mengembangkan suatu aplikasi basis data, sebab dapat membantu untuk memastikan bahwa tidak ada pengguna utama dalam basis data tersebut terlupakan ketika mengembangkan kebutuhan untuk aplikasi basis data yang baru. User views sangat membantu dalam pengembangan aplikasi basis data yang relatif kompleks karena user views dapat membuat basis data tersebut dipecah ke dalam bagian-bagian yang dapat dikendalikan. User views menggambarkan apa yang diperlukan suatu aplikasi basis data dalam kaitan dengan data yang disimpan dan transaksi untuk dilakukan atas data tersebut. Kebutuhan user views mungkin beda dengan view yang bersangkutan atau tumpang tindih dengan view yang lain.
33 2.1.2.3 Requirement Collection and Analysis Pengumpulan kebutuhan dan analisis informasi tentang bagian dari organisasi / perusahaan yang didukung oleh aplikasi basis data dan menggunakan informasi ini untuk mengidentifikasi kebutuhan user dari sistem yang baru. Pengumpulan kebutuhan dan analisis dapat dilakukan dengan cara : 1.
Mempelajari
dokumentasi
(Examining
Documentation),
bermanfaat untuk memperoleh beberapa pengetahuan, seperti bagaimana kebutuhan akan suatu basis data yang ada. Selain itu juga dapat membantu menyediakan informasi pada bagian perusahaan yang dihubungkan dengan masalah. Jika masalah berhubungan dengan sistem yang sedang berjalan, maka pasti ada dokumentasi yang dihubungkan dengan sistem tersebut. Dengan mempelajari dokumen-dokumen, laporan dan file yang berkaitan dengan sistem yang ada maka dapat dengan cepat memperoleh beberapa pemahaman tentang sistem. 2.
Wawancara (Interview), yaitu teknik yang paling sering digunakan. Dengan wawancara dapat memperoleh informasi dari individu dengan cara bertatap muka. Ada beberapa tujuan dalam menggunakan interview, antara lain seperti menemukan fakta, verifikasi, klarifikasi, menampilkan antusiasme, melibatkan pengguna akhir, identifikasi kebutuhan dan memperoleh ide atau opini. Dengan mengggunakan teknik interview membutuhkan kemampuan dan komunikasi yang baik untuk menghadapi
34 orangorang yang mempunyai pandangan yang berbeda dalam hal prioritas pendapat, motivasi dan kepribadian. Keuntungan dari wawancara antara lain : • Memungkinkan orang yang diwawancarai untuk menjadi bagian dari proyek. • Memungkinkan orang yang diwawancarai untuk merespon secara bebas dan terbuka terhadap suatu pertanyaan. • Memungkinkan pewawancara untuk mengamati gerak tubuh dari orang yang diwawancarai. • Memungkinkan pewawancara untuk mengadaptasi atau menyusun ulang pertanyaan selama proses interview. Kekurangan dari wawancara antara lain yaitu : • Banyak menghabiskan waktu dan biaya. • Kesuksesan dapat bergantung kepada kemauan dari orang yang diwawancara untuk berpartisipasi dalam interview. • Kesuksesan tergantung pada kemampuan komunikasi dari si pewawancara. 3.
Penelitian ( Research ), berfungsi untuk meneliti aplikasi dan masalah. Majalah-majalah komputer, buku-buku petunjuk dan internet merupakan sumber informasi yang baik. Keuntungan dari Penelitian adalah : • Dapat menghemat waktu jika solusinya ada.
35 • Peneliti dapat memperoleh informasi yang up to date. • Peneliti dapat melihat orang lain dalam menyelesaikan masalah yang serupa. Kekurangan dari penelitian adalah : • Menghabiskan waktu. • Mungkin tidak dapat membantu dalam menyelesaikan masalah sebab masalahnya tidak didokumentasi. • Membutuhkan akses ke sumber informasi yang dibutuhkan. 4. Kuisioner ( Questionnaires ) adalah dokumen-dokumen yang mempunyai tujuan tertentu yang mengumpulkan fakta-fakta dari sejumlah orang ketika mempertahankan beberapa control atas responrespon mereka. Ada dua tipe dari jenis pertanyaan kuisioner, yaitu : a. Fix format questions, Membutuhkan jawaban yang lebih spesifik dari responden. Setiap pertanyaan yang diberikan sudah ada pilihan jawaban, sehingga jawaban dari respon lebih terkontrol. b. Free format questions, Membutuhkan jawaban yang lebih bebas dan lebih luas dari para responden.
Keuntungan dari kuisioner antara lain : • Tanggapan dapat dikumpulkan dan dianalisa dengan cepat. • Orang-orang dapat mengisi dan mengembalikan kuisioner sesuai dengan keinginan mereka.
36 • Secara relative merupakan cara yang murah memperoleh data dari orang banyak. Kekurangan dari kuisioner adalah : • Mungkin dapat dikembalikan dengan jawaban yang tidak lengkap. • Dapat memakan waktu menyiapkan kuisioner. • Jumlah respon mungkin rendah. • Mungkin tidak menyediakan kesempatan untuk beradaptasi atau merubah pertanyaan yang salah ditafsirkan. 5. Mengamati ( Observasi ) adalah merupekan teknik fact-finding untuk mengerti
sebuah
sistem,
teknik
ini
memungkinkan
untuk
berpartisipasi atau mengawasi seseorang melakukan aktivitas untuk mempelajari tentang sistem. Keuntungan dari mengamati adalah : • Relatif tidak mahal. • Pengamat dapat melihat secara langsung apa saja yang dilakukan. • Pengamat dapat juga memperoleh data dengan mendeskripsikan lingkungan-lingkungan fisik dari suatu pekerjaan. • Memungkinkan pengecekan valid tidaknya dari suatu fakta dan data.
37 Kekurangan dari mengamati antara lain : • Adanya kemungkinan kehilangan tugas pengamatan tergantung dari tingkat kesulitan yang berbeda. • Kurang praktis. • Seseorang dapat berubah dalam bekerja ketika tahu sedang diamati. • Beberapa tugas mungkin tidak selalu dilakukan ketika sedang perlu diamati.
2.1.2.4 Database Design Perancangan basis data ( database design ) adalah proses pembuatan sebuah rancangan untuk basis data yang akan mendukung operasi dan tujuan perusahaan yang dibutuhkan oleh sistem basis data ( Connolly, 2005, p291 ). Salah satu aplikasi yang umum dikenal dalam aplikasi basis data adalah perancangan basis data ( database design ). Perancangan basis data dimulai ketika analisis terhadap suatu kebutuhan perusahaan telah dilakukan. Di dalam perancangan basis data terdapat suatu metodologi yang membantu dalam membuat suatu basis data. Yang dimaksud dengan metodologi perancangan basis data adalah sebuah pendekatan struktur yang mencakup prosedur, teknik, alat bantu dan tujuan dokumentasi untuk mendukung dan memberi sarana dalam proses perancangan basis data terdiri dari tahap-tahap yang membantu para perancang dengan teknik yang tepat dalam setiap merancang basis data. Metodologi perancangan basis data juga membantu perancang untuk
38 merancanakan, mengatur dan mengevaluasi pengembangan dari proyek pembuatan basis data tersebut. Dalam metodologi perancangan basis data, proses perancangan dibagi menjadi 3 bagian yaitu Conceptual Database Design, Logial Database Design, dan Physical Database Design. ¾ Conceptual Database Design, yaitu proses membangun suatu model informasi yang digunakan dalam perusahaan yang
tidak
bergantung
pada
pertimbangan
fisik.
Conceptual Database Design meliputi pembuatan sebuah konseptual data model sebagai bagian dari perusahaan. Data model dibangun menggunakan informasi yang didokumentasi
dari
user
requirement.
Conceptual
Database Design secara keseluruhan terbebas dari detil penerapannya, seperti DBMS software, aplikasi program, programming
language,
hardware
platform
atau
pertimbangan fisik lainnya.
¾ Logical Database Design adalah proses membangun suatu model informasi yang digunakan dalam perusahaan yang berdasarkan pada sebuah model data yang spesifik, tetapi tidak bergantung pada sebuah DBMS tertentu dan pertimbangan fisik lainnya. Konseptual data model yang dibuat pada tahap sebelumnya disempurnakan dan dipetakan menjadi sebuah logikal data model.
39 ¾ Physical Database Design dilakukan untuk memutuskan struktur logic secara fisik yang diimplementasikan ke dalam tujuan DBMS, para perancang juga harus membuat keputusan mengenai bagaimana basis data tersebut dapat diimplementasikan / diterapkan dalam perusahaan. Oleh karena itu, Physical Database Design untuk meningkatkan kinerja dari basis data tersebut dapat mempengaruhi logikal data model. Ada beberapa faktor-faktor penting dalam merancang suatu basis data antara lain yaitu : 1. Mengadakan pertemuan dengan user sesering mungkin untuk membicarakan rancangan basis data yang akan di buat. 2. Mengikuti langkah-langkah yang terdapat dalam metodologi perancangan basis data. 3. Melakukan pendekatan terhadap data-data yang akan digunakan. 4. Menggabungkan
pertimbangan
integrity
dan
normalisasi,
dan
struktural ke dalam model data. 5. Menggabungkan
konseptual,
validasi transaksi ke dalam metodologi model data. 6. Gunakan diagram untuk menjelaskan model data tersebut.
40 7. Gunakan Database Design Language ( DBDL ) untuk menjelaskan tambahan data yang tidak bisa dijelaskan dengan menggunakan diagram. 8. Buat kamus data untuk mendukung diagram dari model data dan DBDL. 9. Ulangi langkah-langkah tersebut.
2.1.2.5 DBMS Selection ( Optional ) Pemilihan DBMS dilakukan untuk memilih DBMS yang cocok atau sesuai dengan aplikasi basis data yang dibuat. Bagaimanapun pemilihan DBMS bisa dilakukan pada setiap waktu sebelum melakukan logical design yang menyajikan informasi cukup mengenai kebutuhan sistem seperti performance, security, dan integrity constrain. Walaupun pemilihan DBMS mungkin jarang, tetapi ketika kebutuhan perusahaan sedang diperluas atau sistem yang berjalan digantikan, mungkin menjadi perlu kadang-kadang untuk mengevaluasi produk DBMS yang baru. Suatu pendekatan sederhana dalam melakukan DBMS adalah dengan mencocokan
DMS
dengan
kebutuhan.
Secara
khusus
DBMS
menyediakan fasilitas-fasilitas seperti : ¾ Mengijinkan user untuk menentukan basis data, biasanya melalui Data Definition Language ( DDL ). DDL mengijinkan user untuk memspesifikasi tipe data dan struktur dan batasan-batasan data yang bisa disimpan di basis data.
41 ¾ Mengijinkan user untuk insert, update, delete, dan retrieve data dari basis data, biasanya melalui Data Manipulation Language ( DML ) ¾ DBMS menyediakan akses kontrol ke basis data. Contohnya antara lain : a. Security System, di mana mencegah user autorisasi untuk mengakses basis data. b. Integrity System, di mana menangani konsistensi penyimpanan data. c. Concurrency Control System, di mana mengijinkan basis data untuk diakses secara share. d. Recovery Control System, di mana basis data bisa direstore pada saat terjadi kesalahan pada hardware ataupun software. e. User-Acessible Catalog, di mana berisi deskripsi data di dalam basis data.
42 Berikut langkah-langkah utama dalam memilih DBMS : 1.
Menggambarkan cakupan tugas berdasarkan kebutuhan perusahaan.
2.
Membuat perbandingan mengenai dua atau tiga produk DBMS.
3.
Mengevaluasi produk-produk DBMS tersebut.
4.
Merekomendasi pemilihan DBMS dan membuat laporan hasil dari evaluasi produk DBMS tersebut.
2.1.2.6 Application Design Perancangan user menghubungkan program aplikasi yang menggunakan dan memproses basis data tersebut. Mengamati desain aplikasi dan basis data itu adalah aktivitas paralel pada aplikasi basis data life cycle. Dalam banyak kasus, tidaklah mungkin untuk melengkapi atau menyudahi desain aplikasi itu sampai perancangan basis data terhadap dirinya sendiri yang sedang berlangsung. Pada sisi lain, basis data ada untuk mendukung aplikasi tersebut, dan demikian harus ada suatu informasi antar desain aplikasi dan desain basis data. Kita harus memastikan bahwa semua kemampuan menyatakan spesifikasi kebutuhan pemakai ada di dalam desain aplikasi untuk aplikasi basis data. Ini melibatkan program aplikasi mengakses basis data akan merancang transaksi tersebut ke dalam akses basis data. Sebagai tambahan terhadap perancangan bagaimana kemampuan yang diperlukan atau diharapkan untuk dapat tercapai, maka kita harus mendesain seorang user yang sesuai
43 untuk menghubungkan ke aplikasi basis data tersebut. Alat penghubung ini menyajikan informasi yang diperlukan sehingga mudah dioperasikan. Bagaimanapun, haruslah dikenali bahwa alat penghubung mungkin adalah salah satu dari komponen yang paling utama dari sistem itu. Pada sisi lain jika alat penghubung tidak mempunyai satupun karakteristik maka sistem akan menyebabkan permasalahan.
2.1.2.7 Prototyping Prototype adalah merupakan suatu model aplikasi basis data yang mempunyai semua corak yang diperlukan dan menyediakan semua kemampuan sistem. Tujuan utama untuk mengembangkan suatu aplikasi prototype database adalah agar user dapat mengidentifikasi fitur system menjadi bekerja dengan baik. Jika memungkinkan, pemakai dapat memberikan saran untuk mengadakan perbaikan atau bahkan fitur baru dalam aplikasi basis data tersebut. Keuntungan prototype adalah relative murah dan cepat dalam proses pembuatannya. Ada dua strategi prototyping,
yaitu
requirements
prototyping.
Requirements
prototyping
Prototyping
adalah
dan
evolutionary
prototype
yang
menentukan ebutuhankebutuhan yang diusulkan aplikasi basis data dan jika kebutuhankebutuhan sudah dilengkapi maka prototype tidak dipakai atau dibuang. Sedangkan Evolutionary Prototyping, adalah prototype yang sama dengan requirements prototyping, tetapi perbedaannya bisa digunakan untuk perkembangan lebih lanjut menjadi aplikasi kerja basis data.
44 2.1.2.8 Implementation Implementasi merupakan perwujudan fisik dari basis data dan desain aplikasi. Pada tahap penyelesaian desain kita dapat menerapkan basis data dan program aplikasi yang telah kita buat. Implementasi basis data dicapai dengan menggunakan Data Definition Language ( DDL ) yang telah kita pilih dalam melakukan DBMS atau dengan menggunakan Graphical User Interface ( GUI ) yang menyediakan fungsional yang sama dengan pernyataan DDL yang digunakan untuk menciptakan struktur basis data tersebut. User Views juga diterapkan pada langkah implementasi. Program aplikasi diterapkan dengan menggunakan bahasa generasi keempat atau ketiga yang lebih disukai. Bagian dari program aplikasi ini adalah transaksi basis data, yang diterapkan dengan menggunakan Data Manipualtion Language ( DML ). Transaksi basis data juga dapat dibuat dalam bahasa pemrograman seperti Visual Basic, Delphi, C, C++, Java, COBOL, Fortran, Ada, atau Pascal. Kita juga menerapkan komponen lain dari desain aplikasi seperti layar menu, format masukkan data dan laporan. Pengendalian keamanan dan integritas untuk aplikasi juga telah diterapkan. Sebagian dari kendali ini telah diterapkan dengan menggunakan DDL, tetapi yang lain mungkin perlu untuk digambarkan di luar dari DDL. Sebagai contoh kegunaan yang disediakan DBMS kendali sistem operasi.
45 2.1.2.9 Data Conversion and Loading Pemindahan data yang ada ke dalam basis data yang baru dan mengubah aplikasi yang sedang berjalan agar dapat digunakan dalam basis data yang baru. Langkah ini diperlukan hanya ketika suatu sistem basis data lama digantikan dengan sistem basis data yang baru. Sekarang ini suatu DBMS mempunyai kegunaan memasukkan file ke dalam basis data yang baru, dan kemudian secara otomatis mengubah data ke dalam format yang diperlukan oleh file basis data yang baru. Jika bisa diterapkan, pengembang dapat mengubah dan menggunakan program aplikasi dari sistem yang lama untuk digunakan oleh sistem yang baru.
2.1.2.10 Testing Testing adalah proses melaksanakan program aplikasi dengan tujuan menemukan kesalahan. Sebelum diterapkan dalam suatu sistem, basis data harus dilakukan pengujian atau testing terlebih dahulu. Dalam hal ini kita harus hati-hati dalam perencanaan strategi test dan data harus realistis sedemikian sehingga keseluruhan proses pengujian sesuai dengan metodenya dan dengan kaku dilaksanakan. Sesungguhnya, pengujian tidak bisa menunjukkan tidak adanya kesalahan, hal tersebut dapat dilakukan apabila dengan menggunakan suatu perangkat lunak. Jika pengujian diselenggarakan dengan sukses, maka akan membongkar kesalahan pada program aplikasi dan mungkin struktur basis data. Sebagai manfaat sekunder, pengujian mempertunjukkan bahwa basis data dan program aplikasi nampak seperti bekerja menurut spesifikasi mereka
46 dan kebutuhan nampak seperti dicukupi. Seperti saat merancang suatu basis data, maka dalam melakukan testing para pemakai sistem yang baru harus dilibatkan untuk menguji proses aplikasi dan basis data tersebut. Situasi yang ideal untuk pengujian system adalah mempunyai suatu test basis data pada suatu sistem perangkat keras, tetapi ini sering tidak tersedia. Jika data real diharapkan untuk digunakan, maka penting untuk mempunyai backup. Setelah pengujian diselesaikan, maka sistem aplikasi basis data ini telah siap untuk digunakan.
2.1.2.11 Operational Maintenance Dalam langkah-langkah sebelumnya, aplikasi basis data telah secara penuh diterapkan dan diuji. Sistem sekarang pindah ke suatu langkah pemeliharaan yang melibatkan aktivitas berikut ini : ¾ Monitoring Performance dari sistem. Jika performance jatuh di bawah suatu tingkatan yang bisa diterima, maka penyetelan
atau
reorganisasi
basis
data
mungkin
diperlukan. ¾ Maintaining dan meningkatkan aplikasi basis data. Kebutuhan harus disatukan ke dalam aplikasi basis data melalui tahap-tahap sebelumnya yang terdapat dalam database life cycle. Ketika aplikasi basis data sedang beroperasi, perlu dilakukan monitoring secara dekat untuk memastikan bahwa performance dalam tingkatan yang bisa diterima. Suatu DBMS secara normal menyediakan
47 berbagai kegunaan untuk membantu administrasi basis data yang mencakup kegunaan untuk mengisi data ke dalam suatu basis data dan untuk memonitor sistem tersebut. Kegunaan yang mengijinkan system melakukan monitoring secara berdampingan atau berhadapan informasi sebagai contoh, pemakaian basis data untuk efisiensi dan query strategi pelaksanaan. Database Administrator (DBA) dapat menggunakan informasi ini untuk men-setting sistem dan untuk memberi performance yang lebih baik, sebagai contoh, dengan menciptakan index tambahan untuk mempercepat query, dengan mengubah struktur basis data, atau dengan melakukan kombinasi terhadap tabel yang ada. Monitoring proses akan terus berlanjut sepanjang seluruh hidup suatu aplikasi basis data tersebut dan pada waktu tertentu boleh melakukan reorganisasi basis data untuk mencukupi kebutuhan sistem. Peubahan ini menyediakan informasi pada evolusi sistem dan sumber daya yang pada masa yang akan datang mungkin diperlukan. Hal ini memungkinkan DBA untuk terlibat dalam perencanaan kapasitas dan untuk melakukan penyesuaian rencana. Jika DBMS kekurangan kegunaan tertentu, DBA dapat mengembangkan kegunaan yang diperlukan atau membeli tools tambahan, jika tersedia.
2.1.3
Entity Relationship Modeling (ER Modeling) Menurut Connoly dan Begg (2002,p30), salah satu aspek yang sulit
dalam
perancangan
database
adalah
kenyataannya
bahwa
perancang,
programmer, dan pemakai akhir cenderung melihat data dengan cara yang berbeda. Untuk memastikan pemahaman secara alamiah dari data dan bagaimana
48 data digunakan oleh perusahaan dibutuhkan sebuah bentuk komunikasi yang non-teknis dan bebas dari kebingungan. Berikut ini adalah notasi EntityRelationship Modelling menurut Connolly dan Begg :
49
Entiti Name
A
Related to
B
Relationship Name
Gambar 2.2 Notasi Entity-Relationship Modelling
2.1.3.1 Entity Type Entiti merupakan kumpulan dari objek atau event yang mempunyai sifat-sifat yang sama, yang diidentifikasi oleh perusahaan serta memiliki keberadaannya yang idependent (Connolly,2002,p331). Entiti dilambangkan dengan sebuah kotak yang dibubuhi nama dari entity tersebut di dalam kotak tersebut. Dalam UML huruf pertama entiti selalu menggunakan huruf kapital. Setiap objek yang diidentifikasikan secara unik disebut entity occurrence (Connolly,2002,333).
50 Representasi diagram terhadap tipe entity dapat dilihat pada gambar 2.2
Nama Entitas
Material
Gudang
Gambar 2.2 Representasi diagram dari tipe entity material dan gudang ( Connolly dan begg, 2002, p333) Tipe entity dapat diklasifikasikan menjadi : 1. Tipe Entitas Kuat, yaitu tipe entitas yang keberadaannya tidak bergantung pada tipe entitas lainnya ( Connolly dan Begg, 2002, p342). 2. Tipe Entitas Lemah, yaitu tipe entitas yang keberadaannya bergantungpada tipe entitas lainnya ( Connolly dan Begg, 2002, p343).
51 Representasi diagram terhadap tipe entitas dapat dilihat pada gambar 2.3
Gambar 2.3 Representasi diagram tipe entitas kuat dan tipe entitas lemah (Connolly dan bedd, 2002, p343)
2.1.3.2 Relationship type Type relasi merupakan suatu set asosiasi yang memiliki arti di antara tipe-tipe entiti(Connolly,2002,p334). Tipe-tipe relasi diberi nama yang mendeskripsikan fungsinya. Representasi diagram dari tipe relasi ditunjukan dengan garis yang menghubungkan tipe entiti yang berasosiasi dan diberi label dengan nama relasi. Biasanya sebuah relationship dinamakan dengan menggunakan kata kerja, seperti Mengatur, atau dengan sebuah frase singkat yang meliputi sebuah kata kerja, seperti DisewaOleh. Sedangkan tanda panah ditempatkan di samping nama relationship yang mengindikasikan arah bagi pembaca untuk mengartikan nama dari suatu relationship. Huruf
52 pertama dari setiap kata pada nama relationship ditulis dengan huruf besar Representasi diagram terhadap tipe relationship dapat dilihat pada gambar 2.4
Nama Relationship Memiliki Jabatan
Pegawai
Gambar 2.4 Representasi diagram dari tipe relationship (Connolly dan Begg, 2002, p335)
Derajat Tipe relasi Derajat dari tipe relationship adalah jumlah tipe entitas yang berpartisipasi dalam sebuah relationship (Connolly dan Begg, 2002, p335). Entiti yang dilibatkan dalam tipe relasi tertetu dinyatakan sebagai partisipan pada relasi tersebut, jumlah partisipan pada tipe relasi disebut derajat relasi. Relasi dengan derajat dua disebut binary. Relasi dengan derajat tiga disebut ternary. Relasi dengan derajat empat disebut quarternary (Connolly dan Begg, 2002, p336). Lambang belah ketupat merepresentasikan relationship yang memiliki derajat lebih dari dua. Nama dari relationship tersebut ditampilkan di dalam lambang lebah ketupat. Panah yang biasanya terdapat di samping nama suatu relationship dihilangkan.
53 Representasi diagram terhadap dejarat tiga dari suatu relationship dapat dilihat pada gambar 2.5 ‘Pegawai memasukkan material pada sebuah gudang’
Gambar 2.5 Representasi diagram tingkat tiga dari suatu tipe relationship (Connolly dan Begg, 2002, p336)
Relasi Rekursif Recursive relationship adalah sebuah tipe relationship dimana tipe entitas yang sama berpartisipasi lebih dari sekali pada yang berbeda (Connolly dan Begg, 2002, p337). Relationship dapat diberikan nama peran untuk menentukan fungsi dari setiap entity yang terlibat dalam relationship tersebut. Nama peran juga dapat digunakan jika dua buah entity dihubungkan melalu lebih dari satu relationship.
54 Representasi diagram terhadap recursive relationship dapat dilihat pada gambar 2.6 dan gambar 2.7
Gambar 2.6 Representasi diagram recusrsive relationship dan nama peran (Connolly dan Begg, 2002, p337)
Manajer mengatur kantor cabang
Nama Peran Manager Pegawai
Mengatur Memiliki
Anggota Pegawai
Kantor Cabang Pegawai Kantor Cabang
Nama Peran Kantor cabang memiliki anggota pegawai
Gambar 2.7 Representasi diagram entity dengan dua relationship yang berbeda berserta nama peran (Connoly dan Begg, 2002, p338)
55 2.1.3.3 Atribut Atribut adalah property dari sebuah entity atau dari sebuah tipe relationship (Connolly dan Begg, 2002, p338). Atribut menampung nilai yang mendeskripsikan setiap entity occurance dan mempresentasikan bagian utama dari data yang disimpan di dalam basis data Atribut domain adalah sekumpulan nilai yang diperbolehkan bagi satu atau lebih atribut (Connolly dan Begg, 2002,p338). Setiap atribut dihubungkan dengan suatu kumpulan nilai yang disebut domain. Atribut dapat diklasifikasikan menjadi : 1.
Simple attribute adalah sebuah atribut yang terdiri dari satu komponen, dan keberadaan tiap komponen tersebut bebas (Connolly dan Begg, 2002, p339).
2.
Composite attribute adalah sebuah atribut yang terdiri dari
beberapa
komponen,
dan
keberadaan
tiap
komponen tersebut bebas (Connolly dan Begg, 2002, p339). 3.
Single-valued attribute adalah sebuah atribut yang hanya memiliki sebuah nilai untuk setiap occurance dari sebuah tipe entity (Connolly dan Begg, 2002, p340).
4.
Derived
attribute
adalah
sebuah
atribut
yang
mempresentasikan sebuah nilai yang diperoleh dari pengelolaan atau diturunkan dari atribut lain yang
56 berhubungan, tanpa harus berasal dari tipe entity yang sama (Connolly dan Begg, 2002, p340). Key 1. Primary key adalah candidate key yang dipilih untuk mengidentifikasikan setiap occurance secara unik dari sebuah tipe entity biasanya terdapat lebih dari satu candidate key yang salah satunya harus dipilih untuk menjadi primary key. Pemilihan primary key didasarkan pada panjang atribut, jumlah minimal atribut yang diperlukan, dan keunikannya 2. Candidate key adalah kumpulan minimal dari beberapa atribut yang menidentifikasi setiap occurance secara unik dari sebuah tipe entity (Connolly dan Begg, 2002, p340). 3. Composite key adalah sebuah candidate key yang terdiri dari dua atau lebih atribut (Connolly dan Begg, 2002, p341). 4. Alternate key adalah setiap candidate key yang tidak terpilih menjadi primary key, atau bisa disebut dengan secondary key (Connolly dan Begg, 2002, p341). 5. Foreign key adalah sebuah primary key pada sebuah entity yang digunakan pada entity lainnya untuk mengidentifikasi sebuah relationship (Navathe dan Elmasri, 2000, p248). Representasi diagram terhadap contoh candidate keys dapat dilihat pada gambar 2.8
57
Gambar 2.8 Representasi diagram entitas Pegawai dan Cabang beserta atribut dan primary keynya (Connolly dan Begg, 2002, p342)
2.1.3.4 Batasan Struktural (Structural Constraints) Tipe utama dari batasan hubungan di dalam relationship disebut Multiplycity. Multiplycity merupakan jumlah occurrence yang mungkin dari sebuah tipe entitas yang berhubungan dengan occurrence tunggal dari sebuah tipe entitas yang berhubungan melalui relasi tertentu (Connolly dan Begg,2002,p344). Derajat yang biasanya digunakan pada suatu relationship adalah binary relationship, yang terdiri atas : •
Hubungan One-to-One (1:1) Relationship Relasi dimana setiap entitas yang ada hanya dapat mempunyai
maksimal 1 relasi dengan entitas lain.
58
Ari
R1
X
Sahib
R2
Y
Deni
R3
Z
Staff
Mengatur
Cabang
(Entiti)
(Tipe Relasi)
(Entity)
Gambar 2.9 Relasi one-to-one antara cabang dan staff
Gambar 2.10 Multiplicity dari one-to-one (1:1) relationship (Connolly dan Begg, 2002, p346)
•
Hubungan One-to-Many (1:*) Relationship Relasi dimana setiap entiti yang ada dapat mempunyai
satu lerasi atau lebih dari satu relasi dengan entiti yang lain.
59
Ari
R1
Nia
Sahib
R2
Mala
Deni
R3
Cici
Staff
Melayani
konsumen
(Entiti)
(Tipe Relasi)
(Entity)
Gambar 2.11 Relasi one-to-many antara staff dan konsumen
Gambar 2.12 Multiplicity dari one-to-many (1:*) relationship (Connolly dan Begg, 2002, p347)
60 •
Hubungan Many-to-Many (*:*) Relationship Relasi dimana setiap entiti dapat mempunyai lebih dari
satu relasi dengan entiti lainnya.
Aneka
R1
A
R2 R3
B
Gadis kawank
R4
C
Majalah
Mengiklankan
Barang
(Entiti)
(Tipe Relasi)
(Entiti)
Gambar 2.13 Relasi many-to-many antara majalah dan barang
Gambar 2.14 Multiplicity dari many-to-many (*:*) relationship (Connolly dan Begg, 2002, p348 Menurut Connolly dan Begg (2002, p351), cardinality menjelaskan jumlah maksimum dari occurrence relationship yang mungkin untuk sebuah entiti yang berpartisipasi dalam sebuah tipe relasi. Sedangkan
61 participation menentukan apakah semua atau hanya beberapa occurrence yang berpartisipasi pada sebuah relationship.
Cardinality Cardinality adalah nilai maksimum dari relationship occurrence yang mungkin terjadi untuk sebuah entity yang ikut serta pada suatu relationship (Connolly dan Begg, 2002, p351).
Participation Participation menentukan apakah semua atau hanya beberapa entity occurrence yang ikut serta dalam sebuah relationship
(Connolly
dan
Begg,
2002,
p351).
Participation constraint dibagi menjadi : 1. Mandatory Participation Mandatory participation melibatkan semua entity
occurrence
pada
relationship
tertentu
(Connolly dan Begg, 2002, p351). 2. Optional Participation Optional Participation melibatkan semua entity occurrence pada relationship tertentu (Connolly dan Begg, 2002, p351).
62
Satu cabang diatur oleh Satu anggota
Satu cabang Diatur oleh satu anggota dari ff
Cardinality
Branch
Staff staffNo
1..1
Semua cabang diatur
0..1
branchNo
Tidak semua staff mengatur Participation
Gambar 2.15 Cardinality dan Participation antara Branch dan Staff
Beberapa masalah yang dihadapi dengan model ER :
Fan Traps Terjadi ketika sebuah merepresentasikan sebuah relasi antara tipe-tipe dari entiti, tetapi jalur yang terdapat diantara kejadian-kejadian entiti tertentu masih ambigu.
Chams Traps Terjadi ketika sebuah model menganjurkan keberadaan sebuah relasi diantara tipe-tipe dari entiti,
63 tetapi terdapat jalur diantara kejadian-kejadian entiti tersebut. 2.1.4 Normalisasi Suatu desain basis data harus memenuhi kondisi untuk tidak mengandung anomali, yaitu suatu kejanggalan dari suatu penempatan atribut dari suatu obyek data. Untuk membedakan satu record dengan yang lainnya maka perlu dipilih atribut atau kombinasi atribut sebagai primary key. Syarat primary key adalah harus unik, jumlah kombinasi atribut minimum, dan tidak boleh mengandung nilai kosong (null). Tujuan dari normalisasi antara lain :
Menghilangkan kumpulan relasi dari insertion, update, dan delete dependency yang tidak diharapkan.
Mengurangi kebutuhan restrukturisasi kumpulan relasi.
Membuat model relasional lebih informatif.
2.1.4.1 Langkah-langkah normalisasi • Suatu
Normalisasi Pertama ( 1NF ) data
dikatakan
un-normalized,
jika
didalamnya
mengandung kelompok berulang (repeating group), sehingga untuk membentuk normalisasi pertama (1NF) repeating group harus dihilangkan. Untuk menjadi 1st NF maka group yang berulang dihilangkan dengan mengisi pada bagian yang kosong dengan yang seharusnya pada suatu bentuk record.
64 •
Normalisasi Kedua ( 2NF )
Dapat dihasilkan dengan melihat apakah ada atribut bukan primary key yang merupakan fungsi dari sebagian primary key (partial dependence). Dalam normalisasi kedua ( 2NF ) setiap atribut yang tergantung parsial ini harus dipisahkan dengan mengikut sertakan determinannya. Bentuk normal diperoleh bila setiap atribut bukan bagian primary key dari suatu tabel sepenuhnya merupakan fungsi (fungsional dependence) dari primary key tersebut. •
Normalisasi Ketiga ( 3NF )
Pengujian terhadap 3NF dilakukan dengan cara melihat apakah terdapat atribut bukan key tergantung fungsional terhadap atribut bukan key yang lain (disebut ketergantungan transitif atau transitive dependence). Dengan cara yang sama, maka setiap ketergantungan transitif dipisahkan. 3NF sudah cukup bagus dalam arti bahwa anomali yang dikandungnya sudah sedemikian minimum (hampir tidak ada). •
Normalisasi Keempat Boyce-Codd Normal Form ( 4 NF / BCNF )
Suatu relasi dikatakan BCNF bila di dalamnya berisi atribut yang berfungsi sebagai candidate key sehingga salah satu dari candidate key tersebut menjadi primary key.
65 2.1.4.2 Denormalisasi Denormalisasi database adalah pelanggaran aturan normalisasi atau menjabarkan suatu tataan database yang telah normal untuk meningkatkan performa pengaksesan data pada database. Database yang telah normal disini dimaksudkan database yang redundansi datanya minim sehingga data yang disimpan tidak mengalami kerancuan dalam proses pengaksesan.
2.1.5 Metodologi Perancangan Basisdata Perancangan basis data terdiri dari : 1. Perancangan Basisdata Konseptual 2. Perancangan Basisdata Logikal 3. Perancangan Basisdata Fisikal
2.1.5.1 Perancangan Basisdata Konseptual Tahap-tahap perancangan basis data konseptual antara lain : Tahap 1, yaitu membangun atau membuat model data konseptual untuk setiap bagian dari perusahaan untuk setiap view yang spesifik. Di dalam perancangan basis data konseptual kita perlu melakukan antara lain: ¾ Mengidentifikasikan tipe-tipe entitas utama yang dibutuhkan oleh view. Entity adalah elemen dari model yang mewakili apa yang ingin disimpan informasinya. Misalnya bila kita ingin membuat model aplikasi sumber daya manusia,
66 karyawan, departemen, dan gaji adalah tiga contoh entit yang diperlukan dalam model. ¾ Mengidentifikasikan tipe relationship atau obyek, tujuannya mengidentifikasikan relasi penting yang ada di antara tipe-tipe entitas yang telah diidentifikasi. ¾ Mengidentifikasi dan menghubungkan atribut dengan tipe-tipe entity tipe-tipe relationship yang sesuai. ¾ Menentukan atribut domain dalam data model konseptual, tujuannya adalah untuk menentukan domain-domain untuk atribut-atribut dalam local conceptual data model. ¾ Menentukan atribut primary key dan candidate primary key, tujuannya adalah untuk mengidentifikasi candidate key untuk untuk tiap tipe entitas dan jika terdapat lebih dari satu candidate key, maka pilih salah satu untuk menjadi primary key. ¾ Mempertimbangkan penggunaan konsep enhanced modeling (pilihan),
tujuannya
adalah
untuk
mempertimbangkan
penggunaan enhanced modeling concepts.
2.1.5.2 Perancangan Basisdata Logikal Tahap 2, membangun dan memvalidasi model data logical local untuk setiap view. Membangun sebuah local logical data model dari local conceptual data model yang merepresentasikan sebuah view perusahaan tertentu dan kemudian memvalidasi model ini untuk menjamin bahwa
67 model ini secara struktur benar untuk menjamin model mendukung transaksi-transaksi yang disyaratkan. ¾ Menghilangkan fitur-fitur yang tidak kompatibel dengan model relational untuk menyaring model data conceptual local. Langkah ini bertujuan antara lain untuk : •
Menghilangkan tipe many to many ( *:* ) binary relationship.
•
Menghilangkan recursive relationship. Recursive relationship adalah hubungan suatu entitas dengan entitas itu sendiri.
•
Menghilangkan tipe complex relationship.
•
Menghilangkan atribut multi value.
•
Mendapatkan relasi model data logical local, tujuannya menciptakan relasi-relasi untuk model data logical untuk merepresentasikan entiti, relationship, dan atribut yang telah didefinisikan.
•
Validasikan
relasi
dengan
menggunakan
normalisasi,
tujuannya adalah untuk memvalidasi relasi dalam local logical data model yang menggunakan teknik normalisasi. •
Memvalidasi relasi dengan transaksi user, tujuannya adalah untuk menjamin bahwa relasi pada model data logical local mendukung transaksi yang diperlukan view.
•
Me-review model data logical local dengan user. Tujuannya untuk memastikan model data logical local dan mendukung
68 dokumentasi dan menjelaskan model adalah representasi yang sebenarnya dari view. •
Mendefinisikan batasan integritas, tujuannya adalah untuk mnedefinisikan batasan integritas yang diberikan oleh view.
Ada lima tipe batasan untuk integritas yaitu : 1. Data yang dibutuhkan, beberapa atribut harus selalu mempunyai nilai yang valid ( tidak boleh null ). Contohnya setiap staff memiliki jabatan. Batasan ini masuk ke dalam kamus data. 2. Batasan atribut domain, tiap atribut mempunyai domain
yaitu
kumpulan
nilai-nilai
yang
legal.
Contohnya jenis kelamin staff dilambangkan dengan ‘F’ atau ‘M’. 3. Integritas entity, primary key tidak boleh null. Contoh setiap tuple dari relasi staff harus memiliki atribut primary key yaitu Staff No. 4. Integritas referential, jika foreign key memiliki nilai maka nilai tersebut harus menunjuk pada tuple yang ada pada relasi parent. Ada lima strategi untuk mempertahankan referential integrity pada saat penghapusan tuple pada relasi parent, yaitu : ¾ NO ACTION, yaitu mencegah penghapusan dari relasi parent jika terdapat tuple-tuple child yang direferensi atau ditunjuk.
69 ¾ CASCADE, yaitu ketika tuple parent dihapus, secara otomatis juga dihapus tuple-tuple child yang direferensi atau ditunjuk. ¾ SET NULL, ketika tuple parent dihapus, maka nilai foreign key dalam semua tuple-tuple child yang berhubungan secara otomatis dijadikan null. ¾ SET DEFAULT, ketika tuple parent dihapus dihapus, maka nilai foreign key dalam semua tupletuple child yang berhubungan secara otomatis disamakan nilainya dengan defaultnya. ¾ NO CHECK, ketika tuple parent dihapus, maka kita
jangan
melakukan
apa-apa
untuk
menjamin referential integrity tetap terjaga. 5. Batasan perusahaan atau enterprise, disebut juga peraturan bisnis. Contoh Dream Home memiliki peraturan untuk mencegah anggota staff memimpin lebih dari 100 properti pada waktu yang sama. Tahap 3, adalah membangun dan memvalidasi model data logical global dan menggabungkan individual model data logical local ke dalam sebuah single model data logical local yang menggambarkan keseluruhan perusahaan. Yang antara lain adalah :
70 •
Menggabungkan model data logical ke dalam model global, tujuannya adalah untuk menggabungkan local logical data model individual ke dalam sebuah single model data logical global dari perusahaan.
•
Memvalidasi model data logical global, tujuannya untuk memvalidasi relasi yang diciptakan dari model data logical global dengan menggunakan teknik normalisasi dan menjamin mereka untuk mendukung transaksi yang dibutuhkan jika diperlukan.
•
Memeriksa untuk perkembangan di masa depan, tujuannya untuk menentukan apakah ada perubahan signifikan seperti dalam masa depan dapat diketahui dari sekarang dan menilai jika model data logical global dapat menyesuaikan perubahanperubahan.
•
Me-review model data logical global dengan user, tujuannya menjamin bahwa model data logical global adalah representasi yang sebenarnya dari perusahaan.
2.1.5.3 Perancangan Basisdata Fisikal Tahap 4, yang digolongkan dalam perancangan basis data fisikal adalah bertujuan untuk menghasilkan sebuah skema basis data relational dari model logical global yang dapat diimplementasikan dalam target DBMS. Yang antara lain adalah :
71 •
Merancang relasi-relasi dasar Tujuannya
untuk
memutuskan
bagaimana
memrepresentasikan relasi- relasi dasar yang diidentifikasikan dalam model data logical global dalam target DBMS. •
Merancang representasi dari derived data. Tujuannya untuk memutuskan bagaimana merepresentasikan derived data yang ada pada data model logical global ke dalam target DBMS.
•
Merancang batasan perusahaan. Tujuannya tergantung pada DBMS. Ada yang menyediakan fasilitas untuk mendefinisi batasan perusahaan dan ada yang tidak. Jika tidak ada maka harus merancang batasan ke dalam aplikasi.
Tahap 5, adalah merancang representasi fisik. Tujuan menentukan organisasi file yang optimal untuk menyimpan relasirelasi dan indeks yang diinginkan agar mencapai performance yang bias diterima, untuk itu aka ditentukan relasi dan tuple mana yang akan ada pada secondary storage. Langkah-langkahnya adalah : •
Menganalisis transaksi, tujuannya untuk memahami fungsi dari suatu transaksi yang akan dijalankan pada basis data untuk menganalisis transaksi penting.
•
Memilih organisasi file, tujuannya untuk memilih organisasi file yang efisien untuk setiap relasi dasar.
72 •
Memperkirakan kebutuhan disk-space, tujuannya untuk memperkirakan ukuran disk-space yang dibutuhkan oleh basis data.
2.1.6 State Transtition Diagram ( STD ) Menurut Hoffer ( 1996, p364 ), STD adalah sebuah diagram yang menggambarkan bagaimana proses saling berhubungan dalam suatu waktu. STD menggambarkan state yang diwakili komponen system dan kejadian yang menyebabkan perubahan state ke state lainnya. 2.1.6.1 Pembuatan State Transtition Diagram ( STD ) Ada 2 cara pembuatan State Transtition Diagram ( STD ) : a.
perhatikan semua state yang mungkin muncul dan perhatikan semua hubungan yang mungkin diantara mereka.
b.
mulai dari state awal, perhatikan state apa yang dapat diteruskan darinya, kemudian dilanjutkan sampai semua jaringan tergambarkan.
Notasi yang digunakan dalam pembuatan STD ini berupa : 1.
State. Digambarkan sebagai berikut :
Gambar 2.16 notasi State
73 Digunakan untuk mempresentasikan status menunggu respon
interaksi
yang
terjadi.
Sifatnya
menunggu
suatu
lingkungan luar terjadi / menunggu aktifitas yang sedang berlangsung dalam lingkungan yang berubah keaktifitas lain 2. Perubahan State Digambarkan sebagai berikut :
Gambar 2.17 notasi perubahan state Digunakan untuk menunjukkan hubungan antar state dan kondisi yang menyebabkan terjadinya perbahan state tersebut. Aturan pembuatan State Transtition Diagram adalah : a. indentifikasi semua state yang mungkin / state initial. b. Menggambarkan kotak untuk mewakili setiap state. c. Hubungkan state dengan panah untuk memperlihatkan transisi. d. Setiap state harus menuju kestate lainnya. e. Namakan panah transisi dengan nama kejadian. f. Buatlah aksi yang ada pada setiap kotak. g. Pikirkan kemungkinan rekasi system akan kejadian tak terduga. h. Pelajari diagram untuk melihat apakah perlu untuk diuraikan. i. Lakukan pembahasan untuk ketetapan dan konsistensi. 1. Apakah semua state telah tergambarkan. 2. Apakah semua state dapat dituju.
74 3. Apakah semua state dapat menuju state lain ( kecuali final state ). 4. Apakah system berjalan normal pada kejadian.
Contoh gambar STD : Verifikasi
Data valid Login Username dan Password
Menu Utama
Data tidak valid Gambar 2.18 Contoh State Transtition Diagram
2.1.7
Data Flow Diagram ( DFD ) / Diagram Aliran Data Menurut Mcleod ( 1995, p172 ) Diagram Aliran Data adalah suatu alat
dokumentasi grafik yang menggambarkan beberapa symbol untuk menjelaskan bagaimana data mengalir melalui proses – proses yang saling berhubungan. Kegunaan dari Diagram Aliran Data yaitu : a. Sebagai alat analisis aliran data. b. Sebagai alat komunukasi antar system analisa dengan pemakai. c. Sebagai alat dokumentasi.
75 Simbol – simbol yang digunakan dalam diagram aliran data antara lain : a. Proses. Simbol :.
Gambar 2.19 simbol proses 1. Menggambarkan apa yang dilakukan system. 2. Berfungsi mentransformasikan satu / beberapa data masukan menjadi satu atau beberapa informasi keluaran sesuai dengan spesifikasi yang diinginkan. 3. Setiap lingkaran memiliki satu atau beberapa data masukan serta menghasilkan satu atau beberapa data keluaran. 4. Lingkaran yang menggambarkan suatu proses, sering pula disebut bubble.
b. Data flow Simbol :
Gambar 2.20 simbol data flow
76 Data Flow menggambarkan data yang mengalir dari suatu entity ke entity yang lain. Arah anak panah menggambarkan arah aliran data. Aliran Data : 1. Antara dua proses yang berurutan. 2. Dari data store ke proses dan sebaliknya. 3. Dari source ke proses. 4. Dari proses ke sink. c. Data Store Simbol :
Gambar 2.21 simbol data store 1. tempat penyimpanan data. 2. pproses dapat mengambil data dari atau memberi data ke data source.
77 d. External Entity. Simbol :
Gambar 2.22 simbol external entity 1. Entitas yang berada diluar sistem, yang memberikan data kepada system ( source ) atau yang menerima informasi dari system ( sink ). 2. Tidak termasuk bagian dari sistem. 3. bila sistem informasi dirancang.untuk satu bagian ( departemen ) maka bagian lainnya masih terkait menjadi external entity.
Tingkatan diagram pada diagram aliran data : 1. Diagram Berhubungan Diagram hubungan merupakan level tertinggi dari diagram aliran data yang menggambarkan seluruh input ke output dari system. 2. Diagram Nol Diagram nol adalah diagram yang dipecah atau dibagi dari lingkaran utama dari diagram hubungan derta data store sudah diperlihatkan dalam bagian ini.
78 3. Diagram Rinci Tiap – tiap proses penting dalam diagram nol, mungkin dapat dibuatkan lagi diagram yang lebih rinci dari diagram sebelumnya ( sudah menggambarkan proses yang tidak dapat dibagi – bagi lagi ).
2.2
Teori – teori khusus 2.2.1 Pengertian PHP Bahasa scripting adalah bahasa yang dapat menambah fitur – fitur tambahan secara tertulis pada HTML, mengingat terbatasnya kemampuan HTML. Bahasa scripting di bagi menjadi 2 jenis, yaitu server side scripting dan client side scripting. Server side script adalah script yang diterjemahkan oleh web server. Server side script merupakan satu set instruksi yang diproses oleh server dan menghasilkan HTML. HTML yang dihasilkan dikirim sebagai bagian dari tanggapan HTTP ke browser.Browser kemudian menampilkan HTML tersebut. Sedangkan client side script merupakan script yang diterjemahkan oleh browser. PHP merupakan server side script yang tergabung dalam HTML yang didukung oleh banyak web server dan termasuk server HTTP Apache, dan internet Informatioan Service milik Microsoft. PHP juga merupakan bahasa pemograman yang disukai pada bahasa scripting web linux. PHP telah dipengaruhi oleh perkembangan bahasa pemograman lain seperti Perl, ‘C’, Java dan beberapa cakupan ASP (Active Server Pages).
79 PHP memiliki beberapa kelebihan, yaitu : •
Ekstensibility, memiliki cakupan yang luas.
•
Sejumlah modul disediakan untuk mendukung hal – hal seperti hubungan dengan database, xml, mail.
•
Didukung oleh sejumlah besar ISP(Internet Server Provider), yang berarti aplikasi yang ditulis dengan PHP dapat dengan mudah diletakkan pada web untuk dilihat oleh siapa saja.
Kombinasi yang popular saat ini adalah server HTTP Apache, PHP, dan database MYSQL atau Postgre SQL. Di bawah ini merupakan langkah – langkah untuk mengirim web (Choi,2000,p2,pp49-51;Connoly,2002,pp965-966) : •
Pertama – tama client meminta halaman web kemudian web server mencari lokasi halaman web yang diminta.
•
Jika halamn web tersebut merupakan halaman PHP maka web server perlu untuk memproses PHP untuk menghasilkan HTML yang akan dikembalikan ke browser. Pada tahap ini jika halaman web diakhiri dengan php, maka server mengirimnya ke server machine PHP yang ada dalam web server untuk diproses. Jadi kode PHP dimasukkan ke salah satu ujung web server yang kemudian menghasilkan output berupa halaman HTML murni.
•
Halaman HTML tersebut kemudian dikirimkan ke browser.
•
Di browser, halaman HTML akan diterjemahkan untuk ditampilkan.
80 2.2.2 Backup and Recovery •
Backup Kegiatan atau fasilitas untuk melakukan penyimpanan data cadangan secara berkala sesuai dengan data asli.
•
Recovery Fasilitas yang membiarkan system untuk mengembalikan data – data yang rusak menjadi consistent state.
Beberapa fasilitas yang digunakan untuk melakukan backup dan recovery •
Backup data file ke dalam disk atau hard disk.
•
Backup arsip data yang belum mengalami perubahan.
•
Restore data file dari disk atau hard disk.
•
Restore dan apply data yang belum mengalami perubahan untuk meningkatkan perform recovery.
2.2.3
Apache Server Apache server dapat dipercaya dan mampu melayani hampir lebih dari
60 % website yang ada saat ini. Apache adalah aplikasi server web yang tersedia secara gratis dan disebarkan dengan lisensi “open source”. Apache memiliki keuntungan yaitu Apache tersedia pada banyak platform dalam format binary dan source code. Apache telah memperoleh reputasi sebagai web server yang terpercaya. (Chaudhury, 2002, pp200-201).
81 2.2.4 MySQL MySql adalah sebuah server basis data yang kecil, padat, dan mudah digunakan, merupakan implementasi client server yang berisi sebuah server daemon mysql dan beberapa program klien yang berbeda. MySQL cocok untuk aplikasi berukuran kecil maupun besar (Casteagnetto, rawat, Schumann, Scollo, and Veliath. 2000, p266). MySql merupakan database relational yang bersifat open source. Basis data didistribusikan secara gratis untuk platform unix dan OS/2, sedangkan untuk platform Microsoft harus mendapatkan izin pemakaian setelah melewati waktu coba penggunaan selama 30 hari. Jadi, dengan MySql dapat di peroleh keuntungan yang berhubungan dengan biaya dibandingkan dengan basis data lainnya. Basis data server memiliki keistimewaan, antara lain: •
Portability MySql dapat berjalan stabil dalam berbagai platform komputer.
•
Open source MySql merupakan basis data server yang bersifat open source
yang didistrubusikan secara gratis di bawah lisensi GPL. •
Multi user MySql dapat digunakan oleh beberapa user dalam waktu yang
bersamaan tanpa mengalami masalah atau konflik.
82 •
Coloumn types Tipe kolom yang tedapat dalam basis data MySql sangat
kompleks, seperti
unsigned integer, float, double, char, varchar, text,
blob, date, time, date time, timestamp, year, set, dan sebagainya •
Comment and function MySql memiliki operator dan fungsi secara penuh yang
mendukung perintah SELECT dan WHERE dalam query •
Performance tuning Kecepatan MySql dalam menangani query sederhana
sangat tinggi sehingga dapat memproses lebih banyak perintah SQL persatuan waktu. •
Security Terdapat beberapa lapisan keamanan, seperti level subnet
mask, nama host, dan ijin akses pemakai dengan sistem perijinan yang mendetail serta password yang terenkripsi. •
Scalability and limits MySql mampu manangani basis data dalam skala besar,
dengan jumlah record lebih dari 50 juta dan 60 ribu tabel serta 5 miliar baris. Selain itu, batas indeks yang dapat di tampung mencapai 32 indeks pada tiap tabel-nya.
83 •
Connectivity Koneksi dengan client pada MySql dapat menggunakan
protokol TCP/IP, UNIX socket, atau Named Pipes (NT). •
Localizations Deteksi pesan kesalahan pada client dapat menggunakan
lebih dari 20 bahasa (tidak termasuk bahasa indonesia). •
Interface Interface MySql terhadap berbagai aplikasi dan bahasa
pemrograman
menggunakan
fungsi
API
(Application
Programming Interface). •
Clients and tools MySql dilengkapi dengan berbagai tool yang digunakan
untuk administrasi basis data, dan pada setiap tool yang ada disertakan petunjuk online. •
Structure table Struktur table
pada
mysql
lebih fleksibel
dalam
menangani ALTER TABLE, dibandingkan basis data lainnya seperti postgreSQL atau Oracle.