Merancang Query SQL untuk Menampilkan Jadwal Kuliah

Suggested by SMS

Assalamu’alaikum wr. wb, para pembaca yang budiman. Dalam merancang sistem informasi tentunya memiliki kemampuan menguasai query SQL adalah wajib hukumnya. Lho kenapa begitu..? Karena pada dasarnya sistem informasi mengolah dan menampilkan data dari database. Untuk bisa melakukan itu, dibutuhkan query SQL untuk mengambil data sesuai keinginan kita. Misalnya menampilkan daftar mata kuliah, daftar dosen, jadwal kuliah, dan sebagainya.

Dalam studi kasus kali ini, saya akan menjelaskan bagaimana merancang query untuk menampilkan jadwal kuliah. Sebelumnya tentu kita buat dulu database-nya, he he he… Oke, yang perlu dipikirkan dalam membuat jadwal kuliah ini adalah apa saja entitas yang terlibat. Entitas-entitas ini nantinya akan kita jadikan tabel di database. Pertama-tama tentunya adalah tabel jadwal kuliah itu sendiri, yang di dalamnya memuat nama mata kuliah, nama dosen, nama program studi, semester, tahun akademik, hari, jam kuliah, dan ruangan. Lalu mana saja yang perlu dibuat menjadi tabel tambahan? Kita lihat, mana saja yang kira-kira membutuhkan kode untuk menandai sehingga tidak ada record data yang ganda (lebih dari satu)? Dari situ bisa kita tebak, yaitu: mata kuliah, dosen, dan program studi (prodi).

Oke, berikut adalah query untuk membuat tabel jadwal kuliah

Di situ bisa dilihat ada kd_prodi, kd_mk, dan kd_dosen. Ketiga kolom itulah yang nantinya akan berhubungan dengan tabel lain, yaitu tabel prodi, mata_kuliah, dan dosen. Ketiga tabel itu perlu dibuat karena masing-masing tabel mengandung data yang menjelaskan masing-masing entitas, dan data ini tentunya bisa dipakai berkali-kali dan dimana-mana. Sehingga akan merepotkan jika data di ketiga tabel ini terus menerus ditulis ulang. Belum lagi kalau ada perubahan data di ketiga tabel tersebut. Nah lho, seandainya ada banyak tabel lain selain tabel jadwal yang menggunakan data ketiga tabel tersebut, bagaimana jadinya? Harus update satu-satu di tiap tabel dong? Waduh, pastinya merepotkan ya. Karena itulah, ketiga tabel tersebut (prodi, mata_kuliah, dosen) perlu dibuat sebagai REFERENSI satu-satunya. Sehingga kalau ada perubahan data di ketiga tabel itu, di tabel lain yang menggunakan data ketiga tabel itu juga akan ikut berubah datanya. Sampai di sini jelas kan? He he he.. Yuk lanjut.

Sekarang kita akab buat tiga tabel baru, yaitu prodi, mata_kuliah, dan dosen. Berikut adalah query SQL untuk membuat tabel-tabelnya:

Tabel prodi:

Tabel mata_kuliah:

Tabel dosen:

Setelah semua tabel dibuat, sekarang waktunya kita memikirkan cara untuk mengambil data jadwal kuliah dari keempat tabel tersebut. Yang perlu ditampilkan adalah hari, jam kuliah, ruang kuliah, tahun akademik, semester, nama prodi, nama mata kuliah, dan nama dosen. Nah, ketiga “nama” yang terakhir tadi perlu diambil dari masing-masing tabelnya yaitu prodi, mata_kuliah, dan dosen. Caranya adalah dengan memanfaatkan fungsi JOIN pada SQL. Sesuai namanya, JOIN berfungsi untuk menggabung, yaitu menggabung dua tabel berdasarkan sepasang kolom tertentu. Misalnya, untuk men-join tabel jadwal dengan tabel prodi, sepasang kolom yang dibutuhkan adalah kolom kd_prodi dan tabel jadwal dan juga kolom kd_prodi dari tabel prodi. Dengan kata lain, kedua kolom itulah yang menghubungkan tabel jadwal dan prodi. Berikut query-nya:

Bisa dilihat bahwa ada sintaks “ON” yang berfungsi mendefinisikan keterhubungan antara tabel jadwal dan prodi.

Selesai? Belum, karena masih ada dua tabel lagi yang perlu kita JOIN karena data nama mata kuliah dan nama dosen ada di masing-masing tabel itu. Jadi mari kita tambahkan JOIN lagi pada query sebelumnya:

Untuk memudahkan, kita buat alias pada masing-masing tabel, yaitu p untuk prodi, mk untuk mata_kuliah dan d untuk dosen. Setelah itu baru kita tambahkan kolom-kolomnya ke query dengan menyertakan nama tabel alias tadi. Ingat, penyertaan nama tabel ini penting untuk mencegah terjadinya ambigu. Misalnya jika kita hanya menulis kd_prodi, SQL akan bingung menerka maksud kd_prodi itu kolom yang dari tabel jadwal atau tabel prodi. Karena itu kita tambahkan nama tabel di depan nama kolom dengan format: <nama tabel>.<nama kolom>. Kemudian kita tambahkan ORDER BY untuk mengurutkan jadwal berdasarkan hari secara mengecil (descending) atau dengan kata lain dari yang hurufnya lebih “besar”.

Oke, sekarang query-nya sudah lengkap. Mari kita jalankan di phpmyadmin. Berikut hasil query-nya:

artikel

Voila! Sekarang data jadwal sudah tersedia lengkap dan tentunya siap untuk ditampilkan di halaman website anda. Mudah, bukan?

Sekian artikel tutorial INOOUT kali ini, semoga bermanfaat bagi para pembaca sekalian. Sampai berjumpa lagi di lain kesempatan!

Wassalamu’alaikum wr. wb.

(Visited 2,889 times, 1 visits today)

Leave a Reply

Your email address will not be published. Required fields are marked *