Membangun Database yang benar docx

Membangun Database yang Benar
Posted on 13/03/2012by Sofyan Efendi

Pembuatan (design) database yang baik memudahkan kita untuk memelihara dan mengupgrade
(suatu saat nanti) menjadi system database yang lebih kompleks. Dengan sistem database yang
benar, Anda tidak perlu merubah nomor telepon supplier didalam tiga tempat, tapi cukup didalam
data pusatnya. Membangun database yang benar pada awal pembuatan merupakan langkah awal
agar database Anda mudah digunakan dan dimodifikasi pada masa-masa berikutnya.

Terdapat

beberapa

langkah

dalam

membangun

1. Tentukan


tujuan

2. Tentukan

table-table

3. Tentukan
4. Tentukan

field-field
table

yang
yang

database

yang

baik,


pembuatan

akan

database.

yang

dibutuhkan

didalam

digunakan

yaitu:

diperlukan.
masing-masing
secara


table.

bersama-sama.

5. Identifikasi field-field yang akan menjadi kunci, baik primary key maupun foreign key.
6. Tentukan

relationships

antara

masing-masing

table.

7. Check ulang, kemudian coba ringkaskan kembali design database yang sudah dibuat (jika
memungkinkan).
8. Memasukkan
9. Menciptakan


data
object-object

statis

kedalam
database

table.
lainnya.

Langkah 1 – Tentukan tujuan pembuatan database
Inilah

langkah

-

Hendak


-

Apa

-

Siapa

dasar
digunakan
tujuan

saja

yang

harus

untuk


apa

pembuatan
user

atau

pengguna

Anda
database
database
database

tentukan:
Anda?
ini?
Anda?


Dengan memahami langkah ini, maka salah satu pondasi dasar database telah selesai Anda buat.
Dengan demikian, kita tinggal memikirkan apa saja yang kita butuhkan untuk membangun
database
ini.

Langkah 2 – Tentukan table-table yang diperlukan
Sebagaimana membuat bangunan rumah, setelah selesai membuat sketsa, tentulah menentukan
bahan bangunan apa saja yang dibutuhkan untuk mewujudkan sketsa tersebut menjadi bangunan
jadi yang diinginkan. Pada database, bahan dasar untuk membangun database adalah table.
Bertanyalah kepada user (pengguna) yang hendak menggunakan database Anda, apa yang
sebenarnya mereka kehendaki dari database yang akan Anda buat. Uraikan secara detail output
atau laporan yang akan mereka butuhkan didalam database yang akan Anda buat. Kumpulkan
sketsa dan format apa saja yang mereka kehendaki. Buatlah sketsa database menggunakan pensil
atau ballpoint didalam kertas kosong, dimana didalam sketsa ini memperlihatkan table-table
yang
kira-kira
akan
diperlukan
nantinya.


Gambar contoh Sketsa Database yang saya buat diatas kertas HVS

Semakin banyak daftar informasi yang telah Anda terima dari mereka (user) akan memudahkan
perancangan awal pembuatan database. Maka disinilah akan muncul berbagai ide didalam
pikiran dan hati Anda. Apa yang harus Anda lakukan, apa saja yang Anda butuhkan, dan lainlain. Dengan demikian Anda akan memahami table dan field apa saja yang dibutuhkan untuk
membangun
database
tersebut.

Langkah 3 – Tentukan field-field yang dibutuhkan didalam masing-masing table
Masing-masing table mempunyai field-field yang harus Anda tentukan. Sebagai contoh, Anda
telah menentukan table Daftar Supplier, tentu saja didalam table ini harus memuat data-data
seperti: Nomor Supplier, Nama Supplier, Alamat Supplier, Nomor Telepon Supplier, dan lainlain. Maka disinilah field-field tersebut dibuat, dan janganlah terburu-buru menyelesaikan
langkah ini. Pikirkanlah kembali, benarkah hanya field-field tersebut yang Anda butuhkan.
Sebab, membuat field susulan kadangkala akan merepotkan nantinya, dan bisa jadi akan
memodifikasi sebagian besar database Anda, jika memang field tersebut dibutuhkan oleh hampir
sebagian
besar
object
didalam

database
Anda.

Janganlah ada suatu field yang merupakan hasil perhitungan dari field-field lainnya didalam
table. Misalnya saja, didalam table Daftar Pesanan terdapat field Quantity dan field Harga, maka
janganlah menambahkan field Total Harga didalam table ini, karena kita bisa menggunakan
object
query
untuk
melakukan
ini,
tidak
perlu
didalam
table.

Jangan pula menambahkan field-field yang sifatnya daftar suatu materi didalam table utama.
Contoh, Anda menambahkan field daftar produk yang Anda pesan dari supplier didalam table
Daftar Supplier yaitu field Produk1, field Produk2, dan field Produk3. Ini akan sangat
merepotkan ketika kita hendak mencari supplier apa saja yang mempunyai produk tertentu, dan

yang lebih merepotkan adalah seandainya terdapat supplier yang daftar produknya lebih dari
tiga, maka Anda harus menambahkan field tambahan didalam table Daftar Supplier. Cara yang
benar adalah cukup daftar produk ini disimpan didalam table Master Barang, kemudian
tambahkan
disana
Nomor
Supplier-nya.

Jangan pula menambahkan field-field statis yang sama didalam beberapa table yang berbeda.
Contoh, jika Anda telah membuat field Nama Supplier didalam table Supplier, maka Anda tidak

perlu menambahkan field Nama Supplier didalam table Order, karena Nama Supplier ini bisa
diambil dengan menggunakan object query. Namun jika field tersebut dinamis yang sifatnya bisa
berubah, misalnya saja Harga Barang, maka Anda boleh menambahkan field Harga Barang ini
didalam
table
Order
dan
table
Master

Barang.

Langkah 4 – Tentukan table yang akan digunakan secara bersama-sama
Sebagaimana kita tidak perlu membuat field statis yang sama didalam beberapa table, jangan
juga kita membuat table statis yang sama didalam suatu database. Jadi Anda tidak perlu membuat
table Master Barang khusus untuk supplier A, sedangkan untuk supplier B Anda membuat table
Master Barang yang lain. Seandainya akan dibuat form atau report dari data tersebut, maka Anda
akan bekerja dua kali, dan ini akan lebih memakan waktu. Dan yang lebih merepotkan lagi
adalah seandainya terjadi perubahan design table didalam table yang satu, maka table lainnya
harus
dirubah
juga.

Table-table statis yang akan digunakan secara bersama-sama umumnya merupakan data master,
dengan demikian seandainya terjadi perubahan data didalam table master, maka secara otomatis
pada table-table lainnya akan ikut berubah. Inilah salah satu keunggulan database Access,
bekerja secara sistematis serta mengupdate data kedalam semua table yang berhubungan.

Langkah 5 – Identifikasi field-field yang akan menjadi kunci
Setelah membuat table, tentukanlah field-field yang akan menjadi kunci (primary key dan
foreign key). Primary key berguna agar data didalam table tidak duplikat atau double, sedangkan
foreign key berguna untuk menghubungkan field primary key didalam table master ke suatu field
pada table detail. Tambahkan pula index kedalam beberapa field yang ditentukan, baik index

jenis

Duplicate

OK

ataupun

No

Duplicate.

Field kunci, baik primary key maupun foreign key serta index harus ditentukan sejak awal,
dengan demikian design database pada langkah berikutnya akan mudah. Khusus untuk primary
key jenis number, sebaiknya menggunakan type AutoNumber (Long Integer) agar user tidak
perlu
menginput
lagi.

Langkah 6 – Tentukan relationships antara masing-masing table
Setelah Anda membuat field kunci, maka hubungkanlah kunci-kunci ini dengan suatu hubungan
yang Anda tentukan, yaitu melalui relationships yang telah disediakan oleh Access (pelajari
kembali relationships yang sudah penulis jelaskan pada pelajaran sebelumnya). Ingat!
Pembuatan database tanpa relationships seperti membuat database model flat (bukan RDBMS),
sehingga maintenance data akan sulit nantinya. Dan memang salah satu keunggulan Access
karena didalamnya terdapat fasilitas pembuatan relationships yang sangat baik.

Langkah 7 – Check ulang, kemudian coba ringkaskan kembali design database
yang sudah dibuat (jika memungkinkan)
Ketergesa-gesaan adalah perbuatan yang kurang baik, dan terkadang membawa penyesalan
dimasa mendatang. Maka janganlah tergesa-gesa untuk membangun object-object database
lainnya jika Anda belum mencheck ulang design database dari langkah 1 sampai dengan 6.
Lihatlah kembali, apakah memang hanya ini yang Anda butuhkan. Mungkinkah design database
yang sudah dibuat dapat diperingkas lagi? Jika Anda telah yakin, maka teruskan ke langkah
berikutnya.

Langkah 8 – Memasukkan data statis kedalam table
Langkah ini sebenarnya tidak wajib, namun ia akan diperlukan ketika Anda hendak mencoba
menjalankan program pada langkah berikutnya. Anda mungkin ingin melihat langsung hasil
suatu proses ketika menjalankan program tersebut. Oleh karena itu Anda harus menyiapkan serta
mengisi data statis, yaitu data yang sifatnya umum atau biasa disebut juga sebagai data master,
dimana data ini akan digunakan oleh banyak table. Contoh, daftar supplier, daftar barang, daftar
customer, dan lain-lain. Adapun table dinamis seperti table daftar transaksi barang, table absensi
karyawan tidak perlu Anda isi karena memang ia merupakan data bergerak yang senantiasa
berubah dan bertambah. Umumnya data statis ini dapat langsung diimport dari file spreadsheet
ataupun database lainnya, seperti Microsoft Excel, SQL Server, dan lain-lain. Oleh karena itu,
kita dapat menyiapkan suatu file template didalam Excel yang formatnya sama dengan table
master, kemudian kita mengisi seluruh data statis kedalam file Excel tersebut. Setelah selesai,
kita
dapat
langsung
mengimportnya
kedalam
database
Access.

Langkah 9 – Menciptakan object-object database lainnya
Setelah semua langkah diatas dilakukan, barulah kita mulai membuat object-object database
lainnya,
seperti query,
form,
report,
macro,
page, serta module.

Contoh : Rencana Penyusunan Data Siswa
Berikut ini adalah contoh membangun database yang benar yang disampaikan secara tahap demi
tahap. Aplikasi dilakukan pada table rencana penyusunan data siswa sekolah beserta
registrasinya pada tahun ajaran baru. Diharapkan setelah mempelajari contoh ini, pembaca dapat
memahami bagaimana membuat dan menyusun field-field dan table-table didalam suatu database
secara
benar.

1. Table

tidak

normal

(yang

masih

salah):

NoSiswa

Nama Guru

Ruang Guru

Kelas1

Kelas2

Kelas3

1022

Jones

412

101-07

143-01

159-02

4123

Smith

216

201-01

211-02

214-01

2. Table normal yang pertama: Jangan ada field yang mempunyai arti yang sama
yang
dibuat
lebih
dari
satu
field

Lihatlah table yang tidak normal sebagaimana pada no.1 diatas. Didalamnya terdapat fieldfield yang mempunyai arti sama, yaitu Kelas1, Kelas2, dan Kelas3. Field-field ini
semestinya dibuat didalam satu field, kemudian untuk menyatakan kelas diisi didalam
recordnya
secara
langsung.
Lihatlah
table
berikut
ini:

NoSiswa

Nama Guru

Ruang Guru

Kelas

1022

Jones

412

101-07

1022

Jones

412

143-01

1022

Jones

412

159-02

4123

Smith

216

201-01

4123

Smith

216

211-02

4123

Smith

216

214-01

3. Table

normal

yang

kedua:

Hapuskan

data

yang

berlebih-lebihan

Lihatlah table pada no.2 diatas. Kendatipun Kelas sudah dijadikan satu field, didalamnya
masih terdapat penulisan data yang diulang-ulang, yaitu penulisan NoSiswa, Nama
Guru dan Ruang Guruuntuk masing-masing Kelas. Hal ini sangat tidak efisien, karena user
akan lebih banyak menginput data. Dan table ini lebih sulit untuk dibuat primary key nya,
karena untuk menambahkan primary key pada table seperti ini harus menggunakan multiple
primary key, sehingga hal ini tidak efisien. Maka cara yang lebih tepat adalah pisahkan datadata didalam table ini menjadi dua table, table yang satu menyimpan data master siswa
(table Master Siswa), table yang lain menyimpan data registrasi siswa (table Registrasi
Siswa). Kedua table ini akan dihubungkan dengan relationships. Pembuatan table seperti ini
disebut
juga
model Master-Detail.
Lihatlah
table-table
berikut
ini:

Table

Master

Siswa:

NoSiswa

Nama Guru

Ruang Guru

1022

Jones

412

4123

Smith

216

NoSiswa

pada

table

ini

merupakan

primary

key.

Table

Registrasi

Siswa:

NoSiswa

Kelas

1022

101-07

1022

143-01

1022

159-02

4123

201-01

4123

211-02

4123

214-01

NoSiswa

pada

table

ini

merupakan

foreign

key.

4. Table normal yang ketiga: Pisahkan data yang tidak bergantung dengan suatu
kunci

Pada table Master Siswa diatas terdapat field Nama Guru dan Ruang Guru yang
penulisannya disatukan dengan data siswa. Sebaiknya data guru ini dipisahkan didalam table
tersendiri, karena nama guru merupakan field yang datanya dapat diisi secara berulang kali,
oleh karena itu harus dibuat kunci (primary key) pada field Nama Guru ini. Pisahkanlah data
ini secara khusus, misalnya pada TableMaster Guru. Dengan demikian, didalam database ini
sekarang memiliki tiga table, yaitu tableMaster Siswa, table Registrasi Siswa dan
table Master Guru. Ketiga table ini harus dihubungkan dengan relationships. Lihatlah tabletable
berikut
ini:

Table

Master

NoSiswa

Nama Guru

1022

Jones

4123

Smith

NoSiswa

pada

table

ini

Table

Siswa:

merupakan

Registrasi
Kelas

1022

101-07

1022

143-01

1022

159-02

4123

201-01

4123

211-02

4123

214-01
pada

table

ini

Table

merupakan

foreign

Master
Ruang Guru

Jones

412

Smith

216
Guru

pada

table

ini

key.

Guru:

Nama Guru

Nama

key.

Siswa:

NoSiswa

NoSiswa

primary

merupakan

primary

key.

Demikianlah beberapa tahapan dalam menyusun database yang benar yang dilakukan diawal
pembuatan database. Sebab bila Anda merombak ulang database setelah database tersebut selesai
dibuat, hal tersebut membutuhkan banyak waktu, dan terkadang mengalami kendala yang bisa
mengakibatkan program database tidak berjalan dengan baik dan benar.