Page 178 - E-Modul Simbad_Neat
P. 178
Pada tabel Nilai, terdapat atribut npm, kode kul dan indeks_nilai. Ada
permintaan untuk menampilkan indeks nilai tertinggi yang diperoleh peserta kuliah
(mahamahasiswa) untuk mata kuliah dengan kode_kul = 'IF-221. Strategi untuk
bisa memenuhi permintaan ini adalah menerapkan operasi Set-Difference dari dua
buah operasi Projeksi untuk field indeks_nilai dari tabel Nilai. Projeksi pertama
diterapkan terhadap tabel Nilai untuk mendapatkan seluruh indeks_nilai dari tabel
tersebut, sehingga operasinya adalah:
∏ , _ ( )
Sementara Projeksi kedua (yang akan menjadi pengurangnya) relatif lebih
sulit. Projeksi ini juga diterapkan terhadap tabel Nilai, tetapi untuk mendapatkan
semua indeks_nilai yang lebih rendah dari indeks_nilai tertinggi. Dalam Projeksi
kedua ini ada kebutuhan operasi Rename. Bentuk operasinya dapat kita nyatakan
sebagai berikut:
∏ , ( , − < . − ∧ . − = − ′( ( )))
′
Penjelasan dari Projeksi tersebut adalah:
• Semua field dan baris data dari tabel Nilai digabung dengan tabel yang sama,
tetapi kita beri penamaan baru yaitu "n". Jika di tabel Nilai ada 3 field dan 3
baris data, maka hasil penggabungan (dengan Cartesian Product) tersebut akan
berisi 6 field duplikat dengan 9 baris data.
• Hasil penggabungan ini di-Seleksi dengan predikat (kriteria query): field
kode_kul untuk 'IF-221' dan field indeks_nilai dari tabel pertama (yaitu, Nilai)
lebih kecil dari field indeks_nilai dari tabel kedua (yaitu, N yang sebetulnya
165