Hallo! Selamat Datang di Marketplace produk digital, Freelancer terbaik di indonesia (67594 Members, 785 Products, 5299 Topic, 12963 Comments)

Bagaimana cara menambahkan perengkingan di raport siaselah V.4

Dibuat
Login Terakhir 2 Bulan lalu,
Telah Dilihat 1782 Kali
Fadhil Muhammad Mengatakan : Sultan Account
  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

Ada 2 Jawaban

Bukhori Muslim
commented on 13 Des 2018 06:24:48
  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,. ^_^
Terdapat 1 File dilampirkan :
1. success_buat_ranking.png (128 KB)
Fadhil Muhammad
commented on 20 Des 2018 10:23:55
  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 !!!