• Tidak ada hasil yang ditemukan

STUDI KASUS DESAIN DATABASE

N/A
N/A
Protected

Academic year: 2021

Membagikan "STUDI KASUS DESAIN DATABASE"

Copied!
11
0
0

Teks penuh

(1)

STUDI

KASUS DESAIN DATABASE

Suatu database akan didesain bagi seorang sekretaris sebuah ldub bowling di sebuah kota keeil. Sekretaris tersebut akan menyimpan semua data yang relevan dengan klub tersebut dalam database itu. Dia juga akan akan membuat laporan mingguan tentang klub tersebut dengan menggunakan DBMS. Laporan khusus akan diuraikan pada akhir season. Database yang yang akan digunakan adalah dBASE III dan R:base 5000. Uraian yang lengkap tentang data yang dikehendaki sekretaris untuk laporan dijelaskan dalam paragrnf berikUl

5.1

DISKRIPSI MASALAH

Yang diperlukan oleh sekretaris bowling adalah nama, nomor telepon, alamat dari masing-masing pemain dalam ldub tersebut. Oleh karena ldub tersebut terbatas hanya untuk penduduk setempat, rilaka nama kota dan kode pos tidak diperlukan. Nilai peI:tandinganmingguan yang diperoleh para pemain.sena rata-i'atanya meru-pakan hal yang akan dieari. Sekretaris memerlukan informasi tentang nama.team dari seorang pemain, sena nama pemimpinnya. Di samping nama, sekretaris juga mereneanakan membuat nomor khusus buat tiap-tiap team.

Rata-rata kemampuan masing-masing bowler diperlukan karena akan dipakai untuk menentukan bowler yang mempunyai kemajuan pesat pada akhir season sena untuk menentukan hambatannya pada minggu penama dari season itu. Seri sena permainan yang bermutu tinggi diperlukan untuk ditampilkan-pada ~u.~:-season.

(2)

Sekretaris merencanakan untuk mencantumkan total permainan dan total lencana tiap-tiap bowler dalam laporan mingguan. Hal ini diperlukan untuk meng-hitung rata-rata sena hambatan akhir. Hambatan tersebut yang dipakai oleh klub adalah 75% dari perbedaan antara 200 dan rata-rata bowler tanpa hambatan negatif. Jika hambatan tersebut mengakibatkan adanya pecahan maka pecahan tersebut akan dipotong. Hambatan itu akan dihitung tiap minggu.

Penempatan jalur, yang menunjukkan jalur tiap-tiap klub untuk tiap-tiap minggu diperlukan. Team yang mempunyai kembalian bola umum akan menjadi

lawan,sehinggainformasiini tidakperludisimpandalamdatabase. . Akhimyadatabase harus meliputi semuakebutuhan informasi untuk perhitung-an kedudukperhitung-an team. Suatu team diperhitung-anggap menperhitung-ang dalam tiap-tiap permainperhitung-an bila team itu memperoleh lencana lebih banyak dibandingkan lawannya. Demikian juga suatu team akan mengalami satu kekalahan untuk tiap-tiap permainan di mana team tersebut memperoleh lebih sedikit lencana daripada lawannya. Suatu team juga akan memperoleh satu kemenangan (kekalahan) yang disebabkan oleh adanya lencana yang lebih (kurang) dibandingkan lawannya dalam tiga permainan dalam tiap-tiap minggu. Jadi, empat nilai suatu team (baik menang maupun kalah) disimpan tiap minggu dari season tersebut. Tiap-tiap team diberikan setengah kemenangan dan setengah kekalahan dalam kasus seperti itu. Jika suatu team mempunyai lebih dari dua anggota yang absen pada suatu sore, team tersebut dengan sendirinya men-dapatkan empat nilai kekalahan, sedangkan lawannya memperoleh empat nilai kemenangan. Team yang gagal tidak dapat memberikan lencana, bahkan jika bowler yang akhir memperoleh kemenangan maka kemenangan tersebut hanya akan masuk dalam record individu.

5.2

MENENTUKAN ATRIBUT RELASI YANG UNIVERSAL

Setelah diadakan beberapa pembicaraan dengan sekretaris, atribut berikut, sena batasannya, dianggap sebagai atribut utama untuk relasi universaL Masing-masing atribut ditunjukkan dengan nama deskriptif yang sesuai dengan pemakaian dalam database, sena dengan bentuk dua karakter yang dapat dipakai dalam diagram FD. Dua versi karakter yang digunakan untuk membuat diagram FD tidak begitu praktis, jika masih memakai bentuk mnemonic (yang membantu ingatan) di mana atribut diambil.

Atribut

Nb: Tnumb

Keterangan

Nomor team. Team diberi nomor secara berurutan mulai dari angka 1.

Nama team. Masing-masing team dalam sebuah klub atau perkum-pulan mempunyai nama, misalnya "PinBusters." Nama team unik sifatnya.

(3)

Nama bowler. Oleh karena perkumpulan ini kecil maka dianggap tidak ada dua nama bowler yang sarna persis.

Rata-rata seorang bowler. Ini adalah rat.a-ratalencana/permainan untuk semua permainan yang dijadwalkan. Rata-rata tersebut akan dikurangi dengan angka keseluruhan.

'Hambatan permainan 'seorangbowler. Ini merupakan nilai integer yang dihitung tiap-tiap minggu.

Angka to~alpermainan yang telah dipermainkan seorang bowler. Seorang bowler biflsanyamain tiga kali dalam satu malam. Total angka kemenangan team dalam suatu season.

Total angka kekalahan team dalam suatu season. Total angka lencana (pin) team dalam suatu season.

Angka lane (jalur) suatu team dalam seminggu. Angka ini juga menunjukkan lawan dalam minggu tersebut. Team yang berada pada lane 1 dan 2lawannya adalah team dalam lane 3 dan 4, dst. Nama kapten suatu team. Hanya terdapat seorang kapten dalam sebuah team.

Nomor telepon dari seorang bowler. Lebih dari 'seorang bowler boleh hanya menggunakan satu nomor telepon.

Alamat jalan seorang bowler. Semua alamat berada dalam satu kota. Satu orang atau lebih mungkin tinggal dalam alamat yang sarna.

Total dari semua lencana yang diperoleh seorang bowler dalam satu season.

Rata-rata yang diperoleh seorang bowler dalam permulaan suatu season. Ini merupakan nilai integer.

Nilai dari sebuah permainan terbaik yang dilakukan oleh seorang bowler dalam satu season.

Nilai dari tiga seri permainan yang terbaik yang dilakukan seorang bowler dalam suatu season.

lumlah minggu dalam satu season. Nilai ini mulai dari 1 dan bertambah I untuk tiap-tiap minggu dari suatu'season.

G 1: Game 1 Nilai permainan pertama dalam satu minggu oleh seorang pemain. G2: Game 2 Nilai permainan kedua dalam satu minggu oleh seorang pemain. G3: Game 3 Nilai permainan ke tiga dalam satu minggu oleh seorang pemain. Setelah dipertimbangkan maka diputuskan bahwa beberapa' atribut tidak akan disimpan dalam database; Atribut yang dihilangkan adalah Bavg, Bgame, Wins, Loss, Tpins, Bpins, Hndk, Higam, dan Hiser. Meskipun atribut ini akan dipakai dalam laporan mingguan maupun tahunan, nilai suatu atribut dapat dihitung dari atribut lain yang disimpan dalam database.

Bn: BnaII1e Av: Bavg Hk: Hndk Bg: Bgame Wn: Wins Ls: Loss Tp: Tpins Ln: Lane Cp: Captn Ph: Phone' St: Street Bp: Bpins Sa: Stavg Hg: Higam Hs: Hiser Wk: Week 47

(4)

Jika item yang kita hilangkan tersebut disimpan dalam database, maka akan terdapat informasi yang berulang-ulang. Sebagai contoh, misalnya semua bagian yang dihilangkantersebutbenar-benardisimpandalam database,makaakan ditemukan dalam memasukkan nilai seorang bowler. Suatu perubahan nilai seorang pemain akan mengakibatkan perubahan tertentu dalam Bpins dan Tpins, dengan ke-mungkinan perubahan dalam item lain yang dihilangkan. Jika perubahan sekunder ini tidak dibuat, maka database akan menjadi tidak konsisten. Oleh karena itu bagian yang akan dihilangkan tersebut tidak disimpan dalam databse, namun akan dihitung dari data dalam database jika suatu laporan diperlukan. Perhitungan ini akan dibuat dengan menggunakan program aplikasi software yang akan ditulis dengan menggunakan bahasa makro DBMS. Bahasa makro ini akan dibahas dalam bab 9 dan 10.

Langkah 1 dari algoritma desain yang telah direvisi terdapat dalam bagian 4.5. Algoritma ini merupakan penentuan dari relasi universal database yang sedang didesain. Jika daftar akhir atributdipakai dalam database sekretaris bowling dikelom-pOkkanmenjadi satu relasi, maka relasi universal dapat ditentukan sebagai berikut:

R(Nb~Tn, En, Ln, Cp, Ph, St, Sa, Wk, Gl, G2, G3) .

5. 3

DIAGRAM KETERGANTUNGAN FUNGSIONAL

Tahap kedua dari algoritma ini adalah penentuan semua FD yang berhubungan dengan atribut dalam relasi universal. Gambar 5.1 menunjukkan diagram ketergan-tungan fungsional untuk relasi universal yang diambil dari masalah bowling di atas. Tahap ke tiga dalam algoritma ini menuntut adanya penghilangan semua FD yang berulang-ulang dari set FD bagi relasi universal, untuk memperoleh cover minimal. Secara diagramatis FD ini dijelaskan dalam Gambar 5.1. FD ini berisikan beberapa ketergantungan t;ransitif. (Ketergantungan transitif lainnya dapat secara mudah diuraikan dalam set asli FD. Ketergantungan transitif yang khusus yang mungkinmuncul dicantumkan dalam Gambar 5.1. Ketergantungan ini tidak meliputi diagram FD yang khusus untuk kemudahan tampilan. Ketergantungan yang berulang-ulang ini dapat dihilangkan.)

(5)

Original Set of Design Fd's Transitive Dependencies Already Eliminated Tn H Nb Tn H Cp Cp H Nb Bn ~ Nb, St, Ph, Sa Bn, Wk, ~ GI, G2, G3, Ln Ln, Wk ~ Nb Wk, Nb ~ Ln' Bn ~ Tn Bn ~ Cp Ln, Wk ~ Cp Ln, Wk ~ Tn

Gambar 5. 1 Diagram FD penama untuk database sekretaris bowling

(6)

Situa~i ketergantungan redanden transitif mencakup "set lingkaran yang saling

mempunyai ketergantungan" antara ke tiga atribut yaitu Cp,Nb, dan Tn:.

Nb1(

. Cp

Cp.

. Tn

Tn 1(

. Nb

Jika salah satu dari ketiga unsur di 3t11Sdihilangkan, maka dua unsur lainnya tidak akan redanden. Dalam kasus seperti ini maka tidak ada masalah unsur mana yang akan dihilangkan. Hal ini disebabkan ketiga atribut Cp,Nb, dan Tn masih tetap dapat berakhir dengan relasi yang sarna meskipun tanpa mempertimbangkan unsur mana yang akan dihilangkan. Ketergantungan yang dihilangkan adalah

Cp

1(

. Tn.

R(Nb, Bn, Ln, Cp, Ph, St, Sa, Wk, GI, G2, G3) FD's : Nb.

Nb.

Wk,Ln,

Bn, Wk Bn ~Tn ~ Cp ~ Nb ~ GI, G2, G3. ~ Nb, St, Ph, Sa

Gambar 5. 2 Diagram FD Cover Minimal untuk basisdata sekretaris bowling FD redanden kedua yang terdapat dalam Gambar 5.1 disebabkan oleh transitivitas y~ng palsu. Karena Bn ->Nb dan Nb,Wk ->Ln, maka akan mengikuti transitivitas palsu yaitu Bn,Wk ->Ln. Ini ber;u-tibahwaFD terakhir adalah redanden sehingga dapat dihilangkan. Oalam Gambar 5.1. tidak terdapat redanden FD. Dia-gram FD untuk cover minimal terdapat dalam Gambar 5.2.

(7)

5.4

PENGURANGAN PADA SET RELASI BCNF

Detenninants in R <Bn> <Bn,Wk> <Nb,Wk> <Ln,Wk>

R 1 harus dikurangi. Pada tahap ini proses dan ketelitian pengurangan harus diambil sesuai dengan atribut Nb. Nb merupakan atribut dependen dalam R 1 yang mempunyai dua detenninan yang berbeda. Seperti yang dibicarakan dalam sub bab 3.7,jika proyeksi salah maka kita dapat menghilangkan FD. Kenyataannya, kita tidak dapat membuat proyeksi tanpa menghilangkan FD, yang berani bahwa selain dekomposisi metoda desain harus dipenimbangkan.

Tahap keempat dari proses desain mencakup pengurangan relasi universal ke dalam satu set relasi BCNF. Jika atribut yang bakal dipakai (candidate keys) dan detenninan pada R dibandingkan, maka ditemukan bahwa determinan dan kunci tersebut tidak identik.

Candidate keys in R <Bn,Wk>

(a) RI(Bn, Wk, Ln, Nb, St, Ph, Sa, Gl, G2, G3)

FD's Nb H Tn Nb H Cp (b) R2(Nb, Tn, Cp)

(8)

Carn yang benaruntuk mengurangi R 1adalah dengan memproyeksikan FD Nb, Wk ~ Ln ke dalam R3 dan R4 seperti pada Gambar 5.4. Dengan demikian maka FD dengan Nb sebagai bagian dependen dalam database: Bn ~ Nb dalam R3, dan Ln,Wk ~ Nb dalam R4. R4 terdapat pada BCNF, tetapi R3 tidak.

Candidate Keys dalam R3 Determinan dalam R3

<Bn,Wk> <Bn>

<Bn,Wk>

R3 dapat diuraikan dengan memproyeksikan semua FD dengan Bn sebagai determinan. Set FD ini adalah Bn ~ Nb,St,Pn,Sa. Proyeksi ini memberikan hubungan R5 dan R6 seperti pada Gambar 5.5 (p.56). Baik R5 maupun R6 dapat ditunjukkan dalam BCNF. Jadi relasi desain akhir adalah R2, R4, R5 dan R6.

Nb

G

(a) R3(!!n, Wk, Nb, St, Ph, Sa, G 1, G2, G3) FD's Wk,Ln ~ Nb Wk,Nb ~ Ln (b) R4iliQ, Wk, Ln)

(9)

5.5

EVALUASI RELASI DESAIN BCNF

Set relasi BCNF tersebut diuraikan dengan algoritma desain dekomposisi yang telah direvisi, dimulai dengan relasi R dalam Oambar 5.1 adalah

R2(Nb, Cp,Tn) R4(Nb, WK,Ln) R5(Bn, Wk, 01, 02, 03) R6(Bn, Nb, St, Ph, Sa) FD's: Bk, Wk ~ GI, G2, G3

(a) R5(fu!, Wk, GI, G2, G3)

Nb FD's:Bk ~ Nb, St, Ph, Sa.

(b) R6(fu!, Nb, St, Ph, Sa)

Oambar 5.5 HasiI dari Proyeksi R6 dari R3.

di mana kunci utama dari tiap relasi diberi garis bawah. (R2 dan R4 mempunyai lebih dari satu kunci kandidat) Set ini akan dicek untuk masalah-masalah yang mungkin. Jika FD ditemukan dalam diagram FD untuk tiap-tiap relasi individu maka daftar yang diperoleh sebagai berikut:

(10)

Dua hal yang perlu diperhatikan: 1) tidak ada FD yang muncullebih dari satu kali; dan 2) set FD sarna dengan set FD yang dijumpai dalam cover minimal pada Gambar 5.2

Jika empat relasi dianalisis, maka tidak ada relasi yang dapat ditemukan di mana semua atributnya muncul sebagai cut set dari atribut dalam relasi lainnya. Perlu diperhatikan bahwa tidak terdapat cara lain untuk menggabungkan ketiga relasi desain yang dapat menguraikan semua atribut dalam relasi keempat. Jadi dalam relasi keempat tersebut tidak ada yang redanden.

Jika nama-nama atribut yang lebih panjang digunakan dalam tempat model karakter dua yang lebih pendek maka relasinya adalah sebagai berikut :

R2(Tnumb, Captn, Tname) R4(Tnumb, Week, Lane)

R5(Bname, Week, Gamel, Game2, Game3) R6(Bname, Tnumb, Phone, Stret,S tavg)

Dengan melihat atribut yang terdapat pada masing-masing relasi, dapat kita ketahui bahwa masing-masing relasi menyajikan sebuah set data yang padu, yaitu:

R2 :. Informasi tentang team R4 : ladwal season

R5 : Informasi penilaian bowler individu R6 : Informasi personal bowler

Dilihat dari sudut kepraktisan, maka relasi tersebut sangat masuk akal.

Meskipun masalah di atas tidak nampak dalam contoh ini, namun dalam proses desain, kita sering mengelompokkan atribut-atribut ke dalam relasi-relasi yang agak kita buat-buat. Desain akhir harus selalu diperiksa agar tidak terjadi hal yang

Relasi Gambar No FD R2 5.3 Tn H Nb Cp H Nb R4 5.4 Wk, Ln Nb Wk, Nb Ln R5 5.5 Bn, Wk G I ,G2,G3 R6 5.5 Bn Nb, St, Ph, Sa

(11)

demikian. Masalah ini yang paling sering muncul jika singkatan yang dipakai sangat pendek sehingga kita (desiner) tidak tahu lagi kepanjangan suatu singkatan. Seorang

desainer yang baik tentu akan memperhatikan atribut tersebut serta berusaha

memvisuali sasikan nya.

Database sekretaris yang dipakai adalah dBASEIII, dalam bab 9, dan R:base 5000 dalam bab 10. Modul program sampel digunakan untuk menguraikan laporan yang diperlukan oleh sekretaris tersebut.

5. 6

TUGAS UNTUK BAB 5

1. Desain kembali database sekretaris bowling dengan asumsi bahwa atribut yang

akan disimpan dalam database adalah Bavg, Bgame, Losses, Tpins, Bpins, Hndk, Higam, dan Hiser!

2. Jika database pada nomor satu di atas dilaksanakan, bagaimana caranya agar

sekretaris tidak membuat kesalahan atribut yang telah dihitung dalam memasuk-kan data?

Gambar

Gambar 5. 1 Diagram FD penama untuk database sekretaris bowling
Gambar 5. 2 Diagram FD Cover Minimal untuk basisdata sekretaris bowling FD redanden kedua yang terdapat dalam Gambar 5.1 disebabkan oleh transitivitas y~ng palsu
Gambar 5.3. Hasil Proyeksi R2 dari R.
Gambar 5. 4 HasHdari Proyeksi R4 dari Rl.

Referensi

Dokumen terkait

Bentuk ekspresi yang dapat dilihat mulai dari menyalahkan kaum reformis karena sebab gerakan merekalah kestabilan pemerintahan orde baru terganggu, menimbulkan ketidakpatian

Analisis kebutuhan dalam rancang bangu media pembelajaran pada materi pengolahan dilakukan melalui observasi dan teknik wawancara. Proses perancangan media

Angka ini dapat menjadi acuan dalam mengkaji ulang hasil penelitian kue kering berbasis tepung jagung serta peluang substitusi tepung jagung terhadap terigu untuk olahan

Studi kepustakaan merupakan penelitian yang dilakukan dengan cara mengumpulkan data, mencatat, mempelajari text book dan buku-buku pelengkap atau referensi, seperti: jurnal dan

Menurut Manuaba (2008; h.389) disebutkan perdarahan terjadi karena gangguan hormon, gangguan kehamilan, gangguan KB, penyakit kandungan dan keganasan genetalia. 55)

Saya bertugas di SMPN 5 Satu Atap Medang Deras ini sudah hampir 4 tahun. Perilaku membolos yang sering terjadi di sekolah ini yaitu siswa atau siswi yang

Pada prinsipnya fungsi kos-kosan merupakan: (1) sarana tempat tinggal sementara bagi mahasiswa yang pada umumnya berasal dari luar daerah selama masa

Adapun tujuan dalam penelitian tugas akhir ini adalah untuk mengetahui bagaimana analisis pelaksanaan Layanan SMS Banking di Bank Nagari Cabang Pembantu Syariah