1 / 22

Subprogram

Subprogram. Program kecil yang melakukan tugas tertentu dan merupakan bagian dari program secara keseluruhan Keuntungan : Mudah dikodekan Mudah dipahami Penghematan kode program. Bentuk Subprogram. Subrutin Prosedur subrutin (SUB Procedure) Prosedur fungsi (FUNCTION Procedure). Subrutin.

mohawk
Download Presentation

Subprogram

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

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

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

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

  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 FUNCTION Pangkat(a, b) Pangkat = a ^ b END FUNCTION Parameter Formal Parameter Aktual Pangkat(2, 3) Pangkat(x, y)

  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

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

  13. Program Utama / Pemanggil Subrutin Prosedur … CALL Pros1(2) PernyataanX … SUB Pros1(x) Pernyataan1 Pernyataan2 … END SUB 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

  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 PRINT Statis, N PRINT Statis, N END FUNCTION Statis STATIC N N = N + 1 Statis = N END FUNCTION Output : 1 0 2 0 3 0

  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 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

  18. By Reference 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 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

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

  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

More Related