Anda di halaman 1dari 45

2013

Ukuran Penyebaran Data Menggunakan MATLAB

ANNISA AZIZAH
UIN SUNAN GUNUNG DJATI BANDUNG |
MATEMATIKA
1/1/2013
BAB I

PENDAHULUAN

1.1 Latar Belakang Masalah


Statistika adalah suatu pengetahuan yang berhubungan dengan cara-cara
pengumpulan data, pengolahan atau penganalisisannya dan penarikan kesimpulan
berdasarkan kumpulan data dan penganalisisan yang dilakukan Jika suatu kesimpulan
data sudah dihimpun. Dalam kehidupan sehari–hari, statistika sering dipergunakan
dalam memperkirakan nilai rata-rata atau suatu kecenderungan terhadap nilai
tertentu. Statistika juga dapat dipergunakan untuk memperlihatkan bentuk hubungan
antara dua kelompok data maupun untuk mengetahui adakah pengaruh dari satu
parameter terhadap parameter lain melalui analisis data hasil percobaan. Jadi statistika
juga merupakan suatu alat atau metode untuk menganalisis data untuk menarik
kesimpulan.
Maka dari itu, sudah sewajarnya ilmu statistika banyak dimanfaatkan orang
untuk mengolah data yang telah disajikan. Dilain hal, teknologi yang sudah semakin
canggih kini banyak mengembangkan software komputasi, salah satunya adalah
MATLAB. MATLAB adalah sebuah lingkungan komputasi numerikal dan bahasa
pemrograman komputer generasi keempat. Dikembangkan oleh The MathWorks,
MATLAB memungkinkan manipulasi matriks, pem-plot-an fungsi dan data,
implementasi algoritma, pembuatan antarmuka pengguna, dan peng-antarmuka-an
dengan program dalam bahasa lainnya. Meskipun hanya bernuansa numerik, sebuah
kotak kakas (toolbox) yang menggunakan mesin simbolik MuPAD, memungkinkan akses
terhadap kemampuan aljabar komputer. Sebuah paket tambahan, Simulink,
menambahkan simulasi grafis multiranah dan Desain Berdasar-Model untuk sistem
terlekat dan dinamik.Pada tahun 2004, MathWorks mengklaim bahwa MATLAB telah
dimanfaatkan oleh lebih dari satu juta pengguna di dunia pendidikan dan industri.

MATLAB (yang berarti Matrix Laboratory) diciptakan pada akhir tahun 1970-an
oleh Cleve Moler, yang kemudian menjadi Ketua Departemen Ilmu Komputer di
Universitas New Mexico. Ia merancangnya untuk memberikan akses bagi mahasiswa
dalam memakai LINPACK dan EISPACK tanpa harus mempelajari Fortran. Karyanya itu

1
segera menyebar ke universitas-universitas lain dan memperoleh sambutan hangat di
kalangan komunitas matematika terapan. Jack Little, seorang insinyur, dipertemukan
dengan karyanya tersebut selama kunjungan Moler ke Universitas Stanford pada tahun
1983. Menyadari potensi komersialnya, ia bergabung dengan Moler dan Steve Bangert.
Mereka menulis ulang MATLAB dalam bahasa pemrograman C, kemudian mendirikan
The MathWorks pada tahun 1984 untuk melanjutkan pengembangannya. Pustaka yang
ditulis ulang tadi kini dikenal dengan nama JACKPAC. Pada tahun 2000, MATLAB ditulis
ulang dengan pemakaian sekumpulan pustaka baru untuk manipulasi matriks, LAPACK].

MATLAB pertama kali diadopsi oleh insinyur rancangan kontrol (yang juga
spesialisasi Little), tapi lalu menyebar secara cepat ke berbagai bidang lain. Kini juga
digunakan di bidang pendidikan, khususnya dalam pengajaran aljabar linear dan analisis
numerik, serta populer di kalangan ilmuwan yang menekuni bidang pengolahan citra.

Oleh karena itu, penulis tertarik untuk menyusun sebuah program pengolahan
data dengan menggunakan software MATLAB, yang dikleim sebagai software komputasi
tercanggih dan termudah saat ini dibandingkan software-software sebelumnya.
Program untuk mengolah data ini ini kami beri judul dengan “Program Mengolah Data
(Statistika)”.

1.2 Rumusan Masalah

Dalam penyusunan makalah ini penulis telah mengidentifikasi beberapa masalah yang
akan dikaji dalam makalah ini, yaitu:

1. Bagaimana cara mengetahui langkah-langkah pengolahan data statistika dengan


menggunakan bahasa program Matlab?
2. Bagaimana cara menyusun Algoritma pengolahan data statistika?
3. Bagaimana cara menyusun flowchart dan cara kerja programnya?

1.3 Maksud dan Tujuan

Adapun maksud dan tujuan dari penyusunan makalah ini selain untuk memenuhi salah
satu tugas dari Mata Kuliah Dasar Pemrograman, tapi juga bertujuan diantaranya untuk:

2
 Mengetahui langkah-langkah pengolahan data statistika dengan menggunakan
bahasa MATLAB.
 Mengetahui susunan algoritma pengolahan data statistika.
 Mempelajari susunan flow chart serta mengkaji alur kerja program pengolahan data
ini.

3
BAB II
PEMBAHASAN

2.1 Definisi Statistika


Statistika secara istilah merupakan data yang berupa angka-angka yang
dikumpulkan, ditabulasi, digolong-golongkan sehingga dapat memberikan informasi
yang berarti mengenai suatu masalah atau gejala yang terjadi. Dari kumpulan data
yang berupa angka-angka tersebut terdapat ukuran gejala pusat data yang berguna
untuk mengetahui lokasi data dibandingkan dengan pusat data.
Statistika merupakan ilmu yang mempelajari statistik yaitu ilmu tentang
pengumpulan, pengolahan, penyajian, dan analisis data serta cara pengambilan
kesimpulan secara umum berdasarkan hasil penelitian yang tidak menyeluruh. Ilmu
Statistika berguna untuk memberikan informasi atas gejala perubahan yang terjadi
dengan menjelaskan hubungan antar variabel yang ada, dan juga untuk mengambil
keputusan yang lebih baik dari perencanaan yang dilakukan.
Dalam ilmu statistika terdapat istilah distribusi frekuensi. Distribusi frekuensi
adalah penyusunan data ke dalam kelas-kelas tertentu yang sebelumnya data tersebut
masih mentah atau belum dikelompokkan kemudian diatur sedemikian rupa sehingga
menjadi data yang sudah dikelompokkan yang tertata rapih tanpa menghilangkan
informasi yang sudah ada. Distribusi frekuensi terbagi menjadi dua macam yaitu
Distribusi Frekuensi Numerical (pengelompokkan data dengan angka-angka) dan
Distribusi Frekuensi Kategorikal (pengelompokkan data berdasarkan ketegori-kategori
tertentu).
2.2 Definisi Dispersi dan Rumusannya

Dispersi / Ukuran penyebaran Data adalah suatu ukuran baik parameter atau
statistika untuk mengetahui seberapa besar penyimpangan data. Melalui ukuran
penyebaran dapat diketahui seberapa jauh data-data menyebar dari titik
pemusatannya/ suatu kelompok data terhadap pusat data.Ukuran ini kadang – kadang
dinamakan pula ukuran variasi yang mnggambarkan berpencarnya data kuantitatif.
Beberapa ukuran dispersi yang terkenal dan akan diuraikan disini ialah : Rentang,
Rentang natar kuartil, simpangan kuartil/deviasi kuartil, rata-rata simpangan/rata-rata

4
deviasi, simpangan baku atau standar deviasi, variansi dan koefisien variansi,
jangkauan kuartil, dan jangkauan persentil.
1. Rentang (Range)
Range dinotasikan sebagai R, menyatakan ukuran yang menunjukkan selisih nilai
antara maksimum dan minimum atau selisih bilangan terbesar dengan bilangan
terkecil. Rentang merupakan ukuran penyebaran yang sangat kasar, sebab hanya
bersangkutan dengan bilangan terbesar dan terkecil. Semakin kecil nilai R maka
kualitas data akan semakin baik, sebaliknya semakin besar nilai R, maka kualitasnya
semakin tidak baik.
Rentang cukup baik digunakan untuk mengukur penyebaran data yang simetrik dan
nilai datanya menyebar merata. Ukuran ini menjadi tidak relevan jika nilai data
maksimum dan minimumnya merupakan nilai ekstrim.

Rentang = Xmax – Xmin

Xmax adalah data terbesar dan Xmin adalah data terkecil.

2. Rata-rata (Mean)
Mean adalah nilai rata-rata dari beberapa buah data. Nilai mean dapat ditentukan
dengan membagi jumlah data dengan banyaknya data. Mean (rata-rata)
merupakan suatu ukuran pemusatan data. Mean suatu data juga merupakan
statistik karena mampu menggambarkan bahwa data tersebut berada pada kisaran
mean data tersebut. Mean tidak dapat digunakan sebagai ukuran pemusatan untuk
jenis data nominal dan ordinal.Berdasarkan definisi dari mean adalah jumlah
seluruh data dibagi dengan banyaknya data. Dengan kata lain jika kita memiliki N
data, maka mean data tersebut dapat kita tuliskan sebagai berikut (untuk Mean
data tunggal :

3. Nilai Tengah (Median)


Median adalah menentukan letak titik tengah data setelah data disusun menurut
urutan nilainya. Bisa juga nilai tengah dari data-data yang terurut. Simbol untuk

5
median adalah Me. Dalam mencari median, dibedakan untuk banyak data ganjil
dan banyak data genap. Untuk banyak data ganjil, setelah data disusun menurut
nilainya, maka median Me adalah data yang terletak tepat di tengah. Median bisa
dihitung menggunakan rumus sebagai berikut:

4. Frekuensi Terbesar (Modus)


Modus adalah nilai yang sering muncul. Jika kita tertarik pada data frekuensi,
jumlah dari suatu nilai dari kumpulan data, maka kita menggunakan modus. Modus
sangat baik bila digunakan untuk data yang memiliki sekala kategorik yaitu nominal
atau ordinal.
5. Nilai Standar Deviasi
Standar Deviasi dan Varians merupakan salah satu teknik statistik yg digunakan
untuk menjelaskan homogenitas kelompok. Varians merupakan jumlah kuadrat
semua deviasi nilai-nilai individual thd rata-rata kelompok. Sedangkan akar dari
varians disebut dengan standar deviasi atau simpangan baku. Standar Deviasi dan
Varians Simpangan baku merupakan variasi sebaran data. Semakin kecil nilai
sebarannya berarti variasi nilai data makin sama Jika sebarannya bernilai 0, maka
nilai semua datanya adalah sama. Semakin besar nilai sebarannya berarti data
semakin bervariasi. perhitungan standar deviasi secara manual menggunakan
rumus berikut:

6
6. MAD (Mean Absolute Deviation)
MAD merupakan penyebaran Berdasarkan harga mutlak simpangan bilangan-
bilangan terhadap rata-ratanya. Makin besar simpangan, makin besar nilai deviasi
rata-rata. MAD dirumuskan sebagai :

7. Kuartil, Desil, dan Presentil


a. Kuartil
Kuartil adalah nilai ukuran yang membagi data yang sudah terurut menjadi
empat bagian yang sama besar. Jika sekumpulan data dibagi menjadi empat
bagian yang sama banyaknya dan sudah disusun menurut urutan nilainya, maka
bilangan pembaginya disebut Kuartil, ada tiga buah Kuartil ialah Kuartil Pertama,
Kurtil Kedua Dan Kuartil Ketiga yang masing masing disingkat menjadi Q1, Q2 dan
Q3 pemberian nama ini dimulai dari Kuartil yang paling kecil. Rumus untuk
Kuartil data tidak berkelompok adalah sebagai berikut :

b. Desil
Desil adalah sekelompok data dibagi menjadi sepuluh bagian yang sama, maka
didapat Sembilan (9) pembagi, masing masing disebut desil atau disingkat D
yaitu D1,D2, D3,….D9 . Untuk nilai desil ke –I data tunggal , yaitu Di ditentukan
dengan rumus sebagai berikut :

7
c. Persentil
Persentil adalah jIka sekelompok data dibagi menjadi 100 (seratus) bagian yang
sama banyaknya, maka akan terdapat 99 pembagi yang masing masing disebut
persentil (P) yaitu P1, P2, P3, …,P99. Nilai Persentil ke-I untuk data tunggal , yaitu Pi
dihitung dengan rumus berikut:

8
2.3 Algoritma Program Pengolahan Data (Statistika)

{User memilih Program untuk mengolah data yang tertera di


dalam main menu dengan menginputkan nomor yang dipilih. Main
menu program yang dipilih antara lain mencari nilai max, nilai
min, jangkauan, Interval kelas, Banyak kelas, Mean (rata-
rata), Median (nilai tengah), Modus (frekuensi terbesar), MAD
(Mean Absolute Deviation), Kuartil, Desil, Persentil, dan
Standar deviasi}

kamus :

n, no, max, min, med, jml, sel, fdesil, fpsil, fQ1, fQ3, Q2,
mad : integer

sd, rata, desil, psil, Q1, nQ1, Q3, nQ3, bk, nilai_mad : float

algoritma :

DEKLARASI FUNGSI

{Badan Fungsi ke-1}

Function maxmin1() => float

=> Input(n)
min  10ˆ(1000)
max  0
for i = 1 to n
Output(‘Bilangan ke- ‘, i)
Input(bil[i])
If bil[i] > max then
max  bil[i]
End if
If bil[i] < min then

9
Min  bil[i]
End if
End for
Output(‘Bilangan terbesar adalah = ‘, max)
Newline()
Output(‘Bilangan terkecil adalah = ‘, min)
Newline()
Output(‘Jangkauan data =’,max – min)

{Badan Fungsi ke-2}

Function rata()=> float


=> Input(n)
Jml  0
For i = 1 to n
Output(‘Data ke- = ‘, i)
Input(bil[i])
Jml  jml + bil[i]
End for
Rata2  jml/n
Output(‘Data yang diinputkan : ‘)
For j = 1 to n
Output(j)
End for
Output(‘Nilai Rata-rata data tersebut adalah = ‘, rata2)

{Badan Fungsi ke-3}

Function median() => float


=>
If n mod 2 == 0
med  n/2
Output(‘Nilai Median berada diantara data ke-‘,med,’dan
data ke-‘,med+1,’yaitu =‘,(A[med] + A[med+1]/2))
Else

10
med  (n+1)/2
Output(‘Nilai median berada pada data ke-
‘,med,’yaitu =‘,A[med])
End if

{Badan Fungsi ke-4}

Function stdev() => float


=> Input(n)
Jml  0
Sel  0
For i = 1 to n
Output(‘Data ke- = ‘, i)
Input(bil[i])
Jml  jml + bil[i]
End for
rata2  jml/n
Output(‘Data yang diinputkan :’)
For j = 1 to n
Output(A[j])
End for
For i = 1 to n
Sel  (bil[i] – rata2)^2
Sel  sel + (bil[i] – rata2)^2
Sd  (sel/(n-1))^(1/2)
End for
Output(‘Standar deviasi data tersebut adalah =‘,sd)
{Badan Fungsi ke-5}

Function desil() => float


=> dsil  (d*(n+1))/10;
fdesil  floor(dsil);
xd  dsil - fdesil;
ndesil  A(fdesil) + xd*(A(fdesil +1) - A(fdesil));

11
output('Nilai desil’,d,’adalah =',ndesil)

{Badan Fungsi ke-6}

function persentil()=> float


=> psil  (p*(n+1))/100
fpsil  floor(psil)
xp  psil - fpsil
npsil  A(fpsil) + xp*(A(fpsil +1) - A(fpsil))
Output('Nilai persentil’,p,’adalah’,npsil)

{Badan Fungsi ke-7}

Function kwartil ()=> float


=> Input(n)
for x = 1 to n
output('Data ke- = ', x)
input(A[x])
end for
output('Data yang Diinputkan : ')
for y = 1 to n
output(A[y])
end for
newline()
for i = n : -1 to : 1
for j = 1 to i-1
if A[j] > A[j+1] then
temp  A[j]
A[j]  A[j+1]
A[j+1]  temp
End if
End for
End for
output('Data setelah diurutkan : ')
output(A)

12
Q1  (n + 1)/4
if (Q1 mod 2) != 0
fQ1  floor(Q1);
nQ1  (A[fQ1] + A[fQ1 +1])/2;
output('Nilai Q1 terletak diantara data ke-
‘,fQ1,’dan’,fQ1+1,’yaitu = ',nQ1)
else
output('Nilai Q1 ada pada data ke-‘,Q1,’yaitu =',A[Q1])
end if
newline()
Q2  (2*(n+1))/4;
output('Nilai Q2 terletak pada data ke-‘,Q2,’yaitu =
',A[Q2])
newline()
Q3  (3*(n+1))/4;
if Q3 mod 2 != 0
fQ3  floor(Q3);
nQ3  (A[fQ3] + A[fQ3 +1])/2;
output('Nilai Q3 terletak diantara data ke-‘,fQ3,’dan’,
fQ3+1,’yaitu =',nQ3)
else
output('Nilai Q3 terletak pada data ke-‘,Q3,’yaitu =
',A[Q3])
end
{Badan Fungsi ke-8}

Function Banyak_kelas()=>float
=>()
Input (n)
BK  1+0.33*log(n)
{Badan Fungsi k9}

Function MAD()=>float

13
=> Mad  0
Jml  0
Input(n)
For i = 1 to n
Output(‘Data ke- = ‘, i)
Input(data[i])
Jml  jml + data[i]
End for
rata2  jml/n
for j = 1 to n
mad  mad + ((data[i] – rata2)*(data[i] – rata2))
end
nilai_mad  mad/n
Output(‘Nilai MAD dari data tersebut adalah =‘,nilai_mad
{badan Fungsi ke-10}
Function modus()
=> Output('Program Mencari MODUS')
Output('=====================')
Input(n)

for i  1 to n
Output('Data ke- ', i)
data(i)  input(' ');
endfor

frek(i)  0
for i  1 to n-1
for j  i+1 to n
if data[i] == data[j]
frek[i]  frek[i]+1;
endif
endfor
endfor

14
modus  1
for i  1 to n
if frek[modus] < frek[i]
modus = i;
endif
for j  i to n
if frek[modus] == frek[j]
modus1  j;
endif
endfor
endfor

if frek[modus] == frek[j]
hasil  1
elseif frek[modus] == frek[modus1]
if data[modus] == data[modus1]
hasil  2;
else
hasil  3;
endif
else
hasil  4;
endif

if hasil == 1
Output('modus data tidak ada')
elseif hasil == 2
Output('modus data adalah = ‘, data[modus] ‘Frekuensinya
= ', frek[modus]+1)
elseif hasil == 3
Output('modus data tidak ada')
elseif hasil ==4;

15
Output('modus data adalah = ‘, data[modus] ‘Frekuensinya
= ', frek[modus]+1)

Endif
{badan fungsi pengurutan}

{badan fungsi pengurutan}


Function sort() => integer
=> Input(n)
For x = 1 to n
Output(‘Data ke- = ‘, x)
Input(A[x])
End for
Output(‘Data yang diinputkan : ‘)
For y = 1 to n
Output(y)
End for
Newline()
For i = n : -1 to 1
For j = 1 to i-1
If A(j) > A(j+1)
Temp  A(j)
A(j)  A(j+1)
A(j+1)  temp
End if
End for
End for
Output(‘Data setelah diurutkan :’)
Output(A)

16
DEKLARASI PROGRAM

{badan fungsi utama}

Output(‘==============================================’)
Output(‘======Program Pengolah Data (STATISIKA)’=======)
Output(‘==============================================’)
output('1. Mencari Nilai Maximum, Minimum, dan jangkauan')
output('2. Mean')
output('3. Standar Deviasi ')
output('4. Median')
output('5. Desil')
output('6. Persentil')
output('7. Kwartil ')
output('8. Banyak kelas')
output('9. MAD (Mean Absolute Deviation)')
output('10. Modus ')
output(’11. Keluar Program’)
output('==================================================')
input(no)
while no > 10 || no < 1
output(‘Maaf nomor yang anda inputkan salah. Silahkan
masukkan kembali’)
input(no)
end
depend on (no)
no== 1 : Output(‘Mencari Nilai Min,Nilai Max,dan Jangkauan’)
Output(‘-----------------------------------------‘)
Maxmin() {memanggil fungsi
maxmin}
no== 2 : Output(‘Menghitung Rata-Rata (Mean)’)
Output(‘---------------------------‘)

17
Rata() {memanggil fungsi rata-
rata}
no== 3 : Output(‘Menghitung Standar Deviasi’)
Output(‘---------------------------‘_)
Stdev() {memanggil
fungsi standar deviasi}
no== 4 : Output(‘Mencari Nilai tengah (Median)’)
Output(‘-----------------------------‘)
Sort() {memanggil fungsi pengurutan}
Median() {memanggil fungsi
median}
no== 5 : Output(‘ Mencari MAD (Mean Absolute Deviation)’)
Output(‘--------------------------------------‘)
MAD() {Memanggil fungsi
MAD}

no== 6 : Output(‘Mencari Nilai Kuartil1,2, dan 3’)


Output(‘--------------------------------‘)
Kwartil() {memanggil fungsi
kwartil}
no== 7 : Output(‘Mencari nilai Desil 1 sd 9’)
Output(‘--------------------------‘)
Sort() {memanggil fungsi
pengurutan}
desil() {memanggil fungsi
desil}
no== 8 : Output(‘Mencari Nilai Persentil data’)
Output(‘----------------------------‘)
Sort() {memanggil fungsi
pengurutan}
persentil() {memanggil fungsi
persentil}

18
2.5 MATLAB Program Pengolahan data

MAIN PROGRAM
disp('------------------------------------')
disp('Program Pengolahan data (STATISTIKA)')
disp('------------------------------------')
disp('1. Mencari Nilai Maximum, Minimum, dan jangkauan')
disp('2. Mean')
disp('3. Median ')
disp('4. Standar Deviasi')
disp('5. Desil')
disp('6. Persentil')
disp('7. Kwartil ')
disp('8. Banyak kelas')
disp('9. MAD')
disp('10. Modus')
disp(‘11. Keluar Program’)
disp('-------------------------------------')
no = input ('Masukkan Pilihan anda : ');
x = 1;
while x == 1
switch no
case 1
maxmin1()
case 2
rata()
case 3
median()
case 4
stdev()
case 5
desil1()
case 6
persentil()
case 7
kuartil()
case 8
BK()
case 9
MAD()

19
case 10
modus111()
case 11
exit()
end
no = input ('Masukkan Pilihan anda : ');
end

FUNCTION
Max, min, dan jangkauan Rata-rata
function maxmin1() function rata()
jd = input ('Masukkan Jumlah
n = input('Masukkan jumlah data = '); Data = ');
min = 10^1000; jml = 0;
max = 0; for i = 1 : jd
for i = 1 : n fprintf('Bilangan ke-%d :
fprintf('Bilangan ke-%d : ',i); ',i);
bil(i) = input(''); bil(i) = input(' ');
if bil(i) > max jml = jml + bil(i);
max = bil(i); end
end rata2 = jml/jd;
if bil(i) < min disp('Data yang Diinputkan : ')
min = bil(i); for j = 1 : jd
end fprintf('%d ', bil(j))
end end
fprintf('Bilangan Terbesar adalah = %d fprintf('\nRata-rata : %f \n',
', max); rata2)
fprintf('\nBilangan Terkecil adalah = end
%d', min);
fprintf('\nJangkauan/Rentang Data = %d',
max-min);

end

Median Standar deviasi


function median() function stdev()
jd = input ('Masukkan Jumlah Data =
'); n = input('Masukkan jumlah

20
for x = 1 : jd data = ');
fprintf('Bilangan ke-%d jml = 0;
: ',x); selisku = 0;
A(x) = input(' '); for i = 1 : n
end fprintf('Bilangan ke-%d
disp('Data yang Diinputkan : : ',i);
') bil(i) = input('');
for y = 1 : jd jml = jml + bil(i);
fprintf('%d ', A(y)) end
end rata2 = jml/n;
fprintf('\n')

disp('Data yang Diinputkan :


for i = jd : -1 : 1 ')
for j = 1 : i-1 for j = 1 : n
if A(j)>A(j+1) fprintf('%d ', bil(j))
temp = A(j); end
A(j) = A(j+1); fprintf('\nRata-rata : %f
A(j+1) = temp; \n', rata2)
end for i = 1 : n
end selisku = (bil(i) -
end rata2)^(2);
disp('Data setelah diurutkan selisku = selisku +
: ') (bil(i) - rata2)^(2);
disp(A) sd = (selisku/(n-
1))^(1/2);

if mod(jd,2)==0 end

med = jd/2; fprintf('\nStandar deviasi :

fprintf('Nilai Median %f \n', sd)

Berada Antara data ke-%d dan data


ke-%d yaitu = %f \n ',med, med+1, end
(A(med)+A(med+1))/2)
else
med = (jd+1)/2;
fprintf('Nilai Median
Berada pada data ke-%d yaitu = %d \n
',med, A(med))
end

end

21
desil persentil
function desil1() function persentil()

n = input('Masukkan jumlah data = n = input('Masukkan jumlah data =


'); ');
d = input('Masukkan desil yang p = input('Masukkan persentil yang
diinginkan (1 sd 9) = '); diinginkan (1 sd 99) = ');
for x = 1 : n for x = 1 : n
fprintf('Data ke-%d = ', x) fprintf('Data ke-%d = ', x)
A(x) = input(' '); A(x) = input(' ');
end end
disp('Data yang Diinputkan : ') disp('Data yang Diinputkan : ')
for y = 1 : n for y = 1 : n
fprintf('%d ', A(y)) fprintf('%d ', A(y))
end end
fprintf('\n') fprintf('\n')
for i = n : -1 : 1 for i = n : -1 : 1
for j = 1 : i-1 for j = 1 : i-1
if A(j)>A(j+1) if A(j)>A(j+1)
temp = A(j); temp = A(j);
A(j) = A(j+1); A(j) = A(j+1);
A(j+1) = temp; A(j+1) = temp;
end end
end end
end end
disp('Data setelah diurutkan : ') disp('Data setelah diurutkan : ')
disp(A) disp(A)
dsil = (d*(n+1))/10; psil = (p*(n+1))/100;
fdesil = floor(dsil); fpsil = floor(psil);
xd = dsil - fdesil; xp = psil - fpsil;
ndesil = A(fdesil) + xd*(A(fdesil npsil = A(fpsil) + xp*(A(fpsil +1) -
+1) - A(fdesil)); A(fpsil));
fprintf('Nilai desil%d adalah = %d fprintf('Nilai persentil%d adalah =
', d,ndesil) %d ', p,npsil)

end end

kuartil Banyak kelas


function kuartil() disp('Menghitung Banyaknya Kelas')
disp('--------------------------')

22
n = input('masukkan jumlah data =

n = input('Masukkan jumlah data = ');

'); bk = 1+ 0.33*log(n)

p = input('Masukkan persentil yang fprintf('Banyaknya kelas = %d ', bk)

diinginkan (1 sd 99) = ');


for x = 1 : n
fprintf('Data ke-%d = ', x)
A(x) = input(' ');
end
disp('Data yang Diinputkan : ')
for y = 1 : n
fprintf('%d ', A(y))
end
fprintf('\n')
for i = n : -1 : 1
for j = 1 : i-1
if A(j)>A(j+1)
temp = A(j);
A(j) = A(j+1);
A(j+1) = temp;
end
end
end
disp('Data setelah diurutkan : ')
disp(A)
psil = (p*(n+1))/100;
fpsil = floor(psil);
xp = psil - fpsil;
npsil = A(fpsil) + xp*(A(fpsil +1) -
A(fpsil));
fprintf('Nilai persentil%d adalah =
%d ', p,npsil)

end
MAD Modus
function MAD() function modus111()
disp('Program Mencari MAD (Mean disp('Program Mencari MODUS')
Absolute Deviation)') disp('=====================')
disp('============================== n = input('Masukkan jumlah data =
===============') ');
mad = 0; while n < 0

23
jml = 0; n = input('Maaf, jumlah data
n = input('Masukkan jumlah data = tidak boleh bernilai minus. silahkan
'); masukkan kembali jumlah data = ');
while n < 0 end
n = input('Maaf, jumlah data for i = 1 : n
tidak boleh bernilai minus. silahkan fprintf('Data ke-%d = ', i)
masukkan kembali jumlah data = '); data(i) = input(' ');
end end
for i = 1 : n frek(i) = 0;
fprintf('Data ke-%d = ', i) for i = 1: n-1
data(i) = input(' '); for j = i+1 : n
jml = jml + data(i); if data(i) == data(j)
end frek(i) = frek(i)+1;
rata2 = jml/n; end
for y = 1:n end
mad = mad + sqrt((data(y)- end
rata2)*(data(y)- rata2)); modus = 1;
end for i = 1:n
nilai_mad = mad/ n; if frek(modus) < frek(i)
fprintf('Maka MAD dari data tersebut modus = i;
adalah = %f ', nilai_mad) end
end for j = i : n
if frek(modus) == frek(j)
modus1 = j;
end
end
end
if frek(modus) == frek(j)
hasil = 1;
elseif frek(modus) == frek(modus1)
if data(modus) == data(modus1)
hasil = 2;
else
hasil = 3;
end
else
hasil = 4;
end
if hasil == 1
disp('modus data tidak ada')
elseif hasil == 2
fprintf('Modus data adalah = %d
, Frekuensi data %d = %d ',
data(modus), data(modus),
frek(modus)+1)
elseif hasil == 3
fprintf('Modus data tidak ada')
elseif hasil ==4;
fprintf('modus data adalah = %d
, Frekuensinya =
%d',data(modus),frek(modus)+1)
end

24
2.4.1 Tampilan MATLAB
 Main menu

1. Nilai max, min, jangkauan, dan Interval kelas

25
2. Mean

3. Median

4. Standar Deviasi

26
5. Desil

6. Persentil

7. Kuartil

27
8. Banyak kelas

9. MAD

10. Modus

28
2.5 Flowchart Program

INPUT
(NO)

NO == 1

Output(‘Mencari Nilai Min, Max,dan Jangkauan’)

Maxmin()

NO == 2

Output(‘Mencari rata-rata’)

Rata()

NO == 3

Output(‘standar deviasi’)

stdev()

NO == 4

Output(‘Median’)

29
median()

NO == 5

Output(‘desil’)

desil()

NO == 6

Output(‘persentil’)

persentil()

NO == 7

Output(‘kwartil’)

kwartil()

NO == 8

Output(‘Banyak kelas’)

bk()

NO == 9

Output(‘MAD’)

30
MAD()

KELUAR PROGRAM

FLOW CHART FOR FUNCTION

Function maxmin1() => float

Input (n)

min  10^1000

max  0

For i  1 to n

Output(‘Bilangan ke- ‘, i)

Output(‘Bilangan ke-
‘, i)
Input(bil[i])
Output(‘Bilangan ke-
‘,Output(‘Bilangan
i) ke- ‘, i)
If bil[i] > min
If bil[i] > max
Output(‘Bilangan ke-ke-
Output(‘Bilangan ‘, i)
‘, i)
Output(‘Bilangan ke- ‘, i)
Output(‘Bilangan ke-
Output(‘Bilangan ke- ‘, i)
max  bil[i] ‘, i) Min  bil[i]
Output(‘Bilangan ke- ‘, i)
Output(‘Bilangan ke-
endfor
‘,Output(‘Bilangan
i) ke- ‘, i)
Output(‘Bilangan ke- ‘, i)
Output(‘Bilangan
Output(‘Bilangan ke-ke-
‘, i)
Output(‘Bilangan
Output(‘Bilangan ke- ‘, i) = ‘, max)
‘, i) terbesar adalah
Output(‘Bilangan ke- ‘, i)
Output(‘Bilangan ke-
31 ke-
Output(‘Bilangan
Output(‘Bilangan ke-‘,‘, i)
i)
‘, i)
Output(‘Bilangan ke-
Output(‘Bilangan ke- ‘,‘, i)
i)
Output(‘Bilangan terkecil adalah = ‘, min)

Output(‘Bilangan ke- ‘, i)

Output(‘Bilangan
Output(‘Jangkauan data ke- ‘, i) – min)
=’,max

Output(‘Bilangan ke- ‘, i)

Output(‘Bilangan ke- ‘, i)
Mean
Output(‘Bilangan ke- ‘, i)
Function rata() => float
Output(‘Bilangan ke- ‘, i)

Output(‘Bilangan ke- ‘, i)
Input (n)
Output(‘Bilangan ke- ‘, i)

Jml  0

For i  1 to n

Output(‘Data ke- ‘, i)

Output(‘Bilangan ke- ‘, i)
Input(bil[i])
Output(‘Bilangan ke- ‘, i)
Output(‘Bilangan
Output(‘Bilangan ke- ‘, i)
ke- ‘, i)
Jml  jml + bil[i]
Output(‘Bilangan ke- ‘, i)
Output(‘Bilangan
Output(‘Bilangan ke- ‘, i)
ke- ‘, i) ke- ‘, i)
Output(‘Bilangan
endfor
Output(‘Bilangan ke- ‘, i)
Output(‘Bilangan
Output(‘Bilangan
Output(‘Bilangan ke- ‘, i)
Output(‘Bilangan
ke-
ke-
Rata2 ‘,‘,i)jml/n
i) ke- ‘, i)
Output(‘Bilangan ke- ‘, i)
Output(‘Bilangan
Output(‘Bilangan
Output(‘Bilangan
Output(‘Bilangan ke-
ke-‘,‘,i)i)
Output(‘Bilangan ke- ‘, i)
ke-‘,diinputkan
ke-
Output(‘Data yang ‘,i)i) : ‘)
Output(‘Bilangan
Output(‘Bilangan ke- ‘,i)i)
ke- ‘,
Output(‘Bilangan
Output(‘Bilangan
Output(‘Bilangan
Output(‘Bilangan ke- ‘, i)
ke-‘,‘,i)i) ke- ‘, i)
ke-
Output(‘Bilangan
Output(‘Bilangan ke- ‘, i)
32 ke- ‘, i)
Output(‘Bilangan
Output(‘Bilangan
ke-‘,‘,i)i) ke- ‘, i)
ke-
Output(‘Bilangan
Output(‘Bilangan ke- ‘, i)
For i  1 to n

Output(j)

Output(‘Bilangan
ke- ‘, i)
endfor
Output(‘Bilangan
Output(‘Bilangan
ke- ‘, i)
ke- ‘, i)
Output(‘Bilangan
Rata2  jml/n
Output(‘Bilangan
ke- ‘, i)
ke- ‘, i) ke- ‘, i)
Output(‘Bilangan
Output(‘Bilangan
Output(‘Bilangan
Output(‘Bilangan
Output(‘Data i) ke- ‘,: i)‘)
ke- ‘,diinputkan
yang
ke- ‘, i)
Output(‘Bilangan
Output(‘Bilangan ke- ‘, i)
Output(‘Bilangan
ke- ‘, i)
Output(‘Bilangan
ke- ‘, i) ke- ‘, i)
For i  1 to n
Output(‘Bilangan
Output(‘Bilangan
Output(‘Bilangan ke- ‘, i)
ke- ‘, i)
ke- ‘, i) ke- ‘, i)
Output(‘Bilangan
Output(‘Bilangan
Output(‘Bilangan
ke- ‘, i) ke- ‘, i)
Output(‘Bilangan
Output(j)
ke- ‘, i)
Output(‘Bilangan
Output(‘Bilangan
Output(‘Bilangan ke- ‘, i)
Output(‘Bilangan
ke- ‘, i)
ke- ‘, i)
ke- ‘, i)
endfor
Output(‘Bilangan
Output(‘Bilangan
Output(‘Bilangan
ke- ‘, i)
ke-
ke-‘, ‘,i)i)
Output(‘Nilai Rata-rata
Output(‘Bilangan
data tersebut adalah = ‘, rata2)
Output(‘Bilangan
ke- ‘, i)
ke- ‘, i)
Output(‘Bilangan
Output(‘Bilangan
ke- ‘, i)
ke- ‘, i)
Output(‘Bilangan
Output(‘Bilangan
ke- ‘, i)
ke- ‘, i)
Output(‘Bilangan
Output(‘Bilangan
ke- ‘, i)
ke- ‘, i)
Output(‘Bilangan
Output(‘Bilangan
ke- ‘, i)
ke- ‘, i)
Output(‘Bilangan
Output(‘Bilangan
ke- ‘, i)
ke- ‘, i)
33
Output(‘Bilangan
median

Output(‘Nilai Rata-rata data tersebut adalah = ‘, rata2)

Function median() => float

If n mod 2  0 med  (n+1)/2

Output(‘Nilai median berada pada data


ke-‘,med,’yaitu =‘,A[med])
Med  n/2

Output(‘Bilangan ke- ‘, i)

Output(‘Bilangan ke- ‘, i)
Output(‘Nilai Median berada diantara
Output(‘Bilangan
data ke-‘,med,’dan ke- ‘, i)
data ke-‘,med+1,’yaitu
=‘,(A[med] + A[med+1]/2))
Output(‘Bilangan ke- ‘, i)

Output(‘Bilangan ke- ‘, i)

Output(‘Bilangan ke- ‘, i)
endif
Output(‘Bilangan ke- ‘, i)
Output(‘Bilanganke- ‘, i)
Output(‘Bilangan
ke- ‘, i)

Output(‘Bilangan
ke- ‘, i)

Output(‘Bilangan
ke- ‘, i)

Output(‘Bilangan
ke- ‘, i)

Output(‘Bilangan
ke- ‘, i)

Output(‘Bilangan
ke- ‘, i)
34
Output(‘Bilangan
standar deviasi

Function stdev() => float

Output(‘Bilangan
Input (n) ke- ‘, i)

Output(‘Bilangan ke- ‘, i)

Output(‘Bilangan ke- ‘, i)
Jml  0
Output(‘Bilangan ke- ‘, i)
Sel  0
Output(‘Bilangan ke- ‘, i)

Output(‘Bilangan ke- ‘, i)
For i  1 to n ke- ‘, i)
Output(‘Bilangan

Output(‘Bilangan ke- ‘, i)

Output(‘Data ke- ‘, i)

Output(‘Bilangan ke- ‘, i)
Input(bil[i])
Output(‘Bilangan ke- ‘, i)
Output(‘Bilangan
Output(‘Bilangan ke- ‘, i)
ke- ‘, i)
Jml  jml + bil[i]
Output(‘Bilangan ke- ‘, i)
Output(‘Bilangan
Output(‘Bilangan ke- ‘, i)
ke- ‘, i) ke- ‘, i)
Output(‘Bilangan
endfor
Output(‘Bilangan ke- ‘, i)
Output(‘Bilangan
Output(‘Bilangan
Output(‘Bilangan ke- ‘, i)
Output(‘Bilangan
ke-
‘,‘,jml/n
ke-
Rata2 i)i) ke- ‘, i)
Output(‘Bilangan ke- ‘, i)
Output(‘Bilangan
Output(‘Bilangan
Output(‘Bilangan
Output(‘Bilangan ke-
ke-‘,‘,i)i)
Output(‘Bilangan ke- ‘, i)
ke-diinputkan
ke-
Output(‘Data yang ‘,‘,i)i) : ‘)
Output(‘Bilangan
Output(‘Bilanganke- ke-‘,‘,i)i)
Output(‘Bilangan
Output(‘Bilangan
Output(‘Bilangan
Output(‘Bilangan ke- ‘, i)
ke-‘,‘,i)i) ke- ‘, i)
ke-
For i  1 to n
Output(‘Bilangan
Output(‘Bilangan ke-
ke-‘,‘,i)i)
Output(‘Bilangan
Output(‘Bilangan
ke-‘,‘,i)i) ke- ‘, i)
ke-
Output(‘Bilangan
Output(‘Bilangan ke- ‘, i)
Output(A[j])
Output(‘Bilangan
Output(‘Bilangan
Output(‘Bilangan ke- ‘, i)
Output(‘Bilangan
ke-‘,‘,i)i)
ke-
ke- ‘, i) ke- ‘, i)
Output(‘Bilangan
endfor
Output(‘Bilangan
Output(‘Bilangan
Output(‘Bilangan
ke-‘,‘,i)i) ke- ‘, i)
Output(‘Bilangan
ke-
Output(‘Bilangan
ke-
ke-‘,35
‘,i)i)
Output(‘Bilangan
Output(‘Bilangan
ke- ‘, i)
Output(‘Bilangan
For i  1 to n

Sel  (bil[i] – rata2)^2

Sel  sel + (bil[i] – rata2)^2

Sd  (sel/(n-1))^(1/2)

endfor

Output(‘Standar deviasi data tersebut adalah =‘,sd)

Desil

Function desil() => float

Function desil() => float

Function desil() => float


dsil  (d*(n+1))/10

Function desil() => float

Fdesil  floor(dsil)

xd  dsil - fdesil

ndesil  A(fdesil) + xd*(A(fdesil +1) - A(fdesil))

output('Nilai desil’,d,’adalah =',ndesil)

Function desil() => float

Function desil() => float

Function desil() => float

36
Persentil

Function persentill() => float

Function desil() => float

psil  (p*(n+1))/100
Function desil() => float

Function desil() => float


Fpsil  floor(psil)

xp  psil - fpsil

npsil  A(fpsil) + xp*(A(fpsil +1) - A(fpsil))

output('Nilai persentil’,p,’adalah =',npsil)

Function desil() => float

Function desil() => float


Kuartil
Function desil() => float
Function kuartil() => float

Function desil() => float

Input(n)
Function desil() => float

Function desil() => float

For x  1 to n

Output(‘Data ke- ‘, x)

Output(‘Bilangan ke- ‘, i)
Input(A[x])
Output(‘Bilangan ke- ‘, i)
Output(‘Bilangan
Output(‘Bilangan ke- ‘, i)
ke- ‘, i)
endfor
Output(‘Bilangan ke- ‘, i)
Output(‘Bilangan
Output(‘Bilangan
Output(‘Bilangan
ke- ke- ‘, i)
ke- ‘,
‘, i)
i)
Output(‘Bilangan
Output(‘Bilangan ke- ‘, i)
Output(‘Bilangan
ke-
ke-37‘,
‘, i)
Output(‘Bilangan i) ke- ‘, i)
Output(‘Bilangan
Output(‘Bilangan
Output(‘Bilangan ke- ‘, i)
output('Data yang Diinputkan : ')

For y  1 to n

output(A[y])

Output(‘Bilangan
ke- ‘, i)
endfor

Output(‘Bilangan
Output(‘Bilangan
ke-
ke- ‘,
‘, i)
i)
For i  n to -1 to 1
Output(‘Bilangan
Output(‘Bilangan
ke-
ke- ‘,
‘, i)
i)

Output(‘Bilangan
Output(‘Bilangan
ke- ‘,
ke- ‘, i)
i)
For i  1 to i- 1
Output(‘Bilangan
Output(‘Bilangan
ke- ‘,
ke- ‘, i)
i)

Output(‘Bilangan
Output(‘Bilangan
ke- ‘,
ke- ‘, i)
i)
if A[j] > A[j+1]
Output(‘Bilangan
Output(‘Bilangan
ke- ‘,
ke- ‘, i)
i)

Output(‘Bilangan
Output(‘Bilangan
Temp  A[j]
ke-
ke- ‘,
‘, i)
i)
Output(‘Bilangan
Output(‘Bilangan
ke- ‘, i)
ke- ‘, i) A[j]  A[j+1]
Output(‘Bilangan
Output(‘Bilangan
ke-
ke- ‘,
‘, i)
i)
A[j+1]  temp
Output(‘Bilangan
Output(‘Bilangan
ke-
ke- ‘,
‘, i)
i)
End if
Output(‘Bilangan
Output(‘Bilangan
ke-
ke- ‘,
‘, i)
Output(‘Bilangan
i)
ke- ‘, i) End for
Output(‘Bilangan
Output(‘Bilangan
ke- Output(‘Bilangan
End for ke- ‘,
‘, i)
Output(‘Bilangan
i)
ke- ‘, i) ke- ‘, i)
Output(‘Bilangan
Output(‘Bilangan
Output(‘Bilangan
ke- Output(‘Bilangan
ke- ‘, i) ke- ‘,
‘, i)
Output(‘Bilangan
i)
ke- ‘, i) ke- ‘, i)
38Output(‘Bilangan
Output(‘BilanganOutput(‘Bilangan
ke- Output(‘Bilangan
ke- ‘, i) ke- ‘,
‘, i)
Output(‘Bilangan
i)
output('Data setelah diurutkan : ')

output(A)

Q1  (n + 1)/4

Q1  (n + 1)/4

if (Q1 mod 2) != 0

fQ1  floor(Q1)

nQ1  (A[fQ1] + A[fQ1 +1])/2;

output('Nilai Q1 terletak diantara data ke-‘,fQ1,’dan’,fQ1+1,’yaitu = ',nQ1)

output('Nilai Q1 ada pada data ke-‘,Q1,’yaitu =',A[Q1])

endif

Q2  (2*(n+1))/4

output('Nilai Q2 terletak pada data ke-‘,Q2,’yaitu = ',A[Q2])

Q3  (3*(n+1))/4

39
if Q3 mod 2 == 0

fQ3  floor(Q3) output('Nilai Q3 terletak pada data ke-


‘,Q3,’yaitu = ',A[Q3])

nQ3
nQ3  (A[fQ3] + A[fQ3 +1])/2

output('Nilai Q3 terletak diantara data ke-


‘,fQ3,’dan’, fQ3+1,’yaitu =',nQ3)

endif

Banyak Kelas

Function Banyak_kelas()=>float

Input (n)

BK 1+0.33*log(n)

Output BK

MAD

Function MAD()=>float

=> Mad  0

Input(n)

40
Jml  0

for j = 1 to n

Mad mad + ((data[i] – rata2)*(data[i] – rata2))

endfor

nilai_mad  mad/n

Output(‘Nilai MAD dari data tersebut adalah =‘,nilai_mad)

Badan Fungsi Pengurutan

Function sort() => integer

Input(n)

For x = 1 to n

Output(‘Data ke- = ‘, x)

Input(A[x])

End for

41
Output(‘Data yang diinputkan : ‘)

For y = 1 to n

Output(y)

End for

For i  n -1 to1

For j  1 to i-1

If A(j) > A(j+1)

Temp
A(j)
Temp  A(j)
A(j) A(j)
A(j+1)
A(j+1)  temp
A(j+1)

A(j+1)

End if

End for

End for

Output(‘Data setelah diurutkan :’)

Output(A)

42
BAB III

KESIMPULAN

3.1 Kesimpulan

Setelah kajian mendalam mengenai teori dasar statistika dan rumusannya,


serta dijelaskan pula algoritma program pengolahan data, jalan kerja program pada
MATLAB, dan flowchartnya, maka dapat ditarik beberapa kesimpulan bahwa :

1. Statistika adalah suatu ilmu yang berhubungan dengan proses mengolah,


menyusun, serta menganalisa data, sehingga dapat ditarik beberapa kesimpulan
yang benar.
2. MATLAB merupakan suatu bahasa pemrograman tingkat tinggi yang memfasilitasi
pengolahan angka-angka, termasuk pengolahan data, sehingga memudahkan user
dalam menganalisa dan memproses data-data hanya dengan menginputkannya.
3. Dengan Program Pengolahan Data ini user akan mendapatkan keakuratan data yang
tepat, tanpa perlu mengkaji ilmu statistika dasar lebih mendalam.

43
DAFTAR PUSTAKA

Duane Hanselman dan Bruce Littlefield (1997), MATLAB Bahasa


Komputasi Teknis, Yogyakarta: ANDI Yogyakarta

Drajat (2008), Cara Praktis Jago Matematika, Bandung : PT.


Mizan Pustaka

http://andrie07.wordpress.com/2009/12/20/kuartil-desil-dan-
presentil/

http://matematikasuryana.blogspot.com/2010/02/stastistikka.h
tml

44

Anda mungkin juga menyukai