Jumat, 11 Mei 2012

pascal tentang procedure


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
Pendeklarasian Prosedur
 
  for i := 1 to n do
  Begin
   Write('* ');
  End;
  Writeln;
 End;
Begin
Pemanggilan Prosedur
 
Program Utama
 
TulisBintang(3);
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);
Pendeklarasian Prosedur
 
 Begin
      f := m * a;
     
 End;
Begin
 Write('Masukkan Massa : ');
Program Utama
 
 readln(massa);
 Write('Masukkan Percepatan : ');
 readln(percepatan);
Pemanggilan Prosedur
 
 hitunggaya(massa, percepatan, gaya);
 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.

Share this

0 Comment to "pascal tentang procedure"

Posting Komentar