Scroll to top

Haloo! Selamat Datang di Komunitas Private Training Web Development (44454 Members, 395 Projects, 3471 Topic, 9504 Comments)

Butuh karyawan baru? atau seorang Web Developer (Part-time/Freelance/Full-time) untuk mengerjakan project/aplikasi anda?, cari disini : Members Area Jobs!
Bagaimana cara menambahkan perengkingan di raport siaselah V.4
Fadhil Muhammad Mengatakan : Members -
Rate Topic :
  1. Assalamualaikum Warahmatullahi Wabarakatuh...
  2. Gan,,, udah mentok nih, source code untuk merengking/ menambahkan peringkat siswa di siaselah v.4 gimana yah,,,
  3. mohon bantuannya gan
Bukhari al Muslim Mengatakan :
Admin -
  1. Assalam,.. cukup berat pertanyaannya, untuk perangkingan sebenarnya sudah ada di SIASELAH KTSP,
  2. kalau teliti bisa saja sebenarnya copas dari script di KTSP dan modifikasi perhitungan nilainya.
  3.  
  4. Pertama tambahkan di database table baru untuk menyimpan ranking siswa persemsternya :
  5. CREATE TABLE `rb_peringkat` (
  6. `id_peringkat` int(11) NOT NULL,
  7. `nisn` varchar(20) NOT NULL,
  8. `kode_kelas` varchar(10) NOT NULL,
  9. `id_tahun_akademik` int(5) NOT NULL,
  10. `nilai_total` int(5) NOT NULL,
  11. `rank` int(11) NOT NULL
  12. ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
  13.  
  14. ALTER TABLE `rb_peringkat` ADD PRIMARY KEY (`id_peringkat`);
  15. ALTER TABLE `rb_peringkat` MODIFY `id_peringkat` int(11) NOT NULL AUTO_INCREMENT;
  16.  
  17. Oke kita mulai dari mengitung jumlah nilai pengetahuan dan nilai keterampilan siswa persemesternya,
  18. berikut querynya, sudah saya racik langsung querynya. ^_^
  19.  
  20. $pengetahuan = mysql_fetch_array(mysql_query("SELECT sum(z.raport) as total FROM (SELECT sum((a.nilai1+a.nilai2+a.nilai3+a.nilai4+a.nilai5)/5)/count(a.nisn) as raport FROM rb_nilai_pengetahuan a JOIN rb_jadwal_pelajaran b ON a.kodejdwl=b.kodejdwl where a.nisn='$r[nisn]' AND b.id_tahun_akademik='$_GET[tahun]' GROUP BY a.kodejdwl) as z"));
  21.  
  22. $keterampilan = mysql_fetch_array(mysql_query("SELECT sum(z.raport) as total FROM (SELECT sum(GREATEST(a.nilai1,a.nilai2,a.nilai3,a.nilai4,a.nilai5,a.nilai6))/count(a.nisn) as raport FROM rb_nilai_keterampilan a JOIN rb_jadwal_pelajaran b ON a.kodejdwl=b.kodejdwl where a.nisn='$r[nisn]' AND b.id_tahun_akademik='$_GET[tahun]' GROUP BY a.kodejdwl) as z"));
  23.  
  24. Tambahkan jumlah nilai pengetahuan dan nilai keterampilannya siswa persemester dari query di atas.
  25. $nilai_total = number_format($pengetahuan[total])+number_format($keterampilan[total]);
  26.  
  27. oke selanjutnya query ini tempatkan dalam perulangan data siswa perkelas,
  28. bisa ditempatkan pada file "application/raport_cetak.php"
  29.  
  30. lalu masih di dalam perulangan (while) pada file yg sama, tambahkan query untuk insert nilai ke table rb_peringkat,
  31. update (Jika data sudah ada) dan insert (jika belum ada pada semester tersebut), :
  32.  
  33. $cek = mysql_num_rows(mysql_query("SELECT * FROM rb_peringkat where nisn='$r[nisn]' AND kode_kelas='$r[kode_kelas]' AND id_tahun_akademik='$_GET[tahun]'"));
  34. if ($cek >= 1){
  35. mysql_query("UPDATE rb_peringkat SET nilai_total='$nilai_total' where nisn='$r[nisn]' AND kode_kelas='$r[kode_kelas]' AND id_tahun_akademik='$_GET[tahun]'");
  36. }else{
  37. mysql_query("INSERT INTO rb_peringkat VALUES('','$r[nisn]','$r[kode_kelas]','$_GET[tahun]','$nilai_total','')");
  38. }
  39.  
  40. lalu dibagian paling bawah diluar perulangan (while) tambahkan query untuk me-ranking,
  41. $rank = mysql_query("SELECT * FROM rb_peringkat where kode_kelas='$_GET[id]' AND id_tahun_akademik='$_GET[tahun]' ORDER BY nilai_total DESC");
  42. $ii = 1;
  43. while ($ra = mysql_fetch_array($rank)){
  44. mysql_query("UPDATE rb_peringkat SET rank='$ii' where nisn='$ra[nisn]' AND kode_kelas='$ra[kode_kelas]' AND id_tahun_akademik='$_GET[tahun]'");
  45. $ii++;
  46. }
  47.  
  48. Akhrnya selesai, selanjutnya tinggal menampilkan ranking di raport, querynya begini :
  49. $row = mysql_fetch_array(mysql_query("SELECT * FROM rb_peringkat where nisn='$_GET[id]' AND id_tahun_akademik='$_GET[tahun]'"));
  50. echo "Selamat anda Ranking : $row[rank]";
  51.  
  52. Selesai, semoga bermanfaat..
  53. berikut saya lampirkan penampakan dari hasil yang kita cobakan disini,. ^_^

Ada 1 File Kiriman :
1. success_buat_ranking.png (128 KB)
Fadhil Muhammad Mengatakan :
Members -
  1. Assalam,.. ooo iyaa mas bukhari,, ternyata sudah ada di siaselah ktsp 2006,, saya nya yg kurang teliti mas,,,,terima kasih bnyak mas bukhari muslim,,sehat selaluuu ^-^

Maaf, Untuk Memberikan Komentar Anda Harus Login !!!