• Tidak ada hasil yang ditemukan

BAB I TUJUAN DAN LANDASAN TEORI

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB I TUJUAN DAN LANDASAN TEORI"

Copied!
19
0
0

Teks penuh

(1)

1 BAB I

TUJUAN DAN LANDASAN TEORI

1. Tujuan

1. Dapat memahami konsep prosedur dan fungsi.

2. Mampu membuat prosedur dan fungsi baik dengan parameter maupun tanpa parameter.

3. Mampu membedakan kapan menggunakan prosedur dan fungsi.

2. Landasan Te ori

P rosedur diawali dengan kata cadangan P rocedure di dalam bagian deklarasi prosedur. Prosedur dipanggil dan digunakan di dalam blok program yang lainnya dengan menyebutkan judul prosedurnya.

Prosedur banyak digunakan pada program yang terstruktur, karena :

1. Merupakan penerapan konsep program modular, yaitu memecah-mecah program yang rumit menjadi program-program bagian yang lebih sederhana dalam bentuk prosedur-prosedur.

2. Untuk hal-hal yang sering dilakukan berulang-ulang, cukup dituliskan sekali saja dalam prosedur dan dapat dipanggil atau dipergunakan sewaktu-waktu bila diperlukan.

Sebagaimana halnya sebuah program, suatu procedure juga memiliki header dan block. P erbedaan bentuknya dengan program hanyalah pada bagian header-nya saja.

Bentuk Umum header suatu procedure adalah : PRO CEDURE nama;

Atau

PRO CEDURE nama (formal parame te r : je nis);

Jika kita menggunakan procedure dalam suatu program, maka procedure tersebut harus dituliskan pada bagian deklarasi.

Contoh : Misal akan dibuat suatu procedure untuk menentukan bilangan bulat terbesar diantara tiga bilangan bulat, maka procedure tersebut adalah sebagai berikut :

(2)

2 PROCEDURE maksimum;

VAR max : integer; BEGIN

IF a > b THEN max := a ELSE max := b; IF c > max THEN max := c;

WRITELN(max); END.

Blok fungsi hampir sama dengan blok prosedur, hanya fungsi harus dideklarasikan dengan tipenya atau jenis hasilnya. Tipe deklarasi ini menunjukkan tipe hasil dari fungsi.

P ada bahasa Pascal dikenal beberapa fungsi, misalkan : abs, pred, sqrt, sqr, succ dan sebagainya.

Fungsi-fungsi tersebut biasanya dikenal dengan Built in Function. Sedangkan function yang akan bicarakan disini adalah fungsi yang kita buat sendiri.

Berbeda dengan procedure, function merupakan modul program yang menghasilkan suatu kuantitas. Hal ini dapat dilihat dari bentuk header-nya yang menyebutkan jenis data dari kuantitas yang dihasilkan.

Secara umum bentuk header suatu function adalah : FUNCTIO N nama : je nis hasil;

Atau FUNCTION nama (fo rmal parameter : jenis ) : je nis_hasil; Contoh :

Akan dibuat suatu fungsi dengan nama MAX yang dapat menentukan integer terbesar di antara dua integer.

Function MAX (x,y : integer) : integer; Begin

If x < y then MAX := y ; Else MAX := x;

End; Contoh :

Function Hitung(Var A,B : integer): integer; Begin

(3)

3 Hitung := A + B;

End;

Var X,Y : integer; Begin Write(‘Nilai X ? ‘); Readln(X); Write(‘Nilai Y ? ‘); Readln(Y); Writeln;

Writeln(X,’ + ‘,Y,’ = ‘,Hitung(X,Y)); End.

Hasilnya : Nilai X ? 2 Nilai Y ? 3 2 + 3 = 5

(4)

4 BAB II

LANGKAH K ERJ A

1. Buatlah program dengan menggunakan prosedur untuk menghitung luas persegi panjang tanpa parameter masukan. Simpan file dengan nama NamaAnda_pro se dur1 .pas

2. Modifikasi program diatas dengan menggunakan parameter masukan. Simpan file dengan nama NamaAnda_ prosedur2.pas

3. Modifikasi soal diatas dengan menggunakan parameter keluaran. Simpan file dengan nama NamaAnda_pro se dur3 .pas

4. Modifikasi program prosedur3 anda dengan menggunakan fungsi.

Tug as

1. Tulislah prosedur yang menghasilkan nilai rata – rata sekumpulan bilangan bulat yang dibaca secara berulang-ulang dari piranti masukan (akhir pembacaan adalah 9999). P rosedur memiliki parameter keluaran, yaitu nilai rata-rata yang dihasilkan.

(5)

5 BAB III

PEMB AHASAN

1. Cara penyelesaian program pertama menggunakan prosedur tanpa parameter masukan :

P rogram diatas sebenarnya tidak terlalu berbeda jauh dengan program tanpa menggunakan prosedur, karena prosedur diatas masih merupakan contoh yang paling sederhana dari prosedur dan tidak terdapat banyak perubahan dari program yang tidak menggunakan prosedur. P ada program diatas, HitungLuas merupakan nama prosedur yang digunakan. Pada tampilan output, program akan mengarahkan user untuk memasukan Panjang dan Lebar dari suatu persegi panjang lalu akan dihasilkan Luas dari persegi panjang tersebut.

Program Luas_ Persegi_P anjang; uses crt;

procedure hitungluas; var P , L : real; begin

clrscr;

writeln(' P rogram Luas P ersegi P anjang '); writeln;

write('Masukan P anjang :');readln(P); write('Masukan Lebar :');readln(L); writeln;

writeln('Luas Persegi Panjang : ',P * L:0:2); end; {program utama} Begin; clrscr; hitungluas; readkey; end.

(6)

6 2. Cara penyelesaian program kedua menggunakan parameter masukan :

Pada program diatas, output program akan meminta inputan data panjang dan lebar persegi. Hal tersebut dikarenakan, pada penulisan statement Procedure HitungLuas(P,L : integer); merupakan parameter masukannya. Parameter masukan digunakan untuk menampung nilai yang akan dijadikan masukan (input) ke dalam suatu prosedur, artinya, sebuah prosedur dapat menghasilkan nilai yang berbeda tergantung dari nilai dalam perameter yang dimasukan pada saat pemanggilan prosedur tersebut. Parameter ini diberi tipe datanya, misalkan integer. Di dalam procedure ada rumus untuk menghitung luas persegi panjang. P ada program utama, ada variabel globalnya yaitu P untuk panjang dan L untuk lebar. Ada juga inputan untuk memasukan nilai panjang dan lebar. P ada

Program P rosedur2 ; Uses crt;

Var P : integer; L : integer; Luas : integer;

Procedure HitungLuas (P ,L : integer) ; Begin Clrscr; Luas := P * L; End; Begin Clrscr;

Writeln(‘masukan nilai P anjang =’); readln(P); Writeln(‘masukan nilai Lebar =’); readln(L); Hitungluas (P,L);

Writeln(‘P ersegi dengan panjang =’,P,’dan lebar =’,L,’memiliki luas =’,luas);

Readkey; End.

(7)

7 saat procedure di panggil, HitungLuas(P, L); variabel global P berhubungan dengan variabel lokal P pada procedure. Dan L berhubungan dengan L. Pada saat kita menginputkan data pada program utama, variabel P dan L yang berhubungan akan masuk kedalam rumus luas yang ada pada procedure. Setelah proses perhitungan akan dilakukan dan akan di tampilkan Luas yang diinginkan.

3. Cara penyelesaian program ketiga menggunakan parameter keluaran :

Pada program diatas, pernyataan hitungluas(a,b:real; var c:real); merupakan parameter keluaran. P arameter keluaran digunakan untuk menampung nilai yang akan dijadikan keluaran (output) yang akan dikirimkan ke bagian yang memanggil prosedur tersebut, umumnya parameter ini digunakan untuk prosedur yang tidak memiliki nilai balik

Program Luas_ Pesegi_ Panjang_2; uses crt;

var P, L, hasil : real;

procedure hitungluas(a,b:real; var c:real); begin c := a * b; end; {program utama} Begin; clrscr;

write('Masukan P anjang :');readln(P ); write('Masukan Lebar :');readln(L); hitungluas(P,L,hasil);

writeln('Luas P ersegi Panjang : ',hasil:0:2); readkey;

(8)

8 (prosedur). Apabila kita sudah membuat parameter masukan dan parameter keluaran maka kita tidak perlu membuat variabel lokal lagi. Di sini parameter masukannya adalah Luas, dan variabel global yang berhubungan dengannya adalah Luas. Jadi hasil perhitungan Luas di dalam procedure berhubungan dengan Luas procedure yang dipanggil pada program utama akan menampilkan output Luas sebagai hasil perhitungan.

4. Cara penyelesaian langkah kerja ke-4 menggunakan FUNGSI :

Program diatas adalah program luas persegi panjang yang telah dimodifikasi menggunakan fungsi. Pada fungsi, nilai yang dikirimkan balik terdapat pada nama fungsinya (kalau pada prosedur pada parameter yang dikirimkan secara acuan). Pada program diatas, nama fungsi tersebut adalah HitungLuas dan nilai yang dikirim balik berada pada nama fungsi tersebut. Sehingga nama fungsi ini harus digunakan untuk menampung

Program fungsi ; Uses crt;

Var P : integer; L : integer;

function HitungLuas(P ,L : integer) :integer; Begin Clrscr; HitungLuas := P * L; End; Begin Clrscr;

Writeln(‘masukan nilai P anjang =’); readln(P); Writeln(‘masukan nilai Lebar =’); readln(L);

Writeln(‘P ersegi dengan panjang =’,P,’dan lebar =’,L,’memiliki luas =’,HitungLuas(P,L));

Readkey; End.

(9)

9 hasil yang akan dikirimkan dari fungsi. Fungsi tersebut diberi tipe data, function HitungL uas(P ,L : integer) :integer;. Hasil luas didapatkan saat program membaca H itungLuas := P * L;, dimana penulisan statment Writeln(‘P ersegi dengan panjang =’,P,’dan lebar =’,L,’memiliki luas =’,HitungLuas(P,L)); akan memunculkan output luas hasil perkalian P dan L.

(10)

10 TUGAS :

1. Cara penyelesa ian tugas pertama dengan menggunakan prosedur program mencari_ rata2_pr ocedure;

uses crt; var Rata:real;

procedure Rata_R ata(R ata:real); var

n,x,i,tota l :intege r; jaw ab:char ; begin clrscr;

writeln('__ __ _======Program Rata-Rata Bilangan Bulat======__ ___ '); writeln; writeln; total:= 0; i:=0; writeln; repeat begin i:=i+1;

write('Masukkan bilangan ke-',i,' : ');readln( x) ; total:=total+x;

write('Masuka n lagi atau tidak? (y/t) : '); read(jaw ab);

end;

until (jawab='t') or (i>9998); Rata:=total/i;wr iteln;

Writeln('Rata-rata total bilangan bulat yang dimasukkan : ',Rata:0:2);rea dln; end; begin Rata_ Rata(Rata); readkey; end.

(11)

11 Pada program ini kita akan membahas tentang program pengulangan yang menggunakan procedure dan memiliki parameter masukan yaitu R ata_Rata(Rata:real);. P arameter masukan digunakan untuk menampung nilai yang akan dijadikan masukan (input) ke dalam suatu prosedur, artinya, sebuah prosedur dapat menghasilkan nilai yang berbeda tergantung dari nilai dalam perameter yang dimasukan pada saat pemanggilan prosedur tersebut. Di sini user akan diarahkan untuk menginputkan data deret yang diinginkan. Program akan terus menanyakan user apakan user akan terus melanjutkan penginputan data atau tidak (y/t) hingga batas yang telah ditentukan yaitu sebanyak 9999 kali. P ada saat penginputan data selesai, maka bilangan-bilangan yang dimasukan tadi akan di jumlah kan dan di bagi dengan banyaknya bilangan yang dimasuka n untuk mencari nila i rata-ratanya.

(12)

12 2. Cara penyelesa ian tugas kedua dengan mengguna kan fungsi

program mencari_ rata2_fungsi; uses crt; var Rata:real; function R ata2:real; var n,x,i,tota l :integer; ulang:char; begin clrscr;

writeln('__ __ _=====P rogram Rata-R ata B ilangan B ulat=====___ __ '); writeln; writeln; total:= 0; i:=0; writeln; repeat begin i:=i+1;

write('M asukka n bilangan ke-',i,' : ');readln( x) ; total:=total+x;

write('M asukan lagi atau tidak? (y/t) : '); read(ulang);

end;

until (ulang=' t') or (i>9998); Rata:=total/i;wr ite ln;

Writeln('Rata -ra ta : ',Rata:0:2);readln; end;

begin Rata2; readkey; end.

(13)

13 Program sebenarnya tidak terlalu berbeda jauh dengan program pengulangan yang menggunakan procedure, bedanya pada program ini kita menggunakan fungsi sebagai struktur programnya. Pada fungsi, nilai yang dikirimkan balik terdapat pada nama fungsinya (kalau pada prosedur pada parameter yang dikirimkan secara acuan). P ada program diatas, nama fungsi tersebut adalah Rata2 dan nilai yang dikirim balik berada pada nama fungsi tersebut. Sehingga nama fungsi ini harus digunakan untuk menampung hasil yang akan dikirimkan dari fungsi. Pada program tugas kedua ini, program akan terus menanyakan user apakan user akan terus melanjutkan memasukan input atau tidak (y/t) hingga batas yang telah ditentukan yaitu sebanyak 9999 kali. Pada saat penginputan data selesai, maka bilangan-bilangan yang dimasukan tadi akan di jumlah kan dan di bagi dengan banyaknya bilangan yang dimasukan untuk mencari nilai rata-ratanya.

(14)

14 BAB IV

KESIMPULAN

Prosedur artinya menuliskan nama prosedur, mendeklarasikan nama-nama konstanta, peubah dan tipe (jika ada), dan menjabarkan rangkaian aksi yang dilakukan.

Parameter adalah nama-nama peubah yang dideklarasikan pada bagian header prosedur. Sebagian besar program memerlukan pertukaran data antara prosedur (atau fungsi) dan titik dimana ia dipanggil. Parameter dibagi menjadi dua yaitu parameter masukan dan parameter keluaran.

Fungsi adalah subprogram yang memeberikan/mengembalikan (return) sebuah nilai dari tipe tertentu (tipe dasar atau tipe bentukan). Definisi fungsi di dalam program bersesuian dengan definisi fungsi di dalam matematika.

Perbedaan anatara prosedur dan fungsi adalah fungsi digunakan apabila program mengembalikan sebuah nilai, sementara prosedur digunakan bila modul menghasilkan efek netto dari satu atau sekumpulan aksi. Namun di dalam praktek, sering perbedaan antara keduanya tidak jelas, karena sebuah prosedur dapat juga ditulis sebagai fungsi, demikian sebaliknya. Pemilihan apakah sebuah modul direalisasikan sebagai fungsi atau prosedur bergantung pada kebutuha n dan seni memprogra m.

(15)

15 BAB V

DAFTAR PUSTAKA

• http://blac kluster s oldiers. multiply.c om/journa l/ite m/2

• http://kur2003.if.itb.ac.id/file/IF1282_ PemrogramanProsedural_Pertemuan 4_ v01.pdf • http://www.varia.web.id/2013/05/prosedur-dan-fungsi-pada-algoritma. html • http://www.khabib.staff.ugm.ac.id/index.php?option=com_ content&task= view&id=82&Ite mid= 33

(16)

16 BAB VI

LAMPIRAN

1. Program P ertama

(17)

17 3. Program K etiga

(18)

18 TUGAS

1. Tugas P ertama

(19)

Referensi

Dokumen terkait

Sejak berlakunya Peraturan Daerah Propinsi Jawa Tengah Nomor 7 Tahun 1972 tentang Uang Balas Jasa yang merupakan Ja­ minan Hari Tua bagi pegawai Perusahaan Daerah, masih dirasakan

Soal Simulasi KBS UKOM 6ers 001+.. Perawat pada unit ruang nias merawat klien yang baru sa#a melahirkan dengan riwayat plasenta pri/ia. Manakah resiko yang mun$ul terkait

membutuhkannya. Dalam pembelajaran renang gaya bebas terdapat peralatan dan perlengkapan standart yang digunakan antara kolam dan pelampung, namun dalam

Perusahaan dapat meningkatkan porsi sumber pendanaan melalui hutang jika perusahaan dapat mengelola sumber dana yang berasal dari hutang dengan baik dan digunakan

Point-to-Point Tunneling Protocol (PPTP) adalah suatu protokol jaringan yang memungkinkan pengiriman data secara aman dari remote client kepada server perusahaan swasta

Kelompok aspirasi adalah kelompok yang memperlihatkan keinginan untuk mengikuti norma, nilai maupun perilaku dari orang lain yang dijadikan kelompok.. acuannya, misalnya seseorang

Pembahasan penelitian pengembangan ini dilakukan berdasarkan tahapan-tahapan pada penelitian pengembangan yang dimulai dengan membuat desain/draf produk pengembangan

Hasil penelitian ini sesuai dengan hipotesis yang diajukan oleh peneliti, yaitu ada hubungan negatif yang sangat signifikan dapat dijelaskan bahwa semakin rendah