Keanehan Soal Latihan SBD
Setelah saya teliti lagi.. ternyata ada keanehan pada soal latihan SBD praktikum. Soalnya yaitu soal01B nomer 10. Di soal hasilnya seperti ini:

Dengan DB relation:

Dan ini script creator dBnya:
CREATE TABLE MsAnggota
(
KdAnggota char(5)primary key not null,
Nama varchar(30) not null,
Alamat varchar(50),
Telp numeric,
constraint tes check (len(KdAnggota)=5),
constraint tes2 check (KdAnggota like 'NT[0-9][0-9][0-9]'),
constraint tes3 check (len(Telp) <11)
)
CREATE TABLE MsKasir
(
KdKasir char(5)primary key not null,
Nama varchar(30) not null,
Alamat varchar(50),
Telp numeric,
Gaji numeric,
constraint tes4 check (len(KdKasir)=5),
constraint tes5 check (KdKasir like 'KY[0-9][0-9][0-9]'),
constraint tes6 check (len(Telp) <11)
)
CREATE TABLE MsKursus
(
KdKursus char(5)primary key not null,
NamaKursus varchar(30) not null,
Biaya numeric,
constraint tes7 check (len(KdKursus)=5),
constraint tes8 check (KdKursus like 'MK[0-9][0-9][0-9]')
)
CREATE TABLE TrHeaderPendaftaran
(
KdPendaftaran char(5)primary key not null,
TanggalPendaftaran datetime,
KdAnggota char(5),
KdKasir char(5),
constraint tes9 check (len(KdPendaftaran)=5),
constraint tes10 check (KdPendaftaran like 'KP[0-9][0-9][0-9]'),
foreign key(KdAnggota)REFERENCES MsAnggota ON UPDATE CASCADE ON DELETE CASCADE,
foreign key(KdKasir)REFERENCES MsKasir ON UPDATE CASCADE ON DELETE CASCADE
)
CREATE TABLE TrDetailPendaftaran
(
KdKursus char(5),
KdPendaftaran char(5),
JumlahPertemuan int not null,
primary key(KdKursus,KdPendaftaran),
foreign key(KdKursus)REFERENCES MsKursus ON UPDATE CASCADE ON DELETE CASCADE,
foreign key(KdPendaftaran)REFERENCES TrHeaderPendaftaran ON UPDATE CASCADE ON DELETE CASCADE
)
insert into MsAnggota values('NT001','Ricky','Gang Manggis X,tanjung duren','5690962')
insert into MsAnggota (kdanggota,nama,alamat)values('NT002','Winardi','Jl. Keluarga no 36')
insert into MsAnggota values('NT003','Andreas','Jl. Dwiwarna Gg buntu no 42D','7894613')
insert into MsAnggota values('NT004','Gerry','Jl. Keluarga no 39b','3456789')
insert into MsAnggota values('NT005','Reynold','Jl. Jenderal Sudirman No.14','5875646')
insert into MsAnggota values('NT006','Sukandi','Jl. Patimura no 15','7545451')
insert into MsAnggota (kdanggota,nama,alamat)values('NT007','Belinda','Jl. Gatot Subroto')
insert into MsAnggota values('NT008','Silvia','Jl. Kartini 3','5402356')
insert into MsKasir values('KY001','Daniel','Jl. Anggrek no 13','2548454','950000')
insert into MsKasir (kdkasir,nama,alamat,gaji)values('KY002','Michael','Jl. Rascheans no 54','900000')
insert into MsKasir values('KY003','Tommy','Jl. Peter Pan no 18','3545464','750000')
insert into MsKasir values('KY004','Hendra','Jl. Syahdan no 45','4454585','850000')
insert into MsKasir (kdkasir,nama,alamat,gaji)values('KY005','Heru','Jl. Beautiful 15','825000')
insert into MsKasir values('KY006','Fransisca','Jl. Melati no 47','4789646','725000')
insert into MsKasir values('KY007','Hendrayu','Jl. Rafflesia arnoldi no 10','5642254','925000')
insert into MsKasir values('KY008','Fendy','Jl. Cinderela no 17','4785462','800000')
insert into MsKursus values('MK001','Sistem Multimedia','500000')
insert into MsKursus values('MK002','Java','550000')
insert into MsKursus values('MK003','VB.NET','700000')
insert into MsKursus values('MK004','PHP','750000')
insert into MsKursus values('MK005','Sistem Basis Data','300000')
insert into MsKursus values('MK006','Networking','800000')
insert into MsKursus values('MK007','DataWareHouse','450000')
insert into MsKursus values('MK008','Sistem Operasi','500000')
insert into TrHeaderPendaftaran values('KP001','01/01/2008','NT008','KY007')
insert into TrHeaderPendaftaran values('KP002','12/01/2008','NT002','KY006')
insert into TrHeaderPendaftaran values('KP003','10/01/2008','NT005','KY008')
insert into TrHeaderPendaftaran values('KP004','12/02/2008','NT004','KY002')
insert into TrHeaderPendaftaran values('KP005','03/03/2008','NT003','KY001')
insert into TrHeaderPendaftaran values('KP006','02/03/2008','NT006','KY005')
insert into TrHeaderPendaftaran values('KP007','10/03/2008','NT001','KY003')
insert into TrHeaderPendaftaran values('KP008','01/04/2008','NT007','KY004')
insert into TrHeaderPendaftaran values('KP009','05/04/2008','NT002','KY007')
insert into TrHeaderPendaftaran values('KP010','10/05/2008','NT007','KY005')
insert into TrDetailPendaftaran values('MK001','KP008','10')
insert into TrDetailPendaftaran values('MK001','KP007','10')
insert into TrDetailPendaftaran values('MK002','KP005','9')
insert into TrDetailPendaftaran values('MK002','KP001','9')
insert into TrDetailPendaftaran values('MK003','KP002','11')
insert into TrDetailPendaftaran values('MK003','KP003','11')
insert into TrDetailPendaftaran values('MK004','KP008','12')
insert into TrDetailPendaftaran values('MK004','KP009','12')
insert into TrDetailPendaftaran values('MK005','KP007','8')
insert into TrDetailPendaftaran values('MK005','KP001','8')
insert into TrDetailPendaftaran values('MK006','KP006','10')
insert into TrDetailPendaftaran values('MK007','KP010','9')
insert into TrDetailPendaftaran values('MK007','KP004','9')
insert into TrDetailPendaftaran values('MK008','KP010','9')
Dan ini script query dari asisten punya:
select distinct ma.nama,namakursus, month(tanggalpendaftaran)as Bulan from mskursus as mk,trdetailpendaftaran as td, trheaderpendaftaran as th,msanggota as ma where month(tanggalpendaftaran)>8 and month(tanggalpendaftaran) <12 and len(ma.nama) =5 and namakursus like '% %' and namakursus not like '% % %'
Dan ini query saya:
select distinct ma.nama, namakursus, month(tanggalpendaftaran) Bulan from msanggota ma, mskursus mk, trheaderpendaftaran th, trdetailpendaftaran td where month(tanggalpendaftaran)>8 and month(tanggalpendaftaran)<12 and len(ma.nama) = 5 and namakursus like '% %' and namakursus not like '% % %' and ma.kdanggota = th.kdanggota and mk.kdkursus = td.kdkursus and th.kdpendaftaran = td.kdpendaftaran
Nah kenapa aneh?
Karena hasil dari query saya dengan query dari lab itu beda hasilnya, dan setelah saya teliti secara manual saya baca databasenya langsung, memang ada keanehan dari hasil query asisten lab.
Ada yang bisa menjelaskan kenapa hasilnya bisa seperti ini?
Apakah kita disuruh untuk menampilkan hasil yang sesuai dengan yang diminta ataukah kita harus membuat query dengan benar?
Tolong kalau ada yang tau silakan dijawab, terutama dari pihak asisten Lab, karena terus terang dalam mengerjakan ujian saya jadi ragu apakah query yang saya lakukan udah benar ato belum?
Maklum kalo saya salah, soalnya saya pemula di bidang database ini.
[Update 4 Robi' Ats Tsani]
Barusan chat ma si Lena, pada kenal kan anak TI binus? Hehe..
Ternaya dia nemuin juga keanehan, ya walopun dia ga yakin, tapi gpp kan klo gw posting hasil chatnya?
Ini nih:
lena: dia minta nampilin blablabla lena: dengan namaalat musik mengandung a dan o lena: g buat nama like'%a%' and '%o%' tkid: yap lena: kan lena: dptnya beda lena: org yg tulis '%a%o%' dptnya sama lena: jadi kayaknya lena: mereka cuma dapet alatmusik saxophone lena: g dapetnya itu ama biola lena: ada a dan o lena: kan lena: tp ya g gak tau juga sih lena: siapa tau g salah tkid: ga salah jg kok lo tkid: mungkin kalimatnya aja yang kurang jelas tkid: klo emg yg diminta itu '%a%o%' tkid: kalimatnya kan harus lebih jelas tkid: misal alatmusik yang mengandung a kemudian o dalam nama alatmusik tersebut lena: makanya lena: kun juga sama ma g lena: makanya g agak ykin menurut soal g benr lena: tp kan ada yg menurut tabel hasil lena: tp ya gak tau juga sih tkid: yaudh deh tkid: eh boleh ga gw posting chat ini? tkid: khusus yg ngebahas soal sbd ini lena: trserah u d lena: asal u cantumin kata ketidakyakinan g
Demikian laporan saya. [Halah sok! hehe..]













April 11th, 2008 at 16:25
dlu aslabnya mang blom prnah ngomong ya? emang ntu jawaban yg dikasih dari aslab itu g smuanya bener, dan beberapa soal ada yg ngaco, coba liat di soal 2A no.8, tu soal bilangnya dikali 2rb, tapi pas gw coba beda, trnyata msti dikali 20rb dan jawaban yg dikasih aslab dipaksa2in biar hasilnya sama, padahal jelas2 d soalnya disuruh dikali 2rb…
April 11th, 2008 at 16:40
@iqbal:
Ooo gtu ya?
kayaknya si astlab lom ngasih tau deh..
pantes aneh”
Trus klo buat ujian gmn ya?
kaya gini juga ga ya?
jadi ragu nih ma kredibilitas lab..
mmm..
patut dipertanyakan.. [kidding..]
hahaha..