MODUL PRAKTIKUM · SOAL 04
Statistik Deskriptif & ASCII Chart
Menghitung ukuran pemusatan dan penyebaran data serta menampilkan distribusi frekuensi dalam diagram teks.
04/ 05
Dataset nilai
Contoh kumpulan nilai numerik yang dipakai untuk demonstrasi perhitungan.
657072757578808282828588909295100
Jumlah data: 16 nilai · Diurutkan dari yang terkecil ke terbesar.
Hasil statistik deskriptif
Standar deviasi dihitung sebagai populasi, yaitu varians dibagi jumlah seluruh data (N).
Mean81,94rata-rata
Median82,00nilai tengah
Modus82frekuensi tertinggi: 3×
Varians populasi84,56rata-rata kuadrat selisih
Standar deviasi9,20akar dari varians
Jumlah data16rekaman numerik
Visualisasi frekuensi ASCII
Setiap karakter # mewakili satu nilai pada rentang tersebut.
60–69 1
70–79 5
80–89 6
90–100 4
Kode PHP Native
Perhitungan mean, median, modus, standar deviasi, dan frekuensi rentang nilai.
$data = [65,70,72,75,75,78,80,82,82,82,85,88,90,92,95,100];
sort($data);
$n = count($data);
$mean = array_sum($data) / $n;
// Median
$median = ($n % 2)
? $data[(int)($n / 2)]
: ($data[$n/2 - 1] + $data[$n/2]) / 2;
// Modus
$frekuensi = array_count_values($data);
$modus = array_keys($frekuensi, max($frekuensi));
// Standar deviasi populasi
$variance = 0;
foreach ($data as $x) $variance += ($x - $mean) ** 2;
$stdDev = sqrt($variance / $n);
// Frekuensi kelompok, lalu tampilkan str_repeat("#", jumlah)
$rentang = ["60-69"=>0, "70-79"=>0, "80-89"=>0, "90-100"=>0];
Catatan: Jika beberapa nilai memiliki frekuensi tertinggi yang sama, semuanya dapat menjadi modus. Diagram ASCII ini merupakan visualisasi berbasis teks, bukan grafik eksternal.