Modul 1
PROSEDUR
1.
Pendahuluan
Seperti yang sudah dipelajari pada
Mata Kuliah Algoritma dan Pemrograman 1 tentang teknik bagaimana menyelesaikan
suatu permasalahan, dimana suatu permasalahan hendaknya dapat dibagi bagi
terlebih dahulu menjadi submasalah submasalah dengan tujuan agar permasalahan
tersebut tampak lebih sederhana dan dapat dipecahkan modul permodul
Berkaitan dengan hal diatas, Teknik menggunakan Prosedur
ini dapat dijadikan sebagai salah satu
cara mengimplementasikan pemecahan suatu Submasalah. Sebuah prosedur memiliki
nama prosedur dan parameter ataupun tanpa parameter. Parameter dalam prosedur
diimplementasikan dengan cara mendeklarasikan
variable lokal beserta tipe datanya. Sebuah prosedur dapat digunakan
berkali kali dan memungkinkan untuk menggunakan parameter yang berbeda selama
sesuai dengan tipe data yang telah dideklarasikan.Prosedur merupakan bagian yang terpisah dari
program dan dapat diaktifkan dimanapun didalam program. Prosedur dibuat sendiri bilamana program akan dibagi-bagi menjadi
beberapa blok-blok modul. Prosedur dibuat didalam program dengan cara
mendeklarasikannya dibagian deklarasi prosedur. Menggunakan kata cadangan Procedure.
2.
Tujuan
Instruksional Umum
- Mengetahui komponen utama dalam pemrograman prosedural
3.
Tujuan
Instruksional Khusus
- Memahami dan mampu membuat program(algoritma) yang modular melalui prosedur.
- Memahai penggunaan parameter dan jenis-jenisnya, serta dapat menerapkan dengan tepat dalam sebuah prosedur.
4.
Kegiatan
Praktikum
1.
Pendeklarasian prosedur
Prosedur mempunyai nama dan baris baris statement yang
merupakan implementasi prosedur tersebut. Sebuah prosedur juga dapat mempunyai
satu atau lebih parameter dan kadangkala kita pun dapat mendeklarasikan sebuah
prosedur tanpa parameter. Parameter dalam prosedur dapat dibagi menjadi 2,
yaitu Parameter Input dan Parameter Output Pendeklarasian prosedur artinya
menuliskan nama prosedur, mendeklarasikan nama-nama konstanta, variabel dan
tipe (jika ada), dan menjabarkan rangkaian statement yang dilakukan. Aturan
penamaan prosedur sama dengan aturan penamaan variable. Seperti sudah
dijelaskan diatas bahwa prosedur tidak harus memiliki parameter, prosedur tanpa
parameter dapat mendapatkan masukan berupa konstanta atau variable global, dan
dapat menghasilkan keluaran yang diisikan kepada variable global juga
1.1 Prosedur Tanpa Parameter
Notasi algoritmik dan notasi
bahasa Pascal untuk mendefinisikan prosedur adalah:
Notasi Algoritmik
|
Notasi Bahasa Pascal
|
procedure NamaProsedur
|
procedure NAMA_PROSEDUR;
|
ALGORITMA :
{ badan prosedur, berisi urutan instruksi}
|
(*ALGORITMA*)
begin
{ badan prosedur, berisi urutan instruksi}
end;
|
Contoh Kasus:
Diinginkan sebuah aplikasi
mampu menampilkas tulisan seperti dibawah ini
Maka aplikasi diatas dapat
diselesaikan dengan program dibawah ini
Tanpa Prosedur
|
Menggunakan Prosedur
|
Program Pro_TulisString;
uses
wincrt;
Begin
Writeln('Selamat Datang');
Writeln('Mahasiswa');
Writeln('STMIK IKMI Cirebon');
Writeln;
Writeln('Selamat Datang');
Writeln('Mahasiswa');
Writeln('STMIK IKMI Cirebon');
Writeln;
Writeln('Selamat Datang');
Writeln('Mahasiswa');
Writeln('STMIK IKMI Cirebon');
Writeln;
End.
|
Program Pro_TulisString;
uses
wincrt;
procedure TulisKata;
Begin
Writeln('Selamat Datang');
Writeln('Mahasiswa');
Writeln('STMIK IKMI Cirebon');
Writeln;
End;
Begin
TulisKata;
TulisKata;
TulisKata;
End.
|
Contoh diatas menggambarkan
bahwa penggunaan prosedur akan berdampak alur program tampak lebih logis dan
efisien
1.2 Prosedur Melibatkan Parameter Input
Notasi algoritmik dan notasi
bahasa Pascal untuk mendefinisikan prosedur yang melibatkan Parameter Input
adalah:
Notasi Algoritmik
|
Notasi Bahasa Pascal
|
procedure
NamaProsedur(ParameterInput);
|
procedure NamaProsedur(NamaVariabel :
Tipedata);
|
DEKLARASI
NamaVariabel :
TipeData ;
|
var
NamaVariabel : TipeData
|
ALGORITMA :
{ badan prosedur, berisi urutan instruksi}
|
(*ALGORITMA*)
Begin
{ badan prosedur, berisi urutan instruksi}
End;
|
Contoh Kasus:
Program
menampilkan karakter bintang
Penyelesaian
Program Proc_KarakterBintang;
uses
wincrt;
procedure TulisBintang(n : integer);
var
i : integer;
Begin
|
Begin
Write('* ');
End;
Writeln;
End;
Begin
|
|
TulisBintang(4);
TulisBintang(5);
TulisBintang(6);
TulisBintang(7);
End.
Jika
dijalankan akan menghasilkan Output seperti Ini
1.2 Prosedur Melibatkan Parameter Input dan
Output
Notasi algoritmik dan notasi
bahasa Pascal untuk mendefinisikan prosedur yang melibatkan Parameter Input dan
Output adalah:
Notasi Algoritmik
|
procedure
NamaProsedur(ParameterInput; var ParameterOutput);
|
var
NamaVariabel : TipeData
|
ALGORITMA :
{ badan prosedur, berisi urutan instruksi}
|
Notasi Pascal
|
procedure
NamaProsedur(ParameterInput; var ParameterOutput);
|
DEKLARASI
NamaVariabel :
TipeData ;
|
(*ALGORITMA*)
Begin
{ badan prosedur, berisi urutan instruksi}
End;
|
Contoh Kasus:
Program menghitung besar Gaya
jika nilai Massa(m) dan Percepatan(a) diketahui. Dengan Rumus f = m x a
Penyelesaian
program proc_hitung_gaya;
uses
wincrt;
Var
massa, percepatan, gaya : real;
procedure hitunggaya(m,a: real; var f :
real);
|
f := m * a;
End;
Begin
Write('Masukkan
Massa : ');
|
Write('Masukkan
Percepatan : ');
readln(percepatan);
|
write(gaya:2:0);
End.
Latihan
1. Buatlah prosedur untuk menambahkan 2 buah
bilangan. Deklarasikan sebuah prosedur untuk menambahkan 2 buah bilangan dan
untuk menyimpan hasilnya.
Output yang diinginkan :
Penyelsesaian
program proc_rerata2bilangan;
uses
wincrt;
Var
Bil1, Bil2,Hasil : real;
procedure Tambah(a,b: real; var Result : real);
Begin
Result := a + b;
End;
Begin
Write('Masukkan Bilangan 1 : ');
readln(Bil1);
Write('Masukkan Bilangan 2 : ');
readln(Bil2);
Tambah(Bil1,Bil2,Hasil);
Writeln('Hasil Penjumlahan 2 Bilangan : ',
Hasil:2:0);
Writeln('Rata ratanya adalah : ',
Hasil/2:1:1);
End.
2. Buatlah prosedur untuk menghitung luas
Lingkaran
Penyelesaian :
PROGRAM
luas_lingkaran;
USES
wincrt;
var
r : integer;
luas : real;
procedure
hitung_luas(r : integer);
Begin
luas := 3.14 * sqr(r);
writeln('Luas = ', luas:0:2);
End;
procedure
input_data;
Begin
write('Inputkan nilai r : ');
readln(r);
End;
BEGIN
input_data;
hitung_luas(r);
hitung_luas(7);
END.
3. Dengan menggunakan prosedur yang sama
seperti pada soal No 1, modifikasilah blok pendeklarasian variabel global dan
blok program utama diatas agar mampu menghitung rata rata dari 4 buah bilangan
( Ingat, deklarasi prosedur biarkan tetap sama). Ini akan melatih anda
bagaimana teknik pemanggilan prosedur dalam Blok program utama.
Output yang diinginkan :
Penyelsesaian
program proc_rerata4bilangan;
uses
wincrt;
Var
Bil1, Bil2, Bil3, Bil4,Hasil : real;
procedure
Tambah(a,b: real; var Result : real);
Begin
Result := a + b;
End;
Begin
Write('Masukkan Bilangan 1 : ');
readln(Bil1);
Write('Masukkan Bilangan 2 : ');
readln(Bil2);
Write('Masukkan Bilangan 3 : ');
readln(Bil3);
Write('Masukkan Bilangan 4 : ');
readln(Bil4);
Tambah(Bil1,Bil2,Hasil);
Tambah(Hasil,Bil3,Hasil);
Tambah(Hasil,Bil4,Hasil);
Writeln('Hasil Penjumlahan 4 Bilanagn : ',
Hasil:2:0);
Writeln('Rata ratanya adalah : ',
Hasil/4:2:0);
End.
4.
Buatlah
sebuah program yang menampilkan deret bilangan dari mulai 1 sampai dengan N,
dan deklarasikan sebuah prosedur yang mampu mengklasifikasikan bilangan
tersebut masuk kedalam kategori bilangan Genap atau Ganjil.
Output yang diinginkan :
Penyelsesaian
program proc_Klasifikasi_Deret;
uses
wincrt;
Var
Kategori : String;
i,N : integer;
procedure
Klasifikasikan(a : integer; Var result : String);
Begin
If a mod 2 = 0 then
result := 'GENAP'
Else
result := 'GANJIL';
End;
Begin
Write('Masukkan nilai Maksimum Deret : ');
readln(N);
For i := 1 to N do
Begin
write(' ( ',i);
Klasifikasikan(i,Kategori);
write('-',Kategori,' )');
End;
End.
0 Comment to "pascal tentang procedure"
Posting Komentar