Minggu, 28 Juni 2020

Fungsi Statistika pada MATLAB

Halo sobat pembaca semua. Dalam artikel kali ini akan dibahas kegunaan MATLAB dalam menganalisis data dengan perhitungan statistika. MATLAB menyediakan beragam perintah atau fungsi yang dapat digunakan untuk analisis data dan lain sebagainya. Adapun langkah pertama yang harus dilakukan dalam menganalisis data ataupun fungsi pada MATLAB adalah menuliskan data tersebut ke dalam bentuk vektor atau matriks.

Apabila proses pengumpulan data telah selesai, tahapan selanjutnya yang biasa dilakukan adalah mengolah atau menganalisis data tersebut. MATLAB menyediakan beberapa perintah yang dapat memudahkan proses analisis data dengan metode statistika dasar, seperti mean, median, modus, nilai maksimum, minimum, simpangan baku, ragam, dan lain sebagainya. Untuk lebih jelasnya, simaklah uraiannya berikut ini.


Dalam MATLAB tersedia beberapa perintah yang dapat kita gunakan untuk menganalisis ukuran pemusatan (mean, median, modus) serta nilai minimum dan maksimum suatu data.
mean(x): menghitung nilai rata-rata aritmatika dari suatu vektor baris/kolom.
mean(A): menghitung nilai rata-rata dari elemen setiap kolom suatu matriks.
mean(A,dim): menghitung rata-rata menurut kolom atau baris dari suatu matriks.
Bentuk perintah di atas juga dapat kita gunakan untuk perintah-perintah berikut:
median(…): menghitung median atau nilai tengah.
mode(…): menghitung modus atau nilai yang paling sering muncul.
min(…): menentukan nilai minimum.
max(…): menentukan nilai maksimum.
[S,L] = bounds (A): menentukan nilai minimum/smallest (S) dan maksimum/largest (L) dari larik A. Perintah ini mirip min dan max.
Agar lebih jelas, perhatikanlah contoh-contoh di bawah ini.
Contoh 1
Diketahui data berat badan dari 10 orang berikut ini.
>> x=[52.3 62.4 49.5 60.2 63.5 74 77 65.5 66.4 68.5];
Selanjutnya dapat dihitung:
>> mean(x) %nilai rata-rata  
ans =
   63.9300
>> median(x) %nilai tengah
ans =
   64.5000
>> min(x) %nilai minimum
ans =
   49.5000
>> max(x) %nilai maksimum
ans =
    77
>> [S,L]=bounds(x)
S =
   49.5000

L =
    77

Contoh 2
>> y = [2 2 2 3 4 2 5 6 8 2 9]
y =
2     2     2     3     4     2     5     6     8   2     9
Selanjutnya dapat dihitung:
>> mode(y) %nilai modus
ans =
     2
Contoh 3
Misalkan, kita memiliki data dalam bentuk matriks berikut:
>> A = [12 7 8 9; 8 4 9 15; 10 13 15 9; 7 9 6 8]
A =
    12     7     8     9
     8     4     9    15
    10    13    15     9
     7     9     6     8
Selanjutnya dihitung:
>> mean(A) % menghitung rata-rata menurut kolom
ans =
    9.2500    8.2500    9.5000   10.2500

>> mean(A,1) %menghitung rata-rata menurut kolom
ans =
    9.2500    8.2500    9.5000   10.2500

>> mean(A,2) %menghitung rata-rata menurut baris
ans =
    9.0000
    9.0000
   11.7500
    7.5000

>> median(A) %menghitung median menurut kolom
ans =
    9.0000    8.0000    8.5000    9.0000

>> median(A,2)    %menghitung median menurut baris
ans =
    8.5000
    8.5000
   11.5000
    7.5000

>> min(A)%menentukan nilai minimum menurut kolom
ans =
     7     4     6     8

>> min(A,[],2) %menentukan nilai minimum menurut baris
ans =
     7
     4
     9
     6

>> max(A) %menentukan nilai maksimum menurut kolom
ans =
    12    13    15    15

>> max(A,[],2)%menentukan nilai maksimum menurut baris
ans =
    12
    15
    15
     9

Contoh 4
Perhatikanlah contoh menentukan nilai modus berikut ini.
>> B=[2 3 4 5; 2 4 3 1; 2 3 4 2; 3 3 4 4]
B =
     2     3     4     5
     2     4     3     1
     2     3     4     2
     3     3     4     4
>> mode(B) %menentukan modus menurut kolom
ans =
     2     3     4     1

>> mode(B,2) %menentukan modus menurut baris
ans =
     2
     1
     2
     3

Jika setiap anggota dalam vektor atau matriks muncul sama banyak atau dengan kata lain tidak ada modus, maka MATLAB akan menampilkan bilangan terkecil.



Simpangan baku dan ragam dapat dihitung dari data sampel atau populasi. Simpangan baku dan ragam sering pula disebut dengan istilah deviasi standar dan variansi. Dalam MATLAB, simpangan baku dan ragam dihitung dengan default dari data sampel atau cuplikan populasi. Berikut ini beberapa perintah yang dapat kita pergunakan untuk mencari nilai simpangan baku dan ragam dari suatu data baik dalam bentuk vektor maupun matriks.
std(x): menghitung simpangan baku dari sampel berbentuk vektor.
std(A): menghitung simpangan baku dari sampel berbentuk matriks menurut kolom.
std(A,w,dim): menghitung simpangan baku tertentu (w=0 untuk simpangan baku sampel sedangkan w=1 untuk simpangan baku populasi; dim=1 merujuk kolom dan dim=2 merujuk baris).

Contoh 1
>> x=[52.3 62.4 49.5 60.2 63.5 74 77 65.5 66.4 68.5]; %data sampel
>> std(x)
ans =
    8.5739

>> A = [12 7 8 9; 8 4 9 15; 10 13 15 9; 7 9 6 8] %data sampel
A =
    12     7     8     9
     8     4     9    15
    10    13    15     9
     7     9     6     8

>> std(A) %simpangan baku sampel menurut kolom
ans =
    2.2174    3.7749    3.8730    3.2016

>> std(A,0,1) %simpangan baku sampel menurut kolom
ans =
    2.2174    3.7749    3.8730    3.2016

>> std(A,0,2) %simpangan baku sampel menurut baris
ans =
    2.1602
    4.5461
    2.7538
    1.2910
var(x): menghitung ragam dari sampel berbentuk vektor
var(A): menghitung ragam dari sampel berbentuk matriks menurut kolom
var(A,w,dim): menghitung ragam tertentu (w=0 untuk ragam sampel sedangkan w=1 untuk ragam populasi; dim=1 merujuk kolom dan dim=2 merujuk baris)

Contoh 2
>> x=[52.3 62.4 49.5 60.2 63.5 74 77 65.5 66.4 68.5]; %data sampel
>> var(x)
ans =
   73.5112

>> A = [12 7 8 9; 8 4 9 15; 10 13 15 9; 7 9 6 8] %data sampel
A =
    12     7     8     9
     8     4     9    15
    10    13    15     9
     7     9     6     8

>> var(A) %ragam sampel menurut kolom
ans =
    4.9167   14.2500   15.0000   10.2500

>> var(A,0,1) %ragam sampel menurut kolom
ans =
    4.9167   14.2500   15.0000   10.2500

>> var(A,0,2) %ragam sampel menurut baris
ans =
    4.6667
   20.6667
    7.5833
    1.6667
Koefisien korelasi (correlation coefficient) merupakan bilangan yang sering digunakan untuk mengukur keeratan hubungan antar variabel. Hubungan yang bisa terjadi yaitu erat, lemah atau tidak erat. Koefisien korelasi memiliki rentang nilai -1 hingga 1 dan dinyatakan dengan simbol r. Untuk menghitung korelasi dengan MATLAB dapat menggunakan perintah berikut ini.
corrcoef (A,B): menghitung koefisien korelasi antara variabel A dan B.
Contoh 1
Misalkan diketahui data A = lama belajar (jam) dan B = nilai ujian komputer dari 10 orang berikut ini:
A
5
3
4
2
1
3
10
4
7
6
B
80
75
82
57
50
63
95
70
92
83
Selanjutnya, akan dihitung koefisien korelasi dari data tersebut.
>> A=[5     3     4     2     1     3     10    4     7     6];
>> B=[80    75    82    57    50    63    95    70    92    83];
>> corrcoef(A,B)
ans =
    1.0000    0.9080
    0.9080    1.0000
Jadi, koefisien korelasi dari A (lama belajar) dan B (nilai ujian komputer) adalah r = 0,908. Artinya, lama belajar memiliki hubungan yang erat dengan nilai ujian komputer, dimana seseorang yang belajar lebih lama akan memperoleh nilai ujian yang lebih tinggi, begitu pula sebaliknya. Adapun nilai 1 pada baris pertama kolom pertama dan baris kedua kolom kedua berturut-turut menunjukkan nilai korelasi antar variabel A dan B dengan dirinya sendiri. 


MATLAB menyediakan perintah yang dapat kita gunakan untuk menentukan hasil penjumlahan (summation) dari sekumpulan data baik dalam vektor maupun matriks. Perintah-perintah tersebut adalah sebagai berikut.
sum(x): menjumlahkan seluruh elemen vektor baris atau kolom.
sum(A): menjumlahkan seluruh elemen dari setiap kolom suatu matriks.
sum(A,dim): menjumlahkan seluruh elemen menurut kolom atau baris dari suatu baris.
cumsum(x): menentukan jumlah kumulatif dari suatu vektor baris atau kolom.
cumsum(A): menentukan jumlah kumulatif (cumulative sum) seluruh elemen dari setiap kolom suatu matriks.
cumsum(A,dim): menentukan jumlah kumulatif seluruh elemen menurut kolom atau baris dari suatu matriks.
Contoh 1
>> a = [1 3 5 7 9]
a =
     1     3     5     7     9

>> sum(a)%menjumlahkan vektor baris
ans =
    25

>> b=[2;4;6;8;10]
b =
     2
     4
     6
     8
    10

>> sum(b)%menjumlahkan vektor kolom
ans =
    30
Contoh 2
Misalkan kita memiliki data berbentuk matriks seperti berikut:
>> B = [7 8 9 10; 8 9 12 13; 14 11 12 10; 8 9 10 11]
B =
     7     8     9    10
     8     9    12    13
    14    11    12    10
     8     9    10    11

>> sum(B) %menjumlahkan menurut kolom
ans =
    37  37  43   44

atau bisa juga dengan menggunakan perintah berikut:
>> sum(B,1) %menjumlahkan menurut kolom
ans =
    37  37  43   44

>> sum(B,2) %menjumlahkan menurut baris
ans =
    34
    42
    47
    38

Untuk menentukan jumlah dari seluruh elemen, gunakanlah perintah:
>> sum(sum(B)) %jumlah seluruh elemen matriks B
ans =
   161

>> cumsum(B) %jumlah kumulatif menurut kolom
ans =
     7     8     9    10
    15    17    21    23
    29    28    33    33
    37    37    43    44
Dari hasil di atas, nilai pada kolom pertama diperoleh dengan cara menjumlahkan secara kumulatif semua elemen kolom pertama matriks B:
7                                  →         7
7 + 8 = 15                     →         15
7 + 8 + 14 = 29              →         29
7 + 8 + 14 + 8 = 37        →         37

>> cumsum(B,2) %jumlah kumulatif menurut baris
ans =
     7    15    24    34
     8    17    29    42
    14    25    37    47
     8    17    27    38


Selain perintah menentukan jumlah, MATLAB juga menyediakan perintah yang dapat kita gunakan untuk menentukan hasil perkalian data (product) baik yang disajikan dalam vektor  maupun matriks.
prod(x): mengalikan setiap elemen vektor baris atau kolom.
prod(A): mengalikan setiap elemen suatu matriks menurut kolom.
prod(A,dim): mengalikan setiap elemen suatu matriks menurut kolom atau baris.
cumprod(x): menentukan perkalian kumulatif (cumulative product) dari suatu vektor baris atau kolom.
cumprod(A): menentukan perkalian kumulatif seluruh elemen dari setiap kolom suatu matriks.
cumprod(A,dim): menentukan perkalian kumulatif seluruh elemen menurut kolom atau baris dari suatu matriks.
Contoh 1
>> c=[2 2 3 4 5]
c =
     2     2     3     4     5

>> prod(c)
ans =
   240

>> cumprod(c)
ans
     2     4    12    48   240

>> d=[1;3;5;7;9]
d =
     1
     3
     5
     7
     9

>> prod(d)
ans =
   945

>> cumprod(d)
ans =
     1
     3
    15
   105
   945

Contoh 2
>> C=[1 2 3; 5 6 7; 8 9 10]
C =
     1     2     3
     5     6     7
     8     9    10
>> prod(C) %mengalikan menurut kolom
ans =
    40   108   210

>> prod(C,1) %mengalikan menurut kolom
ans =
    40   108   210

>> prod(C,2) %mengalikan menurut baris
ans =
     6
   210
   720

>> cumprod(C) %perkalian kumulatif menurut kolom
ans =
     1     2     3
     5    12    21
    40   108   210

>> cumprod(C,2) %perkalian kumulatif menurut baris
ans =
     1     2     6
     5    30   210
     8    72   720


Dalam pemrograman, adakalanya kita dihadapkan pada situasi dimana sekumpulan data yang ada perlu disortir atau diurutkan baik dari nilai data terkecil ke terbesar, ataupun sebaliknya. Jika kita ingin melakukan penyortiran data (sorting), maka gunakanlah perintah sort yang disediakan MATLAB. Perhatikanlah jenis pilihan perintah dan contohnya berikut ini.
sort(x): mengurutkan data berbentuk vektor dari yang terkecil.
sort(x,’descend’): mengurutkan data berbentuk vektor dari yang terbesar.
[y,ind]=sort(x): mengurutkan data berbentuk vektor dari yang terkecil dan menampilkan indeks (index) sebelum diurutkan.
sort(X): mengurutkan data berbentuk matriks dari yang terkecil menurut kolom.
sort(X,’descend’): mengurutkan data berbentuk matriks dari yang terbesar menurut kolom.
sort(X,2): mengurutkan data berbentuk matriks dari yang terkecil menurut baris.
sort(X,2,’descend’): mengurutkan data berbentuk matriks dari yang terbesar menurut baris.
sortrows (A, column): mengurutkan baris sekumpulan data dari yang terkecil ke terbesar berdasarkan elemen dari column.
Contoh 1
Misalkan kita memiliki data berikut:
>> x=[52.3 62.4 49.5 60.2 63.5 74 77 65.5 66.4 68.5]
x =
52.3000   62.4000   49.5000   60.2000   63.5000   74.0000   77.0000   65.5000   66.4000   68.5000

Selanjutnya, data tersebut akan kita urutkan dari yang terkecil ke terbesar.
>> sort(x)
ans =
49.5000   52.3000   60.2000   62.4000   63.5000   65.5000   66.4000   68.5000   74.0000   77.0000

>> [y,ind]=sort(x)%menampilkan indeks data sebelum diurutkan

y =
49.5000   52.3000   60.2000   62.4000   63.5000   65.5000   66.4000   68.5000   74.0000   77.0000

ind =
3  1  4  2  5  8  9  10  6  7

Untuk mengurutkan data dari terbesar ke terkecil, maka kita menggunakan perintah berikut:
>> sort(x,'descend')
ans =
77.0000   74.0000   68.5000   66.4000   65.5000   63.5000   62.4000   60.2000   52.3000   49.5000

>> [y,ind]=sort(x,'descend') %menampilkan indeks data sebelum diurutkan
y =
77.0000   74.0000   68.5000   66.4000   65.5000   63.5000   62.4000   60.2000   52.3000   49.5000
ind =
7  6  10  9  8  5  2  4  1  3

Contoh 2
>> D=[2 5 3; 1 8 0; 7 2 10]
D =
     2     5     3
     1     8     0
     7     2    10

>> sort(D)%mengurutkan elemen setiap kolom dari yang terkecil
ans =
     1     2     0
     2     5     3
     7     8    10
>> sort(D,'descend')% mengurutkan elemen setiap kolom dari yang terbesar
ans =
     7     8    10
     2     5     3
     1     2     0

>> sort(D,2)%mengurutkan elemen setiap baris dari yang terkecil
ans =
     2     3     5
     0     1     8
     2     7    10

>> sort(D,2,'descend')%mengurutkan elemen setiap baris dari yang terbesar
ans =
     5     3     2
     8     1     0
    10     7     2

Contoh 3
>> A = [2 3 -5 6;1 6 9 0;4 4 8 9;7 9 9 8]
A =
     2     3    -5     6
     1     6     9     0
     4     4     8     9
     7     9     9     8

% mengurutkan baris dari yang terkecil berdasarkan elemen pada kolom pertama
>> sortrows(A)
ans =
     1     6     9     0
     2     3    -5     6
     4     4     8     9
     7     9     9     8

% mengurutkan baris dari yang terkecil berdasarkan elemen pada kolom ketiga
>> sortrows(A,3)
ans =
     2     3    -5     6
     4     4     8     9
     1     6     9     0
     7     9     9     8

% mengurutkan baris dari yang terbesar berdasarkan elemen pada kolom ketiga
>> sortrows(A,2,'descend')
ans =
     7     9     9     8
     1     6     9     0
     4     4     8     9
     2     3    -5     6

Demikianlah pembahasan tentang kegunaan MATLAB dalam menganalisis data dengan perhitungan statistika. Nantikan artikel menarik lainnya seputar pemrograman MATLAB.
Semoga bermanfaat.😊

Baca juga:

1 komentar: