18/07/2015

Sub Routine, Fungsi, & Sub Program pada Bahasa BASIC (QBASIC)

Sub Routine
merupakan kumpulan baris program yang dipanggil dengan statement GO SUB. Sub routine digunakan untuk memanggil baris program yang sering dipanggil. Hal ini lebih baik daripada menuliskan baris program yang sama berkali-kali.
Bentuk umum GO SUB :
GO SUB no_baris

Pemangggilan sub routine juga dapat menggunakan statement ON GO SUB. Bedanya dengan ON GO SUB pemanggilan sub routine terjadi tergantung urutan nomor baris.
Bentuk umumnya :
ON ekspresi_integer GOSUB daftar_no_baris

Contoh :
ON 3 GO SUB 15, 12, 20

Sub routine yang dipanggil adalah subroutine baris 20 sesuai urutan daftar nomor baris. Sub routine diakhiri dengan statement RETURN dan kemudian kembali ke baris program berikut dari baris program yang memanggilnya. Bagian awal sub routine harus dituliskan nomor baris atau labenya.
Contohnya :
CLS
DIM I AS INTEGER
PRINT "Dodo", "1PK40", "Bekasi"
GO SUB 15
PRINT "Didi", "1PK33", "Depok"
GO SUB 15
END
15 PRINT STRING$(35 ,"-")
RETURN

Output program :
Bodo 1PK40 Bekasi
---------------------------------
Didi 1PK33 Depok
---------------------------------

Setelah pemanggilan GO SUB pertama pada baris ke-3 untuk mencetak garis, kemudian program mengerjakan baris ke-4 di bawah baris pemanggilan sub routine pertama untuk mencetak data. Kemudian sub routine dipanggil kembali untuk mencetak garis. Setelah RETURN mengerjakan statement END.

Fungsi
Fungsi adalah bagian dari program yang memberikan nilai keluaran. Nilai keluaran ini dapat disimpan pada sebuah variabel, dicetak atau dimanipulasi. Sebuah fungsi dapat dikatakan sebagai ekspresi karena mengandung nilai. Jenis nilai keluaran berbeda-beda tergantung tipe datanya.
Fungsi dibagi menjadi dua yaitu fungsi yang sudah disediakan BASIC dan fungsi yang sengaja diciptakan  user (user defined). Kita tidak perlu mendeklarasikan  atau mendefinisikan fungsi yang telah ada pada BASIC kita tinggal memanggil dan mendapatkan nilai keluarannya. Fungsi yang telah disediakan jumlahnya cukup banyak (untuk melihat fungsi pada QBASIC pilih menu Help>Index. Lihat daftar kata reserved word yang diakhiri kata 'Function'), contoh beberapa fungsi misalnya lihat gambar berikut :
Sub Routine, Fungsi, & Sub Program pada Bahasa BASIC (QBASIC)
Bentuk umum untuk membuat suatu fungsi :
FUNCTION nama_fungsi [(parameter)]
   [blok_statement]
   nama_fungsi = ekspresi
   [blok_statement]
END FUNCTION

Bentuk lain selain fungsi diatas ada fungsi yang dideklarasikan dan ditulis bersama modul utama. Biasanya digunakan untuk fungsi aritmatik. Sebelum dipanggil fungsi ini harus didefinisikan di bagian deklarasi.
Bentuk umumnya:
DEF FNnama_fungsi [(paramenter)] = ekspresi
Atau
DEF FNnama_fungsi [(parameter)]
   [Blok statement]
   FNnama_fungsi = ekspresi
   [Blok statement]
END DEF

Berikut ini contoh program dari penggunaan FUNGSI:
DIM a AS SINGLE, kal AS STRING
DEF FNkuadrat (x) = x^2
DEF FNfaktorial (n)
DIM Hasil AS DOUBLE
   Hasil=1
   For I%=1 to n
   Hasil = Hasil * I%
   NEXT I%
   FNfaktorial = Hasil
END DEF
CLS
INPUT "Masukan Angka Positif > "; a
PRINT a; "! = "; FNfaktorial(a)
PRINT a; "^2 = "; FNkuadrat (a)
PRINT
INPUT "Masukan Kalimat > "; kal
PRINT kal; " >> "; besar(kal)
END
FUNCTION besar$ (kata$)
   Besar$ = UCASE$ (kata$)
END FUNCTION

Output program :
Masukan Angka Positif > 5
5 ! = 120
5 ^2= 25
Masukan Kalimat > Anak Mesin
Anak Mesin >> ANAK MESIN

Sub Program
Sub program adalah bagian dari program yang ditulis terpisah dari program utama. Berbeda dengan fungsi sub program tidak mengembalikan nilai keluaran. Sub program sangat berguna untuk menghindari penulisan barisan statement / instruksi yang berulang-ulang. Sub program ini biasa juga disebut sebagai prosedur. Sama dengan fungsi dalam QBASIC sub program ditulis secara terpisah dari modul utama. Untuk berpindah-pindah modul tekan tombol F2. Pembuatan sub program ditulis setelah statement SUB dan diakhiri dengan END SUB.
Bentuk umum penulisan SUB :
SUB nama_sub [(parameter)]
   [blok statement]
END SUB

Di dalam sub program kita bisa juga mendeklarasikan variabel baru, tetapi bersifat lokal tidak bisa diakses dari modul utama. Pemanggilan nama sub program di dalam modul utama meyebabkan setiap statement dalam blok statement dalam sub program akan dilaksanakan.

Untuk Laporan Pendahuluan pertemuan selanjutnya adalah:
1. Jelaskan apa yang Anda ketahui tentang Operasi file pada basic !
2. Jelaskan bentuk umum dari OPEN!
3. Jelaskan kegunaan dari reserverd word SEEK, EOF, LOF, FILES, dan KILL!
4. Cetak listing semua program dan outputnya yang telah dibuat pada saat praktikum beserta penjelasan logika program! (No. 4 Tidak perlu dikerjakan)

NB: Untuk Jawaban Laporan Pendahuluan (LP) di atas, lihat di Soal dan Jawaban Laporan Pendahuluan (LP) Praktikum Lab. TI Dasar Minggu ke-6

0 komentar :

Post a Comment