Anda di halaman 1dari 14

BAB II

PENGENALAN BAHASA
BASCOM
2.1. PENDAHULUAN
BASCOM 8051 atau Basic Compiler8051 adalah perangkat lunak
dengan bahasa basic produk dari MCS Electronics ang merupakan perangkat
lunak editor! compiler dan simulator" #ampilan muka halaman editor perangkat
lunak BASCOM$8051 terdapat pada gambar %"1

Gambar 2.1. #ampilan halaman editor perangkat lunak BASCOM
Bahasa BASCOM$8051 menggunakan bahasa basic" Bahasa Basic adalah
bahasa pemrograman ang dapat dikatakan berada di antara bahasa beraras rendah
15
dan beraras tinggi" Bahasa beraras rendah artina bahasa ang berorientasi pada
mesin dan beraras tinggi berorientasi pada manusia" Bahasa beraras rendah!
misalna bahasa assembler! bahasa ini ditulis dengan sandi ang dimengerti oleh
mesin sa&a! oelha karena itu hana digunakan bagi ang memprogram
mikroprosesor" Bahasa beraras rendah merupakan bahasa ang membutuhkan
kecermatan ang teliti bagi pemrogram karena perintahna harus rinci! ditambah
lagi masing$masing pabrik mempunai sandi perintah sendiri" Bahasa tinggi
relati' mudah digunakan! karena ditulis dengan bahasa manusia sehingga mudah
dimengerti dan tidak tergantung mesinna" Bahasa beraras tinggi biasana
digunakan pada komputer"
2.2. PENULISAN PROGRAM BAHASA BASCOM
(rogram Bahasa BASCOM tidak mengenal aturan penulisan di kolom
tertentu! &adi bisa dimulai dari kolom manapun" )amun demikian! untuk
mempermudah pembacaan program dan untuk keperluan dokumentasi! sebaikna
penulisan bahasa BASCOM diatur sedemikian rupa sehingga mudah dan enak
dibaca"
Berikut contoh penulisan (rogram Bahasa BASCOM*
$regfile = "REG51.DAT"
Dim I As Byte
Do
.
.
.
Loop
End
End
1+
Baris pertama ,reg'ile - ./ bukanlah pernataan"" Baris tersebut meminta
kompiler untuk menertakan 'ile ang namana ada di antara tanda ./ dalam
proses kompilasi" 0ile$'ile ini 1ber$ekstensi "dat2 berisi deklarasi 'ungsi ataupun
3ariable" 0ile ini disebut header" 0ile ini digunakan semacam perpustakaan bagi
pernataan ang ada di tubuh program"
2.3. Tipe Data
#ipe data merupakan bagian program ang paling penting karena tipe data
mempengaruhi setiap instruksi ang akan dilaksanakan oleh computer" Misalna
sa&a 5 dibagi % bisa sa&a menghasilkan hasil ang berbeda tergantung tipe datana"
4ika 5 dan % bertipe integer maka akan menghasilkan nilai %! namun &ika keduana
bertipe 'loat maka akan menghasilkan nilai %"5000000" (emilihan tipe data ang
tepat akan membuat proses operasi data men&adi lebih e'isien dan e'ekti'"
Tabel 2.1 Bentuk #ipe data*
)o #ipe 5ata 6kuran 7ange 14angkauan2
1 Bte 1 bte 0 s8d %55
% 9nteger % bte $:%;+8 s8d :%;+;
: <ord % btes 0 s8d +55:5
= >ong = bte $%1=;=8:+=8 s8d %1=;=8:+=;
5 Single :% bit 1"5 ? 10@=5 s8dto :"= ? 10@:8
+ String %5= bte $
2.4. Kontanta
Aonstanta merupakan suatu nilai ang tidak dapat diubah selama proses
program berlangsung" Aonstanta nilaina selalu tetap" Aonstanta harus
dide'inisikan terlebih dahulu di aBal program" Aonstanta dapat bernilai integer!
pecahan! karakter dan string"
1;
Contoh 5im A As Const 5
5im B1 As Const CB1001
Const Cbte - CD0
Const Cint - $1000
Const Csingle - 1"1
Const Cstring - EtestE
2.!. "a#ia$%e
Fariabel adalah suatu pengenal 1identi'ier2 ang digunakan untuk meBakili
suatu nilai tertentu di dalam proses program" Berbeda dengan konstanta ang
nilaina selalu tetap! nilai dari suatu 3ariable bisa diubah$ubah sesuai kebutuhan"
)ama dari suatu 3ariable dapat ditentukan sendiri oleh pemrogram dengan aturan
sebagai berikut *
#erdiri dari gabungan huru' dan angka dengan karakter pertama harus berupa
huru'" Bahasa BASCOM bersi'at case$sensiti3e artina huru' besar dan kecil
dianggap berbeda"
#idak boleh mengandung spasi"
#idak boleh mengandung smbol$simbol khusus! kecuali garis baBah
1underscore2" Gang termasuk smbol khusus ang tidak diperbolehkan antara
lain * ,! H! I! J! K! C! L! 1! 2! $! M! - dsb
(an&angna bebas! tetapi hana :% karakter pertama ang terpakai"
18
2.&. De'%a#ai
5eklarasi diperlukan bila kita akan menggunakan pengenal 1identi'ier2
dalam program" 9denti'ier dapat berupa 3ariable! konstanta dan 'ungsi"
2.&.1. De'%a#ai "a#ia$e%
Bentuk umum pendeklarasian suatu 3ariable adalah *
5im namaN3ariabel As )amaNtipe
Contoh *
5im O As Bte ! G As Bte
5im S As Single
5im A As Bte ! 9 As Bte ! > As >ong ! S As Oram String L 15
2.&.2. De'%a#ai Kontanta
5alam bahasa BASCOM konstanta dideklarasikan menggunakan Const"
Contohna *
Const AddressB - 1;=
Const Addressr - 1;5
2.&.3. De'%a#ai ()n*i
0ungsi merupakan bagian ang terpisah dari program dan dapat diakti'kan
atau dipanggil di manapun di dalam program"
Contohna *
5eclare Sub #est1a As Bte ! B1 As Bte2
5eclare Sub #est11bl As Bit2
5eclare Sub #est%
5eclare Sub #est1a As Bte2
1P
2.+. Ope#ato#
2.+.1. Ope#ato# Pen)*aan
Operator (enugasan 1Assignment operator2 dalam bahasa BASCOM
berupa tanda sama dengan 1.-/2"
2.+.2. Ope#ato# A#it,ati'a
Bahasa BASCOM menediakan lima operator aritmatika! aitu *
"L * untuk perkalian
8 * untuk pembagian
I * untuk sisa pembagian 1modulus2
M * untuk pen&umlahan
$ * untuk pengurangan
2.+.3. Ope#ato# H)$)n*an -Pe#$an.in*an/
Operator hubungan digunakan untuk membandingkan hubungan antara
dua buah operand 8sebuah nilai atau 3ariable" Operasi ma&emuk seperti pada tabel
dibaBah ini*
Tabel 2.2 Operator Dubungan
Operato
r
Arti Contoh
Q Aurang dari OQG Apakah O kurang dari G
Q- Aurang dari sama dengan OQ-G Apakah O Aurang dari sama
dengan G
R >ebih dari ORG Apakah O >ebih dari G
R- >ebih dari sama dengan O--G Apakah O >ebih dari sama
dengan G
-- Sama dengan O--G Apakah O Sama dengan G
%0
2.+.4. Ope#ato# Lo*i'a
4ika operator hubungan membandingkan hubungan antara dua buah
operand! maka operator logika digunakan untuk membandingkan logika hasil dari
operator$operator hubungan"
Operator logika ada tiga macam! aitu *
A)5
O7
)O#
OO7
2.+.!. Ope#ato# Bit0ie -Manip)%ai pe# $it/
Operator bitBise digunakan untuk memanipulasi bit$bit dari nilai data
ang ada di memori"
Operator bitBise dalam bahasa BASCOM adalah sebagai berikut *
QQ * (ergeseran bit ke kiri
RR * (ergeseran bit ke kanan
Mengambil Bit ang paling Berbobot
2.+.!.1. Ope#ai Gee# Ki#i -11/
Operasi geser kiri merupakan operasi ang akan menggeser bit$bit kekiri
sehingga bit 0 akan berpindah ke bit 1 kemudian bit 1 akan berpindah ke bit % dan
seterusna" Contohna *
5im a as <ord
a - 1%8
SD90# a! 79SD#! 1
(rint a
%1
2.+.!.2. Ope#ai Gee# Kanan-22/
Operasi geser kiri merupakan operasi ang akan menggeser bit$bit
kekanan sehingga bit ; akan berpindah ke bit + kemudian bit + akan berpindah ke
bit 5 dan seterusna" Contohna *
5im a as <ord
a - 1%8
SD90# a! >E0# ! 1
(rint a
2.+.!.3. Men*a,$i% Bit 3an* Pa%in* Be#$o$ot
6ntuk mendapatkan bit ang paling berbobot 1MSB2 untuk tipe long!
short! int! dan char maka dapat dilakukan dengan pertanaan berikut*
Dim Ar(1! As Byte
Dim Bp As Byte
Dim Bp1 As Byte
Dim Bp" As Byte
#or Bp = 1 To 1
Ar($p! = Bp
%e&t
Bp1 = '(&((r(1!!
Bp" = 'in((r(1!!
)rint Bp1
)rint Bp"
End
2.8. Ko,enta# P#o*#a,
%%
Aomentar program hana diperlukan untuk memudahkan pembacaan dan
pemahaman suatu program 1untuk keperluan dokumentasi program2" 5engan kata
lain! komentar program hana merupakan keterangan atau pen&elasan program"
6ntuk memberikan komentar atau pen&elasan dalam bahasa BASCOM
digunakan pembatas 8L dan L8 atau menggunakan tanda 88 untuk komentar ang
hana terdiri dari satu baris" Aomentar program tidak akan ikut diproses dalam
program 1akan diabaikan2"
Contoh pertama *
program ini dibuat oleh .
2.4. Pen3e%e'ian Kon.ii
(eneleksian kondisi digunakan untuk mengarahkan per&alanan suatu
proses" (eneleksian kondisi dapat diibaratkan sebagai katup atau kran ang
mengatur &alanna air" Bila katup terbuka maka air akan mengalir dan sebalikna
bila katup tertutup air tidak akan mengalir atau akan mengalir melalui tempat lain"
0ungsi peneleksian kondisi penting artina dalam penusunan bahasa C!
terutama untuk program ang kompleks"
2.4.1. STRUKTUR KONDISI 5I(6.7
Struktur i' dibentuk dari pernataan i' dan sering digunakan untuk
meneleksi suatu kondisi tunggal" Bila proses ang diseleksi terpenuhi atau
bernilai benar! maka pernataan ang ada di dalam blok i' akan diproses dan
diker&akan"
Bentuk umum struktur kondisi i' adalah *
i'1kondisi2
pernataanT
%:
Dim Id& (s Byte
#or ID* = To +
if ),.ID* = 1 T-en
)rint "1" .
Else
)rint "" .
End if
%e&t
2.4.2. STRUKTUR KONDISI 5I(......ELSE6.7
5alam struktur kondisi i'"""""else minimal terdapat dua pernataan" 4ika
kondisi ang diperiksa bernilai benar atau terpenuhi maka pernataan pertama
ang dilaksanakan dan &ika kondisi ang diperiksa bernilai salah maka pernataan
ang kedua ang dilaksanakan" Bentuk umumna adalah sebagai berikut *
i'1kondisi2
pernataan$1
else
pernataan$%
Contoh
Dim A As Byte
A = 1
If A / 1 T-en
)rint "A /1"
Else
)rint "A not gre(ter t-(n 1"
E%D I#
2.4.3. STRUKTUR KONDISI 5S8ITCH...CASE... DE(AULT67
Struktur kondisi sBitch""""case""""de'ault digunakan untuk peneleksian
kondisi dengan kemungkinan ang ter&adi cukup banak" Struktur ini akan
melaksanakan salah satu dari beberapa pernataan UcaseV tergantung nilai kondisi
ang ada di dalam sBitch" Selan&utna proses diteruskan hingga ditemukan
%=
pernataan UbreakV" 4ika tidak ada nilai pada case ang sesuai dengan nilai
kondisi! maka proses akan diteruskan kepada pernataan ang ada di baBah
Ude'aultV"
Bentuk umum dari struktur kondisi ini adalah *
sBitch1kondisi2
case 1 * pernataan$1T
breakT
case % * pernataan$%T
breakT
"""""
"""""
case n * pernataan$nT
breakT
de'ault * pernataan$m
end
contoh
Dim $" (s $yte
0ELE1T 1A0E $"
1A0E " 2 )RI%T """
1A0E 3 2 )RI%T "3"
1A0E I0 /5 2 )RI%T "/5"
1A0E 1 T4 "
1A0E EL0E
E%D 0ELE1T
E%D
2.19. Pe#)%an*an
5alam bahasa BASCOM tersedia suatu 'asilitas ang digunakan untuk
melakukan proses ang berulangulang sebanak keinginan kita" Misalna sa&a!
bila kita ingin menginput dan mencetak bilangan dari 1 sampai 100 bahkan 1000!
tentuna kita akan merasa kesulitan" )amun dengan struktur perulangan proses!
%5
kita tidak perlu menuliskan perintah sampai 100 atau 1000 kali! cukup dengan
beberapa perintah sa&a" Struktur perulangan dalam bahasa BASCOM mempunai
bentuk ang bermacam$macam"
2.19.1. STRUKTUR PERULANGAN 5 8HILE7
(erulangan <D9>E banak digunakan pada program ang terstruktur"
(erulangan ini banak digunakan bila &umlah perulanganna belum diketahui"
(roses perulangan akan terus berlan&ut selama kondisina bernilai benar 1true2 dan
akan berhenti bila kondisina bernilai salah"
Bentuk umum dari struktur kondisi ini adalah*
<hile 1ekspresi2
(ernataanN1
(ernataanN%
<end
Contoh :
Dim A As Byte
5-ile A 6= 1
)rint A
In7r A
5end
2.10.2. STRUKTUR PERULANGAN DO.....LOOP
(ada dasarna struktur perulangan do""""Bhile sama sa&a dengan struktur
Bhile! hana sa&a pada proses perulangan dengan Bhile! seleksi berada di Bhile
ang letakna di atas sementara pada perulangan do""""Bhile! seleksi Bhile berada
di baBah batas perulangan" 4adi dengan menggunakan struktur doWBhile
sekurang$kurangna akan ter&adi satu kali perulangan"
%+
Bentuk umum dari struktur kondisi ini adalah*
Do
8
)erny(t((n91
)erny(t((n9"
:
Loop(e;spresi!
Dim A As Byte
Do
A = A < 1
)rint A
Loop =ntil A = 1
)rint A
2.10.3. STRUKTUR PERULANGAN OR
Struktur perulangan 'or biasa digunakan untuk mengulang suatu proses
ang telah diketahui &umlah perulanganna" 5ari segi penulisanna! struktur
perulangan 'or tampakna lebih e'isien karena susunanna lebih simpel dan
sederhana" Bentuk umum perulangan 'or adalah sebagai berikut *
for(inisi(lis(si. sy(r(t. pen(m$(-(n!
perny(t((n.
Aeterangan*
Inisialisasi * pernataan untuk menatakan keadaan aBal dari 3ariabel kontrol"
syarat * ekspresi relasi ang menatakan kondisi untuk keluar dari perulangan"
penambahan * pengatur perubahan nilai 3ariabel kontrol"
Contoh
Dim > As Byte ? A As Byte?& (s $yte
y = 1
#or A = 1 To 1
#or * = > To 1
)rint * . A
%;
%e&t
%e&t
2.11. MEN:ISIPKAN INSTRUKSI ASSEMBLI
BASCOM &uga mendukung penisipan instruksi dalam bahasa asembli"
9nstruksi asembli dituliskan diantara kata kunci ,asm dan ,end asm seperti berikut
ini*
Dim 7 (s Byte
$A0'
'o@ r?A81: .(ddress of 7
'o@ (?A1
'o@ Br?(
$E%D A0'
)rint 7
End
%8

Anda mungkin juga menyukai