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 hitungluas(m,a: real; var f : real);
|
f := m * a;
Writeln('Gaya : ', f:2:0);
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. 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.
3. 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.
Buatlah sebuah program dengan menggunakan Bahasa pemrograman Pascal, dengan memanfaatkan penggunaan Prosedure. Dibawah ini ada 10 macam jenis tugas, ambillah nomer yang sesuai dengan no urut absen Anda, Adapun jenis tugasnya adalah sebagai berikut
1. Program menghitung luas lingkaran
2. Program menghitung nilai kuadrat dari sebuah bilangan
3. Program menghitung keliling lingkaran
4. Program menghitung hasil pengurangan dari tiga buah bilangan
5. Program menghitung luas persegi panjang
6. Program menghitung hasil penambahan dari lima bilangan.
7. Program hitung discount, jika diketahui setiap pembelanjaan akan mendapat discount sebesar 10 %
8. Program menghitung laba, jika harga beli dan harga jual diketahui
9. Program hitung umur apabila tahun lahir diketahui
10. Program menampilkan jumlah hari dalam bulan, jika bulan yang dimaksud diketahui.
Ketentuan :
1. Tugas dikumpulkan dengan cara meng upload tugas ke e-learning ini.
2. Copy listing program yang telah anda uji, ke MS Word.File dalam bentuk .doc.
3. Tugas yang dikumpulkan melebihi batas waktu tidak akan dinilai.
4. Tugas yang tidak sesusi dengan no urut absen tidak akan dinilai
Selamat mengerjakan - No Complaint, be happy
1. Program menghitung luas lingkaran
2. Program menghitung nilai kuadrat dari sebuah bilangan
3. Program menghitung keliling lingkaran
4. Program menghitung hasil pengurangan dari tiga buah bilangan
5. Program menghitung luas persegi panjang
6. Program menghitung hasil penambahan dari lima bilangan.
7. Program hitung discount, jika diketahui setiap pembelanjaan akan mendapat discount sebesar 10 %
8. Program menghitung laba, jika harga beli dan harga jual diketahui
9. Program hitung umur apabila tahun lahir diketahui
10. Program menampilkan jumlah hari dalam bulan, jika bulan yang dimaksud diketahui.
Ketentuan :
1. Tugas dikumpulkan dengan cara meng upload tugas ke e-learning ini.
2. Copy listing program yang telah anda uji, ke MS Word.File dalam bentuk .doc.
3. Tugas yang dikumpulkan melebihi batas waktu tidak akan dinilai.
4. Tugas yang tidak sesusi dengan no urut absen tidak akan dinilai
Selamat mengerjakan - No Complaint, be happy
Tidak ada komentar:
Posting Komentar