Mencari mean,median,modus,range menggunakan PHP

Haii sobat, kali ini saya mau berbagi sedik ilmu bagaimana cara mencari mean,median,modus dan range menggunakan program PHP.
Sebelumnya ini pengertian tentang :

  • Mean (Rata-Rata)
Pengertian Mean adalah teknik penjelasan kelompok yang didasarkan atas nilai rata-rata dari kelompok tersebut. Rata-Rata (mean) ini didapat dengan menjumlahkan data seluruh individu dalam kelompok itu, kemudian dibagi dengan jumlah individu yang ada pada kelompok tersebut.
Contoh Mean :
Seluruh pegawai di PT Samudra penghasilan sebulannya dalam satuan ribu rupiah adalah sebagai berikut :
90, 120, 160, 60, 180, 190, 90, 180, 70, 160
Untuk mencari mean atau rata-rata data tersebut tidak perlu di urutkan nilainya seperti dalam mencari median, tetapi dapat langsung dijumlahkan, kemudian dibagi dengan jumlah individu dalam kelompok tersebut. Berdasarkan data diatas, maka mean dapat dihitung :
Me : (90 + 120 + 160 + 180 + 190 + 90 + 180 + 70 + 160) : 10 = 130 ribu rupiah.
Jadi penghasilan rata-rata pegawai di PT Samudra adalah Rp. 130.000.

  • Median (Nilai Tengah)
Pengertian median adalah salah satu teknik penjelasan kelompok yang didasarkan atas nilai tengah dari kelompok data yang telah disusun urutannya dari yang terkecil sampai yang terbesar, atau sebaliknya dari yang terbesar sampai yang terkecil.
Contoh Median :
Hasil observasi umur pegawai di kantor X adalah :
20, 45, 60, 56, 45, 45, 20, 19, 57, 45, 45, 51, 35
Untuk dapat mencari mediannya maka data umur diatas harus disusun terlebih dahulu urutannya. Setelah disusun, menjadi sebagai berikut :
19, 20, 20, 35, 45, 45, 45, 45, 45, 51, 56, 57, 60
Nilai tengah data diatas berada pada urutan ke 7 yaitu 45. Jadi mediannya adalah 45.

  • Modus (Nilai Yang Paling Banyak Muncul)
Pengertian modus adalah teknik penjelasan kelompok yang didasarkan atas nilai yang sedang populer (yang sedang menjadi mode) atau nilai yang sering muncul dalam kelompok tersebut.
Contoh Modus Pada Data Kuantitatif :
Umur pegawai kantor Y adalah :
20, 45, 60, 56, 45, 45, 20, 19, 57, 45, 45, 51, 35
Dari data diatas, dapat dilihat bahwa yang paling banyak muncul adalah umur 45. Munculnya sebanyak 5 kali, jadi dapat dijelaskan bahwa kelompok pegawai kantor Y sebagian besar berumur 45 tahun.

  • Range (Rentang nilai min dan max)
Dalam sekelompok data kuantitatif akan terdapat data dengan nilai terbesar dan data dengan nilai terkecil. Rentang (range) atau disebut juga dengan jangkauan adalah selisih antara data dengan nilai yang terbesar dengan data denga nilai yang terkecil tersebut.

R = x
b – xk

R = Rentang
x
b = nilai data tang terbesar
x
k = nilai data tang terkecil

Nahh udah ngertikann...yukk lanjut buat programnya
Ohh yaa program tersebut menggunakan sistem login jd sobatt buat dulu sistem loginnya disini. Nahh pada indek.php sobat ganti codenya menjadi  :

<?php
session_start();
if(!$_SESSION["username"] or !$_SESSION["password"]){
header("location:login.php"); //jika session username atau password tidak ada maka alihkan ke halaman login
}else{
//jika kedua session itu lengkap maka tampilkan halaman index ini
?>
<!DOCTYPE html>
<html>
<head>
<title>Selamat datang</title>
</head>
<body>
 <center>
<h2>SELAMAT DATANG KAWAN , ANDA SUDAH BERHASIL LOGIN....</h2>
<body style="margin:25px;">
<form action="inputdata.php" method="post">
Masukkan Jumlah Data : <input type="text" name="jumlah_lajur" size="2" />
<input type="submit" />
</form>
<br/>
 <a href="logout.php">Logout</a>
</center>
</body>
</html>
<?php
}
?>

Buaka notepad baru copy code beraikut save masih dalam folder latihan_login berinama inputdata

<html>
<head>
<title>Isi Bilangan</title>
</head>
<body>
<div align="center">
<h2>Silahkan Isi Bilangan</h2>
 <body style="margin:25px;">
    <form action="proses.php" method="post">
<?php
    $jumlah_lajur = $_POST["jumlah_lajur"];
    for($i=0; $i<$jumlah_lajur; $i++){
?>
    Data ke <?php echo $i+1; ?> = <input type="text" name="lajur_ke_<?php echo $i; ?>" size="2" /><br /><br />
<?php
    }
?>
    <input type="hidden" value="<?php echo $jumlah_lajur; ?>" name="jumlah_lajur" />
    <input type="submit" />
    </form>
</div>
</body>
</html>

Kemudian buat lagi notepad baru copy code berikut save beri nama proses

<?php
  ini_set('display_errors','Off');
?>
<html>
<head>
<title>Hasil Data</title>
</head>
<body>
<div align="center">
<h2>Jumlah Data</h2>
 <?php
    $jumlah_lajur = $_POST["jumlah_lajur"];
    $nilai = array();
    for($i=0; $i<$jumlah_lajur; $i++){
        $nilai[$i] = $_POST["lajur_ke_$i"];
        echo "Data ke ".($i+1)." = ".$nilai[$i]."<br />";
    }
            echo "</br>";
            echo "<h2>Hasil Proses</h2>";
    echo "<br />Nilai Max = ".max($nilai)."<br />";
    echo "Nilai Min = ".min($nilai)."<br />";
    echo "Ascending = ";
    sort($nilai);
    foreach ($nilai as $index => $value)
            { echo $value."\n";}
            echo "</br>";
            echo "Descending = ";
             arsort($nilai);
    foreach ($nilai as $index => $value1)
            { echo $value1."\n";}
           
for ($i=0; $i <= $value - 1; $i++)
$jumlah += $nilai[$i];
echo "</br>";
$tengah=(count($nilai[$i])-1)/2;
if ((count($nilai[$i])-1)>1)
{
if ((count($nilai[$i])-1)%2==0)
{
$median=($nilai[$i][$tengah-1]+$nilai[$i][$tengah])/2;
}
}
function mmmr($array, $output = 'mean'){
    if(!is_array($array)){
        return FALSE;
    }else{
        switch($output){
            case 'mean':
                $count = count($array);
                $sum = array_sum($array);
                $total = $sum / $count;
            break;
            case 'median':
                rsort($array);
                $middle = round(count($array) / 2);
                $total = $array[$middle-1];
            break;
            case 'modus':
                $v = array_count_values($array);
                arsort($v);
                foreach($v as $k => $v){$total = $k; break;}
            break; 
                                    case 'range':
                sort($array);
                $sml = $array[0];
                rsort($array);
                $lrg = $array[0];
                $total = $lrg - $sml;
            break;
        }
        return $total;
    }
}
$arr = $nilai;
echo "</br>";
echo 'Mean: '.mmmr($arr, 'mean').'<br>';
echo 'Median: '.mmmr($arr, 'median').'<br>';
echo 'Modus: '.mmmr($arr, 'modus').'<br>';
echo 'Range: '.mmmr($arr, 'range');
?>
  <br/>
   <br/>
  <a href="index.php">kembali kedepan</a>
  <br/>
  <a href="logout.php">Logout</a>
  </center>
</div>
</body>
</html>

Setelah selesai, jangan lupa semua extention diubah menjadi (.php)
pastikan folder tersebut berada dalam Local Disk C:/xampp/htdocs
Nahh sekarang coba sobat buka browser ketik URL http://localhost/latihan_login/login.php
Jangan lupa Mysql dan Apache diaktifkan pada XAMPP
Kalo berhasil akan seperti ini silahkan login dulu trus masukan jumlah data,input data, data akan diproses menjadi seperti ini :

 

   


Tidak ada komentar:

Posting Komentar