Saat ini saya akan memberikan kode dalam bahasa pemrograman pascal untuk mencari suatu modus, median, dan mean dari suatu urutan data yang dimasukan
ini dia kode nya:
program modus_median_mean;
uses crt;
type
arr = array [1..100]of integer;
var
a : arr;
i,n : integer;
min , max , modus : integer;
mean , med : real;
procedure tukar (var a,b : integer);
var
temp : integer;
begin
temp := a;
a:= b;
b:= temp;
end;
procedure selectionsort (var a : arr; n : integer);
var
i,j,imax : integer;
begin
for i:=n downto 2 do
begin
imax := 1;
for j:= 2 to i do
if(A[j] > A[imax]) then
imax := j;
tukar (A[imax] ,A[i]);
end;
end;
procedure hitungmodus (A:arr; n:integer; var modus : integer);
var
i : integer;
sama : boolean;
frekmod,kanmod,frekkan : integer;
begin
frekmod :=0;
i:=1;
while (i<=n) do
begin
kanmod := a[i];
frekkan := 1 ;
i:=i+1;
sama :=true;
while (sama) and (i<=n) do
begin
if (a[i] = kanmod ) then
frekkan := frekkan+1
else
sama := false;
i:=i+1;
end;
if (frekkan>=frekmod) and (kanmod >modus ) then
begin
modus := kanmod;
frekmod := frekkan;
end;
end;
end;
begin
clrscr;
mean :=0 ; modus := 0;
write ('masukkan banyak data : ');
readln (n);
writeln ('masukkan data : ');
for i:=1 to n do
read (a[i]);
writeln ('Data terurut : ');
selectionsort (A,n);
for i:=1 to n do
begin
write (A[i],' ');
mean :=mean+A[i];
end;
if (n mod 2 = 0 ) then
med:= (a[n div 2+1]+a[n div 2+2])/2
else
med:= (a[n div 2+1]);
mean := mean /n;
min :=a[1];
max := a[n];
hitungmodus (a,n,modus);
writeln ('--Min : ',min);
writeln ('--Max : ',max);
writeln ('--Mean : ',mean :0:2);
writeln ('--Median : ',med :0:2);
writeln ('--Modus : ',modus);
readln;
readln;
end.
SELAMAT MENCOBA J
tnks
BalasHapus