Kalkulator Z-Score
Pendahuluan
Z-score (atau skor standar) adalah pengukuran statistik yang menggambarkan hubungan nilai dengan rata-rata dari sekelompok nilai. Ini menunjukkan seberapa banyak deviasi standar sebuah elemen dari rata-rata. Z-score adalah alat yang sangat penting dalam statistik, memungkinkan standarisasi dataset yang berbeda dan identifikasi outlier.
Rumus
Z-score dihitung menggunakan rumus berikut:
Dimana:
- = z-score
- = titik data individu
- = rata-rata dataset
- = deviasi standar dataset
Rumus ini menghitung jumlah deviasi standar sebuah titik data dari rata-rata.
Perhitungan
Untuk menghitung z-score dari sebuah titik data:
-
Hitung Rata-rata ():
Jumlahkan semua titik data dan bagi dengan jumlah titik data.
-
Hitung Deviasi Standar ():
-
Varians ():
-
Deviasi Standar:
-
-
Hitung Z-Score:
Substitusikan nilai-nilai ke dalam rumus z-score.
Kasus Tepi
-
Deviasi Standar Nol ():
Ketika semua titik data identik, deviasi standar adalah nol, menjadikan z-score tidak terdefinisi karena Anda tidak dapat membagi dengan nol. Dalam hal ini, konsep z-score tidak berlaku.
-
Titik Data Sama dengan Rata-rata ():
Jika titik data sama dengan rata-rata, z-score adalah nol, menunjukkan bahwa itu persis rata-rata.
-
Input Non-Numerik:
Pastikan semua input bersifat numerik. Input non-numerik akan mengakibatkan kesalahan perhitungan.
Probabilitas Kumulatif
Probabilitas kumulatif yang terkait dengan z-score mewakili probabilitas bahwa variabel acak dari distribusi normal standar akan kurang dari atau sama dengan nilai yang diberikan. Ini adalah area di bawah kurva distribusi normal di sebelah kiri z-score yang ditentukan.
Secara matematis, probabilitas kumulatif dihitung menggunakan fungsi distribusi kumulatif (CDF) dari distribusi normal standar:
Dimana:
- = CDF dari distribusi normal standar pada
Probabilitas kumulatif sangat penting dalam statistik untuk menentukan kemungkinan sebuah nilai terjadi dalam rentang tertentu. Ini banyak digunakan di bidang seperti kontrol kualitas, keuangan, dan ilmu sosial.
Diagram SVG
Di bawah ini adalah diagram SVG yang menggambarkan kurva distribusi normal standar dan z-score:
Gambar: Kurva Distribusi Normal dengan Z-Score yang Diterangi
Diagram ini menunjukkan kurva distribusi normal dengan rata-rata di tengah. Area yang diterangi mewakili probabilitas kumulatif hingga titik data , yang sesuai dengan z-score.
Kasus Penggunaan
Aplikasi
-
Standarisasi di Berbagai Skala:
Z-score memungkinkan perbandingan antara data dari skala yang berbeda dengan menstandarkan dataset.
-
Deteksi Outlier:
Mengidentifikasi titik data yang sangat jauh dari rata-rata (misalnya, z-score kurang dari -3 atau lebih dari 3).
-
Pengujian Statistik:
Digunakan dalam pengujian hipotesis, termasuk uji-z, untuk menentukan apakah rata-rata sampel berbeda secara signifikan dari rata-rata populasi yang diketahui.
-
Kontrol Kualitas:
Dalam manufaktur, z-score membantu memantau proses untuk memastikan hasil tetap dalam batas yang dapat diterima.
-
Keuangan dan Investasi:
Menilai kinerja saham dengan membandingkan pengembalian relatif terhadap kinerja rata-rata pasar.
Alternatif
-
T-Skor:
Mirip dengan z-score tetapi digunakan ketika ukuran sampel kecil dan deviasi standar populasi tidak diketahui.
-
Peringkat Persentil:
Menunjukkan persentase skor dalam distribusi frekuensinya yang sama dengan atau lebih rendah darinya.
-
Unit Deviasi Standar:
Menggunakan nilai deviasi standar mentah tanpa menstandarkan sebagai z-score.
Sejarah
Konsep z-score berasal dari karya tentang distribusi normal oleh Carl Friedrich Gauss pada awal abad ke-19. Distribusi normal standar, yang mendasar bagi z-score, dikembangkan lebih lanjut oleh para ahli statistik seperti Abraham de Moivre dan Pierre-Simon Laplace. Penggunaan z-score menjadi luas dengan kemajuan metode statistik pada abad ke-20, terutama dalam pengujian psikologis dan kontrol kualitas.
Contoh
Excel
## Hitung z-score di Excel
## Mengasumsikan titik data di sel A2, rata-rata di sel B2, deviasi standar di sel C2
=(A2 - B2) / C2
R
## Hitung z-score di R
calculate_z_score <- function(x, mean, sd) {
if (sd == 0) {
stop("Deviasi standar tidak dapat nol.")
}
z <- (x - mean) / sd
return(z)
}
## Contoh penggunaan:
x <- 85
mu <- 75
sigma <- 5
z_score <- calculate_z_score(x, mu, sigma)
print(paste("Z-score:", z_score))
MATLAB
% Hitung z-score di MATLAB
function z = calculate_z_score(x, mu, sigma)
if sigma == 0
error('Deviasi standar tidak dapat nol.');
end
z = (x - mu) / sigma;
end
% Contoh penggunaan:
x = 90;
mu = 80;
sigma = 8;
z = calculate_z_score(x, mu, sigma);
fprintf('Z-score: %.2f\n', z);
JavaScript
// Hitung z-score di JavaScript
function calculateZScore(x, mu, sigma) {
if (sigma === 0) {
throw new Error('Deviasi standar tidak dapat nol.');
}
return (x - mu) / sigma;
}
// Contoh penggunaan:
const x = 100;
const mu = 85;
const sigma = 7;
try {
const z = calculateZScore(x, mu, sigma);
console.log(`Z-score: ${z.toFixed(2)}`);
} catch (error) {
console.error(error.message);
}
Python
## Hitung z-score di Python
def calculate_z_score(x, mu, sigma):
if sigma == 0:
raise ValueError("Deviasi standar tidak dapat nol.")
return (x - mu) / sigma
## Contoh penggunaan:
x = 95
mu = 88
sigma = 4
try:
z = calculate_z_score(x, mu, sigma)
print("Z-score:", round(z, 2))
except ValueError as e:
print(e)
Java
// Hitung z-score di Java
public class ZScoreCalculator {
public static double calculateZScore(double x, double mu, double sigma) {
if (sigma == 0) {
throw new IllegalArgumentException("Deviasi standar tidak dapat nol.");
}
return (x - mu) / sigma;
}
public static void main(String[] args) {
double x = 110;
double mu = 100;
double sigma = 5;
try {
double z = calculateZScore(x, mu, sigma);
System.out.printf("Z-score: %.2f%n", z);
} catch (IllegalArgumentException e) {
System.err.println(e.getMessage());
}
}
}
C/C++
// Hitung z-score di C++
#include <iostream>
#include <stdexcept>
double calculate_z_score(double x, double mu, double sigma) {
if (sigma == 0) {
throw std::invalid_argument("Deviasi standar tidak dapat nol.");
}
return (x - mu) / sigma;
}
int main() {
double x = 130;
double mu = 120;
double sigma = 10;
try {
double z = calculate_z_score(x, mu, sigma);
std::cout << "Z-score: " << z << std::endl;
} catch (const std::exception &e) {
std::cerr << e.what() << std::endl;
}
return 0;
}
Ruby
## Hitung z-score di Ruby
def calculate_z_score(x, mu, sigma)
raise ArgumentError, "Deviasi standar tidak dapat nol." if sigma == 0
(x - mu) / sigma
end
## Contoh penggunaan:
x = 105
mu = 100
sigma = 5
begin
z = calculate_z_score(x, mu, sigma)
puts "Z-score: #{z.round(2)}"
rescue ArgumentError => e
puts e.message
end
PHP
<?php
// Hitung z-score di PHP
function calculate_z_score($x, $mu, $sigma) {
if ($sigma == 0) {
throw new Exception("Deviasi standar tidak dapat nol.");
}
return ($x - $mu) / $sigma;
}
// Contoh penggunaan:
$x = 115;
$mu = 110;
$sigma = 5;
try {
$z = calculate_z_score($x, $mu, $sigma);
echo "Z-score: " . round($z, 2);
} catch (Exception $e) {
echo $e->getMessage();
}
?>
Rust
// Hitung z-score di Rust
fn calculate_z_score(x: f64, mu: f64, sigma: f64) -> Result<f64, String> {
if sigma == 0.0 {
return Err("Deviasi standar tidak dapat nol.".to_string());
}
Ok((x - mu) / sigma)
}
fn main() {
let x = 125.0;
let mu = 115.0;
let sigma = 5.0;
match calculate_z_score(x, mu, sigma) {
Ok(z) => println!("Z-score: {:.2}", z),
Err(e) => println!("{}", e),
}
}
C#
// Hitung z-score di C#
using System;
public class ZScoreCalculator
{
public static double CalculateZScore(double x, double mu, double sigma)
{
if (sigma == 0)
throw new ArgumentException("Deviasi standar tidak dapat nol.");
return (x - mu) / sigma;
}
public static void Main()
{
double x = 135;
double mu = 125;
double sigma = 5;
try
{
double z = CalculateZScore(x, mu, sigma);
Console.WriteLine($"Z-score: {z:F2}");
}
catch (ArgumentException e)
{
Console.WriteLine(e.Message);
}
}
}
Go
// Hitung z-score di Go
package main
import (
"errors"
"fmt"
)
func calculateZScore(x, mu, sigma float64) (float64, error) {
if sigma == 0 {
return 0, errors.New("deviasi standar tidak dapat nol")
}
return (x - mu) / sigma, nil
}
func main() {
x := 140.0
mu := 130.0
sigma := 5.0
z, err := calculateZScore(x, mu, sigma)
if err != nil {
fmt.Println(err)
} else {
fmt.Printf("Z-score: %.2f\n", z)
}
}
Swift
// Hitung z-score di Swift
func calculateZScore(x: Double, mu: Double, sigma: Double) throws -> Double {
if sigma == 0 {
throw NSError(domain: "Deviasi standar tidak dapat nol.", code: 1, userInfo: nil)
}
return (x - mu) / sigma
}
// Contoh penggunaan:
let x = 120.0
let mu = 110.0
let sigma = 5.0
do {
let z = try calculateZScore(x: x, mu: mu, sigma: sigma)
print("Z-score: \(String(format: "%.2f", z))")
} catch let error as NSError {
print(error.domain)
}
Referensi
-
Skor Standar - Wikipedia
-
Memahami Z-Scores - Solusi Statistik
-
Distribusi Normal dan Z-Scores - Khan Academy
Sumber Daya Tambahan
-
Kalkulator Z-Score Interaktif
https://www.socscistatistics.com/pvalues/normaldistribution.aspx
-
Memvisualisasikan Distribusi Normal
https://seeing-theory.brown.edu/normal-distribution/index.html