Dalam dunia nyata, banyak sekali kita melakukan pilihan. Sebagai contoh, kita bisa saja membuat sebuah tabel untuk sebuah daftar kuliah sbb :
Nama | Dasar Manajemen | Dasar-dasar Akuntansi 1 | Teori Organisasi |
Airlangga | Ya | Tidak | Ya |
Aris | Ya | Ya | Tidak |
Dwi | Ya | Tidak | Ya |
Kasus diatas, biasanya dengan mudah kita buat sebuah tabel dengan tipe data Yes/No menggunakan MS Access seperti ini :
Nah, misalnya ada pelajaran baru, katakanlah Kewiraan maka tabelnya menjadi sbb :
Nama | Dasar Manajemen | Dasar-dasar Akuntansi 1 | Teori Organisasi | Kewiraan |
Airlangga | Ya | Tidak | Ya | Tidak |
Aris | Ya | Ya | Tidak | Tidak |
Dwi | Ya | Tidak | Ya | Ya |
Sehingga terbayang bukan, bagaimana jika pelajarannya berubah ? Sebagai pengembang database, kita dipaksa merubah susunan tabel tiap kali berubah bukan ? Belum lagi kerepotan dengan pembuatan form, disusul query , dst.
Akibatnya, hal yang sebenarnya mudah, bisa berlarut-larut tidak terselesaikan.
Untuk mengatasi hal tersebut, kita wajib cerdik memanfaatkan perancangan tabel dan relasi (relationship) antar tabel
Pemecahan
Jalan keluar dari kerumitan diatas adalah membuat tiga buah tabel dimana 1 tabel untuk identitas mahasiswa, 1 tabel untuk daftar mata kuliah, dan 1 tabel lagi untuk “menghubungkan dan membuat pilihan”
Kurang lebihnya sebagai berikut :
Dimana tiap tabel susunan kolom dan jenis datanya (Data Type) sbb :
Untuk tabel Mahasiswa :
Untuk tabel MataKuliah :
Dan untuk tabel JadwalKuliah :
Nah, untuk melihat bagaimana luwesnya penggunaan tabel dan relasi diatas, maka kita buat sebuah form mahasiswa dengan sub-form MataKuliah sbb :
- Buka MS Access 2010 , dan pilih Create dan pada kelompok Forms, pilih Form Wizard
- Pilih kolom (field) IDMahasiswa, NIM, dan NamaDepan dari tabel Mahasiswa
- Jangan klik tombol Next, tambahkan kolom dari tabel MataKuliah seperti gambar dibawah
- Klik tombol Finish, hasilnya seperti ini
- Sekarang kita dengan leluasa memilih jadwal pelajaran tanpa harus merubah tabel lagi. Mau menambahkan mata pelajaran juga bisa secara otomatis :)
Jika kita melakukan normalisasi, maka 3 tabel ini juga bisa ditelusuri dengan mudah :) Jalan keluar yang sesuai dengan teori dan bisa diterapkan pada praktek > Seperti biasa, hasil akhir bisa diunduh disini : http://1drv.ms/1AMqGpV