Mencari Nilai Modus Suatu Data Menggunakan Turbo Pascal

10
Mencari Nilai suatu Modus Menggunakan TPW Program diatas merupakan program mencari nilai modus Berikut proses yang dilakukan komputer saat program di atas di-run : Pertama-tama setelah program di atas di-run maka komputer akan menampilkan kalimat “ masukkan banyak data : “ , kemudian komputer menunggu input data dari user yang ditandai dengan kursor aktif dan setelah itu komputer akan melakukan proses looping terhadap formula “ for i:=1 to n do “ hingga “ end; .“ {note : misalkan n=3 , x[1]= 3 ; x[2] = 2 ; x[3]= 3 } Proses looping tersebut ialah sebagai berikut. C : Qonitha Amalia, Pendidikan Matematika 2014 Universitas Sriwijaya

Transcript of Mencari Nilai Modus Suatu Data Menggunakan Turbo Pascal

Page 1: Mencari  Nilai Modus Suatu Data Menggunakan Turbo Pascal

Mencari Nilai suatu Modus Menggunakan TPW

Program diatas merupakan program mencari nilai modus

Berikut proses yang dilakukan komputer saat program di atas di-run :

Pertama-tama setelah program di atas di-run maka komputer akan menampilkan kalimat “ masukkan banyak data : “ , kemudian komputer menunggu input data dari user yang ditandai dengan kursor aktif dan setelah itu komputer akan melakukan proses looping terhadap formula “ for i:=1 to n do “ hingga “ end; .“

{note : misalkan n=3 , x[1]= 3 ; x[2] = 2 ; x[3]= 3 }

Proses looping tersebut ialah sebagai berikut.

For i=1, maka

Komputer akan menampilkan kalimat “ data ke-1 : “

Kemudian komputer akan menampilkan kalimat yang sama untuk i dengan nilai berbeda.

Contoh :

N = 3, x[1]= 3 ; x[2] = 2 ; x[3]= 3

C : Qonitha Amalia, Pendidikan Matematika 2014 Universitas Sriwijaya

Page 2: Mencari  Nilai Modus Suatu Data Menggunakan Turbo Pascal

For i:=1 to n do, artinya

For 1 to 3 do { untuk 1 sampai 3 laksanakan}

Maka selanjutnya komputer akan menampilkan

data ke-1 : {kursor aktif}

Setelah user meng-input data pada kursor aktif maka komputer akan menghitung frekuensi masing masing data ,begitu pula proses selanjutnya

data ke-1 : 3

data ke-2 : 2

data ke-3 : 3

Kesimpulan

Anda akan mendapatkan tampilan sebagai berikut ketika coding tersebut success di-run.

Masukkan banyak data: 3

data ke-1 : 3

data ke-2 : 2

data ke-3 : 3

Dan yang terdapat didalam memori komputer adalah :

fx[1] = 1

fx[2] = 1

fx[3] = 1

Menurut coding di atas, komputer tidak akan menampilkan sebuah tulisan apapun dilayar monitor, namun coding di atas meng-isyaratkan bahwa komputer melakukan proses looping.

For i:=1 to n-1 do

Misalkan n=3, maka n-1 = 3-1 = 2 ,

For 1 to 2 do

For i =1 , j = i + 1 = 1+1 = 2 ; for i=2, j = 2+1 = 3

C : Qonitha Amalia, Pendidikan Matematika 2014 Universitas Sriwijaya

Page 3: Mencari  Nilai Modus Suatu Data Menggunakan Turbo Pascal

Maka proses loopingnya adalah

Untuk i bernilai 1

- x[1] = x [2]

komputer akan memeriksa apakah data ke-1 sama dengan data ke 2 di memori, jika iya maka berlaku conditional diatas , jika tidak maka diabaikan saja.

Input data di dalam memori ialah x[1]= 3 dan x[2] = 2 , artinya x[1] tidak samadengan x[2], dan conditional if then di atas diabaikan.

- x[1] = x[3]

di dalam memori, x[1]= 3 dan x[3]= 2, artinya x[1] = x[3], dan berlaku conditional if then di atas.

If x[1] = x[3] then f x[1]=1=1 =2

Mengapa Fx[1]=2 ? karena didalam memori telah tersimpan bahwa fx[1]=1, ketika meng- update fx[1] maka didapatkan bahwa fx[1] + 1 = 1+1 , artinya fx[1] = 2 setelah di-update.

Untuk i bernilai 1 cukup sampai 2 kali looping.

Untuk i bernilai 2

- x[2] = x[3]

di memori x[2] = 2 dan x[3]=3 , maka x[2] tidak samadengan x[3] dan conditional diabaikan. Untuk i bernilai 2 hanya terjadi 1 kali looping. Karena sesuai dengan nilai i dan j yang telah disepakati diatas.

Data ter-update dalam memori :

fx[1] = 2

fx[2] = 1

fx[3] = 1

C : Qonitha Amalia, Pendidikan Matematika 2014 Universitas Sriwijaya

Page 4: Mencari  Nilai Modus Suatu Data Menggunakan Turbo Pascal

For i:=1 to n do

For 1 to 3 do

If fx[i] > ftinggi then ftinggi:=fx[i]

Artinya jika fx[i] lebih besar ftinggi maka ftinggi sama dengan fx[i] tersebut.

Proses loopingnya sebagai berikut.

-Untuk i bernilai 1

fx[i] > ftinggi

2 > 1 {benar}

Maka ftinggi = 2 {meng-update ftinggi}

-Untuk i bernilai 2

fx[2] > ftinggi

1 > 2 {salah}

Maka ftinggi tetap 2 karena tidak ter-update.

-Untuk i bernilai 3

fx[3] > ftinggi

1 > 2 {salah}

Maka ftinggi tetap 2 karena tidak ter-update.

Coding di atas dimaksudkan untuk meng-update nilai j .

Dimemori diketahui j = 0,

Maka untuk i=1 to 3 do,

Pemeriksaan conditional sentence

C : Qonitha Amalia, Pendidikan Matematika 2014 Universitas Sriwijaya

Page 5: Mencari  Nilai Modus Suatu Data Menggunakan Turbo Pascal

- I = 1

Fx[1]= ftinggi

2 = 2 (karna proses sebelumnya telah meng-udate nilai fx[1] dan ftinggi)

Then j = 0 + 1 j = 1

Modus [ j ] : = x[1]

- I = 2Fx[2]=ftinggi1 tidak sama dengan 2Maka tidak berlaku conditional sentence tersebut dan nilai j tetap 1

- I=3Fx[3]= ftinggi 1 tidak sama dengan 2Maka tidak berlaku conditional sentence tersebut dan nilai j tetap 1

Dari proses di atas didapat nilai j = 1. Perintah selanjutnya adalah sebagai berikut.

Perintnbvah menuliskan hasil , apakah angka yang di-input user meruakan msuatu modus atau bukan.

Conditional yang pertama :

Jika j = n maka ditulis “ tidak ada modus”

C : Qonitha Amalia, Pendidikan Matematika 2014 Universitas Sriwijaya

Page 6: Mencari  Nilai Modus Suatu Data Menggunakan Turbo Pascal

Dalam konteks ini j= 1 dan n= 3, maka j tidak samadengan n , dan tidak dapat ditulis “Tidak ada Modus”.

Lalu ketika conditional ertama tidak berlaku maka dilanjutkan dengan pengecekkan dengan conditional kedua.

Conditional kedua ialah:

Jika ftinggi = n dibagi j ,maka dituliskan “ Tidak ada Modus “

Ftinggi = 2

2 = 3 dibagi 1 , {salah} maka tidak berlaku conditional kedua ini. Karna conditional pertama dan kedua ialah mencari kemungkinan tidak adanya modus

dalam suatu data, dan teryata kemungkinan tersebut tidak ditemukan , maka secara langsung komputer menyimpulkan bahwa data yang di-inut user memiliki nilai modus.

Setelah diketahui adanya Modus ,maka dilanjutkan perintah selanjutnya, yaitu perintahyang terdaat diantara perintah begin dan end.

Perintah tersebut adalah perintah menuliskan banyak modus dari suatu data dan melakukan proses looping untuk menamilkan nilai modus tersebut.

For i to j do

For 1 to 1 do, {hanya terdapat satu kali proses looping} Then, write( modus[i]:0:0)

Write (modus[1])Atau komputer akan menampilkan angka 3 sebagai nilai modus.Karna nilai modus[1] = 3

*Perintah berakhir*

Secara keseluruhan

program nilaimodus;

uses crt;

var n,i,j: integer;

ftinggi: real;

fx: array[1..100]of integer;

modus,x: array[1..100]of real;

begin

C : Qonitha Amalia, Pendidikan Matematika 2014 Universitas Sriwijaya

Page 7: Mencari  Nilai Modus Suatu Data Menggunakan Turbo Pascal

clrscr;

write ('masukan banyak data: '); readln (n);

for i:=1 to n do

begin

write ('data ke-',i,' : '); readln(x[i]);

fx[i]:=1;

end;

for i:=1 to n-1do

for j:=i+1 to n do

if x[i]=x[j] then fx[i]:=fx[i]+1;

ftinggi:=1;

for i:=1 to n do

if fx[i]>ftinggi then ftinggi:=fx[i];

writeln;

writeln ('Frekuensi tertinggi adalah: ',ftinggi:0:0);

writeln;

j:=0;

for i:=1 to n do

if fx[i]=ftinggi then

begin

j:= j+1;

modus[j]:=x[i];

end;

writeln;

if j=n then

writeln('Tidak ada Modus')

else

C : Qonitha Amalia, Pendidikan Matematika 2014 Universitas Sriwijaya

Page 8: Mencari  Nilai Modus Suatu Data Menggunakan Turbo Pascal

if ftinggi=n div j then

writeln('Tidak ada Modus')

else

begin

writeln ('Banyak modusnya ',j,' buah, yaitu: ');

for i:=1 to j do

writeln (modus[i]:0:0);

end;

end.

Tampilan yang keluar

C : Qonitha Amalia, Pendidikan Matematika 2014 Universitas Sriwijaya