Contoh perhitungan (rata-rata) dengan Mysql dan Php [sederhana]
Contoh perhitungan nilai rata-rata dari suatu mata pelajaran
tanpa menyimpan di database mysql dan php.
Perhitungan rata-rata dari suatu mata pelajaran ataupun
sejenisnya memang membutuhkan sebaris dua baris kode agar dapat menampilkan
nilai rata2 tersebut. Terkadang merasa sulit jika sudah terlanjur di dalam
tabel (database) tidak atau belum memberikan satu field untuk menyimpan nilai
rata2 tersebut. Atau juga kita hanya ingin menampilkan tanpa menyimpan dalam suatu
tabel , pada kasus yg saya jelaskan berikut ini ialah menampilkan nilai rata2
tidak dari suatu tabel, melainkan hanya sebatas menampilkan dan perhitunganya
secara langsung, langsung sja pada beberapa baris kode yg menggunakan query.
<table>
<thead >
<tr>
<th rowspan="2">No</th>
<th rowspan="2" width="240" >Mapel</th>
<th colspan="5" width="125">Nilai Ulangan</th>
<th colspan="3" width="45">Nilai Tugas</th>
<th rowspan="2">UTS</th>
<th rowspan="2">UAS</th>
<th rowspan="2">Rata-Rata</th>
<tr>
<th width="25">1</th>
<th width="25">2</th>
<th width="25">3</th>
<th width="25">4</th>
<th width="25">5</th>
<th width="25">1</th>
<th width="25">2</th>
<th width="25">3</th>
</tr>
</thead>
<td><?php
include "admin/koneksi.php";
if($_GET['']!==""){
$id=$_GET['id'];
$nis=$_SESSION['username'];
$rata2=$_GET['rata2'];
$query= mysql_query("select pelajaran,nama,ulangan1,ulangan2,ulangan3,ulangan4,ulangan5 ,tgs1,tgs2,tgs3 ,uts,uas,((2*((ulangan1+ ulangan2+ ulangan3+ ulangan4+ulangan5) /5)) + ((tgs1+tgs2)/2) +(2*((uts+uas)/2)))/5 as rata2 from nilai INNER JOIN kelas INNER JOIN mapel INNER JOIN guru ON kelas.id_kelas=nilai.id_kelas AND mapel.id_mapel=nilai.id_mapel AND nilai.id_guru=guru.id_guru where nilai.id_kelas='$id' and nis='$nis' ORDER BY pelajaran ASC ");
$no = 1;
$array=array();
while($lihat = mysql_fetch_array($query)) { ?>
<tr class="odd">
<?php $array[$no -1]=$lihat['rata2']; ?>
<td class="no"><?php echo $no++;?></td>
<td class="jdl"><?php echo $lihat['pelajaran'];?></td>
<td><?php echo $lihat['ulangan1'];?></td>
<td><?php echo $lihat['ulangan2'];?></td>
<td><?php echo $lihat['ulangan3'];?></td>
<td><?php echo $lihat['ulangan4'];?></td>
<td><?php echo $lihat['ulangan5'];?></td>
<td><?php echo $lihat['tgs1'];?></td>
<td><?php echo $lihat['tgs2'];?></td>
<td><?php echo $lihat['tgs3'];?></td>
<td><?php echo $lihat['uts'];?></td>
<td><?php echo $lihat['uas'];?></td>
<td id="rata2" class="rt"><?php printf("%.2f ", $lihat['rata2']);?></td>
<?php
} ?>
</tr>
<tr>
<td colspan="12" class="jmlnil">JUMLAH NILAI </td>
<td class="ary"><?php printf("%.2f ",array_sum($array));?></td>
</tr>
<tr>
<td colspan="12" class="jmlnil">Rata - Rata </td>
<td class="ary"><?php printf("%.2f ",array_sum($array)/count($array));?></td>
</tr>
<?php
}
?>
</table>
pada potongan kode diata menunjukkan pada tabel nilai tidak ada field rata2 untuk menyimpan hasil dari perhitungan nilai ulangan,tugas,uts dan uas, kasus disini hanya menampilkan tanpa menyimpan ke dalam tabel.
kode <td class="ary"><?php printf("%.2f ",array_sum($array));?></td> digunakan untuk menghitung jumlah data yang ada, digunakan untk menghitung hasil nilai rata2 dijumlahkan banyaknya nilai rata2 mapel untuk menghitung rata2 akhir. Kemudian kode <td class="ary"><?php printf("%.2f ",array_sum($array)/count($array));?></td> berfungsi sebagai untuk menghitung jumlah rata2 dari jumlah rata2 awal sebelum dibagi banyaknya mapel yang ada. Untuk banyaknya angka di belakang koma menggunakan perintah "printf("%.2f " jika angka 2 tersebut diganti angka 3,4 dsb maka angka dibelakang koma yang akan tampil berdasarkan angka yag di tentukan.
Di sini memang sengaja tidak semua kode dimasukkan, hanya memberikan secarik contoh perhitunganya saja. mungkin ada manfaatnya atau akan ada masukan dari para master, jika berkenan , para master dipersilahkan memberikan saran pada komentar dibawah, terimakasih :)
bila ada yang ingin mendownload file tersebut, silahkan klik disini