Prak.Dasar-Dasar Pemrograman

Download Report

Transcript Prak.Dasar-Dasar Pemrograman

Prak.Dasar-Dasar
Pemrograman
Pertemuan –
PROCEDURE & FUNCTION
(Andrew Julius S. – Jeki Cahya S.)
THE Begining…
Sebuah program yang baik  modular programming (pemrograman
terbagi/terpecah)
Dengan modular programming, program lebih mudah dibaca dan
dimengerti.
Pembenahan program dan penelusuran jalannya program
(debugging) menjadi lebih mudah sebab dapat langsung diketahui
subprogram mana yang berjalan tidak sesuai dengan yang
diharapkan.
Pascal
telah
menyediakan
dua
jenis
subprogram,
yaitu
procedure dan function (prosedur dan fungsi).
PROCEDURE
suatu program terpisah dalam blok sendiri yang
berfungsi sebagai subprogram (program bagian).
Penulisannya menggunakan kata Procedure
Untuk hal-hal yang sering dilakukan berulang-ulang,
cukup dituliskan sekali saja dalam prosedur dan dapat
dipanggil atau dipergunakan sewaktu-waktu bila
diperlukan.
PROCEDURE
Merupakan sub program yang tidak mengembalikan
nilai secara langsung.
Prosedur memiliki struktur yang
sama dengan
struktur program, yaitu terdiri dari nama prosedur,
deklarasi- deklarasi dan statement dalam procedure
PROCEDURE
Perbedaan dengan program utama
Untuk tanda berakhirnya Procedure diakhiri dengan
tanda End; sedangkan Program Utama End.
Semua deklarasi di dalam prosedur bersifat lokal
sehingga hanya bisa digunakan oleh prosedur itu saja,
sedangkan deklarasi di dalam program
utama
bersifat global sehingga dapat dikenali di seluruh
bagian
PROCEDURE
PROGRAM judul_program ;
var
{sifatnya global}
PROCEDURE judul_prosedur ;
var
{bagian deklarasi prosedur, sifatnya lokal}
Begin
Statement prosedur ;
End ;
Begin
Statement program utama ;
end.
PROCEDURE
 CONTOH::
Untuk mencetak pola::
*****
*
*
*
*
*
*
Tanpa
*****
Procedure
p*; p*; p*; p*;p*;NL;
p*;ps;ps; ps; p*; NL;
p*;ps;ps; ps; p*; NL;
p*;ps;ps; ps; p*; NL;
p*; p*; p*; p*; p*; NL;
Menggunakan Procedure…
CARA?
• Lihat pola yang sama.
• Buat definisi:
def bar1()=p*;p*;p*;p*;p*;enddef
def bar2()=p*;ps;ps;ps;p*;enddef
• Perintah menjadi:
bar1();NL;
bar2();NL;
bar2();NL;
bar2();NL;
bar1();NL;
PROCEDURE
uses crt;
procedure bar1;
begin
writeln('*****');
End;
procedure bar2;
begin
writeln('* *');
end;
begin
clrscr;
Bar1;bar2;bar2;bar2;bar1;
readkey;
end.
CONTOH 2:
uses crt;
procedure hitung;
var
X, Y : integer;
begin
write ('Nilai X =');
readln (X) ;
Y := X * X;
end;
begin
hitung;
writeln ('Nilai Y =', Y);
end.
BERHASIL??
Why??
PROCEDURE
Bagaimana dengan
*****
*
*****
*
*
????????????
*****
*
*
*
*
*
*
*
*
*
FUNCTION (Fungsi)
Fungsi merupakan sub program/ bagian dari program
— Function hampir sama dengan Procedure, Bedanya—
Fungsi memiliki tipe data.
Fungsi memberikan nilai balik, procedure tidak.
Harus ada NamaFungsi di dalam tubuh fungsi, karena
digunakan untuk menyimpan output.
Penulisannya menggunakan kata Function
FUNCTION
STRUKTUR:
Uses crt;
Function NamaFungsi:tipe data HASIL;
begin
{ statement }
NamaFungsi:={???};
end;
begin
{statement prog.utama};
HASIL := NamaFungsi;
End.
FUNCTION
uses crt;
Function Y:integer;
var
X: integer;
begin
write ('Nilai X =');
readln (X) ;
Y := X * X;
write('Nilai Y =');
End;
begin
clrscr;
writeln (Y);
readkey;
end.
Function
Program utama
Tugas Take Home
 Buat kalkulator dengan menu (menggunakan
procedure dan fungsiHARUS MENGGUNAKAN
FUNCTION DAN PROCEDURE SEIMBANG).
 Pemilihan menu menggunakan percabangan, dan
masing-masing menu disimpan dalam sebuah
procedure/fungsi.
Contoh Tugas
====Menu Kalkulator====
1. Tambah
2. Kali
3. Bagi
4. Kurang
5. Pangkat
Untuk Pilihan 1
=====Menu 1 ====
Masukkan angka 1: 3
Masukkan angka 2: 4
-------- +
Hasil penjumlahan: 7
Untuk Pilihan 2
=====Menu 2 ====
Masukkan angka 1: 3
Masukkan angka 2: 4
-------- *
Hasil perkalian
: 12
Untuk Pilihan 3
=====Menu 3 ====
Masukkan angka 1: 3
Masukkan angka 2: 4
-------- /
Hasil pembagian : 0.75
Untuk Pilihan 4
=====Menu 4 ====
Masukkan angka 1: 3
Masukkan angka 2: 4
-------- Hasil pengurangan: -1
Untuk Pilihan 5
=====Menu 5 ====
Masukkan angka 1: 3
Masukkan angka 2: 4
-------- ^
Hasil penjumlahan: 81
KETENTUAN
 Menggunakan PROCEDURE dan FUNCTION SECARA
SEIMBANG
 Dikirim .rar/.zip berisi .exe dan .pas
 subjek + file : DDPF_PROCEDURE_NIM
 email : [email protected]
 Deadline : 15 november 2011 jam 23.59
 Tidak ada tugas susulan
 Jika nama subjek/file salah ATO nggak sesuai
ketentuan, resiko ditanggung pengirim.