Prosedur dan Fungsi Bahasa BASIC
Algoritma |
BASIC |
Prosedur nama_prosedur (parameter) {spesifikasi prosedur} Deklarasi {deklarasi variabel local
prosedur} Deskripsi {deskripsi dari tugas-tugas
prosedur} …. Tuliskan nama prosedur untuk
memanggil prosedur |
SUB nama prosedur (parameter) ‘spesifikasi prosedur LOCAL deklarasi variabel lokal … statement deskripsi END SUB Gunakan perintah CALL untuk
memanggil prosedur. CALL nama_prosedur (argumen) |
Contoh : Algoritma Luas_segitiga {menghitung luas segitiga dengan
menggunakan prosedur yang memanfaatkan parameter input dan parameter output} Deklarasi Real alas,tinggi,luas; Prosedur Hit_Luas_segi_3 (inpur
real a,t; output real ls;); Deskripsi Write (“masukkan alas segitiga :
“); Read (alas); Write (“masukkan tinggi-nya :
“); Read (tinggi); Hit_Luas_segi_3
(alas,tinggi,luas); Write(“Luas segitiga = “,luas); Prosedur Hit_Luas_segi_3 (input real
a,t; Output real ls;); {prosedur menghitung luas
segi_3, menerima a(alas) dan t(tinggi), mengembalikan ls(luas)} Deklarasi {} Deskripsi ls <- a*t/2 ; |
Contoh : REM menghitung luas segitiga dengan ‘menggunakan prosedur yang
mempunyai parameter INPUT “masukkan alas segitiga :
“; alas INPUT “masukkan tingginya : “;tinggi CALL hit_Luas_segi_3
(alas,tinggi,luas) PRINT “Luas segitiga = “;luas END SUB Hit_Luas_segi_3 (a,t,ls) ‘prosedur menghitung luas segi
tiga_3 ‘menerima a(alas) dan t(tinggi) ‘mengembalikan ls(luas) ls = a*t/2 END SUB |
Fungsi nama_fungsi (parameter) ->
tipe_hasil {spesifikasi fungsi} Deklarasi {deklarasi variabel lokal
fungsi} Deskripsi {deskripsi dari tugas tugas
fungsi} …. Return hasil |
DEF FNnama_fungsi (parameter) ‘spesifikasi tugas fungsi LOCAL deklarasi variabel lokal … statement/deskripsi fungsi FNnama_fungsi = hasil_yang_dikembalikan END DEF |
Contoh : Fungsi Faktorial(input int x) ->
int {menghitung factorial dari x}
Deklarasi int i,total;
Deskripsi If x<0 OR x>170 Then return -1; Total <- 1; For (I = x to 2 step-1) Total <- Total *I; Endfor Return Total; |
Contoh : DEF FNFaktorial# (x%) ‘menghitung factorial dari x LOCAL i%,total# IF x%<0 OR x%>170 THEN FNFaktorial= -1; EXIT DEF Total# =1 FOR(i% =x% to 2 step-1) Total# = Total#*i% NEXT i% FNFaktorial = Total# END DEF |