Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Subprogram Program kecil yang melakukan tugas tertentu dan merupakan bagian dari program secara keseluruhan Keuntungan : –Mudah dikodekan –Mudah dipahami.

Presentasi serupa


Presentasi berjudul: "Subprogram Program kecil yang melakukan tugas tertentu dan merupakan bagian dari program secara keseluruhan Keuntungan : –Mudah dikodekan –Mudah dipahami."— Transcript presentasi:

1 Subprogram Program kecil yang melakukan tugas tertentu dan merupakan bagian dari program secara keseluruhan Keuntungan : –Mudah dikodekan –Mudah dipahami –Penghematan kode program 1

2 Bentuk Subprogram Subrutin Prosedur subrutin (SUB Procedure) Prosedur fungsi (FUNCTION Procedure) 2

3 Subrutin Namalabel dapat berupa nomor baris Untuk menjalankan subrutin, digunakan GOSUB 3 NamaLabel : Pernyataan1 Pernyataan2 … RETURN GOSUB NamaLabel

4 4 … GOSUB NamaLabel PernyataanX … NamaLabel : Pernyataan1 Pernyataan2 … RETURN Program Utama / Pemanggil Subrutin Subrutin 1 2 3

5 5 CLS GOSUB Garis FOR i = 1 TO 3 Print i NEXT i GOSUB Garis END Garis : PRINT STRING(80, “=”) RETURN Output : =============================== ===============================

6 Prosedur Fungsi (FUNCTION) Subprogram yang apabila dipanggil dalam suatu pernyataan akan memberikan nilai balik (return value) 6 Fungsi Argumen/ Parameter Nilai Balik

7 Definisi Fungsi (FUNCTION) NamaFungsi juga menentukan tipe nilai baliknya DaftarParameter bersifat optional Nilai balik dari fungsi sesuai dengan nilai Ungkapan 7 FUNCTION NamaFungsi[(DaftarParameter)] [BlokPernyataan] NamaFungsi = Ungkapan END FUNCTION

8 8 CLS Hasil = Pangkat(2, 3) PRINT “2 pangkat 3 = “; Hasil PRINT “2 pangkat 4 = “; Pangkat(2, 4) END FUNCTION Pangkat(a, b) Pangkat = a ^ b END FUNCTION Output : 2 pangkat 3 = 8 2 pangkat 4 = 16

9 Parameter Formal & Aktual 9 FUNCTION Pangkat(a, b) Pangkat = a ^ b END FUNCTION Parameter Formal Pangkat(2, 3) Pangkat(x, y) Parameter Aktual

10 10 CLS INPUT a, b PRINT Maks(a, b) PRINT Maks(b, a) END FUNCTION Maks(x, y) IF x > y then Maks = x Else Maks = y END IF END FUNCTION

11 Prosedur Subrutin (SUB) Bisa memiliki parameter seperti pada fungsi (function) Tidak memerlukan perintah RETURN Setiap definisi prosedur subrutin akan diletakkan terpisah terhadap program utama pada saat diedit 11

12 Definisi Prosedur Subrutin Pernyataan untuk memanggil prosedur subrutin menggunakan CALL 12 SUB NamaProsedur[(DaftarParameter)] BlokPernyataan END SUB CALL NamaProsedur[(DaftarArgumen)]

13 13 … CALL Pros1(2) PernyataanX … SUB Pros1(x) Pernyataan1 Pernyataan2 … END SUB Program Utama / Pemanggil Subrutin Prosedur 1 2 3

14 Variabel Lokal, Statis dan Global Lokal, hanya berlaku dalam suatu prosedur Statis, hanya berlaku dalam suatu prosedur tetapi nilai yang tersimpan di dalamnya tetap dipertahankan seusai prosedur tersebut dipanggil Global, berlaku baik di program utama maupun di dalam suatu prosedur 14

15 15 CLS N$ = “Qbasic” PRINT Coba$(N$) PRINT N$ END FUNCTION Coba$(x$) N$ = X$ + “ Lokal” Coba$ = N$ END FUNCTION Output : QBasic Lokal Qbasic CLS PRINT Statis, N END FUNCTION Statis STATIC N N = N + 1 Statis = N END FUNCTION Output :

16 16 CLS N$ = “Qbasic” PRINT Coba$(N$) PRINT N$ END FUNCTION Coba$(x$) SHARED N$ N$ = X$ + “ Lokal” Coba$ = N$ END FUNCTION Output : QBasic Lokal

17 Melewatkan Parameter By Reference (secara referensi), –parameter dapat diubah dari dalam prosedur By Value (secara nilai), –parameter tidak dapat diubah dari dalam prosedur 17

18 By Reference 18 CLS Nilai% = 256 PRINT “Nilai = “; Nilai% PRINT “Nilai + 1 = “; PlusSatu(Nilai%) PRINT “Nilai = “; Nilai% FUNCTION PlusSatu(X%) X% = X% + 1 PlusSatu = X% END FUNCTION Nilai = 256 Nilai + 1 = 257 Nilai = 257 Nilai berubah

19 By Value 19 CLS Nilai% = 256 PRINT “Nilai = “; Nilai% PRINT “Nilai + 1 = “; PlusSatu((Nilai%)) PRINT “Nilai = “; Nilai% FUNCTION PlusSatu(X%) X% = X% + 1 PlusSatu = X% END FUNCTION Nilai = 256 Nilai + 1 = 257 Nilai = 256 Nilai tidak berubah

20 EXIT SUB dan EXIT FUNCTION EXIT SUB, keluar dari prosedur SUB EXIT FUNCTION, keluar dari prosedur FUNCTION 20

21 Rekursi Proses memanggil diri sendiri Diterapkan pada prosedur (SUB maupun FUNCTION) 21

22 22 CLS INPUT “Masukkan bilangan N = “, N% PRINT N%;”! = “; Faktorial(N%) END FUNCTION Faktorial(X%) IF X% = 0 THEN Faktorial = 1 ELSE Faktorial = X% * Faktorial(X% - 1) END IF END FUNCTION Masukkan bilangan N = 3 3! = 6


Download ppt "Subprogram Program kecil yang melakukan tugas tertentu dan merupakan bagian dari program secara keseluruhan Keuntungan : –Mudah dikodekan –Mudah dipahami."

Presentasi serupa


Iklan oleh Google