topik 9 prosedur

32
Topik 9 Prosedur Algoritma & Struktur Data PS. Manajemen Informatika

Upload: i-komang-agustino

Post on 20-Aug-2015

485 views

Category:

Education


5 download

TRANSCRIPT

Page 1: Topik 9 Prosedur

Topik 9Prosedur

Algoritma & Struktur Data

PS. Manajemen Informatika

Page 2: Topik 9 Prosedur

Sub Topik

1. Konsep Pemrograman Modular

2. Prosedur

3. Nama Lokal & Global

4. Parameter

5. Parameter Masukan

6. Parameter Keluaran

7. Parameter Masukan/Keluaran

Page 3: Topik 9 Prosedur

Tujuan

Tujuan Instruksional Umum :

Mahasiswa diharapkan mampu membuat algoritma dengan prosedur

Tujuan Instruksional Khusus :

Mahasiswa mampu memahami konsep pemrograman modular

Mahasiswa mampu memahami penggunaan nama lokal & global

Mahasiswa mampu memahami penggunaan parameter

Mahasiswa mampu membuat algoritma dengan prosedur

Page 4: Topik 9 Prosedur

Konsep Pemrograman Modular

Program yang besar lebih sulit dimengerti dan lebih sulit lagi dalam melakukan pelacakan kesalahan

Program sebaiknya dipecah menjadi beberapa subprogram yang lebih kecil

Subprogram yang baik adalah subprogram yang independen dari program utama sehingga programnya dapat dirancang tanpa mempertimbangkan konteks dimana ia digunakan

Teknik pemecahan program menjadi sejumlah subprogram disebut teknik pemrograman modular

Page 5: Topik 9 Prosedur

Subprogram disebut juga dengan subrutin, modul, prosedur atau fungsi

Keuntungan pemrograman modular• Menghindari penulisan teks program yang sama

secara berulangkali, sehingga dapat mengurangi panjang program

• Kemudahan menulis dan menemukan kesalahan program

Terdapat dua bentuk subprogram, yaitu prosedur (procedure) dan fungsi (function)

Struktur subprogram adalah:1. Bagian judul2. Bagian deklarasi3. Bagian badan program

Page 6: Topik 9 Prosedur

Prosedur

Prosedur adalah modul program yang mengerjakan tugas yang spesifik dan menghasilkan suatu efek netto, dengan membandingkan keadaan awal dan keadaan akhir pada pelaksanaan sebuah prosedur

Struktur prosedur sama dengan struktur algoritma biasa

Setiap prosedur mempunyai nama yang unik

Nama prosedur sebaiknya diawali dengan kata kerja karena prosedur berisi suatu aktivitas

Prosedur diakses dengan cara memanggil namanya dari program pemanggil, misalnya program utama atau dari modul program lainnya

Jika prosedur tanpa parameter, maka pemanggilannya cukup dengan namanya saja :

NamaProsedur

Page 7: Topik 9 Prosedur

Notasi algoritmik prosedur :

PROCEDURE NamaProsedur(deklarasi parameter jika ada)

{ Spesifikasi prosedur, berisi penjelasan tentang apa yang dilakukan oleh prosedur ini.

K. Awal : keadaan sebelum prosedur dilaksanakan

K. Akhir : keadaan setelah prosedur dilaksanakan }

DEKLARASI{ Semua nama yang dipakai didalam prosedur

dan hanya berlaku lokal didalam prosedur didefinisikan disini }

DESKRIPSI:{ badan prosedur, berisi urutan instruksi }

Page 8: Topik 9 Prosedur

Contoh Soal Kasus 1 :

Buatlah prosedur untuk menghitung luas segitiga dan program utama untuk memanggil prosedur tersebut!

English Structure

Prosedur Luas Segitiga:Input : -Output : luasProses :

1. Menghitung luas = 0.5* (alas * tinggi)2. Mencetak nilai luas

Program Utama:Input : alas, tinggiOutput : -Proses :

3. Membaca nilai alas yang dimasukkan oleh user4. Membaca nilai tinggi yang dimasukkan oleh user5. Memanggil prosedur untuk menghitung luas segitiga

Page 9: Topik 9 Prosedur

Pseudocode untuk Prosedur :

PROCEDURE LuasSegitiga{ Menghitung luas segitiga, luas = (alas x tinggi)

/ 2K. Awal : sembarangK. Akhir : luas segitiga tercetak }

DEKLARASIluas : real

DESKRIPSI:luas 0.5 * (alas * tinggi)output(luas)

Page 10: Topik 9 Prosedur

Pseudocode untuk Program Utama :

ALGORITMA Segitiga{ Menghitung luas segitiga dengan prosedur }

DEKLARASIalas, tinggi : realprocedure LuasSegitiga{ Menghitung luas segitiga, luas = (alas

x tinggi)/2 }

DESKRIPSI:input(alas, tinggi)LuasSegitiga

Page 11: Topik 9 Prosedur

Nama Lokal & Global

Nama lokal adalah nama-nama yang dideklarasikan didalam prosedur dan hanya berlaku didalam prosedur itu sendiri

Nama global adalah nama-nama yang dideklarasikan didalam program utama dan berlaku baik didalam program utama maupun didalam prosedur yang dipanggil

Pada contoh 1 diatas :• Nama lokal : luas• Nama global : alas, tinggi

Pendeklarasian nama global dilakukan jika suatu peubah digunakan di seluruh bagian program (termasuk didalam prosedur)

Page 12: Topik 9 Prosedur

Pendeklarasian nama lokal dilakukan jika suatu peubah hanya digunakan didalam prosedur saja

Nama yang dideklarasikan di dalam prosedur dan di dalam program utama mungkin sama, namun sifatnya tidak berubah

Usahakan menggunakan nama global sedikit mungkin

Penggunaan nama lokal menguntungkan karena dapat meminimumkan usaha pencarian kesalahan yang diakibatkan oleh program tersebut

Page 13: Topik 9 Prosedur

Parameter

Parameter adalah nama-nama peubah yang dideklarasikan pada bagian header prosedur

Program memerlukan pertukaran informasi/data antara prosedur dengan bagian yang memanggilnya

Parameter aktual (argumen) adalah parameter yang disertakan pada waktu pemanggilan prosedur

Parameter formal adalah parameter yang dideklarasikan didalam bagian header prosedur itu sendiri

Ketika prosedur dipanggil, parameter aktual menggantikan parameter formal

Tiap-tiap parameter aktual berpasangan dengan parameter formal yang bersesuaian

Page 14: Topik 9 Prosedur

Cara memanggil prosedur dengan parameter :NamaProsedur (parameter aktual)

Aturan yang harus diperhatikan dalam hubungan satu-satu antara parameter aktual dan parameter formal adalah :• Jumlah parameter aktual pada pemanggilan

prosedur harus sama dengan jumlah parameter formal pada deklarasi prosedurnya

• Tiap parameter aktual harus bertipe sama dengan tipe parameter formal yang bersesuaian

• Tiap parameter aktual harus diekspresikan dalam cara yang taat-asas dengan parameter formal yang bersesuaian, bergantung pada jenis parameter formal

Terdapat tiga jenis parameter formal yaitu :1. Parameter masukan (input parameter)2. Parameter keluaran (output parameter)3. Parameter masukan/keluaran (input/output

parameter)

Page 15: Topik 9 Prosedur

Parameter Masukan

Parameter masukan adalah parameter yang nilainya berlaku sebagai masukan untuk prosedur

Parameter masukan disebut juga parameter nilai

Nilai yang dinyatakan oleh parameter masukan tidak dapat dikirim balik ke bagian yang memanggil

Perubahan nilai parameter didalam badan prosedur tidak mengubah nilai parameter aktual

Parameter masukan dideklarasikan di dalam header prosedur

Parameter masukan dinyatakan dengan kata kunci input

Nama parameter aktual boleh tidak sama dengan nama parameter formal yang bersesuaian

Page 16: Topik 9 Prosedur

Contoh Soal Kasus 2 :

Buatlah prosedur untuk menghitung luas segitiga dengan parameter masukan dan program utama untuk memanggil prosedur tersebut!

English Structure

Prosedur Luas Segitiga:Input : alas, tinggiOutput : luasProses :

1. Menghitung luas = 0.5* (alas * tinggi)2. Mencetak nilai luas

Program Utama:Input : alas, tinggiOutput : -Proses :

3. Membaca nilai alas yang dimasukkan oleh user4. Membaca nilai tinggi yang dimasukkan oleh user5. Memanggil prosedur untuk menghitung luas segitiga

Page 17: Topik 9 Prosedur

Pseudocode untuk Prosedur :

PROCEDURE LuasSegitiga(input alas, tinggi : real)

{ Menghitung luas segitiga, luas = (alas x tinggi) / 2

K. Awal : sembarangK. Akhir : luas segitiga tercetak }

DEKLARASIluas : real

DESKRIPSI:luas 0.5 * (alas * tinggi)output(luas)

Page 18: Topik 9 Prosedur

Pseudocode untuk Program Utama :

ALGORITMA Segitiga{ Menghitung luas segitiga dengan prosedur

berparameter}

DEKLARASIalas, tinggi : realprocedure LuasSegitiga(input alas, tinggi

: real){ Menghitung luas segitiga, luas = (alas

x tinggi)/2 }

DESKRIPSI:input(alas, tinggi)LuasSegitiga(alas, tinggi)

Page 19: Topik 9 Prosedur

Contoh Soal Kasus 3 :

Buatlah prosedur untuk menghitung luas segitiga dengan parameter aktual dan parameter formal tidak sama!

English Structure

Prosedur Luas Segitiga:Input : a, tOutput : luasProses :

1. Menghitung luas = 0.5* (a * t)2. Mencetak nilai luas

Program Utama:Input : alas, tinggiOutput : -Proses :

3. Membaca nilai alas yang dimasukkan oleh user4. Membaca nilai tinggi yang dimasukkan oleh user5. Memanggil prosedur untuk menghitung luas segitiga

Page 20: Topik 9 Prosedur

Pseudocode untuk Prosedur :

PROCEDURE LuasSegitiga(input a, t : real){ Menghitung luas segitiga, luas = (alas x tinggi)

/ 2K. Awal : sembarangK. Akhir : luas segitiga tercetak }

DEKLARASIluas : real

DESKRIPSI:luas 0.5 * (a * t)output(luas)

Page 21: Topik 9 Prosedur

Pseudocode untuk Program Utama :

ALGORITMA Segitiga{ Menghitung luas segitiga dengan prosedur

berparameter}

DEKLARASIalas, tinggi : realprocedure LuasSegitiga(input a, t : real){ Menghitung luas segitiga, luas = (alas

x tinggi)/2 }

DESKRIPSI:input(alas, tinggi)LuasSegitiga(alas, tinggi)

Page 22: Topik 9 Prosedur

Parameter Keluaran

Parameter keluaran adalah paramater yang menampung keluaran yang dihasilkan oleh prosedur

Parameter keluaran disebut juga parameter acuan

Nilai dari parameter aktual akan tetap berada di parameter aktual meskipun prosedur telah selesai dilaksanakan

Parameter keluaran dideklarasikan di dalam header prosedur

Parameter keluaran dinyatakan dengan kata kunci output

Page 23: Topik 9 Prosedur

Contoh Soal Kasus 4 :

Buatlah prosedur untuk menghitung luas segitiga dengan parameter masukan dan parameter keluaran!

English Structure

Prosedur Luas Segitiga:Input : a, tOutput : lProses :

1. Menghitung l= 0.5* (a * t)

Program Utama:Input : alas, tinggiOutput : luasProses :

2. Membaca nilai alas yang dimasukkan oleh user3. Membaca nilai tinggi yang dimasukkan oleh user4. Memanggil prosedur untuk menghitung luas segitiga5. Mencetak nilai luas

Page 24: Topik 9 Prosedur

Pseudocode untuk Prosedur :

PROCEDURE LuasSegitiga(input a, t : real, output l : real)

{ Menghitung luas segitiga, luas = (alas x tinggi) / 2

K. Awal : sembarangK. Akhir : luas segitiga tercetak }

DEKLARASI(tidak ada)

DESKRIPSI:l 0.5 * (a * t)

Page 25: Topik 9 Prosedur

Pseudocode untuk Program Utama :

ALGORITMA Segitiga{ Menghitung luas segitiga dengan prosedur

berparameter}

DEKLARASIalas, tinggi, luas : realprocedure LuasSegitiga(input a, t : real,

output l : real){ Menghitung luas segitiga, luas = (alas x

tinggi)/2 }

DESKRIPSI:input(alas, tinggi)LuasSegitiga(alas, tinggi, luas)output(luas)

Page 26: Topik 9 Prosedur

Parameter Masukan/Keluaran

Parameter masukan/keluaran adalah paramater yang berfungsi sebagai masukan sekaligus keluaran bagi prosedur tersebut

Parameter masukan/keluaran disebut juga parameter acuan

Jika parameter aktual nilainya diubah dalam badan prosedur, maka sesudah pemanggilan prosedur nilai parameter aktual di titik pemanggilan juga berubah

Parameter aktual harus berupa peubah, tidak boleh berupa konstanta atau ekspresi

Parameter masukan/keluaran dideklarasikan di dalam header prosedur

Parameter keluaran dinyatakan dengan kata kunci input/output

Page 27: Topik 9 Prosedur

Contoh Soal Kasus 5 :

Buatlah program untuk mencetak angka 1 sampai 10, dengan prosedur menaikkan angka sebanyak 1 angka!

English Structure

Prosedur Increment:Input : xOutput : xProses :

1. Menjumlahkan x = x + 1

Program Utama:Input : -Output : xProses :

2. Mengisi variabel x dengan nilai awal = 13. Ulangi

a. Mencetak angka xb. Memanggil prosedur increment

Sampai x > 10

Page 28: Topik 9 Prosedur

Pseudocode untuk Prosedur :

PROCEDURE Increment(input/output x : integer){ Menaikkan nilai x sebesar 1K. Awal : x sudah terdefinisi nilainyaK. Akhir : nilai x bertambah 1 }

DEKLARASI{ tidak ada }

DESKRIPSI:x x + 1

Page 29: Topik 9 Prosedur

Pseudocode untuk Program Utama :

ALGORITMA CetakAngka{ Mencetak angka dari 1 sampai 10 }

DEKLARASIx : integerprocedure Increment(input/output x : integer){ Menaikkan nilai x sebesar 1 }

DESKRIPSI:x 1repeat

output(x)Increment(x)

until x > 10

Page 30: Topik 9 Prosedur

Rangkuman

Teknik pemrograman yang baik : memecah program menjadi beberapa prosedur

Prosedur sebaiknya ditulis dengan parameter untuk mengurangi kebutuhan penggunaan nama global

Bila prosedur menghasilkan keluaran yang digunakan oleh program pemanggil, gunakan parameter keluaran

Bila prosedur tidak menghasilkan keluaran atau keluaran hanya digunakan oleh prosedur itu sendiri, gunakan parameter masukan

Bila prosedur menerima masukan sekaligus keluaran pada parameter yang sama , gunakan parameter masukan/keluaran

Page 31: Topik 9 Prosedur

Latihan Soal

Kasus 1:Buatlah algoritma program utama dengan prosedur untuk menghitung luas persegipanjang!

Kasus 2:Buatlah algoritma program utama dengan prosedur untuk menghitung rata-rata sehingga dapat menampilkan hasil perhitungan berikut!

Misalkan, user memasukkan angka = 5, maka proses yang dilakukan adalah :

rata-rata = (1 + 2 + 3 + 4 + 5)/5 = 15/5 = 3

Page 32: Topik 9 Prosedur

REFERENSI

1. Budi Sutedjo, Michael A.N. 2000. “Algoritma dan Teknik Pemrograman”. Yogyakarta: ANDI OFFSET.

2. Fathul Wahid. 2004. “Dasar-Dasar Algoritma dan Pemrograman”. Yogyakarta: ANDI OFFSET.

3. Rinaldi Munir, Leoni Lidya. 2002. “Algoritma & Pemrograman Dalam Bahasa Pascal dan C Buku 1”. Bandung: Informatika.

4. Rinaldi Munir, Leoni Lidya. 2002. “Algoritma & Pemrograman Dalam Bahasa Pascal dan C Buku 2”. Bandung: Informatika.