PERTEMUAN 8A MANAJEMEN BASIS DATA
8A.1 Pendahuluan
Tujuan utama komputer adalah mengolah data menjadi sebuah informasi yang berharga. Untuk mengolah data dibutuhkan sebuah mekanisme penyimpanan dan pengolahan yang baik, sehingga dapat menghasilkan informasi dengan cepat dan akurat. Pengolahan data yang baik meliputi penyimpanan data dengan struktur yang baik, serta mekanisme untuk melakukan manipulasi data menjadi informasi. Penyimpanan dan pengolahan data dalam satu tempat akan memudahkan pengguna dalam pemeliharaan dan pencarian data. Jika data disimpan dalam banyak tempat/berkas, maka akan sulit sekali melakukan kordinasi, organisasi, dan pelacakan data dari berbagai sumber yang berbeda tersebut.
Konsep penyimpanan data yang baik tertuang dalam konsep basis data. Sedangkan aplikasi yang digunakan untuk menyimpan dan mengelola basis data disebut sebagai Sistem Manajemen Basis Data.
Dalam bab ini akan dipelajari mengenai hirarki data, model data, perancangan basis data, dan sistem manajemen basis data relasional. Setelah mempelajari bab ini mahasiswa diharapkan dapat membuat basis data sederhana dengan menggunakan sistem manajeman basis data relasional Microsoft Access.
8A.2 Penyajian
a. Pengertian Data, Informasi dan Basis Data
Data adalah kumpulan kejadian yang diangkat dari suatu kenyataan (fakta), dapat berupa angka-angka, huruf, simbol-simbol khusus, atau gabungan dari ketiganya. Data masih belum dapat bercerita banyak sehingga perlu diolah lebih lanjut. Komputer memproses data ke dalam informasi. Informasi adalah hasil dari suatu kegiatan pengolahan data yang memberikan bentuk yang lebih bermakna dari suatu fakta. Kita tidak dapat memperoleh informasi yang benar dari data yang tidak benar (Garbage in, garbage out (GIGO)).
Basis data berasal dari kata basis dan data. Basis dapat diartikan sebagai markas, gudang, dan tempat berkumpul. Sedangkan data adalah ukuran, besaran, serta nilai dari obyek dan fakta yang terdapat dalam sebuah lingkungan atau organisasi. Sebuah basis data adalah koleksi atau kumpulan data yang saling berhubungan mengenai sebuah subyek atau organisasi untuk mencapai suatu tujuan tertentu.
Misalnya, sebuah fakultas memiliki data tentang departemen, mata kuliah, mahasiswa, dan dosen. Setiap semester pengelola fakultas menginginkan laporan berupa bukti penyelenggaraan proses belajar mengajar dari masing-masing departemen. Laporan tersebut dapat berupa KRS, transkrip nilai, jadwal mata kuliah, absensi mata kuliah, dan lain sebagainya. Untuk itu, dibuatlah sebuah basis data yang didalamnya terdiri dari data-data departemen, mata kuliah, mahasiswa, dan dosen, yang semuanya saling mendukung dan terkait. Basis data tersebut diharapkan dapat digunakan untuk menghasilkan informasi yang dibutuhkan dalam bentuk laporan pelaksanaan proses belajar-mengajar seperti disebutkan di atas.
Data-data yang terdapat pada basis data fakultas adalah sebagai berikut:
1. Data departemen: departemen biologi, departemen kimia, departemen fisika, ... 2. Data mata kuliah pada departemen biologi: anatomi hewan, manusia, tumbuhan, ... 3. Data mata kuliah pada departemen kimia: alkali, non alkali, asam-basa, ...
4. Data mata kuliah pada departemen fisika: gerak bebas, gaya dan usaha, teori relativitas, ...
5. Data dosen pada departemen biologi: Dr. Syamsul, Dr. Rustam Fatah, Dr. Ira, Dr. Mira Hanafi, Dr. Siska, Dr. Wawan, ...
6. Data dosen pada departemen kimia: Dr. Mira Basuki, Dr. Rustam Effendi, Dr. Warsito, Dr. Bambang, ...
7. Data dosen pada departemen fisika: Dr. Bambang Irawan, Dr. Eko Wijaya, Dr. Syaiful, Dr. Maria, ...
8. Data mahasiswa departemen biologi: Intan, Nuri, Karina, Dina, Syaiful, Neneng, Dede, ...
9. Data mahasiswa departemen fisika: Tuti, Sarah, Fadli, Soraya, Zaenal, ... 10. Data mahasiswa departemen kimia: Juwita, Bela, Tasya, Zikri, Fajar, ...
Selain data-data di atas, terdapat juga data-data tentang penyelenggaraan proses belajar-mengajar, seperti data absen untuk setiap mata kuliah, data nilai mahasiswa, data bimbingan dosen dan mahasiswa, dan lain sebagainya. Semua data-data ini ditempatkan dalam satu basis data fakultas.
b. Hirarki Data
Basisdata mengandung file-file, file mengandung record-record, record mengandung
field-field, field mengandung karakter (Gambar 1).
Field merupakan kombinasi dari satu atau lebih karakter,
dan merupakan unit terkecil dari data yang dapat diakses penguna. Ukuran field mendefinisikan the banyaknya karakter maksimum dalam sebuat field. Nama field mengidentifikasi secara unik setiap field. Tipe data menentukan jenis data yang terdapat dalam field. Contoh-contoh tipe data adalah
1. Numeric: hanya terdiri dari bilangan
2. Text (juga dinamakan alphanumeric): terdiri dari huruf, bilangan , atau karakter khusus.
3. AutoNumber: bilangan unik yang secara otomatis diberikan untuk setiap record baru
4. Currency: jumlah uang dalam dollar atau bilangan yang mengandung nilai desimal
5. Date: bulan, hari, tahun, dan kadang-kadang waktu 6. Memo: entri teks yang panjang
7. Yes/No (dinamakan juga Boolean): hanya mengandung nilai Yes atau No (atau True atau False)
8. Hyperlink: alamat Web yang me-linkke dokumen atau halaman Web
9. Object (dinamakan juga BLOB untuk objek biner berukuran besar): foto, audio, video, atau dokumen yang dibuat dalam aplikasi lain seperti word processing atau
spreadsheet.
Record merupakan kelompok field-field yang berelasi. Setiap record diidentifikasi secara
unik oleh key field, atau primary key.
Gambar 2 Field, record dan key field
Pemeliharaan record dilakukan dengan cara:
1. Menambah record baru ketika memperoleh data baru.
2. Memperbaiki data yang tidak akurat, dan meng-update data lama
3. Menghapus ketika record tidak lagi dibutuhkan. Beberapa program segera menghapus
record ketika tidak dibutuhkan lagi, program yang lain menandai record tersebut. key field records fields • 22 Fifth Avenue • P.O. Box 45 • 15 Duluth Street • 33099 Clark Street • 1029 Wolf Avenue • Address • Auburn • Clanton • Prattville • Montgomer y • Montgomer y • City • AL • Weinberg • Jonah • 3928 • AL • Marcus • 4872 • AL • Valesque z • Adrian • 3376 • AL • Murray • Shannon • 2928 • AL • Vandenb erg • Donna • 2295 • State • Last Name • First Name • Member ID • Green
Selain tiga cara tersebut, pemeliharaan record dilakukan dengan validasi. Validasi merupakan proses membandingkan data dengan kumpulan aturan untuk menentukan apakah data tsb benar atau tidak. Validasi bertujuan mengurangi kesalahan entri data dan meningkatkan integritas sebelum program menulis data ke dalam disk.
c. Pemrosesan File Versus Basisdata
Dalam pemrosesan file, setiap departemen atau area dalam organisasi memiliki kumpulan file-file sendiri. Record-record dalam satu file dapat tidak berelasi dengan record-record dalam file lain. Sistem ini memiliki kelemahan diantaranya
Redundansi data: field-field yang sama disimpan dalam banyak file.
Data terisolasi: data disimpan dalam file-file terpisah sehingga sulit diakses. Dalam pendekatan basis data, banyak program dan pengguna dapat berbagi pakai data dalam basisdata. Dalam pendekatan ini, keamanan data terjaga, sehingga hanya pengguna yang berhak yang dapat mengakses data tertentu. Berikut adalah keuntungan penggunaan pendekatan basis data:
Mengurangi redundansi data
Meningkatkan integritas data
Berbagi pakai data
Akses lebih mudah
Mengurangi waktu pengembangan
Gambar 3 menunjukkan perbedaan aplikasi basisdata dan aplikasi pemrosesan file dalam menyimpan data.
(a) Penyimpanan data dalam aplikasi pemrosesan file
(b) Penyimpanan data dalam aplikasi basisdata
Gambar 3 Perbedaan penyimpanan data dalam aplikasi basisdata dan aplikasi pemrosesan file
d. Model Data Relasional
Ketika kita membuat basis data sebenarnya secara tidak langsung kita sudah menentukan bagaimana nantinya data tersebut akan disimpan dan diperlakukan, dengan kata lain menentukan model (struktur) data dari data tersebut. Model data dapat didefinisikan sebagai kumpulan perangkat konseptual untuk menggambarkan data, hubungan data, makna data, dan batasan data. Model data berguna sebagai landasan baku cara kita memandang, mengorganisir, dan memperlakukan data secara konsisten.
Dalam sejarah perancangan basis data, terdapat sejumlah cara untuk merepresentasikan model data, yaitu model hirarkis (hierarchical model), model jaringan (network model), dan model relasional (relational model).
Pada model hirarkis, data disusun menyerupai struktur tree. Masing-masing obyek (entitas) dalam basis data hanya boleh memiliki satu parent, namun dapat memiliki lebih dari satu anak. Terdapat sebuah obyek sebagai root dan obyek sisanya menjadi child di bawahnya. Root adalah sebuah obyek yang levelnya paling tinggi (nilainya paling kecil).
Gambar 4 Model hirarkis
Pada model jaringan, entitas disusun dalam sebuah graph, dimana beberapa entitas dapat di akses melalui beberapa path. Pada model ini tidak ada hirarki data, semua dianggap berada pada level yang sama.
Gambar 5 Model jaringan
Pada model relasional, data disusun dalam tabel dua dimensi. Tabel terdiri dari atribut dan nilai dari atribut masing-masing obyek yang dinyatakan oleh tabel tersebut. Masing-masing tabel dapat memiliki relasi dengan tabel lainnya.
kode MK nama MK … NRP nama MHS …
kode dept nama dept
NIP nama DSN …
DEPARTEMEN
MATA KULIAH MAHASISWA
DOSEN
kode MK nama MK … NRP nama MHS …
kode dept nama dept
NIP nama DSN …
DEPARTEMEN
MATA KULIAH MAHASISWA
Gambar 6 Model relasional
Model data relasional adalah model data yang populer digunakan. Beberapa konsep dari model data relasional adalah sebagai berikut:
Sebuah obyek atau kejadian disebut juga sebagai entitas, dalam suatu organisasi direpresentasikan sebagai sebuah tabel.
Sebuah tabel terdiri dari atribut-atribut yang merupakan representasi nilai-nilai yang terdapat dalam suatu obyek.
Setiap table yang memiliki sebuah atribut yang dapat membedakan setiap obyek didalamnya secara unik (primary key) disebut sebagai strong entitas.
Sebuah tabel dapat memiliki relasi dengan tabel-tabel yang lain.
Hubungan antartabel dinyatakan dalam sebuah bentuk konseptual yang disebut Entitas-Relationship diagram (E-R diagram).
Komponen pembentuk model E-R diagram : Entitas, Atribut dan Relasi. Simbol-simbol yang digunakan dalam E-R diagram terdapat dalam Tabel 1. Tabel 1 Simbol dalam E-R diagram
No Nama Simbol Simbol
1. Entitas
2. Atribut
3. Relasi
Misalnya pada fakultas, terdapat beberapa strong entitas seperti departemen, dosen, mahasiswa, dan mata kuliah. Masing-masing strong entitas tersebut memiliki primary key, yaitu kode departemen untuk entity departemen, NIP untuk dosen, dan NRP untuk mahasiswa. Kemudian, setiap entitas dapat memiliki hubungan atau relasi dengan entitas lainnya sebagai berikut:
… … …
kode dept nama dept … … …
NIP nama DSN Dept
… … … … … … … … … DEPARTEMEN DOSEN
kode MK nama MK Dept
… … … … … … … … … MATA KULIAH NRP nama MHS Dept … … … … … … … … … MAHASISWA
Setiap departemen memiliki banyak dosen, banyak mata kuliah, dan banyak mahasiswa
Setiap dosen bisa mengajar lebih dari satu mata kuliah
Setiap mata kuliah dapat diajar oleh lebih dari satu dosen
Setiap mahasiswa dapat mengambil banyak mata kuliah
Setiap mata kuliah dapat diambil oleh banyak mahasiswa
Setiap mahasiswa memiliki seorang dosen pembimbing akademik
Setiap dosen dapat membimbing lebih dari satu mahasiswa
Tingkat partisipasi setiap obyek dalam entitas dinyatakan dalam derajat kardinalitas. Kardinalitas ini memiliki dua kemungkinan nilai, yaitu satu (one) dan banyak (many). Derajat kardinalitas menunjukkan jumlah maksimum entiti/record dari suatu tabel (A) yang dapat berelasi dengan entiti/record pada himpunan entiti /tabel yang lain (B)
One to One dari tabel A ke tabel B
Setiap record dari tabel A berhubungan dengan paling banyak satu record dari tabel B, dan begitu juga sebaliknya setiap record dari tabel B berhubungan dengan paling banyak satu record dari tabel A.
Relasi ini tidak umum karena data dalam bentuk relasi seperti ini dapat digabung dalam sebuah tabel. Relasi One to One dapat digunakan jika ingin membagi sebuah tabel yang memiliki banyak field.
One to Many dari tabel A ke tabel B
Setiap record dari tabel A dapat berhubungan dengan banyak record pada tabel B, tetapi tidak sebaliknya, dimana setiap record dari tabel B berhubungan dengan paling banyak satu record pada tabel A
Many to Many dari tabel A ke tabel B
Setiap record dari tabel A dapat berhubungan dengan banyak record pada tabel B, dan demikian juga sebaliknya, dimana setiap record dari tabel B dapat berhubungan dengan banyak record pada tabel A
Hubungan dan tingkat kardinalitas dari masing-masing relasi di atas dapat digambarkan dalam E-R diagram sebagai berikut:
Gambar 7 E-R Diagram
Hubungan ”memiliki” dari entitas departemen ke entitas mata kuliah, dosen, dan mahasiswa memiliki relasi one to many. Relasi ini diimplementasikan dengan masuknya kode departemen menjadi salah satu atribut di tabel dosen, tabel mahasiswa, dan tabel mata kuliah, seperti terlihat pada Gambar 8, 9, dan 10. Hal ini terjadi karena pada dasarnya atribut departemen adalah atribut yang mencirikan masing-masing obyek dalam tabel-tabel tersebut.
Gambar 8 Relasi One to Many Departemen dan Dosen
Gambar 9 Relasi One to Many Departemen dan Mahasiswa
memiliki
Departemen 1 * Mata Kuliah
kode dept kode MK kode dept
memiliki
Departemen 1 * Mahasiswa
kode dept NRP kode dept
Departemen Dosen Mata Kuliah Mahasiswa memiliki memiliki memiliki membimbing mengajarkan mengambil * * * * 1 * 1 * 1 * * * memiliki Departemen 1 * Dosen
Berbeda halnya dengan relasi ”memiliki”, relasi ”mengambil”, ”mengajarkan”, dan ”membimbing” mempunyai relasi many to many. Pada relasi ’mengambil”, kode mata kuliah tidak boleh ditempatkan langsung ke dalam tabel mahasiswa, karena pada dasarnya mata kuliah bukan merupakan atribut yang mencirikan mahasiswa. Demikian pula untuk relasi membimbing dan mengajarkan. Untuk itu, dibuatlah sebuah entitas baru yang didalamnya berisi kombinasi data dari dua tabel yang berelasi many to many tersebut. Entitas bentukan ini dikenal sebagai weak entitas. Weak entitas umumnya menggunakan kombinasi beberapa atribut dari entitas asalnya untuk mencirikan setiap obyek yang terdapat didalamnya (Gambar 11, 12, dan 13).
Gambar 11 Weak entitas pengajaran dari entitas dosen dan mata kuliah
Gambar 12 weak entitas bimbingan dari entitas dosen dan mahasiswa
Gambar 13 Weak entitas krs dari entitas mata kuliah dan mahasiswa berisi
Mata Kuliah Mahasiswa
kode MK NRP mengisi KRS kode MK NRP * 1 * 1 diberikan Dosen Mahasiswa NIP NRP mendapatkan Bimbingan NIP NRP * 1 * 1 memberikan
Dosen Mata Kuliah
NIP kode MK kode dept
diajarkan Pengajaran NIP kode MK * 1 * 1
Dari E-R diagram di atas, kita dapat membuat implementasi entitas-entitas berupa tabel-tabel dalam basis data. Tabel-tabel-tabel yang dibuat dalam basis data fakultas adalah sebagai berikut:
Tabel Departemen: kode dept, nama dept
Tabel Dosen: NIP, nama, kode dept
Tabel Mahasiswa: NRP, nama, kode dept
Tabel Mata Kuliah: kode MK, nama, semester, sks, kode dept
Tabel Pengajaran: NIP, kode MK, waktu, tempat, tahun ajaran
Tabel Bimbingan: NIP, NRP, tahun ajaran
Tabel KRS: NRP, kode MK, nilai, tahun ajaran e. Aljabar Relasional
Aljabar relasional menggunakan variabel dan operasi-operasi untuk membangun relasi baru, juga digunakan untuk manipulasi atau mengambil kembali data. Operasi-operasi tersebut adalah
1. Operasi proyeksi: pengambilan data dari kolom-kolom (field). Ilustrasi operasi ini diberikan dalam Gambar 14
Gambar 14 Ilustrasi operasi proyeksi
2. Operasi seleksi: pengambilan data dari baris-baris tertentu (record). Ilustrasi operasi seleksi diberikan pada Gambar 15.
Gambar 15 Ilustrasi operasi seleksi
Hasil operasi proyeksi Semua baris dan kolom dalam tabel Movie
Semua baris dan kolom dari tabel Movie
3. Kombinasi operasi proyeksi dan seleksi. Ilustrasi kombinasi operasi seleksi dan proyeksi diberikan pada Gambar 16.
Gambar 16 Ilustrasi kombinasi operasi seleksi dan proyeksi
4. Operasi join: mengkombinasikan data dari dua atau lebih tabel. Ilustrasi kombinasi operasi seleksi dan proyeksi diberikan pada Gambar 17.
Gambar 17 Ilustrasi operasi join
f. Structured Query Language (SQL)
SQL digunakan untuk me-manage, update, dan me-retrieve data menggunakan aljabar relasional. SQL memiliki keyword khusus dan aturan seperti terlihat dalam contoh berikut:
Semua baris dan kolom dari tabel Movie
Hasil operasi proyeksi dan seleksi
Tabel Movie Tabel Rental
Tabel Rental dan Tabel Movie digabungkan pada kolom Movie ID
Berikut contoh pernyataan SQL dan hasilnya.
g. Sistem Manajemen Basis Data (SMBD)
Sistem adalah sekumpulan bagian-bagian yang memiliki fungsi berbeda namun saling terkait dan mendukung secara terstruktur untuk mencapai tujuan tertentu. SMBD adalah kumpulan program (perangkat lunak) yang digunakan untuk membuat (mendefinisikan, menyusun) dan mengelola (manipulasi data) basis data untuk berbagai aplikasi.
SMBD terdiri dari basis data dan perangkat lunak pengelola basis data. Terdapat berbagai jenis SMBD tergantung dari model basis data yang dikelolanya. Berikut adalah contoh-contoh SMBD berikut pembuatnya dan tipe komputer dimana SMBD tersebut diaplikasikan. Operasi seleksi Operasi join Operasi proyeksi Pernyataan SQL Hasil pernyataan SQL
SMBD yang menyimpan dan mengelola basis data model relasional disebut sebagai Sistem Manajemen Basis Data Relasional (SMBDR). Sekarang ini umumnya sebuah SMBD adalah juga sebuah SMBDR. Beberapa SMBDR yang sekarang ini sering digunakan adalah Microsoft Access, MySQL, SQL Server, dan Oracle. Salah satu SMBDR yang dipergunakan untuk menyimpan dan mengelola basis data skala kecil dan menengah adalah Microsoft access. Untuk membuat, mengolah dan mengelola basis data, di dalam Microsoft Access tersedia beberapa fasilitas penting, diantaranya:
Tables : untuk menyimpan data
Queries : untuk menemukan dan mengambil serta mendapatkan data yang diinginkan.
Forms : untuk menampilkan, menambah, dan memperbaharui data di dalam tabel
Reports : untuk menampilkan data dalam layout yang spesifik sesuai dengan ketentuan organisasi
pages : untuk menampilkan, mengupdate, menganalisa basis data dari internet atau intranet
Macros : perintah atau kumpulan perintah yang dapat digunakan untuk mengotomasi sebuah pekerjaan
Module : mendeskripsikan variable atau konstanta yang sudah dideklarasikan
Selain fasilitas-fasilitas yang telah disebutkan di atas, dengan Microsoft Access pembuat basis data juga dapat memastikan implementasi basis data yang sesuai dengan desain E-R diagram yang telah dibuat sebelumnya. Caranya adalah dengan menarik garis hubungan (relationship line) dari satu tabel ke tabel lain yang saling berhubungan. Relationship yang terbentuk akan menjaga agar setiap manipulasi data tidak menyebabkan data menjadi tidak konsisten.
•
Personal computer, midrange server, mainframe•
IBM Corporation•
DB2•
Personal computer, midrange server, mainframe•
IBM Corporation•
Informix•
Server•
Microsoft Corporation•
SQL Server•
Personal computer, midrange server, PDA•
Sybase Inc.•
Sybase•
Personal computer, midrange server, mainframe, PDA•
Oracle Corporation•
Oracle•
Personal computer, midrange server, mainframe•
Computer Associates International, Inc.•
Ingres•
Personal computer, server, PDA•
Microsoft Corporation•
Access•
Computer Type•
Manufacturer8A.3 Penutup
Perancangan basis data dengan benar akan membuat sebuah basis data menjadi lebih baik. Untuk itu, perlu dibuat suatu gambaran dalam bentuk simbol seperti E-R diagram untuk memudahkan komunikasi antara pengguna dan pembuat basis data. dalam merancang basis data yang sesuai dengan kebutuhan pengguna. E-R diagram dapat membantu pembuat basis data lebih memahami kebutuhan organisasi akan informasi.
Dengan menggunakan SMBDR, basis data dapat disimpan sekaligus dapat dikelola dengan cepat dan mudah. Pengguna basis data tidak perlu melakukan pencarian dari berbagai sumber karena semua data sudah berada dalam satu tempat. Selain itu, konsistensi data dapat dijaga dengan menetapkan hubungan antar tabel. Hubungan antar tabel dapat diimplementasikan dengan mudah dalam SMBDR. Hubungan antar tabel ini akan menjaga konsistensi data yang dimasukkan dalam tabel-tabel yang berhubungan. SMBDR seperti Microsoft Access secara default juga telah menyiapkan sarana untuk membuat tabel, mengambil data yang diinginkan dengan menggunakan query, mempermudah pemasukan data dengan menggunakan form, serta menampilkan laporan yang formatnya dapat disesuaikan dengan kebutuhan organisasi.