Selasa, 08 Desember 2009
Prokom juga
Fungsi hampir sama dengan prosedur, hanya fungsi harus dideklarasikan dengan
tipenya atau jenis hasilnya. Tipe deklarasi ini menunjukkan tipe hasil dari fungsi.
Pada bahasa Pascal dikenal beberapa fungsi, misalkan : abs, pred, sqrt, sqr, succ dan sebagainya.
Fungsi-fungsi tersebut biasanya dikenal dengan Built in Function. Sedangkan function yang akan
bicarakan disini adalah fungsi yang kita buat sendiri.
Berbeda dengan procedure, function merupakan modul program yang menghasilkan suatu
kuantitas.
Hal ini dapat dilihat dari bentuk header-nya yang menyebutkan jenis data dari kuantitas yang
dihasilkan.
Secara umum bentuk header suatu function adalah :
FUNCTION nama : jenis hasil;
Atau FUNCTION nama (formal parameter : jenis ) : jenis_hasil;
Contoh :
Function Hitung(Var A,B : integer): integer;
Begin
Hitung := A + B;
End;
Var X,Y : integer;
Begin
Write(‘Nilai X ? ‘);
Readln(X);
Write(‘Nilai Y ? ‘);
Readln(Y);
Writeln;
Writeln(X,’ + ‘,Y,’ = ‘,Hitung(X,Y))
End.
PEMROGRAMAN KOMPUTER
Suatu proses yang bisa memanggil
dirinya sendiri. .
Rekursi biasanya digunakan secara
iteratif yaitu melakukan pengulangan
operasi sampai jumlah pengulangan
yang diinginkan. .
CONTOH:
Program Pangkat
program pangkat;
uses t crt; ;
var A,x,i,hasil:integer;
begin
writeln('masukkan bilanganyang akan dipangkatkan');readln(A);
writeln('masukkan bilangan bilangan pangkat');readln(x);
hasil :=1;
for i:=1 to x do
hasil :=hasil*A;
writeln('hasil dari dari ',A,' ',' pangkat ',x,' ','adalah ', ' ',hasil );
readln ;
end.
Program deret fibonacci
program fibonacci;
uses crt;
Var fibo: array [1..10] of integer;
A,i,hasil:integer;
begin
clrscr;
write('masukkan suku keberapa dalam deret fibonacci :');readln(A);
if (A=1) or (A=2) then hasil:=1 else
begin
fibo[1]:=1; fibo[2]:=1;
for i:=3 to A do
begin
fibo[i]:=fibo[i-1]+fibo[i-2];
hasil :=fibo[i];
end;
end;
writeln ;
for i:=1 to A do
write(fibo[i],' ');
writeln ;
writeln('Suku Ke- ',A,' ',' dari deret fibonacci adalah ', ',hasil);
readln ;
end.
FAKTORIAL
uses wincrt;
procedure faktorial(n : byte;var hasil:longint);
begin
if n<=1 then
hasil:=1
else
begin
faktorial(n-1,hasil);
hasil:=n*hasil;
end;
end;
n:byte;
f:longint;
begin
write('berapa faktorial?');readln(n);
faktorial(n,f);
writeln('faktorial=',f);
end.
2.ARRAY
Array adalah tipe data terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe sama.
CONTOH
Program Nilai;
Uses Crt;
Var
NIM : array[1..20] of string[10];
NAMA : array[1..20] of string[25];
NILAI: array[1..20] of real;
X,i : integer;
Begin
ClrScr;
Write('Isi berapa data array yang diperlukan :');Readln(X);
For i := 1 to X Do
Begin
Write('NIM =');Readln(NIM[i]);
Write('Nama =');readln(NAMA[i]);
Write('Nilai=');readln(NILAI[i]);
End;
Writeln('NIM NAMA NILAI ');
For i:= 1 to banyak Do
Begin
Writeln(NIM[i]:10,NAMA[i]:25,NILAI[i]:3:2);
End;
Readln;
End.
PERKALIAN MATRIKS
program perkalian_matrik;
uses wincrt;
var
a,b,c:array [1..25,1..25] of real;
i,j,k,m,n,l:byte;
begin
writeln('PERKALIAN MATRIKS');
write('baris matriks pertama=');readln(m);
write('kolom matriks pertama/brs matriks kedua=');readln(n);
write('kolom matriks kedua=');readln(l);
writeln;
writeln('komponen matriks yang pertama');
for i:=1 to m do
begin
for j:=1 to n do
begin
write('nilai[',i,',',j,']=');readln(a[i,j]);
end;
writeln;
end;
writeln('komponen matriks kedua');
for i:=1 to n do
begin
for j:=1 to l do
begin
write('nilai[',i,',',j,']=');readln(b[i,j]);
end;
writeln;
end;
for i:=1 to m do
begin
for j:=1 to l do
begin
c[i,j]:=0;
for k:=1 to l do
c[i,j]:=c[i,j]+a[i,k]*b[k,j];
end;
end;
writeln;
writeln('hasil perkalian matriks');
writeln;
for i:=1 to m do
begin
writeln;
for j:=1 to l do
write(c[i,j]:5:2);
end;
end.
3.PROCEDURE
Prosedur adalah suatu program terpisah dalam blok sendiri yang berfungsi sebagai sub program, diletakkan di atas bagian pernyataan dan diawali dengan kata procedure
Bentuk Umum: procedure nama_procedure(parameter);
Paramater dalam procedure:
1.Parameter Lokal
Parameter/variabel yang hanya bisa dibaca di sub program saja, tidak bisa digunakan pada bagian pernyataan sehingga program akan mengalami error
2. Parameter Global
Parameter bisa digunakan pada prosedur dan bagian pernyataan
Contoh program:
uses crt;
var a,b:integer;
procedure tambah;
var
a,b,hasil:integer;
begin
hasil:=a+b;
tambah:=hasil;
end;
begin
clrscr;
writeln('masukan niali a:');readln(a);
writeln('masukan nilai b:');readln(b);
tambah;
writeln('Jadi hasil penjumlahan',' ',a,'+ ',' ',b,'adalah',tambah(a,b));
readln;
end.
4.Kumpulan tugas prokom yang dikumpulkan
program Luas_Persegi_Panjang_dan_Kelilingnya;
uses wincrt;
var
panjang:real;
lebar:real;
luas:real;
keliling:real;
begin
write('masukkan panjang =');readln(panjang);
write('masukkan lebar =');readln(lebar);
luas:=panjang*lebar;
keliling:=2*(panjang+lebar);
writeln('Luas=',luas:10:5);
writeln('Keliling=',keliling:10:5);
end.
program Volume_Kubus_dan_Luas_Permukaan_Kubus;
uses wincrt;
var
alas:real;
volume:real;
luas_permukaan:real;
begin
write('masukkan alas =');readln(alas);
volume:=alas*alas*alas;
luas_permukaan:=6*(alas*alas);
writeln('volume=',volume:5:2);
writeln('luas_permukaan=',luas_permukaan:5:2);
end.
Program Luas_Lingkaran_dan_Keliling_Lingkaran;
uses wincrt;
const
phi=3.141596;
var
r:real;
Luas:real;
Keliling:real;
Begin
write ('masukkan jari-jari lingkaran: ');readln(r);
Luas:=(phi*r*r);
Keliling:=(phi*2*r);
writeln ('luas:', Luas:10:3);
writeln ('keliling:', Keliling:10:3);
end.
program Luas_Permukaan_Tabung_dan_Kerucut;
uses wincrt;
const
phi=3.141596;
var
r:real;
t:real;
luas_permukaan_tabung:real;
luas_permukaan_kerucut:real;
begin
write('masukkan jari-jari =');readln(r);
write('masukkan tinggi =');readln(t);
luas_permukaan_tabung:=((2*phi*r*r)+(2*phi*r*t));
luas_permukaan_kerucut:=((2*phi*r*r)+(2*phi*r*t)/3);
writeln('luas_permukaan_tabung=',luas_permukaan_tabung:5:2);
writeln('luas_permukaan_kerucut=',luas_permukaan_kerucut:5:2);
end.
program Luas_Permukaan_Tabung_dan_Kerucut;
uses wincrt;
const
phi=3.141596;
var
r:real;
t:real;
s:real;
luas_permukaan_tabung:real;
luas_permukaan_kerucut:real;
begin
write('masukkan jari-jari =');readln(r);
write('masukkan tinggi =');readln(t);
write('masukkan selimut_kerucut =');readln(s);
luas_permukaan_tabung:=((2*phi*r*r)+(2*phi*r*t));
luas_permukaan_kerucut:=((phi*r*r)+(phi*r*s));
writeln('luas_permukaan_tabung=',luas_permukaan_tabung:5:2);
writeln('luas_permukaan_kerucut=',luas_permukaan_kerucut:5:2);
end.
Program Konversi_Jam_ke_Detik;
uses wincrt;
var jam:real;
detik:real;
begin
write('masukkan jam :');readln(jam);
detik:=jam*3600;
writeln('detik =',detik:10:2);
end.
Program Konversi_Detik_ke_Jam;
uses wincrt;
var detik:real;
jam:real;
begin
write('masukkan detik :');readln(detik);
jam:=detik / 3600;
writeln('jam =',(jam):10:2);
end.
program suhu;
uses wincrt;
var
celcius,kelvin:integer;
fahrenheit:real;
begin
write('masukkan suhu dalam celcius = ');readln(celcius);
fahrenheit:=(9/5*celcius)+32;
kelvin:=celcius+273;
writeln('suhu dalam fahrenheit=',fahrenheit:5:2);
writeln('suhu dalam kelvin=',kelvin);
end.
program Koordinat_Titik_Tengah;
uses wincrt;
var
x1:real;
x2:real;
y1:real;
y2:real;
titik_tengah_x:real;
titik_tengah_y:real;
begin
write('masukkan nilai x1 =');readln(x1);
write('masukkan nilai x2 =');readln(x2);
write('masukkan nilai y1 =');readln(y1);
write('masukkan nilai y2 =');readln(y2);
titik_tengah_x:=((x1+x2)/2);
titik_tengah_y:=((y1+y2)/2);
writeln('titik_tengah_x=',titik_tengah_x:10:5);
writeln('titik_tengah_y=',titik_tengah_y:10:5);
end.
Program Gaji_Karyawan;
uses wincrt;
var
nama_orang:string;
gaji_pokok:real;
tunjangan_istri:real;
tunjangan_anak:real;
pajak:real;
total_gaji:real;
begin
write ('masukkan nama orang =');readln(nama_orang);
write ('masukkan gaji pokok =');readln(gaji_pokok);
tunjangan_istri:=(0.15*gaji_pokok);
tunjangan_anak:=(0.2*gaji_pokok);
pajak:=(0.15*(tunjangan_istri+tunjangan_anak));
total_gaji:=(tunjangan_istri+tunjangan_anak-pajak);
writeln('tunjangan_istri=',tunjangan_istri:10:2);
writeln('tunjangan_anak=',tunjangan_anak:10:2);
writeln('pajak=',pajak:10:2);
writeln('total_gaji=',total_gaji:10:2);
end.
Kamis, 15 Oktober 2009
again
membuat q teringat akan sesal q d kla lalu
smua debu dan pilu tlah berubah terganti oleh ceria
namun sosok mu telah mengusik jiwa yang mungkin tak berujud
ku mulai terbawa alur khdupan
mangapa bayang itu muncul lg d bnak q
q tak ingin lg mengingat msa lalu yang jenuh
biarkan smua terbang tertiup deru angin menyapu
by:chimi's zone

