http://www.adjiadja.jimdo.com
Procedure,Function,Record Algoritma Pascal
Page
1
12 1
Contoh Program menampilkan kata menggunakan Procedure program menampilkan; uses wincrt; procedure tampil; begin writeln('Hallo Kawan'); writeln('Apa Kabar?'); end; begin tampil; end. Contoh Program menentukan nilai rata-rata menggunakan Procedure program ratarata; uses wincrt; var bil1,bil2,hasil:real; procedure tambah(a,b:real; var c:real); begin c:=a+b; end; begin write('masukan nilai pertama:');readln(bil1); write('masukan nilai kedua:');readln(bil2); tambah(bil1,bil2,hasil); write('Rata-ratanya ',hasil/2:0:2); end.
Page
program penjumlahan; uses wincrt; var bil1,bil2,hasil:integer; procedure tambah(a,b:integer; var c:integer); begin c:=a+b;
2
Contoh Program Penjumlahan menggunakan Procedure
2
end; begin write('masukan nilai pertama:');readln(bil1); write('masukan nilai kedua:');readln(bil2); tambah(bil1,bil2,hasil); write('hasil dari ',bil1,'+',bil2,'=',hasil); end. Contoh Program menampilkan bintang menggunakan Procedure program menampilkan_bintang; uses wincrt; var i:integer; procedure tampil(n:integer); begin for i:=1 to n do begin write('* '); end; writeln; end; begin tampil(1); tampil(2); tampil(3); tampil(4); tampil(5); end.
Page
program menghitung_gaya; uses wincrt; var massa,percepatan,gaya:real; procedure hitunggaya(m,a:real; var f:real); begin f:=a*m; end; begin write('masukan massa:');readln(massa); write('masukan percepatan:');readln(percepatan); hitunggaya(massa,percepatan,gaya); write(gaya:0:2); end.
3
Contoh Program menghitung gaya menggunakan Procedure
3
Contoh Program menentukan nilai rata-rata dari keempat bilangan menggunakan Procedure program rataratarata; uses wincrt; var bil1,bil2,bil3,bil4,hasil:real; procedure tampil(a,b:real; var c:real); begin c:=a+b; end; begin write('masukan bil1:');readln(bil1); write('masukan bil2:');readln(bil2); write('masukan bil3:');readln(bil3); write('masukan bil4:');readln(bil4); tampil(bil1,bil2,hasil); tampil(hasil,bil3,hasil); tampil(hasil,bil4,hasil); writeln('hasil: ',hasil:0:2); writeln('rata-rata :',hasil/2:0:2); end. Contoh Program input nama menggunakan Procedure
Contoh Program menentukan luas segitiga menggunakan Procedure
Page
4
program input; uses wincrt; procedure inputnama(var nm:string); begin write('masukan nama anda : ');readln(nm); end; procedure tampilnama(nm:string); begin write('hello ',nm); end; var nama:string; begin inputnama(nama); tampilnama(nama); end.
4
program luassegitiga; uses wincrt; procedure inputan(alas:integer; tinggi:integer;var luas:real); begin write('masukan alas :');readln(alas); write('masukan tinggi :');readln(tinggi); luas:=alas*tinggi/2; end; var a,t:integer; luas:real; begin inputan(a,t,luas); write('Luas segitiga adalah :',luas:0:2); end. Program menghitung total pembayaran program Total_Bayar ; uses wincrt; var Pembelian : Real; Discount : Real; Bayar : Real; procedure hitung(a : real); begin if a >= 100000 then begin Discount := a * 0.2; end else begin Discount := 0; end; Bayar := a - Discount ; end; begin write('Inputkan nominal pembelanjaan : '); readln(Pembelian); writeln;
writeln('Nominal pembelian = ', Pembelian:0:0);
Page
5
hitung(Pembelian);
5
writeln('Nominal Discount = ', Discount:0:0); writeln('Uang yang harus dibayarkan = ', Bayar:0:0); end.
Program menghitung total gaji program Hitung_Total_Gaji ; uses Wincrt; var Golongan : Char; Gaji_Pokok : Longint; N_Anak : integer; Tunjangan_Anak : Longint; Total_Gaji : Longint; procedure Input; begin Write('Inputkan Golongan Pegawai : '); readln(Golongan); Write('Inputkan Jumlah Anak : '); readln(N_Anak); Writeln; end;
Page
if b = 1 then begin Tunjangan_Anak := 500000; end else if b >= 2 then begin Tunjangan_Anak := 1000000; end else begin Tunjangan_Anak := 0;
6
procedure hitung(a : char; b : integer); begin case a of '1' : Gaji_Pokok := 2000000; '2' : Gaji_Pokok := 3000000; '3' : Gaji_Pokok := 4000000; '4' : Gaji_Pokok := 5000000; end;
6
end; Total_Gaji := Gaji_Pokok + Tunjangan_Anak ; end; begin Input; hitung(Golongan, N_Anak); writeln('Besar Gaji Pokok = ', Gaji_Pokok); Writeln('Besar Tunjangan Anak = ', Tunjangan_Anak); Writeln('Besar Total Gaji = ', Total_Gaji); end.
Program Penjumlahan nilai X dan Y
Page
Program menghitung keliling lingkaran dengan n buah lingkaran
7
program penjumlhanXY; uses wincrt; var bil1,bil2:integer; hasil1,hasil2,jumlah:integer; procedure tambah(a,b:integer; var c,d,e:integer); begin c:=a+7; d:=b+7; e:=c+d; end; begin writeln('masukan nilai X dan Y !'); write('masukan nilai X:');readln(bil1); write('masukan nilai Y:');readln(bil2); tambah(bil1,bil2,hasil1,hasil2,jumlah); writeln; writeln('Nilai x dan y setelah ditambah 7:'); writeln('nilai X : ',hasil1); writeln('nilai Y : ',hasil2); writeln; writeln('Hasil dari ',hasil1,' + ',hasil2,' = ',jumlah); end.
7
program kelilinglingkaran; uses wincrt; var jari,b,i,n:integer; hasil:real; procedure keliling(a:integer ; var c); begin hasil:=2*3.14*a; end; begin writeln('======================================'); writeln(' =======KELILING LINGKARAN======='); writeln('======================================'); write('masukan jumlah lingkaran yang akan anda hitung:');readln(n); write('anda memilih menghitung ',n,' buah lingkaran!'); writeln; for i:=1 to n do begin writeln; writeln('------------------------------------------------'); write('masukan jari-jari lingkaran = ');readln(jari); keliling(jari,hasil); writeln('Keliling Lingkaran ',i,' = ',hasil:0:2); writeln('------------------------------------------------'); end; writeln('selesai'); end. Program menentukan tahun kabisat
Page
Program penjumlahan nilai X dan Y bagian ke 2
8
program tahunkabisat; uses wincrt; var y:integer; procedure kabisat(year:integer); begin if (year mod 4=0) then writeln(year,' tahun kabisat') else writeln(year,' bukan tahun kabisat : '); end; begin write('masukan tahun :');readln(y); kabisat(y); end.
8
program nilaxy; uses wincrt; var x,y :integer; procedure tambahempat(var x,y :integer); var z:integer; begin x:=x+4; y:=y+4; writeln('nilai x dan y setelah ditambah 4:'); writeln('x=',x); writeln('y=',y); writeln; z:=x+y; writeln('hasil x+y =',z); end; begin writeln('masuka nilai !'); write('inputkan bilangan x =');readln(x); write('inputkan bilangan y =');readln(y); writeln; tambahempat(x,y); end. Program diskon program belanjaaaa; uses wincrt; var nominal:longint; diskon,hasil:real; procedure tampil(n:longint ; var d,h:real); begin d:=(n*0.2); h:=n-d; end;
write('masukan nominal: Rp.');readln(nominal);
Page
9
begin
9
writeln; writeln('nominal pembelian: Rp.',nominal); if nominal>=100000 then tampil(nominal,diskon,hasil); writeln('Nominal Diskon: Rp.',diskon:0:2); writeln('Uang yang harus dibayarkan: Rp.',hasil:0:2);
Page
10
end.
10
Contoh Program Menampilkan ilkan garis menggunakan function program menampilkan; uses wincrt; function tampil:string; begin tampil:='============'; end; begin writeln(tampil); writeln('pascal'); writeln(tampil); end.
Contoh Program penjumlahan han m menggunakan function program menampilkan; uses wincrt; var bil1,bil2:integer; function tambah(a,b:integer):real; ):real; begin tambah:=a+b; end; begin write('masukan nilai pertamaa :');re :');readln(bil1); write('masukan nilai kedua :');rea :');readln(bil2); writeln('Hasilnya :',tambah(bil1,bi bil1,bil2):0:2); end.
Page
program ratarata; uses wincrt; var bil1,bil2:integer; function tambah(a,b:integer):real; ):real;
11
Contoh Program Menentukan kan n nilai rata-rata menggunakan function
11
begin tambah:=a+b; end; begin write('masukan nilai pertama :');readln(bil1); write('masukan nilai kedua :');readln(bil2); writeln('Hasilnya :',tambah(bil1,bil2):0:2); writeln('Rata-Rata :',tambah(bil1,bil2)/2:0:2); end.
Contoh Program Menentukan nilai terbesar menggunakan function program nilaiterbesar; uses wincrt; Function terbesar(x,y : real ):real; Begin If x>y Then Terbesar :=x Else Terbesar :=y; End ; Var bil1,bil2 : real; Begin Write('Nilai pertama =' ); readln (bil1) ; Write('Nilai kedua = ' ); readln (bil2) ; Writeln('Nilai terbesar adalah =', Terbesar (bil1, bil2):0:2) ; End.
Page
program faktoriall; uses wincrt; Function Faktorial(Nilai:integer):real; Begin If Nilai = 0 Then Faktorial := 1 Else Faktorial := Nilai * Faktorial (Nilai - 1 ) ; End ; Var N : integer ;
12
Contoh Program Faktorial menggunakan function
12
Begin Write ('Berapa factorial = ') ; Readln (N) ; Writeln ('faktorial dari ',N,' = ', Faktorial(N) :2:0 ) ; End.
Contoh Program menghitung luas segitiga menggunakan function program luassegitigaa; uses wincrt; function luassegitiga(alas:integer;tinggi:integer):real; var luas:real; begin luas:=alas*tinggi/2; luassegitiga:=luas; end; var a,t:integer; luas:real; begin write('masukan alas:');readln(a); write('masukan tinggi:');readln(t); write('Luas segitiga adalah:',luassegitiga(a,t):0:2); end.
Program penjumlahan deret program Latihan_1; uses wincrt; var
Page
function jumlah_deret(a : integer):longint; var jumlah : longint; i : integer; begin jumlah := 0; for i := 1 to n do begin write(i,' '); jumlah := jumlah + i;
13
N : integer;
13
end; write(' = '); jumlah_deret := jumlah; end; begin write('Inputkan Batas Akhir Deret : '); readln(N); writeln; writeln(jumlah_deret(N)); end.
Program menukar rupiah ke dollar program Latihan_2; uses wincrt; var rp,kurs : longint; function dollar(a,b : longint):longint; begin dollar := a div b; end; function sisa(a,b : longint) : longint; begin sisa := a mod b; end; begin write('Inputkan Nilai Uang yang ingin ditukar : '); readln(rp); write('Inputkan Kurs Dollarr : '); readln(kurs); writeln; writeln('Dollar = ',dollar(rp,kurs)); writeln('Sisa = ', sisa(rp,kurs)); end.
Page
program Latihan_3; uses wincrt; var Golongan : Char; N_Anak : integer; Gaji_Pokok, Tunjangan_Anak, Total_Gaji : Longint;
14
Program menghitung total gaji
14
function Hitung_Gaji_Pokok(a : char):longint; begin case a of '1' : Hitung_Gaji_Pokok := 2000000; '2' : Hitung_Gaji_Pokok := 3000000; '3' : Hitung_Gaji_Pokok := 4000000; '4' : Hitung_Gaji_Pokok := 5000000; end; end; function Hitung_Tunjangan(a : integer):longint; begin if a = 1 then begin Hitung_Tunjangan := 500000; end else if a >= 2 then begin Hitung_Tunjangan := 1000000; end else begin Hitung_Tunjangan := 0; end; end; procedure Input; begin write('Inputkan Golongan/Pangkat : '); readln(Golongan); write('Inputkan Jumlah Anak : '); readln(N_Anak); writeln; end; begin Input; Writeln('Gaji Pokok = ', Hitung_Gaji_Pokok(Golongan)); Writeln('Tunjangan Anak = ', Hitung_Tunjangan(N_Anak)); Writeln('Total Gaji = ',Hitung_Gaji_Pokok(Golongan) + Hitung_Tunjangan(N_Anak)); end.
Page
program tahunkabisattt; uses wincrt; function kabisat (year:integer):boolean; begin kabisat := (year mod 4=0) and ((year mod 100 <> 0) or (year mod 400 = 0));
15
Program menentukan tahun kabisat
15
end; var y:integer; begin write('Masukan tahun: ');readln(y); if (kabisat(y)) then writeln(y, ' tahun kabisat') else writeln(y, ' bukan tahun kabisat'); end.
Program koncersi suhu
Page
16
program konversisuhu; uses wincrt; var f:real; function suhu:real; var c:real; begin c:=5/9*(f-32); writeln; writeln('jadi suhu dalam celcius adalah: ',c:4:2); end; begin writeln('Program konversi Fahrenheit ke celcius '); writeln('======================================='); writeln; write('masukan suhu dalam fahrenheit : ');readln(f); suhu; end.
16
Program menampilkan Data ta ma mahasiswa
program DataMahasiswa; uses wincrt; type Mahasiswa = record NIM : String; Nama : String; Alamat : String; Umur : integer; end; var Mhs1, Mhs2 : Mahasiswa; begin Writeln('Data Mahasiswa 1 '); Write('Inputkan NIM : '); Readln(Mhs1.NIM); Write('Inputkan Nama : '); Readln(Mhs1.Nama); Write('Inputkan Alamat : '); Readln(Mhs1.Alamat); Write('Inputkan Umur : '); Readln(Mhs1.Umur); Writeln;
Page
Writeln('Data Mahasiswa 1 '); Writeln(Mhs1.NIM); Writeln(Mhs1.Nama);
17
Writeln('Data Mahasiswa 2 '); Write('Inputkan NIM : '); Readln(Mhs2.NIM); Write('Inputkan Nama : '); Readln(Mhs2.Nama); Write('Inputkan Alamat : '); Readln(Mhs2.Alamat); Write('Inputkan Umur : '); Readln(Mhs2.Umur); Writeln;
17
Writeln(Mhs1.Alamat); Writeln(Mhs1.Umur); Writeln; Writeln('Data Mahasiswa 2 '); Writeln(Mhs2.NIM); Writeln(Mhs2.Nama); Writeln(Mhs2.Alamat); Writeln(Mhs2.Umur); Writeln; end.
Page
program HitungLuas2Persegi; uses wincrt; type Persegi = record panjang : integer; lebar : integer; luas : longint ; end; var Persegi1, Persegi2 : Persegi; TotalLuas : LongInt; begin Writeln('Data Persegi Panjang 1 '); Write('Inputkan Panjang : '); Readln(Persegi1.panjang); Write('Inputkan Lebar : '); Readln(Persegi1.lebar); Writeln; Writeln('Data Persegi Panjang 2 '); Write('Inputkan Panjang : '); Readln(Persegi2.panjang); Write('Inputkan Lebar : '); Readln(Persegi2.lebar); Writeln; Persegi1.luas := Persegi1.panjang * Persegi1.lebar; Persegi2.luas := Persegi2.panjang * Persegi2.lebar; TotalLuas := Persegi1.luas + Persegi2.luas; Writeln('Luas Persegi Panjang 1 = ', Persegi1.luas);
18
Program menghitung luas dua buah persegi panjang
18
Writeln('Luas Persegi Panjang 2 = ', Persegi2.luas); Writeln('Total Luas = ', TotalLuas); end.
Page
program HitungSelisihWaktu; uses wincrt; type Waktu = record jam : integer; menit : integer; end; var W1, W2 : Waktu; Selisih : Waktu; begin Writeln('Waktu Awal '); Write('Inputkan Jam Awal : '); Readln(W1.jam); Write('Inputkan Menit Awal : '); Readln(W1.menit); Writeln; Writeln('Waktu Akhir '); Write('Inputkan Jam Akhir : '); Readln(W2.jam); Write('Inputkan Menit Akhir : '); Readln(W2.menit); Writeln; if W2.menit < W1.menit then begin Selisih.menit := (w2.menit + 60) - w1.menit; w2.jam := w2.jam - 1; end else begin Selisih.menit := w2.menit - w1.menit; end; Selisih.jam := w2.jam - w1.jam ; Writeln('Selisih Jam = ', Selisih.jam); Writeln('Selisi Menit = ',Selisih.menit); end.
19
Program menghitung selisih waktu
19
program penjumlahan; uses wincrt; type tambah = record bil1 : integer; bil2 : integer; hasil1 : integer; hasil2 :integer; end; var a,b,c : tambah; begin writeln('penjumlahan 1'); write('masukan bilangan pertama :');readln(a.bil1); write('masukan bilangan kedua:');readln(a.bil2); writeln; writeln('penjumlahan 2'); write('masuka bilangan pertama:');readln(b.bil1); write('masukan bilangan kedua:');readln(b.bil2); writeln; c.hasil1:=a.bil1+a.bil2;
Page
writeln('penjumlahan pertama');
20
c.hasil2:=b.bil1+b.bil2;
20
writeln('hasil dari ',a.bil1,' + ',a.bil2,' = ',c.hasil1); writeln; writeln('penjumlahan kedua'); writeln('hasil dari ',b.bil1,' + ',b.bil2,' = ',c.hasil2);
Page
21
end.
21