PROGRAM SEDERHANA PEMROGRAMAN PASCAL (Mencari jumlah kata dalam kalimat)

DOWNLOAD FILE disini

PROGRAM SEDERHANA PEMROGRAMAN PASCAL (Program Kalkulator)

DOWNLOAD FILE disini

PROGRAM SEDERHANA FUNGSI DAN PROSEDUR PASCAL (Mencari Luas Bidang)

DOWNLOAD FILE disini

PROGRAM SEDERHANA PERULANGAN PASCAL (Menampilkan piramida angka)

DOWNLOAD FILE disini

PROGRAM SEDERHANA SELEKSI KONDISI(pemakaian for)PASCAL (Menampilkan garis miring)

DOWNLOAD FILE disini

PROGRAM SEDERHANA PERULANGAN PASCAL (Mencari Volume Bangun ruang)

DOWNLOAD FILE disini

PROGRAM SEDERHANA SELEKSI KONDISI PASCAL (Mencari akar-akar Persamaan Kuadrat)

DOWNLOAD FILE disini

Pemrograman pascal

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
writeln('berapa jumlah data yang dimasukan? (max 100)');
readln(n);
writeln('masukan data');
{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/posisi 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 setiap data dalam array 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/posisi modus dalam array yang sudah diurutkan}
for i:=1 to k-1 do
begin
if jumlah[i] else
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.