1. program Statistika_Deskriptif;
uses crt;
var
n,i,j,k,tengah,q1,q3,modus:integer;
a,sum1,sum2,rata,varian,selisih:real;
data,angka,jumlah:array
[0..100] of real;
begin
clrscr;
writeln('Welcome
to Statistics Description Program');
writeln('This
program is used for measure description program');
writeln('====================================================');
writeln('Berapa
jumlah data yang ingin anda dimasukan? (max 100)'); write('n= ');
readln(n);
writeln('silahkan
masukkan data anda');
{syntax untuk
memasukkan data dalam array}
for i:=1 to n do
begin
write('data
ke-',i,' ');
readln(a);
data[i]:=a;
end;
{syntax untuk
menghitung rata-rata}
for i:=1 to n do
begin
sum1:=sum1+data[i];
end;
rata:=sum1/n;
{syntax untuk
menghitung varian setelah diketahui rata-ratanya}
for i:=1 to n do
begin
selisih:=sqr(data[i]-rata);
sum2:=sum2+selisih;
end;
varian:=sum2/(n-1);
{syntax untuk
mengurutkan data pada array}
for i:=1 to n do
for j:=i+1 to n
do
begin
if
data[i]>data[j] then
begin
data[0]:=data[j];
data[j]:=data[i];
data[i]:=data[0];
end;
end;
{syntax untuk
mengetahui letak Q1, median, dan Q3 dalam array}
if n mod 2 = 1
then
begin
tengah:=(n+1) div
2;
if (tengah-1) mod
2 = 1 then
begin
q1:=(tengah+1)
div 2;
q3:=tengah+((tengah+1)
div 2);
end
else
begin
q1:=(tengah div
2);
q3:=tengah+(tengah
div 2);
end;
end
else
begin
tengah:=(n div
2);
if tengah mod 2 =
1 then
begin
q1:=(tengah+1)
div 2;
q3:=tengah+((tengah+1)
div 2);
end
else
begin
q1:=(tengah div
2);
q3:=tengah+(tengah
div 2);
end;
end;
{syntax untuk
menghitung frekwensi data yang sudah diurutkan}
k:=1;
for i:=1 to n-1
do
begin
if
data[i]=data[i+1] then
begin
angka[k]:=data[i];
jumlah[k]:=j+1;
end
else
begin
inc(k);
j:=1;
angka[k]:=data[i+1];
jumlah[k]:=j;
end;
end;
{syntax untuk
mengetahui letak modus dalam array}
for i:=1 to k-1
do
begin
if
jumlah[i]>jumlah[i+1] then modus:=i
else modus:=0;
end;
{syntax
menuliskan semua hasil statistika deskrpitif}
writeln;
writeln('hasilnya');
writeln('rata-rata
',rata:0:2);
writeln('varian
',varian:0:2);
writeln('nilai
max ',data[n]:0:2);
writeln('nilai
min ',data[1]:0:2);
if n mod 2 = 1
then writeln('nilai median ',data[tengah]:0:2)
else
writeln('nilai
median ',(data[tengah]+data[tengah+1])/2:0:2);
if n mod 2 = 1
then
begin
tengah:=(n+1) div
2;
if (tengah-1) mod
2 = 1 then
begin
writeln('nilai Q1
',data[q1]:0:2);
writeln('nilai Q3
',data[q3]:0:2);
end
else
begin
writeln('nilai Q1
',(data[q1]+data[q1+1])/2:0:2);
writeln('nilai Q3
',(data[q3]+data[q3+1])/2:0:2);
end;
end
else
begin
tengah:=(n div
2);
if tengah mod 2 =
1 then
begin
writeln('nilai Q1
',data[q1]:0:2);
writeln('nilai Q3
',data[q3]:0:2);
end
else
begin
writeln('nilai Q1
',(data[q1]+data[q1+1])/2:0:2);
writeln('nilai Q3
',(data[q3]+data[q3+1])/2:0:2);
end;
end;
writeln('nilai
modus ',angka[modus]:0:2);
end.
Hasil Output :
2. program Perkalian_Matriks;
uses crt;
var a,b,c:
array[1..10,1..10] of integer;
i,j,k1,k2,b1,b2,sum,r:integer;
begin
clrscr;
writeln;
writeln('MENGHITUNG
PERKALIAN MATRIKS');
write('Masukkan
jumlah baris Matrik A = ');readln(b1);
write('Masukkan jumlah
kolom Matrik A = ');readln(k1);
write('Masukkan
jumlah baris Matrik B = ');readln(b2);
write('Masukkan
jumlah kolom Matrik B = ');readln(k2);
for i:=1 to b1 do
for j:=1 to k1 do
readln(a[i,j]);
writeln;
for i:=1 to b2 do
for j:=1 to k2 do
readln(b[i,j]);
writeln;
writeln('Matrik
A');
writeln('==================');
for i:=1 to b1 do
begin
for j:=1 to k1 do
write(a[i,j],'
');
writeln;
end;
writeln;
writeln('Matrik
B');
writeln('===================');
for i:=1 to b2 do
begin
for j:=1 to k2 do
write(b[i,j],'
');
writeln;
end;
writeln;
writeln('Matrik
A*B');
writeln('================');
for i:=1 to b1 do
begin
for j:=1 to k2 do
begin
sum:=0;
for r:=1 to k1 do
sum:=sum+a[i,r]*b[r,j];
c[i,j]:=sum;
write(c[i,j]:2,'
');
end;
writeln;
end;
end.
Hasil Output :
3. program Kombinasi_Permutasi;
uses crt;
var
a,b,a_k,kombinasi,permutasi:real;
i,n,k:longint;
begin
clrscr;
writeln;
writeln('MENGHITUNG
PERMUTASI DAN KOMBINASI');
write('masukkan
bilangan n= ');readln(n);
write('masukkan
bilangan k= ');readln (k);
a:=1;
b:=1;
a_k:=1;
for i:=2 to n do
a := a*i;
for i:=2 to k do
b :=b*i;
for i :=2 to
(n-k) do
a_k := a_k * i;
kombinasi :=
a/(b*a_k);
permutasi :=a/
(a_k);
writeln ( n, '
Kombinasi ',k,' = ', kombinasi:4:1);
writeln (n, '
Permutasi ',k,' = ',permutasi :4:1);
end.
Hasil Output :
4. program Menu_final_Pemkom;
uses crt;
var
pil :integer;
procedure
statistika_deskriptif;
var
n,i,j,k,tengah,q1,q3,modus:integer;
a,sum1,sum2,rata,varian,selisih:real;
data,angka,jumlah:array [0..100] of real;
begin
writeln('STATISTIKA
DESKRIPTIF');
writeln;
writeln('Berapa
jumlah data yang ingin anda dimasukan? (max 100)'); write('n= ');
readln(n);
writeln('silahkan
masukkan data anda');
for i:=1 to n do
begin
write('data
ke-',i,' ');
readln(a);
data[i]:=a;
end;
for i:=1 to n do
begin
sum1:=sum1+data[i];
end;
rata:=sum1/n;
for i:=1 to n do
begin
selisih:=sqr(data[i]-rata);
sum2:=sum2+selisih;
end;
varian:=sum2/(n-1);
for i:=1 to n do
for j:=i+1 to n
do
begin
if
data[i]>data[j] then
begin
data[0]:=data[j];
data[j]:=data[i];
data[i]:=data[0];
end;
end;
if n mod 2 = 1
then
begin
tengah:=(n+1) div
2;
if (tengah-1) mod
2 = 1 then
begin
q1:=(tengah+1)
div 2;
q3:=tengah+((tengah+1)
div 2);
end
else
begin
q1:=(tengah div
2);
q3:=tengah+(tengah
div 2);
end;
end
else
begin
tengah:=(n div
2);
if tengah mod 2 =
1 then
begin
q1:=(tengah+1)
div 2;
q3:=tengah+((tengah+1)
div 2);
end
else
begin
q1:=(tengah div
2);
q3:=tengah+(tengah
div 2);
end;
end;
k:=1;
for i:=1 to n-1
do
begin
if
data[i]=data[i+1] then
begin
angka[k]:=data[i];
jumlah[k]:=j+1;
end
else
begin
inc(k);
j:=1;
angka[k]:=data[i+1];
jumlah[k]:=j;
end;
end;
for i:=1 to k-1
do
begin
if
jumlah[i]>jumlah[i+1] then modus:=i
else modus:=0;
end;
writeln;
writeln('hasilnya');
writeln('rata-rata
',rata:0:2);
writeln('varian
',varian:1:2);
writeln('nilai
max ',data[n]:0:2);
writeln('nilai
min ',data[1]:0:2);
if n mod 2 = 1
then writeln('nilai median ',data[tengah]:0:2)
else
writeln('nilai
median ',(data[tengah]+data[tengah+1])/2:0:2);
if n mod 2 = 1
then
begin
tengah:=(n+1) div
2;
if (tengah-1) mod
2 = 1 then
begin
writeln('nilai Q1
',data[q1]:0:2);
writeln('nilai Q3
',data[q3]:0:2);
end
else
begin
writeln('nilai Q1
',(data[q1]+data[q1+1])/2:0:2);
writeln('nilai Q3
',(data[q3]+data[q3+1])/2:0:2);
end;
end
else
begin
tengah:=(n div
2);
if tengah mod 2 =
1 then
begin
writeln('nilai Q1
',data[q1]:0:2);
writeln('nilai Q3
',data[q3]:0:2);
end
else
begin
writeln('nilai Q1
',(data[q1]+data[q1+1])/2:0:2);
writeln('nilai Q3
',(data[q3]+data[q3+1])/2:0:2);
end;
end;
writeln('nilai
modus ',angka[modus]:0:2);
end;
procedure
perkalian_matriks;
var a,b,c:
array[1..10,1..10] of integer;
i,j,k1,k2,b1,b2,sum,r:integer;
begin
writeln;
writeln('MENGHITUNG
PERKALIAN MATRIKS');
write('Masukkan
jumlah baris Matrik A = ');readln(b1);
write('Masukkan
jumlah kolom Matrik A = ');readln(k1);
write('Masukkan
jumlah baris Matrik B = ');readln(b2);
write('Masukkan
jumlah kolom Matrik B = ');readln(k2);
for i:=1 to b1 do
for j:=1 to k1 do
readln(a[i,j]);
writeln;
for i:=1 to b2 do
for j:=1 to k2 do
readln(b[i,j]);
writeln;
writeln('Matrik
A');
writeln('==================');
for i:=1 to b1 do
begin
for j:=1 to k1 do
write(a[i,j],'
');
writeln;
end;
writeln;
writeln('Matrik
B');
writeln('===================');
for i:=1 to b2 do
begin
for j:=1 to k2 do
write(b[i,j],'
');
writeln;
end;
writeln;
writeln('Matrik
A*B');
writeln('================');
for i:=1 to b1 do
begin
for j:=1 to k2 do
begin
sum:=0;
for r:=1 to k1 do
sum:=sum+a[i,r]*b[r,j];
c[i,j]:=sum;
write(c[i,j]:2,'
');
end;
writeln;
end;
end;
procedure
kombinasi_permutasi;
var
a,b,a_k,kombinasi,permutasi:real;
i,n,k:longint;
begin
writeln;
writeln('MENGHITUNG
PERMUTASI DAN KOMBINASI');
write('masukkan
bilangan n= ');readln(n);
write('masukkan
bilangan k= ');readln (k);
a:=1;
b:=1;
a_k:=1;
for i:=2 to n do
a := a*i;
for i:=2 to k do
b :=b*i;
for i :=2 to
(n-k) do
a_k := a_k * i;
kombinasi :=
a/(b*a_k);
permutasi :=a/
(a_k);
writeln ( n, '
Kombinasi ',k,' = ', kombinasi:4:1);
writeln (n, '
Permutasi ',k,' = ',permutasi :4:1);
end;
begin
clrscr;
gotoxy(24,2); writeln('NAMA = MUH. SYAFAR KASIM');
gotoxy(24,3); writeln('STAMBUK = F1A1 11 010');
gotoxy(24,4); writeln('JURUSAN = MATEMATIKA B');
gotoxy(24,5);
writeln('________________________________________');
gotoxy(32,8); writeln('MENU FINAL
PEMKOM');
gotoxy(24,9);
writeln('________________________________________');
gotoxy(24,11); writeln('(1) FINAL 1:
Statistika Deskriptif');
gotoxy(24,12); writeln('(2) FINAL 2:
Perkalian Matriks');
gotoxy(24,13); writeln('(3) FINAL 3:
Kombinasi dan Permutasi');
gotoxy(24,14);
writeln('_______________________________________');
gotoxy(24,16); write('Pilihan =
');readln(pil);
clrscr;
case pil of
1 : begin
statistika_deskriptif;
end;
2 : begin
perkalian_matriks;
end;
3 : begin
kombinasi_permutasi;
end;
end;
readln;
end.
Hasil Output :