BAB II
LANDASAN TEORI
Pada bab ini akan dibahas mengenai teori yang mendukung dalam pembuatan proyek
akhir. Materi yang dibahas yaitu vending machine, mikrokontroler, sensor uang logam, solenoid valve, LCD, Solid State Relay, dan Pemrograman BASCOM AVR. 2.1. Vending Machine Vending machine adalah sebuah mesin yang dapat mengeluarkan barang-barang
seperti makanan ringan, minuman ringan seperti minuman soda, alcohol, rokok, tiket lotre, produk konsumen, dan bahkan emas dan permata untuk pelanggan secara otomatis.[1] Mesin ini tidak membutuhkan manusia sebagai penjual dan sangat memudahkan konsumen untuk membeli produk yang dibutuhkannya. Saat ini di berbagai negara berkembang vending machine sudah sangat lumrah ditemukan disudut-sudut jalan dan ditempat umum. Jenis dan fiturnya pun sudah sangat beragam yang dimaksudkan untuk mempermudah penggunaannya. Prinsip kerja vending machine adalah apabila konsumen tertarik pada barang yang ditawarkan, konsumen hanya tinggal memasukkan sejumlah uang atau alat pembayaran yang berlaku lainnya sesuai harga yang tertera. Lalu sensor atau scanner akan menentukan apakah alat pembayaran yang digunakan sesuai atau tidak. Setelah pengguna memasukkan uang, mesin akan memberi tahu pembeli untuk memilih produk yang diinginkan. Biasanya pemilihan produk dilakukan dengan menarik tuas atau menekan tombol tertentu. Setelah dilakukan pemilihan, aktuator mesin akan bekerja sesuai jenis mesin dan barang yang dijual. Apabila barang yang dijual berbentuk solid, biasanya produk akan dijatuhkan ke tempat dimana pengguna dapat mengambil produk yang mereka pilih. Vending machine pertama kali ditemukan oleh Hero dari Alexandria, seorang matematikawan dan insinyur terkenal karena semangat inovatifnya. Penemuan Hero adalah air suci dengan pembayaran satu uang logam.[2] Saat ini perkembangan mesin penjual atau vending machine ini sudah sangat pesat. Beberapa gambar berikut adalah sedikit dari contoh vending machine yang ada saat ini. 6
Gambar 2.1. Mesin Penjual Makanan Ringan
Gambar 2.2. Mesin Penjual Sepatu
Di Indonesia, mesin penjual otomatis masih sangat jarang ditemukan dan hanya ada di tempat-tempat tertentu. Pada umumnya hanya menjual minuman dingin dalam kemasan. Sebagai alat pembayaran yang berlaku digunakan sejenis kupon yang harus dibeli dulu di kasir atau menggunakan uang kertas. Sehingga mesin penjual seperti ini akan lebih menyusahkan daripada memudahkan. Mesin penjual dengan input
7
uang rupiah juga telah diciptakan di Indonesia dan telah banyak diaplikasikan. Di
sebuah bandara di Jakarta, ada sebuah mesin penjual kopi panas yang inputnya
menggunakan uang kertas rupiah. Ada juga mesin penjual koran otomatis. Mesin ini terlihat lebih praktis daripada mesin yang inputnya harus menggunakan kupon, tetapi kelemahannya adalah mesin ini tidak bisa menerima uang kertas rupiah yang rusak
atau sudah jelek. Uang kertas yang dimasukkan harus rapi, tidak terlipat, tidak lecek dan tidak basah.
Gambar 2.3. Mesin Penjual Koran Otomatis
Salah satu kendala dari penggunaan vending machine di Indonesia adalah penggunaan yang tidak tertib. Berbeda dengan di beberapa negara maju yang tertib dalam penggunaannya, vending machine di Indonesia menghadapi ancaman penggunaan yang tidak sesuai prosedur, kecurangan dengan berbagai cara, juga pemeliharaan yang kurang baik.
8
2.2. Mikrokontroller
2.2.1 Mikrokontroler ATMega32 ATMega32 merupakan salah satu jenis mikrokontroler dari keluarga AVR.
Mikrokontroller ini berfungsi sebagai otak dari system yang dibuat. ATMega32
mempunyai fitur yang cukup lengkap. Kita dapat merancang suatu sistem mulai dari sistem yang sederhana sampai dengan sistem yang relatif kompleks hanya dengan
menggunakan sebuah IC saja.
Fitur ATmega32
Fitur ATmega32:
Berikut ini adalah fitur-fitur yang dimiliki mikrokontroler ATmega32 : 1. Saluran I/O sebanyak 32 buah, yaitu Port A, Port B, Port C, dan Port D. 2. ADC 10 bit sebanyak 8 saluran. 3. Tiga buah timer/counter dengan kemampuan pembandingan. 4. CPU yang terdiri atas 32 register. 5. Watchdog timer dengan osilator internal. 6. SRAM sebesar 1 Kbyte. 7. Memory Flash sebesar 32 Kbyte dengan kemampuan Read While Write. 8. Unit interupsi internal dan eksternal. 9. Port antarmuka SPI. 10. EEPROM sebesar 1024 byte yang dapat diprogram saat operasi. 11. Antarmuka komparator analog. 12. Port USART untuk komunikasi serial. 13. Serial TWI atau I2C
9
Gambar 2.4. Konfigurasi ATmega 32
Tabel 2.1 Deskripsi Pin ATMega32 KETERANGAN Port B, merupakan Port I/O 8-bit dua arah (bi-directional) dengan resistor pull-up internal. Selain sebagai Port I/O 8-bit Port B juga dapat difungsikan secara individu sebagai berikut : • PB7 : SCK (SPI Bus Serial Clock) • PB6 : MISO (SPI Bus Master Input /Slave Output) • PB5 : MOSI (SPI Bus Master Output /slave) • PB4 : SS (SPI Slave Select Input) • PB3 : AIN1 (Analog Comparator Negatif input) OC0 (Output Compare Timer /Counter 0) • PB2 : AIN0 (Analog Comparator Positif input) INT2 (External Interrupt 2 input) • PB1 : T1 (Timer/Counter 1 External Counter Input) • PB0 : T0 (Timer/Counter 0 External Counter Input) XCK (USART External Clock Input/Output) RESET, merupakan pin reset yang akan bekerja bila diberi pulsa
10
rendah (aktif low) selama minimal 1,5 us.
VCC, Catu daya digtal GND, Ground untuk catu daya digital
XTAL2, Merupakan output dari penguat osilator pembalik
XTAL1, Merupakan input ke penguat osilator pembalik dan input ke internal clock. Port D, merupakan Port I/O 8-bit dua arah (bi-directional) dengan resistor pull-up internal. Selain sebagai Port I/O 8-bit Port D juga
dapat difungsikan secara individu sebagai berikut :
• PD7 : OC2 (Output Compare Timer /Counter 2) • PD6 : ICPI (Timer/Counter 1 Input Capture) • PD5 : OC1A (Output Compare A Timer /Counter 1) • PD4 : OC1B (Output Compare B Timer /Counter 1) • PD3 : INT1 (External Interrupt 1 Input) • PD2 : INT0 (External Interrupt 0 Input) • PD1 : TXD (USART transmit) • PD0 : RXD (USART receiver) Port C, merupakan Port I/O 8-bit dua arah (bi-directional) dengan resistor pull-up internal. Selain sebagai Port I/O 8-bit 4 bit Port C juga dapat difungsikan secara individu sebagai berikut : • PC7 : TOSC2 (Timer Oscilator 2) • PC6 : TOSC2 (Timer Oscilator 1) • PC1 : SDA (Serial Data /Output, I2C) • PC0 : SCL (Serial Clock, I2C) AVCC, merupakan catu daya yang digunakan untuk masukan analaog ADC yang terhubung ke Port A. GND, Ground untuk catu daya analog. AREF, merupakan tegangan referensi analog untuk ADC. Port A, merupakan Port I/O 8-bit dua arah (bi-directional) dengan resistor pull-up internal. Selain sebagai Port I/O 8-bit Port A juga 11
dapat berfungsi sebagai masukan 8 channel ADC.
Diagram Blok ATMega32
Gambar 2.5. Diagram Blok ATmega 32 2.3. Sensor uang logam (Coin Validator) Digunakan untuk menyensor semua jenis uang logam berdasarkan jenis logam dan diameter uang logam. Penggunaan sensor ini sering kita jumpai pada Telepon Umum Coin dan Mesin Minuman. Sensor uang logam yang digunakan adalah sensor uang logam merk Chow he-CH 928. Waktu pembacaan uang logam yang diperlukan sensor uang logam ini adalah 8 detik. Sensor uang logam ini berupa modul dan telah 12
diatur sesuai dengan mata uang rupiah di Indonesia. Berikut ini adalah daftar
konversi pulsa ke rupiah.
Rp 1000,00 tipis
= 40 pulsa
Rp 1000,00 tebal
= 35 pulsa
Rp 200,00
= 30 pulsa
Rp 500,00 putih
= 25 pulsa
Rp 500,00 kuning
= 20 pulsa
Rp 100,00 kuning
= 15 pulsa
Rp 100,00 putih
= 10 pulsa
2.4. Solenoid Valve
Solenoid valve adalah katup yang digerakan oleh energi listrik, mempunyai kumparan sebagai penggeraknya yang berfungsi untuk menggerakan piston yang dapat digerakan oleh arus AC maupun DC, solenoid valve atau katup (valve) solenoida mempunyai lubang keluaran, lubang masukan dan lubang exhaust, lubang masukan, berfungsi sebagai terminal / tempat cairan masuk atau supply, lalu lubang keluaran, berfungsi sebagai terminal atau tempat cairan keluar yang dihubungkan ke beban, sedangkan lubang exhaust, berfungsi sebagai saluran untuk mengeluarkan cairan yang terjebak saat piston bergerak atau pindah posisi ketika solenoid valve bekerja. Prinsip kerja dari solenoid valve/katup (valve) solenoida yaitu katup listrik yang mempunyai
koil
sebagai
penggeraknya
dimana
ketika
koil
mendapat supply tegangan maka koil tersebut akan berubah menjadi medan magnet sehingga menggerakan piston pada bagian dalamnya ketika piston berpindah posisi maka pada lubang keluaran dari solenoid valve akan keluar cairan yang berasal darisupply, pada umumnya solenoid valve mempunyai tegangan kerja 100/200 VAC namun ada juga yang mempunyai tegangan kerja DC.
13
Gambar 2.6. Solenoid Valve
(meriwardana.blogspot.com)
Keterangan Gambar : 1.
Valve Body
2.
Terminal masukan ((Inlet Port)
3.
Terminal keluaran (Outlet Port)
4.
Koil / koil solenoid
5.
Kumparan gulungan
6.
Kabel suplai tegangan
7.
Plunger
8.
Spring
9.
Lubang / exhaust exhaust[3]
2.5. Liquid Crystal Display (LCD) LCD adalah salah satu bagian dari alat yang menampilkan karakter yang diinginkan. Untuk dapat mengatur tampilan ini diperlukan karakter generator yaitu bentukbentuk karakter rakter yang dapat ditampilkan.
Gambar 2.7. Bentuk LCD 2X16 14
2.5.1. Prinsip Kerja Bagian Dalam LCD
Secara umum prinsip kerja bagian dalamnya adalah sebagai berikut :
Gambar 2.8. Bagian Dalam LCD
Secara sederhana LCD(liquid Crystal Display) terdiri dari dua bagian uatama yaitu Backlight dan cristal cair.Backlight adalah sumber cahaya LCD yang biasanya terdiri dari 1 sampai 4 buah lampu neon.lampu backlight ini berwana putih.kristal cair akan menyaring cahaya backlight.cahaya putih merupakan susuaan dari bbeberapa ratus cahaya dengan warna yang berbeda. Beberapa ratus cahaya tersebut akan terlihat jika cahaya putih mengalami refleksi atau perubahan arah sinar.warna yang dihasilkan tergantng pada sudut refleksi.jadi jika beda sudut refleksi maka beda pula war warna na yang dihasilkan.dengan memberikan memberika tegangan listrik dengan nilai tertentu,kristal cair akan berubah sudut.dan kar karena tugas kristal cair adalah untuk merefleksikan cahaya dari backlight maka cahaya backlight yang sebelumnya putih bisa berubah jadi banyak warna.kristal cair bekerja seperti tirai jendela.jika ingin menampilkan warna putih kristal cair akan membuka selebar selebarlebarnya sehingga cahya backlight yang berwarna putih akan tampil dilayar.namum jika ingin menampilkan warna hitam kristal cair akan menutup menutup serapat serapat-rapatnya sehingga tidak ada cahaya backlight yang dapat menembus(sehingga dilayar akan tampil warna hitam).jika igin menampilkan warna lainnya tinggal atur sudut refleksi kristal cair.[4]
2.5.2. Konfigurasi LCD LCD mempunyai 3 kontrol yaitu E (enable), RS (Register Selected), Selected) dan R/W (Read/Write) serta 8 data bus yaitu DB0 hingga DB7, namun LCD ini dapat 15
menggunakan mode data 4 Bit atau 8 bit. Mikrokontroler berperan sebagai sarana
pengiriman data dan operasi Read-Write di LCD. Port digunakan sebagai pengiriman
data dan sisanya digunakan untuk RS dan Enable. Read- Write pada LCD dihubungkan ke ground. Karakter dibangun dari 5 x 7 pixel. LCD terdiri atas 4 bit data dan 3 bit control, yaitu E (Enable), RS (Register Selected), dan R/W
(Read/Write). Untuk lebih jelasnya perhatikan tabel 2.2 menunjukan sinyal-sinyal Interface.
Gambar 2.9. Konfigurasi Pin-Pin LCD Tabel 2.2 Pin-pin LCD No. Pin
Simbol
Level
Fungsi
1
VSS
GND
Ground
2
VDD
+5V
Tegangan Supply LCD
3
VEE
4
RS
H/L
Register Select, H = Baca, L = instruksi
5
R/W
H/L
Read/Write, H = baca, L = tulis
6
E
Pulsa L-H-L Enable Signal
7
DB0
H/L
Data Bit 0
8
DB1
H/L
Data Bit 1
9
DB2
H/L
Data Bit 2
10
DB3
H/L
Data Bit 3
11
DB4
H/L
Data Bit 4
12
DB5
H/L
Data Bit 5
13
DB6
H/L
Data Bit 6
14
DB7
H/L
Data Bit 7
Pengaturan kontras LCD
16
15
16
A(+)
+5V
Led Backlight(+)
A(-)
0V
Led Backlight(-)
kontrol LCD terdiri dari: Jalur
menulis instruksi/command register. Dan sebaliknya, jika RS berlogika 1
maka akan terjadi proses membaca status busyflag dan alamat counter LCD.
Register Select Control (RS). Jika RS berlogika 0 maka akan terjadi proses
Enable Control (E). Merupakan sinyal awal untuk membaca/menulis LCD.
Proses transaksi data/command terjadi saat transisi E dari logika 1 ke logika
0. Read/Write Control (R/W). Pada saat R/W berlogika 0 terjadi proses menulis dan saat berlogika 1 terjadi proses membaca.
2.6. Solid State Relay Solid state relay adalah sebuah saklar elektronik yang tidak memiliki bagian yang bergerak. Solid state relay ini dibangun dengan isolator sebuah MOC untuk memisahkan bagian input dan bagian saklar. Dengan Solid state relay kita dapat menghindari terjadinya percikan api seperti yang terjadi pada relay konvensional juga dapat menghindari terjadinya sambungan tidak sempurna karena kontaktor keropos seperti pada relay konvensional.
Gambar 2.10. Solid State Relay
17
Pada solid-state relay, switching unitnya menggunakan TRIAC sehingga solid-state
relay ini dapat menghasilkan arus baik positif maupun negatif. Untuk mengontrol triac ini digunakan SCR yang mempunyai karakterisitik gate yang sensitif. Kemudian untuk mengatur trigger pada SCR sendiri diatur dengan menggunakan rangkaian
transistror. Rangkaian transistor ini menjadi penguat level tegangan dari optocoupler. Penggunaan SCR untuk mengatur gate TRIAC karena gate SCR mempunyai karakteristik yang lebih sensitif daripada gate TRIAC. Antara bagian input dan
output dipisahkan dengan menggunakan optocoupler dan dengan sinyal yang kecil, untuk menyalakan dioda saja, maka cukup untuk menggerakkan sebuah beban cukup
AC yang besar melalui solid-state relay. SSR
merupakan
relay
yang
dapat
didiskripsikan
sebagai
berikut
:
Mempunyai empat buah terminal, 2 input terminal dan 2 buah output terminal. Tegangan input dapat berupa tegangan AC atau DC. Antara output dan input diisolasi dengan sistem optikal. Output menggunakan keluarga thyristor, SCR untuk beban DC dan TRIAC untuk beban AC. Switching ON, yang sering disebut ‘firing’, solid state relay hanya bisa terjadi pada saat tegangan yang masuk ke output pada level yang sangat rendah mendekati nol volt. Output berupa tegangan AC.[5] Keuntungan solid-state relay : 1. Pada solid-state relay tidak teedapat bagian yang bergerak seperti halnya pada relay. Relay mempunyai sebuah bagian yang bergerak yang disebut kontaktor dan bagian ini tidak ada pada solid-state relay. Sehingga tidak mungkin terjadi ‘no contact’ karena kontaktor tertutup debu bahkan karat. 2.
Tidak terdapat ‘bounce’, karena tidak terdapat kontaktor yang bergerak maka
pada solid-state relay tidak terjadi peristiwa ‘bounce’ yaitu peristiwa terjadinya pantulan kontaktor pada saat terjadi perpindahan keadaan. Dengan kata lain dengan tidak adanya bounce maka tidak terjadi percikan bunga api pada saat kontaktor berubah keadaan. 3.
Proses perpindahan dari kondisi ‘off’ ke kondisi ‘on’ atau sebaliknya sangat
cepat hanya membutuhkan waktu sekitar 10us sehingga solid-state relay dapat dengan mudah dioperasikan bersama-sama dengan zero-crossing detektor.
18
4.
Solid-State relay kebal terhadap getaran dan goncangan. Tidak seperti relay
mekanik biasa yang kontaktornya dapat dengan mudah berubah bila terkena
goncangan/getaran yang cukup kuat pada body relay tersebut. 5. Tidak menghasilkan suara ‘klik’, seperti relay pada saat kontaktor berubah keadaan.
6.
Kontaktor output pada solid-state relay secara otomatis ‘latch’ sehingga energi
yang digunakan untuk aktivasi solid-state relay lebih sedikit jika dibandingkan dengan energi yang digunakan untuk aktivasi sebuah relay. Kondisi ON sebuah solid-state relay akan di-latch sampai solid-state relay mendapatkan tegangan sangat
rendah, yaitu mendekati nol volt.
7.
Solid-State relay sangat sensitif sehingga dapat dioperasikan langsung dengan
menggunakan level tegangan CMOS bahkan level tegangan TTL. Rangkain kontrolnya menjadi sangat sederhana karena tidak memerlukan level konverter. 8.
Masih terdapat couple kapasitansi antara input dan output tetapi sangat kecil
sehingga arus bocor antara input output sangat kecil. Kondisi diperlukan pada peralatan medical yang memerlukan isolasi yang sangat baik. Kerugian Solid-State Relay 1.
Resistansi Tegangan transien. Tegangan yang diatur/dikontrol oleh solid-state
relay benar-benar tidak bersih. Dengan kata lain tidak murni tegangannya berupa sinyal sinus dengan tegangan peak to peak 380 vpp tetapi terdapat spike-spike yang dihasilkan oleh induksi motor atau peralatan listrik lainnya. Spike ini level tegangannya bervariasi jika terlalu besar maka dapat merusakkan solid-state relay tersebut. Selain itu sumber-sumber spike yang lain adalah sambaran petir, imbas dari selenoid valve dan lain sebagainya. 2.
Tegangan drop. Karena solid-state relay dibuat dari bahan silikon maka
terdapat tegangan jatuh antara tegangan input dan tegangan output. Tegangan jatuh tersebut kira-kira sebesar 1 volt. Tegangan jatuh ini menyebabkan adanya dissipasi daya yang besarnya tergantung dari besarnya arus yang lewat pada solid-state relay ini. 3.
Arus bocor-‘Leakage current’. Pada saat solid-state relay ini dalam keadaan off
atau keadaan open maka dalam kondisi yang idel seharusnya tidak ada arus yang
19
mengalir melewati solid-state relay tetapi tidak demikian pada komponen yang
sebenarnya. Besarnya arus bocor cukup besar untuk jika dibandingkan arus pada
level TTL yaitu sekitar 10mA rms.[6]
2.6.1. MOC 3021
MOC 3021 adalah driver triac yang didalamnya menggunakan optoisolator (optocoupler). Optokopler adalah suatu alat yang mengkombinasikan suatu diode
pemancar cahaya inframerah pada sisi masukan dan komponen yang peka cahaya pada sisi keluaran. Driver ini menghubungkan sinyal triger yang berasal dari kontroler yang umumnya memiliki level tegangan dan arus kecil dengan bagian
beban yang memiliki tegangan dan arus yang relatif tinggi.
Gambar 2.11. Skema Dalam MOC 3021 Komponen ini memiliki 6 kaki dengan 2 kaki yang tidak digunakan. Kaki anoda (1) dihubungkan ke Vcc, kaki katoda (2) dihubungkan dengan pulsa triger yang active low. Fungsi triger dengan active low ini adalah untuk menghindari kontroler melakukan sourcing (mengeluarkan arus) sehingga tidak membebani kontroler yang umumnya hanya mampu mengeluarkan arus yang sangat kecil. Kaki 4 dan 6 dihubungkan dengan beban. Kaki 3 dan 5 tidak digunakan. Pada saat ada pulsa low di kaki 2 maka dioda dalam MOC3021 akan memancarkan cahaya sehingga arus dari beban dapat mengalir dari kaki 6 melalui driver dan keluar melalui kaki 4 yang akan mentriger kaki gate Triac yang bersangkutan. Pada saat
20
itulah Triac dalam keadaan ON sehingga dapat mengalirkan daya sesuai dengan
waktu firing-nya.[7]
Gambar 2.12. Prinsip kerja MOC 3021
2.6.2. BT139 Pada pengendalian tegangan AC, digunakan bidirectional triode thyristor atau yang biasa dikenal sebagai triac. BT139 adalah komponen TRIAC (Trode for Alternating Current). TRIAC adalah komponen elektronik yang ekivalen dengan dua buah SCR yang disambungkan secara antiparalel dan kaki gerbangnya disatukan. Ini menunjukkan sakelar dua arah yang dapat mengalirkan arus listrik ke kedua arah ketika dipicu. Komponen ini dapat di-trigger baik dengan tegangn positif ataupun negative pada kaki gate. Hal tersebut membuat TRIAC sangat cocok untuk mengendalikan tegangan AC, memungkinkan pengendalian arus yang sangat tinggi dengan arus kendali yang sangat rendah.[8]
Gambar 2.13. Simbol TRIAC BT139
21
Triac BT 139 mempunyai nilai arus rms maksimal sebesar 16 A dan tegangan
maksimal sebesar 800 VAC.
2.7. Bahasa Pemrograman BASIC dan Software BASCOM AVR
BASIC adalah bahasa pemrograman tingkat tinggi yang dikenal karena kemudahan
dan kompatibel terhadap mikrokontroler jenis AVR. Bahasa BASIC juga didukung oleh compiler software berupa BASCOM AVR. [9]
BASCOM (Basic Compiler) AVR merupakan perangkat lunak untuk memprogram
hardware yang diimplementasikan pada mikrokontroler jenis AVR.Kumpulan
karakter pada BASCOM terdiri dari alphabet, karakter angka, dan karakter khusus. Karakter alphabet dalam BASCOM terdiri dari huruf capital (A-Z) dan huruf kecil (a-z). Sedangkan karakte angka pada BASCOM adalah 0-9. Huruf A-H dapat digunakan sebagai bagian angka heksa desimal. 2.7.1. Konstruksi Bahasa BASIC pada BASCOM AVR Konstruksi dari program bahasa BASIC harus mengikuti aturan sebagai berikut : $regfile=”header” Inisialisasi ‘deklarasi variable ‘deklarasi konstanta Do ‘pernyataan-pernyataan Loop End 2.7.2. Variabel Variabel adalah suatu pengenal (identifier) yang digunakan untuk mewakili suatu nilai tertentu di dalam proses program yang dapat diubah-ubah sesuai dengan kebutuhan. Nama dari variable terserah sesuai dengan yang diinginkan namun hal yang terpenting adalah setiap variabel diharuskan :Terdiri dari gabungan huruf dan angka dengan karakter pertama harus berupa huruf, max 32 karakter. 22
Tidak boleh mengandung spasi atau symbol-simbol khusus seperti : $, ?, %, #, !, &,
*, (, ), -, +, = dan lain sebagainya kecuali underscore.
Deklarasi Deklarasi sangat diperlukan bila akan menggunakan pengenal (identifier) dalam suatu program.
2.7.3. Deklarasi Variabel dan Konstanta Bentuk umum pendeklarasian suatu variable adalah DIM nama_variabel AS tipe_data. Sedangkan untuk konstanta dideklarasikan langsung. Contohnya :
S=”Hello world” ‘assign string.
2.7.4. Pernyataan BASCOM Sebuah pernyataan BASCOM bisaa “dieksekusi dan tidak dieksekusi”. Sebuah pernyataan dieksekusi melanjutkan aliran sebuah program dengan memberi tahu program apa yang akan dilakukan selanjutnya. Sedangkan program tidak dieksekusi melakukan tugas seperti mengalokasikan penyimpanan untuk variabel, deklarasi dan menentukan tipe variabel. Contoh dari pernyataan ini adalah DIM dan REM. Sebuah komentar adalah contoh pernyataan yang tidak dieksekusi yang digunakan untuk penjelasan program atau lainnya. Komentar dinyatakan dengan pernyataan REM atau tanda petik tunggal (‘). Lebih dari satu pernyataan BASCOM dapat ditempatkan pada satu baris, tetapi dengan menggunakan tanda pemisah (:). Hal ini ditunjukkan pada contoh berikut: FOR = 1 TO 5 : PRINT “hallo?” : NEXT 1. 2.7.5. Ekspresi dan Operator Ekspresi pada BASCOM bisa berupa konstanta, variabel atau nilai tunggal yang didapat dari penggabungan konstansa, variabel dan ekspresi lainnya derngan operator. Ekspresi dan Operator dari BASCOM terdiri dari, yaitu: 1. Aritmatika Operator aritmatika adalah +,-,*,/.\, dan ^. - Integer, aritmatika modulus (menghasilkan sisa pembagian integer dan bukannya hasil bagi). - Limpahan dan pembagian dengan nol. 23
Perintah dengan pembagian nol, apabila dieksekusi (di-compile) akan
menghasilkan error, namun hasil error ini tidak akan ditampilkan pada pesan. Oleh
karena itu harus berhati-hati dengan ekspresi ini. 2. Relasi
Operator relasi digunakan untuk membandingkan dua nilai. Hasilnya dapat
digunakan untuk membuat keputusan dari aliran program. Operator tersebut adalah: =
Sama dengan
<>
Tidak sama dengan
<
Lebih kecil
> <=
Lebih besar
>=
Lebih besar atau sama dengan
Lebih kecil atau sama dengan
3. Logika Operator logika merupakan operasi dari bilangan logika dengan menggunakan operasi logika. Operator logika terdiri dari yaitu : [10]
Tabel 2.3. Operator Logika Operasi
Arti
NOT
Invers atau kebalikan dari logika
AND
Perkalian bilangan logika
OR
Penjumlahan bilangan logika
EX-OR
Penjumlahan
ekslusif
bilangan
logika
24
25