Anda di halaman 1dari 21

Sejarah Bahasa BASIC

BASIC singkatan dari Beginners All Purpose Symbolic Instruction Code merupakan bahasa tingkat
tinggi (high level language) yang bersifat interpreter. Bahasa BASIC diciptakan oleh John G.
Kemeny dan Thomas E. Kurtz dari Darmouth Collage, USA. Bahasa ini memang dikenal sangat
mudah di pahami dan dipahami.
Saat mengalami perkembangan yang sangat pesat, BASIC memiliki banyak versi yang beredar di
pasaran di antaranya BASICA, CBASIC, GBASIC, MBASIC, QUICK BASIC, GW-BASIC, dan
sebagainya. Namun yang paling populer adalah BASICA dan QUICK BASIC (QBASIC) yang
berjalan pada sistem operasi MS-DOS atau IBM PC-DOS. Modul ini sendiri disusun mengacu pada
versi QBASIC milik Micosoft.
Konsep Dan Struktur Program BASIC
BASIC adalah bahasa pemrograman yang terstruktur. Selain itu bahasa ini mendukung teknik
pemrograman modular atau prosedural yang ditandai dengan tersedianya fasilitas untuk membuat
suatu prosedur atau sub program.
Struktur program BASIC diawali dengan bagian pendeklarasian variabel, kemudian bagian tubuh
program tempat meletakkan statement atau instruksi-intruksi untuk sebuah program dan diakhiri
oleh statement END. Jika dibuat bagan terlihat sebagai berikut:
DIM nama_variabel AS tipe_data
..
no_baris1 Statement_1
no_baris2 Statement_2
..
END

bagian pendeklarasian
atau pendefinisaian variabel

bagian penulisan instruksi


atau statement

- akhir program

Stament END tidak harus berada di akhir baris program, fungsinya adalah untuk mengakhiri
program dan kembali ke sistem operasi. Untuk pembuatan prosedur atau sub program pada QBASIC
ditulis pada jendela terpisah dari modul utama QBASIC secara otomatis akan menciptakan jendela
tersendiri saat pendefinisian prosedur dengan statement SUB dan dipanggil dari modul utama.
Nomor baris boleh tidak ditulis dalam QBASIC kecuali untuk lompatan alur program.
Variabel adalah besaran atau simbol yang digunakan untuk menyimpan suatu nilai.
BASIC memiliki aturan atau kententuan untuk penulisan nama variabel yang akan dideklarasikan,
yaitu:
1. Maksimum panjangnya 40 karakter.
2. Terdiri dari huruf, angka, dan titik, tetapi karakter pertama harus huruf.
3. Tidak boleh menggunakan spasi atau blank di antara karakter-karakter.
4. Tidak boleh ada karakter khusus, kecuali %, !, # dan $ yang harus diletakkan diakhir nama
variabel yang menunjukkan jenis variabelnya.
5. Tidak boleh sama dengan BASIC reserved words, yaitu kata-kata yang sudah menjadi milik
BASIC untuk tugas tertentu. Reserved word terdiri dari statement, function, keyword dan meta
command.

Contoh nama variabel yang dianggap sah yaitu : total, NAMA, Kelas1, bil% ,dan kata$.
Contoh nama variabel yang dianggap tidak sah yaitu : $Gaji, 2Tahunan, Nama Peg, Dim, dan
COLOR.
BASIC tidak mengenal huruf besar atau kecil dalam penulisan variabelnya walaupun namanya sama.
Misalnya variabel TOTAL dianggap sama dengan variabel total.
Bentuk umum pendeklarasian variabel adalah :
DIM nama_variabel1[(subskrip)] [AS tipe_data] [,nama_variabel2[(subskrip)] [AS tipe_data]] ..
Keterangan simbol bentuk umum (sintaks):
Notasi '[ ]' ; berarti bersifat optional, boleh ditulis atau tidak.
Notasi '{ }' ; berarti dipilih salah satu dari sekian option yang ada didalamnya.
Notasi '' ; berarti dapat diulang-ulang (dst).
Tipe data adalah jenis data yang disimpan variabel. Jika dideklarasikan tanpa menyebutkan tipe
datanya QBASIC menganggap variabel tersebut bertipe numerik.
Tipe data dalam BASIC, yaitu:
1. Integer ; bilangan bulat 16-bit antara -32768 s.d. 32767.
2. Long ; bilangan bulat 32-bit
3. Single ; floating point 32-bit antara 2.938736 x10-39 s.d 1.701412 x1038 .
4. Double; floating point 64-bit antara 2.9358745877055719 x10-39 s.d 1.701411834604692 x1038.
5. String * n ; untai kata yang terdiri dari huruf dan angka dengan panjang n bytes(karakter).
Untuk mendeklarasikan variabel 1 karakter digunakan tipe data no. 5 dengan n=1. Setelah variabel
dideklarasikan variabel tersebut bisa dimanipulasi atau dilihat nilainya, contoh lihat program berikut:
DIM I AS INTEGER, nama AS STRING *20
DIM F AS SINGLE
I=4
F=10.5
nama="Budi"
PRINT I
PRINT nama;F
END
Output program tersebut adalah :
4
Budi 10.5
Statement PRINT memerintahkan komputer untuk menampilkan nilai variabel ke layar monitor.
Sintaks statement PRINT :
PRINT [{expressionlist | variabel }] [{; | , }]

Statement PRINT memiliki beberapa variasi penulisan seperti pada program berikut :
DIM I AS INTEGER, nama AS STRING *20
DIM F AS SINGLE
I=4
F=10.55
nama="Budi"
PRINT nama;F
PRINT nama,F
PRINT nama;I;
PRINT F
PRINT "Nilai";TAB(7);nama;TAB(15);F
PRINT USING "##.#";F
PRINT
PRINT USING "Rp. ####.##";F
END
Output program tersebut adalah:
Budi 10.55
Budi
10.55
Budi 4 10.55
Nilai Budi
10.55
10.6
Rp.

10.55

Untuk memasukkan nilai variabel dengan keyboard oleh user digunakan statement INPUT. Nilai
yang diinput akan disimpan ke variabel yang dituju. Format penginputan dengan statement INPUT
ini mjuga memiliki beberapa format. Bentuk umum INPUT :
INPUT [;] ["prompt/judul" {; | ,}] nama_variabel
Cntohnya :
DIM I AS INTEGER, nama AS STRING *20
Dim no AS INTEGER
INPUT "NAMA : ", nama
INPUT "Umur "; I
INPUT no
PRINT
PRINT nama
PRINT I
PRINT no
END

Output program :
NAMA : Budi
Umur ? 20
?12
Budi
20
12
Operator dalam BASIC
Operator dapat berupa tanda operasi aritmatika ataupun menunjukkan hubungan logika antara dua
elemen. Operator aritmatika yang ditulis berdasarkan prioritas pemrosesan terdiri dari :
1. ^ (Pangkat)
2. * (Kali) dan / (Bagi)
3. + (Tambah) dan - (Kurang).
Contoh penjelasan prioritas operator aritmatika :
1. 2 * 4 ^ 2 = 2 * (4 ^ 2) = 32 ; bukan (2 * 4) ^ 2 = 64
2. (8 / 2) ^ 2 = 16
3. 9 + 8 * 2 + 1 = 9 + (8 * 2) + 1= 26 ; bukan (9 + 8) * 2 + 1= 35 atau (9 + 8)*(2 + 1) = 51
4. 3 * (3 + 2) = 15
5. b ^ 2 - 4 * a * c = (b ^ 2) - (4 * a * c)
6. (6 ^ 2 + 8 ^ 2) ^ 0.5 = 10
Contoh penggunaan operator ini dapat dilihat pada program sederhana berikut :
DIM Luas AS SINGLE
DIM Sisi AS SINGLE, Jari AS SINGLE
INPUT "Masukan Panjang Sisi => ",Sisi
Luas = Sisi ^ 2
PRINT "Luas Bujur Sangkar = " ; Luas
INPUT "Masukan Panjang Jari-Jari => ",Jari
Luas = 22 / 7 * Jari ^ 2
PRINT "Luas Lingkaran = " ; Luas
END
Output dari program tersebut adalah:
Masukan Panjang Sisi => 4
Luas Bujur Sangkar = 16
Masukan Panjang Jari-Jari => 7
Luas Bujur Sangkar = 154
Pertama kali program meminta user untuk memasukan nilai untuk panjang sisi melalui keyboard dan
diinput dengan nilai 4 kemudian ditampilkan hasil perhitungan luas bujur sangkar sesuai dengan
rumus yang digunakan pada baris keempat program. Hasil perhitungan disimpan pada variabel
Luas. Hal ini juga dilakukan untuk mencari luas lingkaran hanya user diminta memasukkan nilai
jari-jariya.

Sedangkan operator hubungan (relational operator) biasanya digunakan untuk membandingan dua
buah elemen. Operator hubungan ini terdiri dari :
1. > (Lebih besar dari)
2. < (Kurang dari)
3. >= (Lebih besar atau sama dengan)
4. <= (Lebih kecil atau sama dengan)
5. = (Sama dengan)
6. <> (Tidak sama dengan).
Operator boolean digunakan untuk menentukan hubungan logik dua buah kondisi atau dua ekspresi
logika yang mengahsilkan nilai benar atau salah. Operator boolean yaitu:
1. NOT ; operator invert ("tidak")
2. AND ; operator gabung atau conjunction ("dan")
3. OR ; operatro dijunction("atau")
4. XOR ; operator exclusive or
5. EQV ; operator equivalence ("sama dengan")
6. IMP ; operator implikasi.
Bentuk umum pemakaian operator ini adalah :
Hasil = ekspresi_ boolean1 operator_boolean ekspresi2
Hasil Tiap-tiap operator bereda-beda sesuai dengan nilai ekspresi1 dan ekspresi2. Hasil ini dapat
dilihat pada tabel kebendaran berikut :
Ekspresi1 Ekspresi2
NOT(Ekspresi1) AND OR XOR EQV IMP
T
T
F
T
T
F
T
T
T
F
F
F
T
T
F
F
F
T
T
F
T
T
F
T
F
F
T
F
F
F
T
T
Jika operator aritmatika menghasilkan hasil perhitungan, maka operator hubungan dan operator
boolean menghasilkan nilai benar atau salah. Nilai benar oleh QBASIC diwakilkan oleh angka
nonzero (selain nol) dan nilai salah diwakilkan oleh angka 0. Contoh :
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
END

2 < 4
0 > 5
2 ^ 2 = 2 * 2
"HELLO" = "HALLO"
"A" < "C"
(2 < 4) AND (0 > 5)
NOT(0)
-1 XOR 0

Output program adalah:


-1
0
-1
0
-1
0
-1
-1
Jika menggunakan operator hubungan terhadap nilai string, maka yang dibandingkan adalah urutan
alpabethnya seperti pada baris keempat dan kelima program di atas.
Statement
Stament dalam BASIC merupakan pernyataan yang mengandung perintah untuk melaksanakan
tujuan tertentu. Kumpulan dari statement membentuk suatu program. Contoh statement PRINT
untuk menampilkan bilangan atau string ke layar monitor.
Beberapa contoh statement dalam QBASIC dapat dilihat pada menu Help>Index, terdapat daftar
reserved word yang berurutan berdasar abjad. Sebuah statement dapat dilihat dari reserved word yan
diakhiri kata 'Statement'.
Contoh beberapa statement :
Statement
Sintaks
CLS
CLS [{ 1 | 2 | 3}]
Membesihkan layar
COLOR
COLOR [foreground] [, background]
Memberi warna teks dan latar
belakang teks
SOUND
SOUND frekuensi ,durasi
Mengeluarkan suara dari speaker
CONST
CONST var_konstanta=ekspresi ..
Mendeklarasikan variabel
konstan
READ
READ var_list
Membaca nilai variabel pada
statement DATA
DATA
DATA konstanta_list
Memberikan nilai variabel pada
statement READ letaknya di
bagian mana saja dari program
END
END [{DEF|FUNCTION|SUB|SELECT|TYPE}]
Mengakhiri program ,sub prog.,
fungsi, TYPE, atau SELSECT
GO TOGO TO no_baris
Melompat ke baris yang dituju
LET
LET variabel=ekspresi
Memberikan harga suatu variabel
REM
REM catatan_kalimat
Memberikan catatan program
yang tidak dieksekusi komputer
LOCATE
LOCATE [baris][,kolom]
meletakan kursor aktif pada baris
dan kolom tertentu pada layar
STOP
STOP
mengkahiri program dari bagian.

Array
Array adalah sekumpulan data sejenis/setipe yang disimpan dalam sebuah variabel berindeks. Tiap
indeks atau subskrips menyimpan sebuah nilai. Indeks dapat berbentuk satu dimensi (one
dimensional) atau lebih dari satu dimensi (multi dimensional). Indeks terkecil dimulai dari 0.
Cara pendeklarasian variabel array sama dengan pendeklarasian variabel pada umumnya, yaitu
dengan statement DIM hanya nama variabelnya diikuti dengan nilai dalam tanda kurung '( )' yang
menunjukkan jangkauan indeksnya. Misalnya :
DIM Bil(4) AS INTEGER
DIM Nama(2,2) AS STRING * 15
DIM Matrik(4,3,2) AS SINGLE
Variabel Bil adalah array dimensi satu dengan tipe integer. Variabel Bil ini memiliki 5
indeks/subskrip mulai dari Bil(0) sampai dengan Bil(4) yang masing-masing menyimpan
sebuah nilai integer. Sedangkan Nama berdimensi 2 bertipe string. Indeksnya berjumlah 9 dimulai
dari Nama(0,0), Nama(0,1), dst sampai dengan Nama(2,2).
Pengaksesan vaiabel array untuk memanipulasi atau menampilkan nilainya adalah dengan
menyebutkan indeksnya. Contohnya :
DIM Nilai(2) AS SINGLE
Nilai(0) = 70
Nilai(1) = 60
Nilai(2) = (Nilai(0) + Nilai(1)) / 2
PRINT "Nilai-1 = "; Nilai(0)
PRINT "Nilai-2 = "; Nilai(1)
PRINT "Rata-Rata = "; Nilai(2)
END
Record
Record adalah data terstruktur yang mengandung sekumpulan data yang berbeda jenis atau tipe yang
disimpan dalam sebuah tipe data. Sekumpulan data ini kemudian disebut sebagai field-field dari
record. Record adalah tipe data yang bisa dibuat oleh user sendiri. Selanjutnya tipe data ini
digunakan untuk mendeklarasikan variabel sama seperti tipe data yang ada.
Untuk mendeklarasikan tipe record digunakan statement TYPE. Field-fieldnya didefinisikan setelah
TYPE ini tanpa menggunakan DIM. Bentuk umum statement TYPE :
TYPE usertype
Elemen-1 AS Tipedata
[Elemen-2 AS Tipedata]
.
END TYPE
Usertype adalah tipe data baru yang dicipatakan user. Dalam sebuah tipe record minimal memiliki
satu buah field/elemen. Selanjutnya dapat dideklarasikan variabel bertipe usertype dengan cara biasa
dengan DIM,yaitu:
DIM nama_variabel AS usertype

Pengaksesan nilai elemen dalam record dapat digunakan tanda period/titik (.). Untuk lebih jelasnya
lihat contoh program berikut :
TYPE

Dat_Mhs
Nama
AS STRING * 15
NPM AS STRING * 8
Kelas AS STRING * 5
END TYPE
DIM Mhs AS Dat_Mhs
CLS
INPUT "Nama : " , Mhs.Nama
INPUT "NPM
: " , Mhs.NPM
INPUT "Kelas : " , Mhs.Kelas
PRINT
PRINT "Data Mahasiswa yang dimasukkan "
PRINT "Nama : " ; Mhs.Nama
PRINT "NPM
: " ; Mhs.NPM
PRINT "Kelas : " ; Mhs.Kelas
END
Output program :
Nama : Budi
NPM
: 50499047
Kelas : 1IA01
Data Mahasiswa yang dimasukkan
Nama : Budi
NPM
: 50499047
Kelas : 1IA01
Dat_Mhs adalah sebuah tipe data baru berbentuk record yang memiliki elemen-elemen Nama,
NPM, dan Kelas. Kemudian dideklarasikan variabel Mhs bertipe Dat_Mhs sehingga variabel Mhs
secara otomatis juga memiliki elemen-elemen Nama, NPM, dan Kelas.
Sebuah tipe record, elemen-elemennya dapat berupa array atau record itu sendiri berupa array. Pada
contoh sebelumnya menggunakan data mahasiswa tunggal. Untuk data mahasiswa yang banyak
dapat diubah menjadi array. Berikut adalah modifikasi program sebelumnya dimana vairabel Mhs
diubah menjadi array pada baris ke-6:

TYPE

Dat_Mhs
Nama
AS STRING * 15
NPM AS STRING * 8
Kelas AS STRING * 5
END TYPE
DIM Mhs(2) AS Dat_Mhs
DIM I AS INTEGER
CLS
FOR I=0 TO 2
INPUT "Nama : " , Mhs(I).Nama
INPUT "NPM
: " , Mhs(I).NPM
INPUT "Kelas : " , Mhs(I).Kelas
PRINT STRING$("-",20)
NEXT I
PRINT
PRINT "NAMA", "NPM", "KELAS"
FOR I=0 TO 2
PRINT
Mhs(I).Nama, Mhs(I).NPM, Mhs(I).Kelas
Next I
END
Output program :
Nama : Budi
NPM
: 50499047
Kelas : 1IA01
-------------------Nama : Budi
NPM
: 50499047
Kelas : 1IA01
-------------------Nama : Budi
NPM
: 50499047
Kelas : 1IA01
NAMA
Budi
Dedi
Irma

NPM
50499047
50499065
50499121

KELAS
1IA01
1IA01
1IA01

Seleksi Kondisi
Dalam BASIC, seleksi kondisi dilakukan oleh statement IF..THEN dan SELECT CASE. Kondisi
ini berupa suatu ekspresi yang menghasilkan nilai benar (-1) atau salah (0) saja. Ekspresi biasanya
menggunakan relational operator atau logic operator.
Bentuk umum statement IF..THEN :
IF kondisi THEN statement1 [ELSE statement2]
Jika dibuat bagan flow chart :

Kondis
i = true
?
Ya

Tidak
Statement2

Statement1
Bentuk lain :
IF kondisi1 THEN
[Blok statement-1]
[ELSEIF kondisi2 THEN
[blok statement-2]]
[ELSE
[blok statement-n]]
END IF
Bentuk flowchartnya :

T
Kondisi1
=true ?
Y
Blok
Statement1

T
Kondisi2
= true ?
Y
Blok
Statement1

T
Kondisi
n-1= true

Blok
Statement -n

Y
Blok Statement
(n-1)

Bentuk pertama menggunakan statement tunggal. Jika kondisi benar akan melaksanakan statement-1
jika salah akan melaksanakan statement-2. Bentuk kedua adalah bentuk seleksi kondisi bertingkat.
Jika kondisi-1 benar akan melaksanakan statement pada blok statement-1, jika tidak maka akan
menyeleksi komdisi2. Jika kondisi-2 benar maka blok statement-2 akan dilaksanakan dst. Jika semua
kondisi salah maka akan melaksanakan blok statement-n.

Bentuk umum SELECT CASE :


SELECT CASE ekspresi
CASE ekspresi_list1
[Blok statement-1]
[CASE ekspresi_list2
[Blok statement-1]]
[CASE ELSE
[Blok statement-n]]
END SELECT
Ekspresi-list adalah daftar ekspresi yang dibandingkan nilainya dengan ekspresi yang dites. Ekspresi
adalah nilai yang akan dibandingkan dengan nilai tiap-tiap ekspresi_list. Jika terpenuhi atau
menghasilkan nilai benar maka akan melaksanakan blok statement di bawahnya. Jika tidak sesuai
dengan semua ekspresi_list yang ada maka akan melaksanakan blok statement-n (di bawah CASE
ELSE).
Bentuk bagannya:

Blok
Statement1

Blok
Statement2

Blok Statementn

Contoh program :
DIM Umur AS INTEGER
DIM Nilai AS SINGLE
DIM Peringkat AS INTEGER
Umur = 45
Nilai = 75
Peringkat = 5
IF Umur >= 30 THEN PRINT "Anda Sudah Tua"
Masih Muda"
IF Nilai >=90 THEN
PRINT "Anda mendapat nilai A"
ELSEIF Nilai >=80 THEN
PRINT "Anda mendapat nilai B"
ELSEIF Nilai >=70 THEN
PRINT "Anda mendapat nilai C"
ELSEIF Nilai >=60 THEN
PRINT "Anda mendapat nilai D"
ELSE PRINT "Anda mendapat nilai E"
END IF
SELECT CASE Peringkat
CASE 1 TO 3
PRINT "Peringkat
CASE 4,5
PRINT "Peringkat
CASE 6 TO 10
PRINT "Peringkat
CASE IS > 10
PRINT "Peringkat
END SELECT
END

ELSE

PRINT "Anda _

Anda Istimewa"
Anda Bagus"
Anda Lumayan"
Anda Buruk"

Output program :
Anda Sudah Tua
Anda mendapat nilai C
Peringkat Anda Bagus
Perulangan
Stetement perulangan terdiri dari FOR..NEXT, DO..LOOP, dan WHILE..WEND.
FOR..NEXT merupakan perulangan dimana akan berhenti yaitu saat nilai pencacah mencapai nilai
akhir yang diinginkan tanpa ada proses penyeleksian. Kita bisa mengetahui berapa kali terjadi
perulangan yaitu (nilai_akhir - nilai_awal) * kenaikan.

Bentuk umum statement FOR..NEXT :

FOR pencacah = nilai_awal TO nilai_akhir [STEP kenaikan]


[blok statement]
NEXT pencacah
For I=awal to akhir
Blok statement
Next I

Jika STEP tidak disebutkan maka kenaikannya adalah 1.


Contoh program :
DIM I AS INTEGER
DIM X AS INTEGER
FOR I=1 TO 5
PRINT "Bilangan ke-" ; I
NEXT I
PRINT "10 Bilangan genap pertama : " ;
FOR X=2 TO 20 STEP 2
PRINT X;
NEXT X
END
Output program :
Bilangan ke-1
Bilangan ke-2
Bilangan ke-3
Bilangan ke-4
Bilangan ke-5
10 Bilangan genap pertama : 2

10

12

14

16

18

20

Perulangan DO..LOOP terus dilaksanakan saat kondisi tertentu terpenuhi atau bernilai benar, jika
tidak maka proses perulangan akan berhenti. Penyeleksian kondisi dilakukan setelah kata DO atau
LOOP. Bentuk umumnya :
DO [{ WHILE | UNTIL } kondisi]
[blok statement]
LOOP
Atau
DO
[blok statement]
LOOP [{ WHILE | UNTIL } kondisi]
Bagan flow chart:

Blok statement

Kondi
si
=true?
T

Blok statement

Bentuk-1

Kondi
si
=true?
Y

Bentuk-2

Bentuk-1 adalah looping dengan menggunakan UNTIL, bentuk-2 dengan WHILE. Perbedaannya
adalah bentuk-1 proses looping akan berhenti sampai kondisi bernilai benar(Y) dan sebaliknya.
Sedangkan bentuk-2 selama kondisi bernilai benar proses looping akan terus dilakukan.
Lihat contoh program berikut :
DIM I AS INTEGER, X AS INTEGER
I=0
DO
I= I + 1
PRINT I;
LOOP UNTIL I=5
PRINT
X=0
DO WHILE X < 5
X= X + 1
PRINT X;
LOOP
END
Output program :
1 2 3 4 5
1 2 3 4 5
Perulangan WHILE..WEND pada dasarnya sama dengan DO WHILE..LOOP. Selama kondisi
bernilai benar proses looping terus dilaksanakan. Bentuk umumnya:
WHILE kondisi
[blok statement]
WEND

Sub Routine
Sub rouitine merupakan kumpulan baris program yang dipanggil dengan statement GO SUB. Sub
routin digunakan untuk memanggil baris program yang sering dipanggil. Hal ini lebih baik daripada
menuliskan baris program yang sama berkali-kali. Bnetuk 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 "Budi", "1IA01", "Jakarta"
GO SUB 15
PRINT "Dedi", "1IA02", "Depok"
GO SUB 15
END
15 PRINT STRING$(35 ,"-")
RETURN
Output program :
Budi
1IA01
Jakarta
--------------------------------Dedi
1IA02
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
tabel berikut :
Fungsi
Sintaks
ABS
ABS(ekspresi_numerik)
COS
COS(sudut)
ASC
ASC(ekspresi _karakter)
SQR
SQR(ekspersi_numerik)
CINT
CINT(ekspresi_numerik)
CSNG
CSNG(ekspresi_numerik)
UCASE$ UCASE$(ekspresi_string)
Dsb

Kegunaan
Mengembalikan nilai absolut ekspresi numerik
Mencari nilai kosinus sudut (dalam radian)
Mencari kode ASCII suatu karakter
Mencari akar suatu bilangan
Mengkonversi bilangan ke bentuk integer(bulat)
Mengkonversi bilangan ke bentuk floating point single
Mengubah tiap huruf dalam kata dengan huruf besar

Bentuk umum untuk membuat suatu fungsi :


FUNCTION nama_fungsi [(parameter)]
[blok_statement]
nama_fungsi = ekspresi
[blok_statement]
END FUNCTION
Dalam QBASIC penulisan fungsi dilakukan dengan jendela terpisah dari modul utama. Untuk
berpindah-pindah dari modul utama ke jendela fungsi tekan tombol F2, lalau pilih pilihan modul
yang ada.
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
Pemanggilan fungsi memberikan nilai kembalian yang bisa disimpan pada variabel, dimanipulasi
atau ditampilkan.

Contoh program :
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 > Lab Informatika
Lab Informatika >> LAB INFORMATIKA
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.

Contoh program :
DIM pil AS INTEGER
CLS
LOCATE 5, 15
PRINT "< Menu Utama >"
LOCATE 6, 15
PRINT "1. Menu Pertama"
LOCATE 7, 15
PRINT "2. Menu Kedua"
LOCATE 8, 15
PRINT "3. Menu Ketiga"
LOCATE 9,15
INPUT "Pilihan Anda > "; pil
SELECT CASE pil
CASE 1
Satu
CASE 2
Dua
CASE 3
Tiga
ELSE CASE
PRINT "Pilihan Anda Ngawur !"
END SELECT
END
SUB Satu
PRINT "ANDA MEMILIH MENU PERTAMA"
END SUB
SUB Dua
PRINT "ANDA MEMILIH MENU KEDUA"
END SUB
SUB Tiga
PRINT "ANDA MEMILIH MENU KETIGA"
END SUB
Output program :
< Menu Utama >
1. Menu Pertama
2. Menu Kedua
3. Menu Ketiga
Pilihan Anda > 3
ANDA MEMILIH MENU PERTAMA
Jika memasukan pilihan selain ketiga nomor tersebut akan tercetak kalimat :
Pilihan Anda Ngawur !

File
File merupakan tempat penyimpanan data-data yang lebih permanen di dalam disk atau tape.
Pengertian lain, file adalah kumpulan dari record-record. Beberapa keuntungan menggunakan file
,yaitu:
1. Kita bisa melihat isi data dalam file di kemudian hari karena lebih permanen dari pada
penyimpanan dalam memori utama /buffer. Jika komputer dimatikan data dalam buffer akan
hilang, sedangkan dengan file tidak hilang karena sudah disimpan secara fisik dalam disk.
2. File dapat menampung jumlah data yang sangat besar, seperti data karyawan, data mahasiswa,
dan sebagainya.
3. Data dalam file dapat digunakan secara bersama-sama oleh beberapa program atau aplikasi.
Ada beberapa jenis file dalam BASIC,yaitu :
1. File Sequential ; file yang diakses secara berurutan.
2. File Random ; file yang bisa diakses sccara random tanpa memprhatikan urutan data.
3. File Binary; file dalam bentuk kode-kode binary.
File yang digunakan biasanya bertipe atau berekstension .dat atau .txt.
Untuk membuat file dengan BASIC bisa digunakan statement OPEN, bentuk umumnya:
OPEN nama_file [FOR MODE] AS [#nomor_file] [LEN = panjang_record]
Keterangan :
Nama_file ; nama file yang akan dibuat atau dibuka,ditulis berkut direktori filenya. Jika direktori
tidak ditulis berarti file dibuat pada direktori aktif.
MODE ; mode penggunaan file , terdiri dari :
- INPUT ; jika file dibuat/dibuka untuk dibaca isi datanya.
- OUTPUT ; jika file dibuat/dibuka untuk menuliskan / merekam data ke dalam file. Jika
nama file yang akan dibuat sudah ada sebelumnya, maka file yang lama akan dihapus.
- APPEND ; jika file dibuat/dibuka untk ditambah isinya tanpa menghapus file sebelumnya.
- RANDOM ; digunakan untuk pembuatan file random, menyimpan dalam bentuk record.
Setelah sebuah file dibuat atau dibuka,kemudian file bisa ditutup. Dengan menggunakan statement
CLOSE. Bnetuk umumnya :
CLOSE [(nomor_file)]
Ada beberapa operasi yang melibatkan file , yaitu:
1. Baca File ; setelah dibuka file dapat dibaca isi datanya dengan statement INPUT #, LINE INPUT
#, atau GET. Bentuk umum masing-masing statement :
INPUT #no_file, variabel_list
LINE INPUT # #no_file, variabel_list
GET #no_file, [no_record] [,variabel_list]
LINE INPUT membaca isi file perbaris. Statement GET biasanya untuk membaca file random
yang berisi record-record.

2. Tulis File ; penulisan file dapat dilakukan dengan statement PRINT #, PUT ,WRITE . Bentuk
umumnya :

PRINT #no_file, variabel_list


PUT #no_file, [no_record] [,variabel_list]
WRITE #no_file, ekspresi
PUT digunakan untuk merekam data ke file random. Sedangkan WRITE untuk merekam data ke
file sequewnsial.
3. Tambah File; untuk kepentingan tertentu isi file bisa ditambah datanya tanpa menghapus file
lama dan menulis dengan yang baru. Untuk bisa menambah isi file mode pembuakaan file harus
ditulis APPEND. Contoh :
OPEN "DATA.DAT" FOR APPEND AS #1
Kemudian untuk menulisnya menggunakan statement yang biasa untuk menulis data, seperti
penjelasan no.2.
Contoh program yang membuat dan membaca sebuah file sequensial :
DIM Nama AS STRING *15 , Umur AS INTEGER
DIM Nama2 AS STRING *15 , Umur2 AS INTEGER
Nama = "Budi"
Umur = 21
Nama2 = "Wati"
Umur = 22
' Membuat file
OPEN "C:\QBASIC\data.dat" FOR OUTPUT AS #1
PRINT #1 , Nama
PRINT # 1, Umur
PRINT #1, Nama2, Umur2
CLOSE(1)
'Membaca file
OPEN "C:\QBASIC\data.dat" FOR INPUT AS #1
INPUT #1, nam$
INPUT #1, age%
INPUT #1, temp$
PRINT nam$, age%
PRINT temp$
CLOSE (1)
END
Output program :
Budi
21
Wati
22
Isi file C:\QBASIC\data.dat setelah diisi data:
Budi
21
Wati
22

Contoh program yang membuat dan membaca sebuah file random :


TYPE Data_Mhs

Nama AS STRING * 15
Kelas AS STRING * 5
END TYPE
DIM dat(1 TO 2) AS Data_Mhs, temp AS Dat_Mhs
'buat file
OPEN "DATA.DAT" FOR RANDOM AS #1
FOR I%=1 TO 2
INPUT "Nama : "; dat(I).Nama
INPUT "Kelas : "; dat(I).Kelas
PUT #1, I%, dat(I)
NEXT I%
CLOSE(1)
'baca file
PRINT
OPEN "DATA.DAT" FOR RANDOM AS #1
FOR I%=1 TO 2
GET #1,I%, temp
PRINT "Data-";I%
PRINT temp.Nama, temp.Kelas
NEXT I%
CLOSE(1)
END
Output program:
Nama : Budi
Kelas : 1IA01
Nama : Wati
Kelas : 1IA02
Data-1
Data-2

Budi
Wati

1IA01
1IA02

Beberapa reserved words lain yang berhubungan dengan file :


1. SEEK ; statement untuk menset dan mengetahui pointer record pembacaan atau penulisan pada
file. Betnuk umumnya :
SEEK(no_file)
SEEK # no_file, posisi
2. EOF ; fungsi untuk mengetahui apakah pointer record berada di akhir file. Mengmbalikan nilai
benar atau salah.Bentuk umumnya :
EOF(no_file)
3. LOF; fungsi untuk mengetahui panjang sebuah file dalam satuan byte. Bentuk umumnya :
LOF(no_file)
4. KILL; statement untuk menghapus file dari dalam program. Statement ini sama dengan perintah
Delete dalam DOS. Bentuk umumnya :
KILL nama_file
5. FILES ; statement untuk menampilkan file dalam direktori dari dalam program. Statement ini
sama dengan perintah Dir dalam DOS. Bentuk umumnya :
FILES nama_file

Anda mungkin juga menyukai