Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptx
DatabaseBowling
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.
45
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 kedudukan team. Suatu team dianggap menang dalam tiap-tiap permainan 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 teamjuga 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 Keterangan
Nb: Tnumb Nomor team. Team diberi nomor secara berurutan mulai dari
angka 1.
Tn: Tname Nama team. Masing-masing teamdalam sebuah klub atau perkum-
pulan mempunyai nama, misalnya "PinBusters." Nama team unik
sifatnya.
46
3. Bn: BnaII1e Nama bowler. Oleh karena perkumpulan ini kecil maka dianggap
tidak ada dua nama bowler yang sarna persis.
Av: Bavg Rata-rata seorang bowler. Ini adalah rat.a-ratalencana/permainan
untuk semua permainan yang dijadwalkan. Rata-rata tersebut akan
dikurangi dengan angka keseluruhan.
Hk: Hndk 'Hambatan permainan 'seorangbowler. Ini merupakan nilai integer
yang dihitung tiap-tiap minggu.
Bg: Bgame Angka to~alpermainan yang telah dipermainkan seorang bowler.
Seorang bowler biflsanyamain tiga kali dalam satu malam.
Wn: Wins Total angka kemenangan team dalam suatu season.
Ls: Loss Total angka kekalahan team dalam suatu season.
Tp: Tpins Total angka lencana (pin) team dalam suatu season.
Ln: Lane 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.
Cp: Captn Nama kapten suatu team. Hanya terdapat seorang kapten dalam
sebuah team.
Ph: Phone' Nomor telepon dari seorang bowler. Lebih dari 'seorang bowler
boleh hanya menggunakan satu nomor telepon.
St: Street Alamat jalan seorang bowler. Semua alamat berada dalam satu
kota. Satu orang atau lebih mungkin tinggal dalam alamat yang
sarna.
Bp: Bpins Total dari semua lencana yang diperoleh seorang bowler dalam
satu season.
Sa: Stavg Rata-rata yang diperoleh seorang bowler dalam permulaan suatu
season. Ini merupakan nilai integer.
Hg: Higam Nilai dari sebuah permainan terbaik yang dilakukan oleh seorang
bowler dalam satu season.
Hs: Hiser Nilai dari tiga seri permainan yang terbaik yang dilakukan seorang
bowler dalam suatu season.
Wk: Week 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.
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 1dari 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~ En, Ln, Cp,Ph, St, Sa, Wk, Gl, G2, G3)
Tn, .
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.)
48
5. Original Set of Transitive Dependencies
Design Fd's Already Eliminated
Tn H Nb Bn ~ Tn
Tn H Cp Bn ~ Cp
Cp H Nb Ln, Wk ~ Cp
Bn ~ Nb, St, Ph, Sa Ln, Wk ~ Tn
Bn, Wk, ~ GI, G2, G3, Ln
Ln, Wk ~ Nb
Wk, Nb ~ Ln'
Gambar 5. 1 Diagram FD penama untuk database sekretaris bowling
49
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 3t11Sihilangkan, maka dua unsur lainnya
d
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. ~Tn
Nb. ~ Cp
Wk,Ln, ~ Nb
Bn, Wk ~ GI, G2, G3.
Bn ~ 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.
50
7. 5.4 PENGURANGAN PADA SET RELASI BCNF
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 Detenninants in R
<Bn,Wk> <Bn>
<Bn,Wk>
<Nb,Wk>
<Ln,Wk>
R1 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.
(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)
Gambar 5.3. Hasil Proyeksi R2 dari R.
51
8. Carnyang benaruntuk mengurangi R1adalah 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, G1, G2, G3)
FD's
Wk,Ln ~ Nb
Wk,Nb ~ Ln
(b) R4iliQ, Wk, Ln)
Gambar 5. 4 HasHdari Proyeksi R4 dari Rl.
52
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)
FD's:
Nb 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:
53
10. 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
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
54
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?
55