Selasa, 08 Desember 2009

PEMROGRAMAN KOMPUTER

1.Pengertian rekursi
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

program fak;
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;

var

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.



Tidak ada komentar:

Posting Komentar