Rabu, 21 Desember 2011

PrOgram deReT

program deret;
uses wincrt;
var i,j,k,n,r:integer;
begin
write('masukkan n= ');readln(n);
for i:=1 to n do
begin
for j:=1 to i do
k:=1;
for r:=1 to j do
begin
k:=k*j;
write(k);
write(' ');
end;
writeln(' ');
end;
end.

ProGram sTatiStikA dEskRiptiF

program atatistika_deskriptif;
uses wincrt;
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('SELAMAT DATANG DI PROGRAM STATISTIKA DESKRIPTIF');WRITELN('***=============================***');writeln;
writeln('Berapa jumlah data yang ingin anda dimasukan? (max 100)');
write('silahkan masukan data:');
READLN(N); WRITELN;
{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 ADALAH SEBAGAI BERIKUT**');
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);
WRITELN;

end.

Program BinomiaL

program binomial;
uses wincrt;
var
a,b,a_k,komb,hasil,nilai,binomial,p:real;
i,n,x:longint;
begin
writeln('menghitung binomial');
writeln('masukkan nilai n ');readln(n);
writeln('masukkan nilai x ');readln(x);
writeln('p=');readln(p);
a:=1;
b:=1;
a_k:=1;
for i:=2 to n do
a:=a*i;
for i:=2 to x do
b:=b*i;
for i:=2 to (n-x) do
a_k:=a_k*i;
komb:=a/(b*a_k);
begin
hasil:=1;
for i:=1 to abs(x) do
hasil:=p*hasil;
end;
begin
nilai:=1;
for i:=1 to abs(n-x) do
nilai:=(1-p)*nilai;
end;
binomial:=komb*hasil*nilai;
write('n binomial p =',binomial);
end.

Program modus

program modusu;
uses wincrt;
var i,n,j,modus:integer;
x,frek:array[1..100] of integer;
begin
write('banyaknya data=');
readln(n);
writeln('data:');
for i:=1 to n do
readln(x[i]);
writeln;
for i:=1 to n-1 do
begin
for j:=i+1 to n do
if x[i]=x[j] then
frek[i]:=frek[i]+1;
end;
modus:=0;
for i:=1 to n do
begin
if frek[modus]<frek[i] then
modus:=i;
end;
write('modus: ',x[modus],' sebanyak ',frek[modus]+1);
end.

Jumat, 16 Desember 2011

Program Konversi Desimal Biner


PROGRAM KONVERSI_DECIMAL BINER;
uses wincrt;
var bilangan, hasilbagi, sisa, desimal : integer;
biner : char;
bilanganbiner, hasilkonversi : string;
begin
readln (desimal);
hasilbagi := desimal div 2;
bilanganbiner := '';
while (hasilbagi >= 1) do
begin
sisa := desimal mod 2;
if (sisa = 0) then biner := '0'
else if (sisa = 1) then biner := '1';
bilanganbiner := biner + bilanganbiner;
desimal := hasilbagi;
hasilbagi := desimal div 2;
end;
hasilkonversi := '1' + bilanganbiner;
write('Dikonversikan ke bilangan biner hasilnya adalah : ', hasilkonversi);
readln;
end.

Program Deret Fibonacci


PROGRAM DERET FIBONACCI;
uses wincrt;
var a,b,c,i,n: integer;
begin
write('masukkan n = ‘);
readln(n);
a:=1; b:=0;
for i:=1 to n do
begin
c:=a+b;
a:=b;
b:=c;
write(c,' ,');
end;
end.


Rabu, 14 Desember 2011

Program Standar Deviasi

program stat_desk;
uses wincrt;
var
n,i,jml,s,j,c: integer;
a: array [1..50] of integer;
varians,mean,sd,selisih,sigma,y:real;


begin
write ('jml data: ');
readln (n);

i:=1;
repeat write ('data ke-',i,': ');
readln (a[i]);
jml:=jml+a[i];
inc (i);
until i>n;

writeln ('jumlah: ',jml);
mean:=jml/n;
writeln ('mean: ',mean:2:2);

i:=1;
repeat selisih:=sqr (a[i]-mean);
sigma:=sigma+selisih;
inc(i);
until i>n;
varians:= sigma/(n-1);
sd:=sqrt (varians);

writeln ('varians: ',varians:2:2);
writeln ('st.dev: ',sd:2:2);

{mengurutkan data}

for i:=1 to (n-1) do
begin
for j:=i+1 to n do
begin
if a[i] > a[j] then
begin
s:=a[i];
a[i]:=a[j];
a[j]:=s;
end;
end;
end;

for i:=1 to n do writeln (a[i]);


end.