Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehDoddy Lie Telah diubah "7 tahun yang lalu
1
Prodi S1-Sistem Komputer, F Teknik Eelktro
KUG1A3 Algoritma & Pemrograman Burhanuddin D Prodi S1-Sistem Komputer, F Teknik Eelktro Universitas Telkom Presentasi 8 Prosedur / Subprogram
2
Pemrograman Moduler program dibagi menjadi modul-modul yang terdefinisi dengan baik dalam bentuk prosedur-prosedur harus jelas definisi dan ruang lingkupnya agar dapat dipanggil secara independen mempermudah programmer untuk “membaca” suatu program yang sangat besar pada beberapa bahasa pemrograman, Programmer cukup “memanggil” saja prosedur yang sudah tersedia.
3
Prosedur Prosedur : sekelompok instruksi yang berdiri sendiri dan diberi nama yang merupakan bagian dari program Prosedur akan memberikan hasil yg terdefinisi. Spesifikasi nama prosedur dan parameter (jika ada) initial state (IS) : keadaan awal sebelum prosedur dipanggil final state (FS) : keadaan akhir setelah prosedur Prosedur didefinisikan dalam kamus
4
Deklarasi Prosedur Procedure Pro1 (input a : integer )
Tulisan “Procedure” Nama prosedur Nama Parameter & tipenya Jenis parameter
5
Parameter Parameter : Formal : parameter yang ditulis pada saat deklarasi prosedur Aktual : parameter yang ditulis pada saat prosedur dipanggil Ketika prosedur dipanggil Terjadi asosiasi paramater (jika ada), dengan urutan yang sama antara parameter formal dan aktual IS dan FS menjamin bahwa eksekusi program akan menghasilkan efek neto yang diharapkan
6
Pemanggilan Prosedur Misal telah terdefinisi prosedur Pro1
Program Contoh1 Kamus : N, Bil, i : integer Procedure Pro1 (input a : integer ) Algoritma : input (N) Pro1(N) Bil Bil + N output(Bil) N berasosiasi dengan a !
7
Parameter Formal Jenis Parameter formal,
Input: diperlukan sebagai masukan untuk melakukan aksi Output: variabel untuk menyimpan nilai dari hasil eksekusi instruksi pada prosedur. Input/output : variabel berisi nilai yang diperlukan sebagai masukan untuk melakukan aksi dan menyimpan nilai dari hasil eksekusi instruksi pada prosedur.
8
Parameter Aktual Dapat berupa nama atau harga (nilai)
Jika tipe parameter output : harus berupa variabel karena hasil disimpan di nama variabel tsb) Tipe parameter aktual harus sama dengan tipe parameter formal Pada saat pemanggilan, parameter aktual harus sesuai dengan parameter formalnya. parameter input harus terdefinisi nilainya parameter output tidak perlu didefinisikan nilainya parameter input/output harus merupakan variabel yang terdefinisi nilainya.
9
Error : i tdk terdefinisi!
Asosiasi Parameter Program Contoh2 Kamus : N, Bil, i : integer Procedure Pro2 (input a : integer, output b : integer) Algoritma : input (N) Pro2(N, Bil) Pro2(i,Bil) Pro2(N,10) Pro2(10,N) Ok :N dg a , Bil dg b! Error : i tdk terdefinisi! Error : 10 bukan variabel Ok :10 dg a , N dg b!
10
Kamus global & lokal Kamus global : kamus yang berada pada program utama Semua tipe, konstanta, variabel dan prosedur dikenal oleh semua bagian program Bisa digunakan oleh prosedur Kamus lokal : kamus yang berada pada prosedur / fungsi Hanya berlaku dalam ruang lingkup fungsi/prosedur yang bersangkutan dan fungsi/prosedur yang didefinisikan di dalamnya.
11
Kamus global & lokal (lanj)
Program Contoh3 Kamus : N, Bil, i : integer Procedure Pro3 (input a : integer, output b : integer) Algoritma : input (N) Pro3(N, Bil) Procedure Pro3 (input a : integer, output b : integer) Kamus : c : integer Algoritma : input (c) c a + c b a + N
12
Kamus global & lokal (lanj)
N, Bil, I dikenal oleh Pro3 a, b tidak dikenal di program utama ! Dg deklarasi seperti sebelumnya : Algoritma : input (N) Pro2(N, Bil) N a + Bil Pro2 (a,b) Error : a tdk dikenal Error : a,b tdk dikenal
13
Contoh 1. Voltage Buat program untuk membaca nilai tahanan dan arus, dan menghitung nilai tegangan pada sebuah prosedur. Input : tahanan (R) dan arus (A), keduanya integer Proses : V = R * I Output : V Proses dilakukan pada suatu prosedur terpisah. Ada dua cara : Menggunakan variabel global saja Menggunakan variabel global dan parameter lokal
14
Solusi 1 : tanpa var lokal
15
Contoh Solusi 2 : Voltage
Program Voltage { Program unt menghitung voltase dan mencetak hasilnya Masukan adalah R (tahanan,ohm) dan I (arus,ampere) } Kamus R,I,V : integer Procedure Tegangan ( input R,I : integer,output V : integer ) Algoritma input(R,I) Tegangan (R,I,V) Output(‘Tegangan =‘,V) Procedure Tegangan ( input R,I : integer, output V : integer ) { Prosedur unt mengitung tegangan } Kamus Algoritma V ← R * I
16
Contoh 3 : Pertukaran 2 variabel
Buat prosedur untuk menukarkan nilai dari 2 variable. Program Tukar Kamus x,y : integer Algoritma input(x,y) Protukar(x,y) output(x,y) Procedur Protukar ( input/output A,B; integer ) { Prosedur unt menukar 2 nilai IS : nilai A=x, nilai B=y; FS : nilai A=y, nilai B=x Kamus C : integer Algoritma C ←A A ← B B ← C
17
Contoh 4 : Putar Bilangan
Buat prosedur untuk memutar urutan 3 bilangan, dengan prosedur Protukar Contoh : jika a=3,b=7 dan c=8, maka akan menjadi a=8, b=3, c=7. Procedur Putarbil ( input/output A,B,C; integer ) { Prosedur unt memutar 3 bilangan IS : nilai A=x, nilai B=y; C=z FS : nilai A=z, nilai B=x, dan C=y } Kamus Algoritma Protukar(A,C) Protukar(B,C)
18
Latihan Prosedur 1 : Deret
Buat algoritma untuk menampilkan deret berikut : …….. Ketentuan : Cacah suku yang ditampilkan adalah N. Misal : jika N = 5, maka program akan menampilkan : Buat prosedur untuk menampilkan deret tersebut. Buat juga prosedur untuk menghitung jumlah dari semua suku bernilai ganjil dan tampilkan hasilnya. Buat juga program Pascalnya.
19
Latihan Prosedur 2 : Bonus Pegawai
Buat prosedur untuk menghitung bonus yang diterima karyawan, dengan ketentuan : Bonus 1 juta untuk karyawan yang telah bekerja minimal 1 tahun dan usia mencapai 50 tahun. Bonus 750ribu untuk karyawan yang telah bekerja minimal 5 tahun atau usia telah mencapai 50 tahun. Bunis 500 ribu untuk karyawan lainnya.
20
Latihan Prosedur : Gaji Karyawan
Sebuah perusahaan memiliki struktur gaji sebagai berikut : gaji tetap, gaji jam hadir dan lembur. Tabel gaji tetap dan gaji jam hadir sebagai berikut Golongan Gaji tetap Gaji jam hadir Lembur akan dibayarkan jika jam hadir lebih dari 150 jam per bulan. Gaji lembur adalah 1,5 kali lipat dari gaji jam hadir. Data yang dibaca adalah nama dan golongan karyawan, serta jam hadir per bulan. Output adalah jumlah gaji yang diterima karyawan tersebut.
21
Gaji Karyawan ( lanj) Input : golongan, nama, jam kerja
Output : gaji ( termasuk lembur ) Proses : Gaji tetap / bulanan : tergantung golongan Gaji hadir : tarif per jam (tergantung golongan) * jam hadir Gaji lembur : jika jam kerja > 150, jam lembur = jam kerja – 150, jika tidak sama, maka jam lembur = 0. Gaji lembur = 1.5 * gaji/jam ( tergantung golongan) * jam lembur
22
Gaji Karyawan ( lanj) Buat 3 prosedur untuk menentukan gaji bulanan, gaji kehadiran dan gaji lembur. Parameter : gaji_bul adalah golongan & gj_tetap Parameter : gaji_hadir adalah jam_kerja dan gj_hadir Parameter : gaji_lembur adalah jam_kerja & lembur Total gaji : gj_tetap+gj_hadir+gj_lembur Buat program utama yang meminta nama, golongan dan jam kerja. Proses perhitungan gaji dengan menggunakan prosedur tersebut. Output : perincian gaji dan jumlah total gaji
23
Gaji Karyawan ( lanj) Masukkan nama : Golongan : Jam kerja bulan ini :
Perhitungan gaji : Gaji tetap : Gaji hadir : 150 x 3000 = Gaji lembur : ( ) x 3000 x 1.5 = 90000 Total gaji = = Ida 2 170
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.