Sunday, January 6, 2019

DBMS Query Translation - Aljabar Relational Part2

Assalamu'alaikum

Selamat siang, senang berjumpa lagi dengan kalian setelah lama hibernasi :v maklum orang sibuk gaiss :v. Di kesempatan kali ini saya ingin melanjutkan pembahasan tentang aljabar relational lanjutan dari part sebelumnya. Cek disini untuk kilas balik materi sebelumnya karena tidak akan saya jelaskan ulang. Langsung saja kita ke TKP.

Tabel 

Berikut tabel yang sama seperti artikel sebelumnya, yaitu tabel mahasiswa, matakuliah dan nilai. Di artikel kali ini saya hanya akan membahas 1 jenis operasi saja yaitu operasi set - cartesian product. Karena pada dasarnya pencarian data dalam struktur database di setiap entitas kurang lebih melibatkan 3 operasi utama yang 2 diantaranya sudah dibahas di penjelasan artikel sebelumnya.

Operasi Set - Cartesian Product

Operasi selanjutnya setelah operasi unary selection dan projection sekarang kita bahas tentang operasi set, yaitu operasi yang sudah melibatkan 2 relasi atau 2 tabel. Cartesian product sendiri adalah jenis pencarian data yang melibatkan 2 relasi dari hasil penggabungan setiap kolom yang ingin dilibatkan dalam pencarian data. Sehingga menghasilkan pencarian yang lebih spesifik. 




Notasi pencarian aljabar relational di notasikan dengan Relasi1 x Relasi2. Contohnya, Tampilkan NPM, nama mahasiswa (dari relasi mahasiswa) dan KodeMatkul, Semester, Tahun, Nilai (dari relasi Nilai). 

Aljabar Relational :  (πNPM, NamaMhsw(MAHASISWA)) x (πNilai, KodeMatkul, Semester, Tahun, Nilai (NILAI))
Output : 


Hasil diatas salah karena banyaknya data yang rangkap informasi yang salah. Bisa diketahui bahwa arham answar adalah mhs jurusan sistem informasi dan sintia amelia yg mhs akutansi tidak mungkin mengambil matakuliah yang sama dan belum tentu ada mata kuliah tersebut. Ini membuktikan bahwa informasi pencarian data menggunakan aljabar relasional seperti diatas masih kurang spesifik. Operasi lengkapnya adalah sebagai berikut : 

σMAHASISWA.NPM = NILAI.NPM ((πNPM, NamaMhsw(MAHASISWA)) x (πKodeMatkul, Semester, Tahun, Nilai (NILAI)).

Berbeda dari operasi unary, operasi set tidak bisa langsung dieksekusi perintah aljabar relationalnya. Diawal eksekusinya harus di tambahkan terlebih dahulu perintah penghubung antara relasi mahasiswa dan relasi nilai. Penghubungnya apa? Penghubungnya disini adalah NPM sehingga kita bisa menghubungkannya menggunakan sama dengan (=)

Setelah ditambahkan ketentuan penghubungnya barulah bisa kita eksekusi menggunakan perintah operasi set - cartesian product. Sehingga hasilnya akan seperti berikut ini.


Contoh 2 : tampilkan NPM, nama mahasiswa (dari relasi mahasiswa) dan kodeMatkul, Semester, Tahun, Nilai (dari relasi nilai) dan NamaMatkul (dari relasi matakuliah)

Aljabar Relational : σMAHASISWA.NPM = NILAI.NPM ^ MATAKULIAH.KodeMatKul = NILAI.KodeMatKul (πNPM, NamaMhsw(MAHASISWA)) x (πKodeMatkul, Semester, Tahun, Nilai (NILAI)x (πNamaMatKul (MATAKULIAH)))

Di contoh kedua ini, kita melakukan sortir pencarian data di 3 entitas, yaitu entitas mahasiswa, matakuliah dan nilai. Karena 3 entitas tersebut, setiap entitas dihubungkan dengan primary keynya (NPM untuk mahasiswa-nilai dan KodeMatkul untuk matakuliah-nilai). Iingat! kita menghubungkan 3 entitas. Jadi, 2 entitas yg dihubungkan oleh primary key harus di hubungkan dengan simbol v terbalik seperti contoh diatas.




Setelah 3 entitas dihubungkan, barulah di eksekusi spesifikasi pencariannya seperti memunculkan kolom NPM, nama mahasiswa yg ada pada tabel mahasiswa. Lalu kolom KodeMatkul, Semester, tahun, nilai yang ada pada tabel nilai. Dan terakhir kolom NamaMatkul dari tabel Matakuliah. Maka kurang lebih hasilnya seperti berikut ini.


Kurang lebih seperti itu penjelasan mengenai aljabar relational tentang operasi set - cartesian product. Mengenai operasi operasi yang lain padaaljabar relational akan di jelaskan lain waktu mengingat hanya 3 operasi pertama saja yang kurang lebih sering digunakan. Insya allah tetap akan di jelaskan lain waktu. Kurang lebih mohon maaf semoga bisa bermanfaat untuk pembaca. Sekian, terima kasih.
 

0 komentar:

Post a Comment

Kenal Saya

Follow My Twitter

Profil



Nama saya Alfa Farhan Syarief, web ini ada berdasarkan nama saya sendiri. Saya sendiri masih duduk tingkat SMK. Lebih lengkapnya saya masih bersekolah di SMKN 1

More »

Blog Archive

Recent Comment