TELAH DIBUKA !!!

Toko Ebook Tutorial "RosihanAri.Net"


Free Ebook Tutorial from Rosihan Ari's Blog

Tutorial Javascript | Tutorial PHP Dasar | Tutorial AJAX | Tutorial CSS | Tutorial FPDF | Tutorial Wordpress



Slot iklan tersedia, pasang iklan di atas

Ebook yang direkomendasikan untuk Anda
Kunjungi Toko Ebook RosihanAri.Net

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


July 3rd, 2008 | by rosihanari | Cetak Artikel Cetak Artikel

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.


Baca Juga Artikel Terkait
Perintah SQL (SELECT) untuk Multi Tabel (Bag. 1)



Slot iklan tersedia, pasang iklan di atas


Kata kunci:


Ada 13 komentar dalam artikel ini.



  1. pur says:

    bagaimana klo menggunakan join??

  2. DEBI says:

    mas, kalau menampilkannya dalam bentuk file php skripsinya gmn mas,……oh y mbak amalia kudusnya sblh mn ya,……sebelumnya makasih mas,……….

  3. Adhi says:

    Inilah ilmu yang berkembang dan berbuah menjadi ide-ide yang positip. Buat saya blog ini sungguh sangat memberi motivasi, Terima kasih Pak. Semoga ilmu Bapak dapat saya tularkan lagi ke anak didik saya.

  4. nendy says:

    mas saya mo tnya gmana ya carana menampilkan biodata dan nilai seorang siswa yang sebelumnya telah login di login siswa dan bukan semua siswa? plis tolong saya untuk mengatasinya. untuk skripsi saya nih. thanx.

    • rosihanari says:

      @nendy: caranya setelah si siswa login dengan NIS nya, selanjutnya NIS nya disimpan di session, nah untuk setiap script yang menampilkan data si siswa gunakan NIS yang tersimpan di session tsb.

  5. guna says:

    mau tanya bagamana cara input data ke lebih dari 1 table (2 ato lebih), mohon petunjuk…
    trimakih sebelumnya …

    • rosihanari says:

      @guna: bisa menggunakan multiple query insert.

      INSERT INTO tabel1 VALUES (…);
      INSERT INTO tabel2 VALUES (…);

      setiap query diakhiri dengan tanda ;

  6. juwita says:

    Assalamu Alaikum,,,, pak saya pengen tau nih gimana caranya untuk bisa menampilkan n membuat relasi 3 tabel dengan primary key yang berbeda tolong yah pak penting banget nih buat skripsi saya>>>085247599188<<<kalo2 koment saya ini dibalas.

  7. poerwanto says:

    assalamu’alaikum wr. wb
    ikutan ganggu mas, sy mau hitung IPK, tapi matakuliah ulang tidak terakumulasi semua hanya yang nilainya tertinggi saja yang diakumulasi. mohon sangat bantuannya ya mas tuk pekerjaan saya ini. maaf. nuwun.
    wassalamu’alaikum wr. wb

  8. dani says:

    bang klo misal aku punya 2 databased.. yang formatnya sama. klo mau gabungin 2 file.sql jd 1 file.sql.. gmn caranya ya bang… makasih bang sebelumnya.. . .



 

Komentar/pertanyaan Anda!

Mohon maaf, komentar/pertanyaan yang menggunakan email palsu atau komentar bernada negatif, cemooh, umpatan, cacian atau sejenisnya secara otomatis akan terhapus karena dianggap spam dan tidak akan tampil

Dimohon jangan pula memasukkan code program dalam bentuk apapun ke dalam komentar karena akan dianggap spam.

Mohon maaf jika seandainya ada beberapa pertanyaan Anda yang tidak direspon atau ditanggapi mengingat banyaknya komentar yang masuk dan keterbatasan kemampuan/ilmu saya dalam menjawab pertanyaan satu persatu. Saya harap Anda bisa memahami dan memakluminya.

Semua komentar atau pertanyaan yg masuk tidak akan langsung tampil di halaman ini, karena akan dimoderasi dahulu.


*