Selasa, 12 Juli 2011

Perancangan Basis Data

Suatu data base dibangun berdasarkan kebutuhan informasi dalam suatu organisasi, oleh sebab itu pada umumnya perancangan data base dimulai dari pengamatan kebutuhan informasi. Berikut ini adalah langkah-langkah yang sering dilakukan dalam perancangan basisdata:
Teliti informasi apa yang dibutuhkan oleh organisasi ini, misalnya dengan me-wawancarai pengguna informasi dalam organisasi tersebut.
Pisahkan/kelompokkan hasil temuan informasi menjadi beberapa entity.
Pikirkan field-data yang mendukung setiap entity
Tentukan field-data yang mungkin menjadi indeks (primary key) setiap entity
Pikirkan kemungkinan relasi antar entity
bila one-to-one : berarti sebenarnya kedua entity ini bisa digabung
bila one-to-many atau many-to-one : tambahkan primary-key dari entity sisi-one sebagai field-data baru pada entity sisi many.
bila many-to-many : ciptakan sebuah file-relasi dengan field data utama adalah primary-key masing-masing entity yang berelasi, tambahkan field data yang baru apabila field data ini bergantung pada kedua primary key.
Pilih DBMS untuk melakukan implementasi, dimana setiap entity diciptakan sebagai sebagai sebuah table pada model relasional.

Contoh: Sistem Akademik pada umumnya membutuhkan informasi dasar sebagai berikut:
Daftar Peserta Mata Kuliah (DPMK) : daftar per-mata kuliah yang memuat semua nama mahasiswa yang mengambil mata kuliah tersebut pada rencana studi-nya di awal semester.
Daftar Nilai Akhir (DNA) : daftar per-mata kuliah yang memuat nama semua mahasiswa yang mengambil matakuliah tersebut disertai kode nilai yang akan dilingkari oleh dosen pengasuh di-akhir semester.
Kartu Hasil Studi (KHS) atau Rapor: print-out untuk setiap mahasiswa dimana termuat hasil studi mahasiswa tersebut untuk setiap matakuliah yang di-ikuti-nya, disertai IPS (indeks prestasi semester)

Apabila ketiga informasi ini diteliti maka diperoleh domain data (entity) sebagai berikut:
Data Mahasiswa
Data Matakuliah
Data Dosen

Data Mahasiswa didukung oleh field-field data sebagai berikut:
Nomer Mahasiswa
Nama Mahasiswa
Alamat
Jenis Kelamin
Agama
Tgl Lahir
dsb

Data Matakuliah didukung oleh field-field data sebagai berikut:
Kode Matakuliah
Nama Matakuliah
SKS
dsb

Data Dosen didukung oleh field-field data sebagai berikut:
Kode Dosen
Nama Dosen
Alamat
Keahlian
dsb

Ketiga entity tersebut diatas memiliki primary-key masing-masing, yaitu: Nomer-Mahasiswa untuk entity Mahasiswa, Kode-Matakuliah untuk entity Matakuliah, dan Kode-Dosen untuk entity Dosen.

Langkah berikutnya adalah menentukan relasi antar entity tersebut:

Mahasiswa <–> MataKuliah : relasi ditandai dengan rencana studi, dimana satu mahasiswa dapat mem-program banyak matakuliah, dan sebaliknya satu matakuliah dapat diprogramkan oleh banyak mahasiswa, dengan kata lain relasi-nya many-to-many (M-to-N). Karena itu diperlukan file-relasi, yaitu file semester, dengan field-field data sbb:
Kode matakuliah
Nomer mahasiswa
Nilai
kode semester

Dosen <–> Matakuliah : relasi ini ditandai dengan penugasan dosen, misalnya di program S1, pada umumnya seorang dosen boleh mengajar lebih dari satu matakuliah, dan satu matakuliah hanya diajar oleh seorang dosen, dengan demikian relasi-nya one-to-many (1-to-M). Karena itu primary key dari dosen (kode-dosen) ditambahkan ke entity matakuliah. File data dosen nanti tidak ada perubahan, tetapi field dari file matakuliah akan bertambah, menjadi:
Kode Matakuliah
Nama Matakuliah
SKS
Kode-Dosen
dsb

Kode-dosen pada file matakuliah disebut kunci-tamu atau foreign-key.

Dosen <–> Mahasiswa : relasi ini ditandai dengan fungsi dosen sebagai penasehat akademik (PA), dimana seorang dosen boleh menjadi PA lebih dari satu mahasiswa sementara setiap mahasiswa memerlukan satu PA, sehingga relasi yang cocok adalah one-to-many (1-to-M). Karena itu primary key dari dosen ditambahkan ke entity mahasiswa, sehingga susunan field-data mahasiswa menjadi sebagai berikut:
Nomer Mahasiswa
Nama Mahasiswa
Alamat
Jenis Kelamin
Agama
Tgl Lahir
Kode-Dosen
dsb

Pada akhirnya basisdata akademik ini paling tidak harus terdiri atas empat tabel/file yaitu: Tabel Mahasiswa, Tabel Matakuliah, Tabel Dosen, dan Tabel Semester.

Tidak ada komentar:

Posting Komentar