BAB II PENGEMBANGAN SISTEM BASIS DATA Bab ini akan membahas lebih lanjut mengenai arsitektur sistem basis data dan pengembangan sistem basis data. Sistem basis data tidak berdiri sendiri, tetapi selalu terikat
kepada
Sistem
Informasi
yang
memanfaatkan
basis
data,
sehingga
pengembangannya selalu beriringan dengan pengembangan sistem informasi.
2.1 Model Data Model Data (Data Model) adalah konsep-konsep yang digunakan untuk menjelaskan struktur basis data (misalnya tipe data, relationship yang berlaku, dan aturan yang berlaku terhadap data). Di dalam model data juga disediakan sekumpulan operasi untuk mengakses dan memanipulasi data. Model data digunakan untuk keperluan abstraksi data, yang menyajikan basis data ke dalam bentuk yang lebih sederhana dan mudah dipahami pengguna biasa. Model data diperlukan karena tidak semua orang melihat data dengan cara yang sama. Pimpinan perusahaan misalnya lebih mudah melihat data dalam bentuk ringkasan atau grafik, sedangkan pemrogram aplikasi melihat data dalam bentuk rangkaian karakter, format data, dan lainnya dalam level yang lebih rendah dari apa yang diketahui para pengguna lain. Tujuan utama pemodelan data adalah untuk mendokumentasikan semua aturan dan kebijakan organisasi yang mengendalikan data (Hoffer, 2002). Model ini nantinya diimplementasikan menjadi basis data. Kebijakan seperti “setiap siswa mengambil matakuliah pada kelas tertentu” pada akhirnya diimplementasikan sebagai adanya keterhubungan antara data mahasiswa dengan data kelas matakuliah. Berdasarkan jenis konsep yang dimiliki untuk menjelaskan struktur basis data Model Data dapat dikategorikan menjadi: 1. High level data model (Conceptual Data Model) 2. Implementation Data Model (Representational Data Model) 3. Low level data model (Physical Data Model)
2.1.1 High Level Data Model (Conceptual Data Model) Model ini menyediakan konsep tentang data yang mudah dipahami pengguna (data pada level tinggi), misalnya konsep entity, atribut, dan relationship. Entity menggambarkan obyek atau konsep yang ada di dunia nyata dimana datanya bisa dicatat dan disimpan, atribut adalah properti atau sifat yang menjelaskan sebuah entity.
Relationship menyatakan interaksi di antara dua atau lebih entity.
Basis Data – Darmawan Satyananda
14
Beberapa macam model yang termasuk di dalam model ini adalah Entity-
Relationship Model, Object-oriented Model, Binary Model, Semantics Data Model, Infological Model, Functional Data Model. Yang paling umum digunakan saat ini adalah Entity-Relationship model, yang akan dibahas pada bab III.
2.1.2 Implementation Data Model Implementation data model menyediakan konsep yang dapat dimengerti oleh pengguna akhir, tetapi juga sudah lebih dekat hubungannya dengan bagaimana data disimpan di dalam komputer. Beberapa detail penyimpanan data disembunyikan, tetapi masih dapat diimplementasikan secara langsung dalam sistem komputer. Model ini juga dinamakan sebagai model data berbasis record (record-based data
model) karena menggunakan struktur record untuk menyimpan data dan untuk memberikan gambaran kepada pengguna tentang hubungan lojik antar data dalam suatu basis data. Setiap record mempunyai sejumlah tetap field (disebut juga dengan atribut), umumnya dengan ukuran tertentu. Ada tiga macam model yang termasuk di dalamnya: Relational Model, Network
Model, Hierarchical Model. Dua model terakhir sudah tidak dipergunakan lagi, sedangkan model Relasional masih menjadi standar pada banyak DBMS. Model Relasional akan dibahas pada bab IV.
2.1.3 Low Level (Physical Data Model) Physical data model menyediakan konsep yang menggambarkan secara detail bagaimana data disimpan di dalam komputer, dengan memberikan informasi tentang format record, urutan record, dan access path (struktur yang membuat pencarian data menjadi efisien). Model ini jarang digunakan pengguna biasa pada umumnya, lebih banyak oleh orang yang biasa terlibat dalam perancangan sistem basis data atau pemrogram aplikasi. Dua model yang banyak digunakan: Unifying model, Frame memory.
2.2 Skema dan Instance Untuk setiap model data, perlu dibedakan antara deskripsi suatu basis data dan basis data itu sendiri. Deskripsi suatu basis data disebut dengan skema basis data yang menggambarkan keseluruhan struktur lojik suatu basis data. Skema ini disusun pada waktu perancangan basis data. Diagram skema (schema diagram) adalah skema yang ditunjukkan kepada pihak selain perancang sistem. Skema ini hanya menampilkan beberapa aspek dari skema, seperti nama file dan item data, serta beberapa aturan (constraints). Beberapa hal yang tidak ditunjukkan antara lain tipe dari setiap item data dan hubungan antara berbagai file.
Basis Data – Darmawan Satyananda
15
Data dalam basis data pada waktu tertentu disebut dengan database state atau
snapshot (disebut juga sebagai database instance). Setiap kali dilakukan penyisipan record, penghapusan record, atau pengubahan nilai yang ada dalam record, maka dikatakan terdapat pengubahan state basis data. Pada saat dilakukan pendefinisian basis data baru, yang dilakukan hanya penspesifikasian skema basis datanya kepada DBMS. Pada saat ini state database adalah "state kosong" yang tidak berisi data. Bila dipunyai data baru maka dikatakan terdapat "state awal" (initial state), dan dari sini apabila dilakukan pengubahan basis data, akan didapatkan instance yang berbeda. Pada setiap waktu, database mempunyai current
state (state yang berlaku saat data diakses). DBMS bertanggung jawab untuk memastikan bahwa setiap instance memenuhi struktur dan aturan yang ada di dalam skema. Skema ini disimpan di dalam katalog, sehingga software DBMS merujuk kepada skema setiap kali menggunakan basis data. Skema disebut juga dengan intension dan database instance disebut sebagai
extension dari skema.
2.3 Abstraksi Data Salah satu karakteristik dasar pendekatan basis data adalah penyediaan beberapa tingkatan (level) abstraksi data yang tidak menampakkan bagaimana data disimpan (yang tidak diperlukan oleh pengguna pada umumnya). Penyembunyian ini dilakukan karena tidak semua orang yang menggunakan basis data adalah orang yang secara khusus mempelajari basis data atau perlu mengetahui detail implementasinya. Penggunaan beberapa tingkatan abstraksi akan lebih menyederhanakan interaksi pengguna dengan sistem. Abstraksi data berkenaan dengan bagaimana suatu data dipandang dari sudut pemakai dan perancang. Suatu basis data dapat dikelompokkan menjadi 3 tingkatan abstraksi data, dan karenanya disebut sebagai arsitektur 3 skema (3-schema
architecture), yaitu: 1. Tingkatan fisik (physical schema, disebut juga internal level). Merupakan tingkatan yang paling rendah, yang menggambarkan secara terperinci bagaimana suatu data tersimpan di media penyimpanan. Pada tingkatan ini terdapat skema internal (internal schema) yang menggambarkan struktur penyimpanan fisik basis data. Skema internal menggunakan model data fisik. Tingkatan ini sangat tergantung kepada perangkat lunak dan keras yang digunakan. 2. Tingkatan konseptual (conceptual schema atau logical level) Skema ini merupakan gambaran struktur basis data secara keseluruhan yang tidak tergantung
kepada
teknologi
Basis Data – Darmawan Satyananda
DBMS
yang
ada.
Conceptual
schema
tidak
16
menampakkan rincian struktur penyimpanan fisik dan hanya mendeskripsikan entitasentitas, tipe data, relasi yang ada di antara data, dan aturan (constraint) untuk basis data tersebut. Penggambaran data apa yang tersimpan di dalam basis data dilakukan dalam bentuk relasi tabel-tabel atau notasi diagram seperti diagram E-R. Skema konseptual digunakan oleh DBA untuk menentukan informasi apa yang harus disimpan dalam basis data dan bagaimana strukturnya. 3. Tingkatan view (view level, disebut juga external level). Merupakan tingkatan yang tertinggi, pada tingkatan ini terdapat sejumlah skema eksternal, setiap skema menggambarkan view (persepsi atau pandangan) pengguna terhadap suatu basis data tertentu. View adalah subset dari semua data dalam basis data yang digunakan oleh pengguna sesuai dengan kebutuhannya. Bagian lain yang tidak dibutuhkan akan disembunyikan oleh sistem. View bisa berupa tampilan di layar komputer yang dihadapi pengguna, form yang harus diisi, atau report yang dihasilkan sistem. Dari ketiga tingkatan tersebut, hanya tingkatan fisik yang berisi data, tingkatan lainnya hanya merupakan tingkatan lojik. Hubungan antar tingkatan dapat dilihat pada Gambar 2.1.
Gambar 2.1 Tabel basis data.
Basis Data – Darmawan Satyananda
17
2.4 Pengembangan Sistem Basis Data Umumnya basis data dikembangkan sebagai bagian dari sistem informasi dalam suatu organisasi. Di sini basis data berfungsi menyediakan data bagi sistem informasi tersebut, sehingga pengembangannya menjadi satu dengan pengembangan sistem informasi. Salah satu metode pengembangan sistem informasi adalah SDLC (System Development Life Cycle), atau yang umum dikenal dengan metode Waterfall. Metode ini terdiri dari sejumlah tahapan, output salah satu tahapan menjadi input tahapan berikutnya. Gambar 2.2 menunjukkan tahapan waterfall.
IDENTIFIKASI ANALISIS DESAIN IMPLEMENTASI PERAWATAN Gambar 2.2. Tahapan dalam metode waterfall Metode ini tidak murni linier, misalnya dari tahapan kedua harus menuju tahap ketiga, tetapi merupakan proses yang iteratif, mungkin saja dari tahap ketiga kembali ke tahap kedua bila dirasakan hasil tahap ketiga belum sempurna.
2.4.1 Tahapan Pengembangan Sistem Basis Data Di mana sistem basis data dikembangkan? Sistem basis data dikembangkan bersamaan dengan pengembangan sistem informasi, jadi bukan merupakan proses tersendiri. Dengan demikian tahapannya juga nyaris identik dengan pengembangan sistem informasi. Perbandingan tahapannya bisa dilihat pada Tabel 2.1. 1. Identifikasi Pada tahapan ini dilakukan pengamatan pengolahan data yang sedang berlaku pada suatu organisasi, dokumen yang digunakan, data yang sudah ada, fungsi-fungsi bisnis dalam organisasi tersebut serta kebutuhan kebutuhan datanya, dan pencarian kebutuhan data baru untuk mendukung sistem informasi. Output dari tahapan ini
Basis Data – Darmawan Satyananda
18
adalah sebuah business rule, yaitu uraian yang menggambarkan sistem secara keseluruhan. Business rule dibahas lebih lanjut pada bab III. Tabel 2.1. Perbandingan tahapan pengembangan SI dan Sistem Basis Data. Pengembangan SI Identifikasi Analisis Desain Implementasi Perawatan
Tahapan pengembangan sistem basis data Identifikasi Pemodelan data konseptual Perancangan basis data secara lojik Perancangan basis data secara fisik Implementasi basis data Perawatan basis data
2. Pemodelan data Tahapan selanjutnya adalah analisis semua kebutuhan data dalam sistem informasi. Dari business rule yang ada, dilakukan identifikasi entity, atribut, dan relationship-nya (bila mengacu kepada model Entity-Relationship). Selain itu juga ditentukan jenisjenis data yang mungkin dan penentuan semua aturan yang bisa diberlakukan terhadap data yang disimpan. Bab III membahas lebih lanjut tentang pemodelan secara Entity-Relationship 3. Perancangan basis data secara lojik Yang dilakukan di dalam tahapan ini adalah mentransformasi model konseptual menjadi model lojik yang sudah lebih dekat kepada implementasi fisik, misalnya mentransformasi model Entity-Relationship menjadi model Relasional. Selain itu juga melakukan perancangan format input dan output, report, tampilan, dan query. Tahap akhir adalah melakukan perbaikan rancangan melalui proses normalisasi. Hasil semua proses ini adalah suatu rancangan lengkap dan operasional, tanpa tergantung kepada salah satu produk DBMS tertentu. Bab IV membahas mengenai model Relasional dan bab VI membahas mengenai normalisasi pada model Relasional. 4. Perancangan basis data secara fisik Di tahap ini dilakukan organisasi basis data dalam media penyimpanan komputer, dan penentuan struktur fisik DBMS. Tujuannya adalah merancang basis data yang efisien dan bisa secara aman menyimpan semua data. Untuk basis data yang tidak terlalu besar kita bisa mengandalkan pengorganisasian yang disediakan oleh DBMS, tetapi untuk aplikasi yang memerlukan data besar, real-time, perlu ditentukan seperti apa basis datanya agar memudahkan dalam operasionalnya. 5. Implementasi basis data Di sinilah sudah ditentukan DBMS apa yang digunakan, bahasa apa yang digunakan untuk memproses data, serta pembuatan program dan pengujiannya. Selama
Basis Data – Darmawan Satyananda
19
tahapan ini juga mencakup pembuatan semua dokumentasi dan pelatihan kepada pengguna. Dalam tahapan pengujian, program yang dibuat lalu dijalankan untuk mencari kesalahan dan membetulkannya. Termasuk juga di sini melakukan konversi data (bila sudah ada) dari sistem yang lama dan memasukkannya ke sistem yang baru. Setelah yakin bahwa sistem yang dibuat sudah benar, maka sistem siap digunakan oleh pengguna sebenarnya. 6. Perawatan basis data Pada tahap perawatan dilakukan perubahan, penambahan, atau penghapusan struktur basis data karena adanya permintaan baru, perbaikan kesalahan, dan untuk keperluan peningkatan kinerja. Bisa juga dilakukan pembuatan ulang basis data yang rusak karena kegagalan program atau komputernya.
2.4.2 Pihak yang Terlibat Dalam Pengembangan Basis Data Untuk basis data yang sederhana (kecil), barangkali cukup 1 orang saja yang berperan dalam pendefinisian, penyusunan dan manipulasi basis data. Tetapi untuk basis data yang besar dan kompleks, diperlukan beberapa orang yang masing-masing mempunyai peran tersendiri seperti yang akan disebutkan.
2.4.2.1 Database Designer Database designer (DD) mempunyai tanggung jawab untuk merancang basis data secara fisik dan konseptual (dilakukan sebelum sistem basis data diimplementasikan), serta mengadaptasikan basis data sesuai dengan kebutuhan perubahan (dilakukan pada saat sistem sudah berjalan). Tercakup dalam perancangan adalah mendefinisikan data yang akan disimpan dalam basis data dan memilih struktur yang tepat untuk merepresentasikan dan menyimpan data tersebut. DD berkomunikasi dengan semua pengguna basis data agar dapat memahami kebutuhan pengguna dan menghasilkan rancangan yang sesuai dengan kebutuhan pengguna. Peran DD dalam pengembangan sistem adalah pada tahapan Analisis dan Desain.
2.4.2.2 Database Administrator Database Administrator (DBA) bertanggung jawab untuk mengelola semua aktivitas dan sumberdaya yang ada dalam lingkungan basis data agar basis data bisa berfungsi dengan baik. Sumberdaya yang dimaksud meliputi basis data itu sendiri, DBMS, dan semua software yang terkait. Pengelolaan sumberdaya dalam lingkungan basis data meliputi: 1. Berhubungan dengan pengguna, agar kepentingan satu pengguna tidak berbenturan dengan pengguna yang lain, misalnya dengan mengatur transaksi multi-user sehingga semua pengguna tetap mendapatkan data yang benar.
Basis Data – Darmawan Satyananda
20
2. Mendefinisikan keamanan dan integritas data, yaitu mengatur agar suatu data tidak dapat diakses oleh fihak yang tidak berwenang, misalnya dengan pembatasan hak. Pemberian kewenangan yang berbeda memungkinkan DBA untuk menentukan bagian mana dari basis data dapat diakses oleh pengguna yang berbeda dan tetap menjaga integritas data agar sistem berjalan dengan baik. 3. Memonitor kinerja basis data sehingga bila dirasakan sistem sudah berjalan tidak sempurna, bisa dilakukan sesuatu agar data tetap dapat digunakan secara efisien oleh pengguna. 4. Back-up dan recovery Dalam pengembangan sistem basis data, DBA berperan pada tahapan Implementasi dan Perawatan.
2.4.2.3 Pengguna Akhir (End User) Pengguna akhir ialah orang yang pekerjaannya menggunakan basis data untuk mencari informasi, memperbaharui data (updating), dan menghasilkan laporan. Macam pengguna bisa berupa pengguna yang hanya menggunakan fasilitas yang tersedia dalam program aplikasi untuk mendapatkan informasi tertentu (disebut naïve end-user), pengguna yang mendapatkan informasi yang berbeda-beda menggunakan bahasa query (disebut casual end-user), dan pengguna yang menggunakan semua fasilitas yang ada untuk memenuhi kebutuhannya yang kompleks (sophisticated end-user)
2.4.2.4 Analis Sistem dan Pemrogram Aplikasi Analis sistem menentukan kebutuhan pengguna dan mengembangkan spesifikasi untuk transaksi yang memenuhi kebutuhan pengguna (tugasnya lebih luas dari Database
Designer). Pemrogram aplikasi mengimplementasikan spesifikasi ini sebagai suatu program, menguji, mendokumentasikan, dan merawat program. Program yang dibuat umumnya spesifik untuk suatu lingkungan aplikasi tertentu. Mereka harus mengetahui semua fasilitas yang ada dalam suatu DBMS untuk mengembangkan programnya. Analis sistem dan Pemrogram Aplikasi mungkin tidak terlibat langsung dalam pengembangan sistem basis data, tetapi bekerja sama dengan DD dan DBA. Akan tetapi sering juga dijumpai Analis Sistem dan Pemrogram juga melakukan pekerjaan DD dan DBA, dengan kata lain tidak ada pembagian yang jelas di antaranya.
2.5 Rangkuman Bab ini membahas secara lebih rinci mengenai pengembangan sistem basis data. Yang dibahas antara lain adalah Model Data, Abstraksi Data, dan Pengembangan Sistem Basis Data. Model data yang digunakan dalam DBMS dapat dikategorikan menjadi 3 bagian:
Basis Data – Darmawan Satyananda
21
·
High level data model (Conceptual Data Model)
·
Implementation Data Model (Representational Data Model)
·
Low level data model (Physical Data Model)
Pada setiap kategori model data dibahas mengenai ciri dan contoh model datanya. Abstraksi data berkaitan dengan bagaimana data disajikan kepada pengguna secara lebih jelas. Abtsraksi data terbagi menjadi 3 tingkatan (level): ·
Tingkatan fisik (physical level atau internal level)
·
Tingkatan konseptual (conceptual level atau logical level)
·
Tingkatan view (view level atau external level)
Tingkatan ini menentukan seperti apa data yang diberikan kepada penggunanya disesuaikan dengan keperluannya, karena ada pihak yang menggunakan data pada tingkatan rendah dan tinggi. Pengembangan sistem basis data biasanya dijalankan bersamaan dengan pengembangan sistem informasi. Tahapannya adalah: Identifikasi, Pemodelan data konseptual, perancangan basis data secara lojik dan fisik, Implementasi basis data, serta Perawatan basis data. Berbagai fihak yang terlibat dalam pengembangan sistem basis data adalah Database Designer, Database Administrator, Pengguna Akhir (End User), serta Analis Sistem dan Pemrogram Aplikasi. Masing-masing fihak tersebut mempunyai tugas tersendiri dalam membangun dan mengelola sebuah basis data.
2.6 Soal Latihan 1. Jelaskan mengenai 3 level abstraksi data. 2. Jelaskan mengenai tahapan pengembangan basis data dan kaitannya dengan pengembangan sistem informasi.
Basis Data – Darmawan Satyananda
22