1. Pendahuluan
Dalam pemrograman, bila ukuran dan kompleksitas program adalah kecil, maka tidak masalah bila digunakan metode pengkodean konvensional yang bersifat monolitik. Tetapi bilamana program menjadi semakin besar dan kompleks, metode monolitik akan sangat mempersulit pemrograman serta modifikasi program, belum lagi pelacakan bila terjadi masalah. Pembuatan program dengan beragam fungsi dan kemampuan juga akan sulit, karena harus selalu memperhatikan keseluruhan program.
Untuk itu diperlukan metode pemrograman yang bersifat modular, dimana pembuat program dapat memisahkan proses-proses tertentu ke suatu bagian dari program yang terpisah. Pemisahan ini memungkinkan pengembangan program yang kompleks menjadi lebih mudah, karena proses tertentu telah diisolasi sehingga memperkecil kompleksitas kode program secara keseluruhan. Dalam Pascal, salah satu cara untuk melakukan pemisahan adalah dengan menggunakan prosedur.
Prosedur adalah kode pemrosesan terpisah yang diletakkan dalam blok tersendiri yang berfungsi sebagai subprogram (program yang merupakan bagian dari program keseluruhan). Dengan adanya prosedur, program dapat menjadi lebih mudah dibuat dan lebih mudah dipahami sehingga lebih mudah dikembangkan. Karena prosedur juga mengakomodasi pemberian dan pengembalian nilai, maka program keseluruhan juga akan tetap dapat melakukan manipulasi nilai seperti halnya program monolitik.
2. Kata cadangan yang digunakan
Program : spesifikasi nama program dan parameternya, bersifat dekoratif dan tidak terlalu mempengaruhi keseluruhan program itu sendiri
Uses : mendefinisikan nama unit yang akan direferensi oleh program
Var : menghubungkan sebuah identifier dan tipenya dengan suatu lokasi di memori dimana nilai-nilai dari tipe tersebut dapat disimpan
Begin : memulai suatu blok program
End : mengakhiri suatu blok program
Procedure : bagian dari program yang menjalankan suatu proses spesifik, seringkali berdasarkan suatu himpunan parameter
If : menyebutkan kondisi untuk suatu statemen agar dapat dieksekusi
Then : menyebutkan statemen aksi yang harus dijalankan saat kondisi terpenuhi
Repeat : mendefinisikan statemen atau blok statemen yang akan terus diulang sampai keadaan perhentiannya dipenuhi
Until : mendefinisikan keadaan perhentian untuk perulangan yang dimulai dengan Repeat
Case : menyebutkan statemen ekspresi yang akan mencari kondisi yang sesuai berdasarkan pilihan statemen kondisi yang tersedia
Of : kata cadangan yang digunakan bersama Case untuk menyebutkan pilihan kondisi yang sesuai serta aksi yang akan dijalankan apabila suatu kondisi terpilih
Do : digunakan untuk menyebutkan aksi yang akan dilakukan
For : mendefinisikan nilai awal perulangan
To : mendefinisikan nilai akhir perulangan (perulangan positif)
Record : digunakan untuk mendeklarasikan record berisi kumpulan data dari berbagai tipe data
Type : digunakan untuk mendeklarasikan suatu identifier yang memiliki tipe data tertentu
3. Prosedur yang digunakan
Write : menuliskan suatu variabel ke dalam sebuah komponen file, dalam file teks digunakan untuk menuliskan satu nilai atau lebih ke suatu file
Writeln : mengeksekusi prosedur write, kemudian mengeluarkan sebuah penanda end-of-line (EOL) ke file program
Read : membaca suatu komponen file menjadi suatu variabel, dalam file teks digunakan untuk membaca satu nilai atau lebih menjadi satu atau lebih variabel
Readln : mengeksekusi prosedur read, kemudian bergerak ke baris berikutnya dalam file program
Clrscr : membersihkan layar dan mengembalikan kursor ke pojok kiri atas
4. Contoh Program
a. Program pertama
Program m7c1;
uses wincrt;
var
pil : char;
procedure menu;
begin
clrscr;
writeln ('MENU');
writeln ('1. Bakso');
writeln ('2. Bakmi');
writeln ('3. Siomay');
writeln ('4. Soto');
writeln ('0. Bayar');
end;
procedure kerja (n:char);
begin
case n of
'1': begin
write ('Pesan Bakso'); readln;
end;
'2': begin
write ('Pesan Bakmi'); readln;
end;
'3': begin
write ('Pesan Siomay'); readln;
end;
'4': begin
write ('Pesan Soto'); readln;
end;
'0': begin
writeln ('Bayar dan bye');
end;
end;
end;
begin
repeat
menu;
writeln;
write ('Pilihan anda? '); readln (pil);
kerja (pil);
until pil = '0';
end.
a. Program ke-dua
Program m7c2;
uses wincrt;
var
a, b : integer;
procedure tukar(x,y: integer);
var
bantu : integer;
begin
writeln ('Urutan awal: ',x,' ',y);
bantu := x;
x := y;
y := bantu;
writeln ('Dibalik: ',x,' ',y);
end;
begin
write ('Masukkan nilai pertama: ');
readln (a);
write ('Masukkan nilai ke-dua: ');
readln (b);
tukar (a,b);
writeln ('Urutan dalam program utama: ',a,' ',b);
end.
b. Program ke-tiga
Program m7c3;
uses wincrt;
var
x : integer;
procedure rcv(n,m:integer);
begin
writeln (x:5, n:5, m:5);
if n < m then
begin
x := x + 1;
rcv (n+1,m-3);
rcv (n+3,m-1);
end;
end;
begin
x:=0;
rcv (5,15);
writeln (x);
end.
c. Program ke-empat
Program m7c4;
uses wincrt;
const
maks = 25;
type
matriks = record
baris, kolom : byte;
elemen : array [1..maks, 1..maks] of integer;
end;
procedure masukan (var a: matriks);
var
i, j: byte;
begin
write ('Jumlah baris: ');
readln (a.baris);
write ('Jumlah kolom: ');
readln (a.kolom);
for i := 1 to a.baris do
for j := 1 to a.kolom do
begin
write ('Elemen [', i, ', ', j, '] = ');
readln (a.elemen[i,j]);
end;
end;
procedure keluaran (a: matriks);
var
i, j: byte;
begin
for i := 1 to a.baris do
begin
for j := 1 to a.kolom do
write (a.elemen[i,j]:3);
writeln;
end;
end;
procedure jumlahkan (a,b: matriks; var c: matriks);
var
i, j: byte;
begin
if (a.baris <> b.baris) or (a.kolom <> b.kolom) then
begin
writeln ('Matriks tidak cocok');
exit;
end;
c.baris := a.baris;
c.kolom := a.kolom;
for i := 1 to a.baris do
for j := 1 to a.kolom do
c.elemen[i,j] := a.elemen[i,j] + b.elemen [i,j];
end;
var
a, b, c : matriks;
begin
writeln ('Masukkan matriks A');
masukan (a);
writeln;
writeln ('Masukkan matriks B');
masukan (b);
writeln;
writeln ('A = ');
keluaran (a);
writeln ('B = ');
keluaran (b);
writeln ('A + B = ');
jumlahkan (a,b,c);
keluaran (c);
end.
5. Tampilan Semua Program
Program pertama
Program ke-dua
Program ke-tiga
Program ke-empat
6. Latihan
a. Perhatikan baik-baik cara membuat menu dalam contoh pertama tersebut, dan cobalah untuk berkreasi dengan membuat program pada bagian latihan dari modul 1 tetapi kali ini dipecahkan menjadi prosedur.
b. Coba buatlah supaya pemanggilan by value pada contoh ke-dua Anda jadikan sebagai pemanggilan by reference. Lihatlah hasilnya.
c. Berlatihlah untuk memahami bagaimana cara kerja program contoh ke-tiga. Pemahaman atas contoh ini akan membuat Anda mengetahui dengan lebih baik tentang logika pemanggilan prosedur dengan suatu nilai, dan kemampuan prosedur untuk memanggil dirinya sendiri.
Alhamdulillah, Telah selesai pembahasan materi Pascal ini,,lumayan capek che, tapi seneng
tak lupa rasa terimakasih kepada semua temen-temen/Areg prodi SIM yg telah mendukung pembuatan blog nie,Khususnya Kosma kita <Iconk> gag lelah2nya memberi support dan Ilmunya terhadap kami...OH y hampir lupa rasa Trima kasih buat Masdaf yg udah membimbing kami dari yg mula_nya NOL tapi sekarang lumayan lah udah bisa buat yang kaya' beginian. ahahahahahah
Pokoknya......Terima kasih smw
No comments:
Post a Comment