About Me

Hai, saya Rosihan Ari Yuana. Saya sehari-hari adalah mengajar di Universitas Sebelas Maret.

Bidang riset saya tentang adaptive learning, computer aided learning, dan datascience

Selain itu, saya juga seorang penulis buku dan blogger.

More about me...

  • Home
  • /
  • SQL
  • /
  • Perintah SQL (SELECT) untuk Multi Tabel (Bag. 2)
SQL

Perintah SQL (SELECT) untuk Multi Tabel (Bag. 2)

OK… artikel ini merupakan kelanjutan dari artikel sebelumnya. Kalau Anda belum membaca artikel sebelumnya, coba bacalah terlebih dahulu karena artikel ini terkait erat.

Dalam artikel ini akan kita bahas pertanyaan no. 3 dan 4.

Adapun pertanyaan no. 3  adalah bagaimana perintah SQL untuk menampilkan IPK dari mahasiswa berNIM ‘003’?

Untuk membuat SQL dari query di atas, lagi-lagi langkah pertama adalah menentukan di tabel mana kita akan bekerja. Apabila Anda perhatikan, maka tabel yang dipilih adalah mk dan ambilMK. Mengapa demikian? Tabel mk digunakan untuk mengambil informasi terkait dengan sks matakuliah yang diambil mahasiswa dan tabel ambilMK berisi informasi daftar matakuliah yang diambil mahasiswa.

Nah… , setelah Anda menentukan tabel yang digunakan, selanjutnya Anda harus tahu formula untuk menghitung IPK. Apa rumusnya? yaitu jumlah dari perkalian sks dan nilai yang diambil mahasiswa dibagi dengan jumlah sks yang diambil mahasiswa.

OK begitu Anda tahu rumusnya, langsung dapat diimplementasikan ke SQL, yaitu

SELECT sum(ambilMK.nilai * mk.sks)/sum(mk.sks) as IPK
FROM ambilMK, mk
WHERE ambilMK.kodeMK = mk.kodeMK
AND ambilMK.nim = '003';

Dari SQL di atas, Anda akan memperoleh hasil IPK mhs bernim ‘003’ adalah 3.5

Hikmah dari contoh kasus pencarian IPK ini adalah, apabila Anda membuat sistem untuk pencatatan nilai siswa seperti sistem informasi akademik dan sejenisnya, sebaiknya data IP atau IPK jangan disimpan dalam tabel, melainkan melalui proses query. Apabila data IP atau IPK tersimpan ke dalam tabel, maka kemungkinan terjadi ketidakkonsistenan data semakin besar. Bisa jadi IP atau IPK yang tersimpan di tabel berbeda dengan kenyataan berdasarkan nilai-nilai matakuliah yang diperoleh siswa. Lagipula jika data-data IP dan IPK disimpan dalam tabel, maka hanya akan menambah penuh database Anda 🙂

OK… selanjutnya akan kita bahas untuk pertanyaan no. 4, yaitu bagaimana statement SQL untuk menampilkan nim, nama dan nilai IPK semua mahasiswa.

Nah… kalau pertanyaan ini, kita harus menggunakan semua tabel, yaitu mhs, mk dan ambilMK.Tabel mhs diperlukan karena untuk menampilkan nama mahasiswa, bisa juga untuk nim. Tapi nim juga dapat ditampilkan melalui tabel ambilMK.

Bagaimana statement SQL nya?

SELECT mhs.nim, mhs.namaMhs, 
       sum(ambilMK.nilai * mk.sks)/sum(mk.sks) as IPK
FROM mhs, ambilMK, mk
WHERE mhs.nim = ambilMK.nim AND ambilMK.kodeMK = mk.kodeMK
GROUP BY mhs.nim

Mengapa harus ada perintah GROUP BY mhs.nim? Hal ini karena perhitungan IPK dapat dilakukan setelah data dikelompokkan berdasarkan nim, mengingat seorang mahasiswa dapat mengambil matakuliah lebih lebih dari satu.

 


Beli Buku Pemrograman

5 Langkah Mudah Menguasai React Native
Rahasia Inti Master PHP & MySQLi (Improved)
Jalan Pintas Menjadi Master React JS
Trik Kolaborasi React dengan PHP & MySQL

Article by Request

Anda belum memahami konsep pemrograman PHP Native, Python, Java, atau SQL? atau Anda belum punya ide penyelesaian dari studi kasus yang dihadapi sampai saat ini.

Silakan manfaatkan layanan Article by Request di blog ini.

Bagikan artikel ini jika bermanfaat !

Assalaamu'alaikum.. aktivitas keseharian saya mengajar di Universitas Sebelas Maret, dengan matakuliah pemrograman dan basis data. Adapun bidang penelitian saya tentang computational thinking dan computer-aided learning.

Leave a Reply