Modul 1 ALGORITMA


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 hitungluas(m,a: real; var f : real);
Pendeklarasian Prosedur
 
 Begin
      f := m * a;
      Writeln('Gaya : ', f:2:0);  
 End;
Begin
 Write('Masukkan Massa : ');
Program Utama
 
 readln(massa);
 Write('Masukkan Percepatan : ');
 readln(percepatan);
Pemanggilan Prosedur
 
 hitungluas(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.      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 smile

link teman

>

warning