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 datadata 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, ... Pertemuan 8A- Halaman 1 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 belajarmengajar, 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 fieldfield, field mengandung karakter (Gambar 1). Gambar 1 Hirarki data Pertemuan 8A- Halaman 2 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. Contohcontoh tipe data adalah 6. 7. 8. 9. 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 Memo: entri teks yang panjang Yes/No (dinamakan juga Boolean): hanya mengandung nilai Yes atau No (atau True atau False) Hyperlink: alamat Web yang me-linkke dokumen atau halaman Web 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. records • Member • First • • • • • ID 2295 • • • • • Name Donna 2928 3376 3928 4872 key field Shannon Adrian Jonah Marcus • • • • • • Last Name Vandenb erg Murray Valesque zWeinberg Green • Address • City • State • • • • • 1029 Wolf • • • • • Montgomer • • • • • AL Avenue 33099 Clark Street 15 Duluth Street P.O. Box 45 22 Fifth Avenue yMontgomer yPrattville Clanton Auburn AL AL AL AL fields 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. Pertemuan 8A- Halaman 3 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 Pertemuan 8A- Halaman 4 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). DEPARTEMEN kode dept nama dept MATA KULIAH kode MK MAHASISWA nama MK … nama DSN … NRP nama MHS … DOSEN NIP 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. MATA KULIAH MAHASISWA kode MK nama MK … NRP nama MHS NIP nama DSN … kode dept nama dept DOSEN … DEPARTEMEN 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. Masingmasing tabel dapat memiliki relasi dengan tabel lainnya. Pertemuan 8A- Halaman 5 DEPARTEMEN DOSEN kode dept NIP nama dept … … … … … … … … … MATA KULIAH kode MK … … … Dept … … … MAHASISWA nama MK … … … nama DSN … … … Dept NRP … … … … … … nama MHS … … … Dept … … … 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 EntitasRelationship 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 1. Entitas 2. Atribut 3. Relasi Simbol 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: Pertemuan 8A- Halaman 6 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: Pertemuan 8A- Halaman 7 * Mata Kuliah * mengajarkan * memiliki 1 Departemen mengambil * 1 * Dosen memiliki 1 * memiliki * * Mahasiswa * membimbing 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. kode dept NIP Departemen kode dept * 1 Dosen memiliki Gambar 8 Relasi One to Many Departemen dan Dosen kode dept NRP Departemen kode dept * 1 Mahasiswa memiliki Gambar 9 Relasi One to Many Departemen dan Mahasiswa kode dept kode MK Departemen * 1 memiliki kode dept Mata Kuliah Gambar 10 Relasi One to Many Departemen dan Mata Kuliah Pertemuan 8A- Halaman 8 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). NIP kode MK Dosen NIP kode MK * kode dept Mata Kuliah * memberikan 1 1 Pengajaran diajarkan Gambar 11 Weak entitas pengajaran dari entitas dosen dan mata kuliah NIP NRP Dosen NIP Mahasiswa NRP * * diberikan 1 1 Bimbingan mendapatkan Gambar 12 weak entitas bimbingan dari entitas dosen dan mahasiswa kode MK NRP Mata Kuliah kode MK Mahasiswa NRP * * berisi 1 1 KRS mengisi Gambar 13 Weak entitas krs dari entitas mata kuliah dan mahasiswa Pertemuan 8A- Halaman 9 Dari E-R diagram di atas, kita dapat membuat implementasi entitas-entitas berupa tabeltabel dalam basis data. 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 Semua baris dan kolom dalam tabel Movie Hasil operasi proyeksi Gambar 14 Ilustrasi operasi proyeksi 2. Operasi seleksi: pengambilan data dari baris-baris tertentu (record). operasi seleksi diberikan pada Gambar 15. Ilustrasi Semua baris dan kolom dari tabel Movie Hasil operasi seleksi Gambar 15 Ilustrasi operasi seleksi Pertemuan 8A- Halaman 10 3. Kombinasi operasi proyeksi dan seleksi. Ilustrasi kombinasi operasi seleksi dan proyeksi diberikan pada Gambar 16. Semua baris dan kolom dari tabel Movie Hasil operasi proyeksi dan seleksi 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. Tabel Movie Tabel Rental Tabel Rental dan Tabel Movie digabungkan pada kolom Movie ID 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: Pertemuan 8A- Halaman 11 Operasi proyeksi Operasi join Operasi seleksi Berikut contoh pernyataan SQL dan hasilnya. Pernyataan SQL Hasil pernyataan SQL 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 contohcontoh SMBD berikut pembuatnya dan tipe komputer dimana SMBD tersebut diaplikasikan. Pertemuan 8A- Halaman 12 • • • DBMS • DB2 • • • Informix • • Ingres • • Oracle • • • Access SQL Server Sybase • • Manufacturer • IBM Corporation • • IBM Corporation • Microsoft Corporation Computer Associates International, Inc. Oracle Corporation Microsoft Corporation Sybase Inc. • • • • Computer Type Personal computer, server, PDA Personal computer, midrange server, mainframe Personal computer, midrange server, mainframe Personal computer, midrange server, mainframe Personal computer, midrange server, mainframe, PDA Server Personal computer, midrange server, PDA 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. Pertemuan 8A- Halaman 13 8A.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. Pertemuan 8A- Halaman 14