BAB II LANDASAN TEORI
BAB II
LANDASAN TEORI
2.1
Programmable Logic Controllers(PLC) Programmable Logic Controllers(PLC) merupakanperalatan kontrol yang
dirancang untuk menggantikan rangkaian kontrol logic, relay dan timer yang merupakan tulang punggung bagi sistem kontrol untuk proses yang kompleks.
Suatu PLC dapat diprogram untuk menggantikan puluhan atau ratusan rangkaian kontrol logic yang saling tidak bergantungan . I/O pada PLC
memungkinkan untuk interfacing langsung dengan proses yang sebenarnya (riil).
PLC menerima input data yang berupa sinyal dari peralatan input luar (external input device) dari sistem yang dikontrol. Peralatan input luar itu antara lain berupa sakelar, tombol dan sensor. Data-data yang masih berupa sinyal analog akan diubah oleh modul input analog to digital module (A/D) menjadi sinyal digital. Selanjutnya unit prosesor sentral atau CPU akan mengolah sinyal digital tersebut sesuai dengan program yang telah disimpan pada memori. Selanjutnya CPU mengambil keputusan dan memberikan perintah melalui modul output dalam bentuk sinyal digital. Modul digital to analog (D/A) akan mengubah sinyal digital ke dalam sinyal analog. Sinyal analog inilah yang mampu menggerakkan peralatan output luar (external output device) dari sistem yang dikontrol antara lain berupa kontaktor, relay, solenoid valve, heater dan alarm.
Gambar 2. 1: Diagram Konsep Aplkiasi PLC
Ridho Muhammad(091311054) Laporan Proyek Akhir 2012
II-1
BAB II LANDASAN TEORI
2.1.1
Sejarah dan Perkembangan PLC Programmable Logic Controller pertama kali dirancang oleh sebuah
perusahaan bernama Hydramatic Division of General Motor pada tahun1968. Tujuan utamnya adalah untuk menggantikan sistem relay control yang berharga tinggi dan tidak fleksible. Spesifikasi yang diinginkan adalah sebuah sistem solid
state dengan fleksibilitas computer yang memungkinkan untuk bertahan di dunia industri, mudah dalam hal pemrograman dan perawatan oleh plant engineer dan para teknisi.
Seiring perkembangan teknologi solid state, saat ini PLC telah mengalami
perkembangan luar biasa, balk dari ukuran. kepadatan komponen serta dari segi
fungsionalnya. Beberapa peningkatan perangkat keras dan perangkat lunak ini di antaranya adalah:
Ukuran semakin kecil dan kompak.
Jumlah input output yang semakin banyak dan padat
Waktu eksekusi program yang semakin cepat.
Pemrograman relatif semakin mudah. Hal ini terkait dengan perangkat lunak pemrograman yang semakin user friendly
Memiliki kemampuan komunikasi dan sistem dokumentasi yang semakin baik.
Jenis instruksi/fungsi semakin banyak dan lengkap
Beberapa jenis dan tipe PLC dilengkapi dengan modul-modul untuk tujuan kontrol kontinu. misalnya modul ADC/DAC, PID, modul Fuzzy. dan lain-lain.
2.2
Bagian – bagian Programmable Logic Controller Sebuah Programmable Logic Controller terdiri dari 2 bagian dasar, yaitu: 1.
Central Processing Unit (CPU)
2.
Input/Output Interface System
Blok diagram PLC dapat dilihat pada gambar 2.2
Ridho Muhammad(091311054) Laporan Proyek Akhir 2012
II-2
BAB II LANDASAN TEORI
Gambar 2. 2: Blok Diagram Programmable Controller
Central Processing Unit(CPU) menangani semua aktivitas PLC. Terdiri dari 3 komponen, yaitu:
1.
Processor
2.
Sistem Memori
3.
Sistem Power Supply
2.2.1
Input Output (I/O) Unit Input merupakan bagian yang menerima sinyal elektrik dari sensor
atau komponen lain dan sinyal itu dialirkan ke PLC untuk diproses. Ada banyak jenis unit input yang dapat dipilih dan jenisnya tergantung dari input yang akan digunakan. Jika input adalah limit switches dan pushbutton dapat dipilih kartu input DC. Unit input analog adalah kartu input khusus yang menggunakan ADC (Analog to Digital Conversion) dimana kartu ini digunakan untuk input yang berupa variable seperti temperatur, kecepatan, tekanan dan posisi. Pada umumnya ada 8-32 input point setiap unit inputnya. Setiap point akan ditandai sebagai alamat yang unik oleh prosesor. Output adalah bagian PLC yang menyalurkan sinyal elektrik hasil pemrosesan PLC ke peralatan output. Besaran informasi / sinyal elektrik itu dinyatakan dengan tegangan listrik antara 5 - 15 volt DC dengan informasi diluar sistem tegangan yang bervariasi antara 24 - 240 volt DC mapun AC. Kartu output biasanya mempunyai 6-32 output point dalam sebuah single module. Kartu output analog adalah tipe khusus dari modul output yang menggunakan DAC (Digital to Analog Conversion). Unit output analog dapat mengambil nilai dalam 12 bit dan mengubahnya ke dalam signal analog. Biasanya signal ini 0-10 volts DC atau 4-20 mA. Signal Analog biasanya digunakan pada
Ridho Muhammad(091311054) Laporan Proyek Akhir 2012
II-3
BAB II LANDASAN TEORI
peralatan seperti motor yang mengoperasikan katup dan pneumatic position
control devices.
2.2.2
Central Processing Unit(CPU) Bagian ini merupakan otak atau jantung PLC, karena bagian ini
merupakan bagian yang melakukan operasi / pemrosesan program yang
tersimpan dalam PLC. Disamping itu CPU juga melakukan pengawasan atas semua operasional kerja PLC, transfer informasi melalui internal bus antara PLC, memori dan unit I/O. Bagian CPU ini antara lain adalah :
Power Supply, power supply mengubah catu daya masukan listrik menjadi
catu daya listrik yang sesuai dengan CPU dan seluruh komputer. Alterable Memory, terdiri dari banyak bagian, intinya bagian ini berupa chip yang isinya di letakkan pada chip RAM (Random Access Memory), tetapi isinya dapat diubah dan dihapus oleh pengguna / pemrogram. Bila tidak ada catu daya listrik ke CPU maka isinya akan hilang, oleh sebab itu bagian ini disebut bersifat volatile, tetapi ada juga bagian yang tidak bersifat volatile. Fixed Memory, berisi program yang sudah diset oleh pembuat PLC, dibuat dalam bentuk chip khusus yang dinamakan ROM (Read Only Memory), dan tidak dapat diubah atau dihapus selama operasi CPU, karena itu bagian ini sering dinamakan memori non-volatile yang tidak akan terhapus isinya walaupun tidak ada listrik yang masuk ke dalam CPU. Selain itu dapat juga ditambahkan modul EEPROM atau Electrically Erasable Programmable Read Only Memory yang ditujukan untuk back up program utama RAM prosesor sehingga prosesor dapat diprogram untuk mengambil program EEPROM ke RAM jika program di RAM hilang atau rusak. Processor, adalah bagian yang mengontrol supaya informasi dari bagian yang satu ke bagian yang lain, bagian ini berisi rangkaian clock, sehingga masing-masing transfer informasi ke tempat lain tepat sampai pada waktunya dengan catu daya cadangan dari baterai, umumnya CPU memiliki bagian ini. Bagian ini berfungsi menjaga agar tidak ada kehilangan program yang telah dimasukkan ke dalam RAM PLC jika catu daya ke PLC tiba-tiba terputus.
Ridho Muhammad(091311054) Laporan Proyek Akhir 2012
II-4
BAB II LANDASAN TEORI
2.2.3
Peripheral Untuk memasukkan program ke dalam PLC diperlukan suatu unit
pemrogram. Unit ini dapat berupa : 1. Programming Console
Programming Console berguna untuk membuat, mengubah, memasukkan,
memantau dan menjalankan program pada PLC. Bagian utama dari Programming Console adalah LCD Display-monitor, mode selector switch (Program-MonitorRun), keyboard (kunci numeric, kunci instruksi dan kunci operasi) dan connector Program yang dimasukkan ke dalam PLC berbentuk mnemonic. lead. 2. Sysmate Support Software (SSS)
Sysmate Support Software (SSS) adalah suatu software khusus yang
memungkinkan programmer dapat mensimulasikan program kerja dari PLC dengan menggunakan Personal Computer (PC). 2.2.4
Memori Unit Memori berfungsi untuk menyimpan program yang telah dibuat,
menyimpan data dan status input/output (interfacing information), dan menyimpan data/informasi untuk fungsi-fungsi internal (timer, counter, marker relay, dan lainlain). Unit memori yang dipakai bisa berupa Random Acces Memory (RAM), Erasable Programmable Read Only Memory (EPROM) atau Electronic Erasable Programmable Read Only Memory (EEPROM). Untuk menjaga agar program kerja dan data-data yang penting tidak hilang jika terdapat suatu gangguan power supply, maka pada PLC sering disertai dengan suatu battery backup. 2.3
Sistem Kerja PLC PLC dalam mengendalikan plant/proses melalui modul output yang telah
disediakan baik yang bersifat logika maupun yang menggunakan sinyal kontinyu. Namun demikian, pada bahan ajar ini hanya dibahas untuk sistem dengan plant yang digerakkan oleh sinyal logic (ON/OFF) sehingga penggunaan modul pengendali seperti PID tidak dibahas di sini.
Ridho Muhammad(091311054) Laporan Proyek Akhir 2012
II-5
BAB II LANDASAN TEORI
Gambar 2.3: Konsep Sistem Kendali Berbasis PLC
Sementara itu, PLC yang berbekal modul input digital (ON/OFF) menerima input bias dari tipe sinyal yang berbeda, yang dalam hal ini berasal dari switch dan limit switch yang berupa sinyal logic serta yang berasal dari sensorsensor sinyal kontinyu seperti sensor temperatur, tekanan, level, yang kemudian dikondisikan dulu melalui level detektor seperti yang terlihat pada Gambar 2.3. 2.4
Konsep dasar Logik PLC a. Logika NOT Logika NOT merupakan nilai kebalikan dari suatu logika. Pada PLC input Normally Close merupakan logika NOT dari input Normally Open. Suatu logika NOT hanya memiliki output yang bernilai 1 bila input Normally Close bernilai 0. Contoh hasil logika NOT dapat dilihat pada gambar 2.4
Gambar 2.4: Diagram tangga NOT
b. Logika AND Logika AND hanya akan menghasilkan output yang bernilai 1 bila semua input Normally Open yang terhubung secara seri bernilai 1. Sedangkan
Ridho Muhammad(091311054) Laporan Proyek Akhir 2012
II-6
BAB II LANDASAN TEORI
bila ada satu saja input Normally Open yang bernilai 0 maka outputnya
akan bernilai 0. Contoh hasil logika AND dapat dilihat pada gambar 2.5
Gambar 2.5: Diagram tangga AND
c. Logika NAND
Logika NAND (NOT-AND) merupakan logika kebalikan dari logika
AND. Output logika NAND selalu bernilai 0 bila input semua Normally
Close yang terhubung secara paralel bernilai 1, selain itu outputnya akan bernilai 1. Contoh hasil logika NAND dapat dilihat pada gambar 2.6
Gambar 2.6: Diagram tangga NAND
d. Logika OR Logika OR pada PLC tersusun dari beberapa input Normally Open yang tersusun paralel. Sehingga bila ada salah satu input Normally Open yang bernilai 1 maka outputnya akan bernilai 1. Sedangkan bila semua input Normally Open bernilai 0 maka outputnya akan bernilai 0. Contoh hasil logika OR dapat dilihat pada gambar 2.7
Gambar 2.7: Diagram tangga OR
e. Logika NOR Kebalikan dari logika OR yakni logika NOR (NOT-OR), yang memiliki output bernilai 1 hanya bila semua input Normally Close yang terhubung seri bernilai 0. Selain itu outputnya akan bernilai 0. Contoh hasil logika NOR dapat dilihat pada gambar 2.8
Ridho Muhammad(091311054) Laporan Proyek Akhir 2012
II-7
BAB II LANDASAN TEORI
Gambar 2.8: Diagram tangga NOR
f. Logika X-OR Pada Logika X-OR menggunakan kombinasi penggunaan input Normally
Open dan Normally Close. Output dari logika X-OR hanya akan bernilai 1
bila kedua inputnya (Normally Open-Normally Close) memiliki nilai yang
berbeda 0 dan 1 saat tersusun seri. Contoh hasil logika X-OR dapat dilihat
pada gambar 2.11
Gambar 2.9: Diagram tangga X-OR
g. Logika X-NOR Kebalikan dari logika X-OR adalah logika X-NOR. Bila output X-OR bernilai 1 saat nilai kedua input berbeda, sementara output X-NOR kebalikannya hanya bernilai 1 saat kedua input yang tersusun seri bernilai sama. Bila kedua input nilainya berbeda maka outputnya akan bernilai 0. Diagram tangga X-OR merupakan kombinasi diagram tangga AND yang dihubungkan secara paralel dengan diagram tangga NOR. Contoh hasil logika X-NOR dapat dilihat pada gambar 2.10
Gambar 2.10: Diagram tangga X-NOR
2.5
Mikrokontroller
Mikrokontroller merupakan chip cerdas yang menjadi tren dalam pengendalian dan otomatisasi, terutama di kalangan mahasiswa. Dengan banyak jenis keluarga, kapasitas memori dan berbagai fitur, mikrokontroler menjadi pilihan dalam aplikasi prosesor mini untuk pengendalian skala kecil.
Ridho Muhammad(091311054) Laporan Proyek Akhir 2012
II-8
BAB II LANDASAN TEORI
2.5.1 Mikrokontroller AVR Mikrokontroler AVR(Alf and Vegard‟s Risc Processor) dari Atmel ini
menggunakan arsitektur RISC(Reduced Instruction Set Computer) yang artinya prosesor tersebut memiliki set instruksi yang lebih sedikit dibandingkan dengan
MCS-51 yang menerapkan arsitektur CISC(Complex Instruction Set Computer).
Hampir semua instruksi prosesor RISC adalah instruksi dasar(belum tentu
sederhana), sehingga instruksi-instruksi ini umumnya hanya memerlukan 1 siklus
mesin untuk menjalankannya. Kecuali instruksi percabangan yang membutuhkan 2 siklus mesin. RISC biasanya dibuat dengan arsitektur Harvard, karena arsitektur ini yang memungkinkan untuk membuat eksekusi instruksi selesai dikerjakan
dalam satu atau dua siklus mesin, sehingga akan semakin cepat dan handal. Proses
downloading programnya relative lebih mudah karena dapat dilakukan langsung pada sistemnya. 2.5.2 Mikrokontroller ATMega 16 Mikrokontroler ATMega 16 memiliki fitu-fitur utama, seperti berikut: 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 unit Timer/Counter dengan kemampuan pembandingan
4.
CPU yang terdiri atas 32 buah register
5.
Watchdog Timer dengan isolator internal
6.
SRAM sebesar 512 byte
7.
Memori Flash sebesar 16Kbytes dengan kemampuan Read While Write
8.
Unit interupsi internal dan ekstrenal
9.
Port antarmuka SPI
10.
EEPROM sebesar 512 byte yang dapat deprogram saat operasi
11.
Antarmuka komparator analog
12.
Port USART untuk komunikasi serial.
2.5.3 Diagram Blok ATMega 16 Inti dari AVR adalah dengan menyatukan beberapa instruksi dengan 32 register kerja serbaguna. Ke-32 register kerja serbaguna terhubung langsung dengan ALU, hal tersebut memungkinkan 2 buah register mandiri diakses dengan sebuah instruksi dalam satu siklus clock. Blok diagram dapat dilihat pada Gambar 2.11 berikut:
Ridho Muhammad(091311054) Laporan Proyek Akhir 2012
II-9
BAB II LANDASAN TEORI
Gambar 2. 11: Blok Diagram ATmega16
2.5.4 PORT Input/Output pada ATMega 16 Setiap pin dalam port AVR mempunyai fitur untuk membaca, merekayasa dan menulis ketika digunakan sebagai port input/output digital. Hal ini berarti arah dari suatu pin yang terdapat dalam sebuah port dapat diubah tanpa mengubah arah dari pin yang lainnya. Hal serupa berlaku juga untuk nilai sebuah pin tersebut (high/low ketika pin digunakan sebagai output) dan aktivasi dari resistor pull-up (jika dikonfigurasikan sebagai input)
Ridho Muhammad(091311054) Laporan Proyek Akhir 2012
II-10
BAB II LANDASAN TEORI
Ketika mikrokontroler mengeluarkan logika HIGH (logika 1) pada sebuah pin I/O,
besar tegangan minimum pada pin yang bersangkutan adalah 4.2 V, dengan
kondisi tegangan catu daya (VCC) 5V. Arus yang disediakan (current source) pada saat pin I/O berlogika HIGH (IOH) adalah 20 mA. Jumlah total IOH untuk semua port tidak boleh melebihi 200 mA.
Ketika mikrokontroler mengeluarkan logika LOW (logika 0) pada sebuah pin I/O, besar tegangan maksimum pada pin yang bersangkutan adalah 0.7 V, dengan kondisi tegangan catu daya (VCC) 5 V. Kemampuan menerima arus (current sint) pada saat pin I/O berlogika LOW (IOL) adalah 20 mA. Jumlah total IOL untuk semua port tidak boleh melebihi 200 mA.
Bila pin I/O dikonfigurasikan sebagai input resistor pull-up internal dapat dipilih untuk diaktifkan atau tidak. Bila pin I/O dikonfigurasikan sebagai output PINxn, resistor pull-up internal dapat dilakukan dengan memberi logika HIGH pada port atau pin yang bersangkutan. Kondisi logika pada pin input dibaca melalui register PINxn. Bila membaca melalui register PORTxn, maka kondisi yang terbaca adalah logika pada register PORTxn. Bila intruksi membaca kondisi logika pada register PINxn muncul tepat setelah intruksi menulis register PORTxn, maka diperlukanya delay satu periode clock. Ketika pin I/O dikonfigurasikan sebagai input, mikrokontroler akan membaca logika LOW untuk tegangan 0 sampai 0.2x Vcc dan memaca logika HIGH untuk input tegangan 0.6 Vcc sampai Vcc.
2.5.5 Timer pada ATMega 16 Sistem timer dalam seri AVR mempunyai banyak kegunaan, mulai dari membuat interval penundaan sampai membuat Pulse Width Modulation (PWM). Dalam oprasinya timer memerlukan sinyal clock. Sinyal clock adalah tipe sinyal yang berosilasi diantara keadaan high dan low dan berguna seperti metronome, digunakan untuk mengkondisikan aksi dari sebuah sirkuit. Timer berfungsi dengan cara mencacah sinyal clock yang masuk ke sistem timer, maka dari itu kita harus mengetahui waktu yang dihabiskan dalam sekali pencacahan.
Ridho Muhammad(091311054) Laporan Proyek Akhir 2012
II-11
BAB II LANDASAN TEORI
Frekuensi clock yang biasa digunakan untuk timer adalah berasal dari kristal
osilasi yang bervariasi besarnya. Sebelum digunakan oleh timer untuk mencacah,
terdapat fitur prescaler yang dapat membagi frekuensi clock dengan faktor 1, 8, 64, 256 dan 1024. Dengan demikian sumber clock yang menjadi referensi cacahan timer akan menjadi lambat.
Pin yang dapat digunakan untuk output timer adalah OC0, OC1A, OC1B dan OC2.
USART pada ATMega 16 2.5.6
Universal Synchronous and Asynchronous serial Receiver Transmitter (USART)
sering difungsikan sebagai transmisi data sinkron dan asinkron. Sinkron berarti clock yang digunakan antara transmitter dan receiver mempunyai sumber clock masing-masing. Karena USART dapat mengirim dan menerima data secara serial ke dan dari perangkat lain seperti komputer dan mikrokontroler lain. Perangkat yang melakukan komunikasi data secara USART harus mempunyai kecepatan transfer data yang sama atau yang lebih sering disebut dengan baud rate. Pin yang digunakan untuk USART adalah TXD sebagai transmitter data RXD sebagai receiver data.
2.5.7 Peta Memori pada ATMega 16 Arsitektur AVR terdiri atas dua memori utama, yaitu Data memori dan Program memori. Sebagai tambahan fitur dari ATMega16, terdapat EEPROM 512 byte sebagai memori data dan dapat deprogram saat operasi. ATmega16 terdiri dari 16K byte On-chip In-System Reprogrammable Flash memory untuk penyimpanan program. Karena seluruh intruksi AVR dalam bentuk 16 bit atau 32 bit, maka Flash dirancang dengan komposisi 4K x 16. Untuk mendukung keamanan software atau program, Flash Program Memory dibagi menjadi dua bagian yaitu bagian Boot Program dan bagian Apllication Program. Gambar 2.12 mengilustrasikan susunan memori program flash ATMega 16
Ridho Muhammad(091311054) Laporan Proyek Akhir 2012
II-12
BAB II LANDASAN TEORI
Gambar 2.12: Peta memori program
Memori data terbagi menjadi 3 bagian, yaitu 32 buah register umum, 64 buah register I/O, dan 1024 byet SRAM internal. Konfigurasi memori data ditunjukan oleh Gambar ….
Gambar 2.13: Peta memori data
2.6
Komunikasi serial RS232 Nama resmi dari standart interface ini adalah interface between data
terminal equipment and data communication employing serial binary data interchange, yaitu suatu terminal yang menghubungkan antara terminal data dari
Ridho Muhammad(091311054) Laporan Proyek Akhir 2012
II-13
BAB II LANDASAN TEORI
suatu peralatan dan peralatan komunikasi data yang yang menjalankan pertukaran
data biner secara serial, oleh industri komunikasi data disebut RS-232. Sejak
dipublikasikan pertama kali pada tahun 1962 , interface ini telah mengalami beberapa revisi dan sekarng yang banyak dipergunakan adalah RS-232 revisi kelima yang dipergunakan pada tahun 1991 dan disebut RS-232E atau EIA-232-E.
Awalan “RS” pada RS-232 merupakan singkatan dari recommended standart yang berarti standart yang dianjurkan, yang berarti standart yang dianjurkan, karena selama ini dalam publikasi EIA tidak pernah memiliki ketetapan hukum yang mengharuskan untuk digunakan dalam dunia komunikasi data. Ada beberapa
standart sederhana yang dikembangkan sendiri oleh pembuat peralatan elektronik
yang mungkin dapat diikuti, agar secara umum ada kecocokan. Standart lain yang menyangkut referensi aspek fungsi dan prosedur interface secara mekanikal dan elektrikal yang dipublikasikan oleh ITU-T pada tahun 1993 adalah standart V.25 dan V.28, sehingga RS-232E sebenarnya menyakup empat aspek, yaitu : a. Mechanical : ISO21110 b. Electrical : V.28 c. Functional : V.24 d. Prosedural : V.24 Terdapat beberapa macam cara untuk menerapkan interface data biner pada komunikasi secara serial, salah satunya adalah RS-232 yang merupakan salah satu dari standart yang dipilih dan sekarang telah dipakai secara luas dan dalam komunikasi data umumnya digunakan untuk menghubungkan DTE (Data Terminal Equipment) ke DCE (Data Communication Equipment) yang berupa peralatan sistem komunikasi analog. Protokol standar yang mengatur komunikasi melalui serial port disebut RS-232 (Recommended Standard-232) yang dikembangkan oleh EIA (Electronic Industries
Association).
Interfacing
RS-232
menggunakan
komunikasi
asyncronous di mana sinyal clock tidak dikirimkan bersamaan dengan data. Setiap word data disingkronisasikan menggunakan sebuah start bit dan sebuah stop bit. Jadi, sebuah frame data terdiri dari sebuah start bit, diikuti bit-bit data dan diakhiri dengan stop bit. Jumlah bit data yang digunakan dalam komunikasi serial adalah 8 bit. Encoding yang digunakan dalam komunikasi serial adalah NRZ (Non-Return-
Ridho Muhammad(091311054) Laporan Proyek Akhir 2012
II-14
BAB II LANDASAN TEORI
to-Zero), di mana bit 1 dikirimkan sebagai high value dan bit 0 dikirimkan sebagai
low value.
Gambar 2. 14: Rangkaian converter komunikasi mikrokontroller dan RS232
Dalam interfacing RS-232, tegangan negatif merepresentasikan bit 1 dan tegangan positif merepresentasikan bit 0. RS232 Serial port juga merupakan rangkaian converter komunikasi antara mikrokontroller ke PC atau sebaliknya. Mikrokontroller mempunya level TTL low logic 0 – 1.8V dan TTL high logic 2.2V – 5V, sedangkan untuk PC memiliki high logic 5V – 12V dan untuk low logic -5V – (-12V), sehingga diperlukan converter. Komunikasi RS232 berupa komunikasi asinkron dengan baud rate 9600 bps, 8 bit data, parity none dan start bit 1. 2.7
Visual Basic 6 Microsoft Visual Basic (sering disingkat sebagai VB saja) merupakan
sebuah bahasa pemrograman yang menawarkan Integrated Development Environment (IDE) visual untuk membuat program perangkat lunak berbasis sistem operasi Microsoft Windows dengan menggunakan model pemrograman (COM).
Ridho Muhammad(091311054) Laporan Proyek Akhir 2012
II-15
BAB II LANDASAN TEORI
Visual Basic merupakan turunan bahasa pemrograman BASIC dan
menawarkan pengembangan perangkat lunak komputer berbasis grafik dengan
cepat. Beberapa bahasa skrip seperti Visual Basic for Applications (VBA) dan
Visual Basic Scripting Edition (VBScript), mirip seperti halnya Visual Basic,
tetapi cara kerjanya yang berbeda.
Gambar 2.15: Screenshot Visual basic 6
2.8
Bahasa Pemograman BASCOM – AVR Kumpulan karakter pada BASCOM AVR terdiri dari karakter alfabet,
karakter angka, dan karakter khusus. Karakter alfabet dalam BASCOM terdiri dari huruf kapital (A-Z) dan huruf kecil (a-z). sedangkan karakter angka adalaah digit 0-9. Huruf A-F merupakan bagian heksadesimal. Karakter khusus ditujukan pada tabel 2.1 dibawah dimana karakter tersebut tersebut memiliki arti khusus pada pernyataan dan ekspresi. Tabel 2.1: Karakter khusus pada BASCOM – AVR
Karakter
Nama
ENTER
Mengakhiri input sebuah baris Kosong (atau spasi)
„
Tanda petik tunggal (untuk menampilkan komentar)
*
Asterisk (symbol perkalian)
+
Tanda penjumlahan
Ridho Muhammad(091311054) Laporan Proyek Akhir 2012
II-16
BAB II LANDASAN TEORI
,
Koma
-
Tanda minus
.
Titik (koma desimal)
/
Garis miring (tanda pembagian)
:
Titik dua
“
Tanda petik ganda
;
Titik koma
<
Kurang dari
=
Sama dengan
>
Lebih besar dari
\
Symbol pembagian Word/Integer
^
Eksponen
2.8.1
Baris Program BASCOM
BASCOM mamiliki baris program dengan syntax sebagai berikut : [[line identifier]] [[statement]] [[:statement]] …[[comment]] a. Line Identifier (Pengenal Baris) BASCOM mendukung satu tipe mengenal yaitu label baris alfanumerik. Sabuah label baris alfabet dapat berdiri dari 1 sampai 32 huruf dan angka, diawali dengan sebuah huruf dan diakhiri dengan sebuah titik dua. Kata kunci BASCOM tidak diperbolehkan untuk dijadikan label. Dibawah ini adalah contoh dari label yang diperoleh : Alpha : ALPHA : Alpha : Huruf kapital tidak dibedakan, sehingga label “Alpha : ”, label “ALPHA :”, dan label “alpha:” adalah sama. Label baris dapat diawali di kolom manapun, selama karakter pertama bukan kosong atau spasi pada baris. Spasi tidak diperbolehkan diantara label dan titik dua ( : ) setelahnya. Sebuah baris hanya boleh memiliki sebuah label. Ketika ada label pada baris, maka tidak ada penegenal baris lainnya yang dapat digunakan pada baris yang sama.
Ridho Muhammad(091311054) Laporan Proyek Akhir 2012
II-17
BAB II LANDASAN TEORI
b. Statement (Pernyataan)
Sebuah pernyataan BASCOM bisa “dieksekusi” atau “tidak dieksekusi”.
Sebuah pernyataan dieksekusi melanjutkan aliran sebuah logika program dengan memberikan 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 pernyataan tidak dieksekusi yang digunakan penjelasan program atau lainnya. Komentar dinyatakan dengan pernyataan untuk
REM atau tanda petik tunggal („). Lebih dari satu pernyataan dapat ditempatkan pada satu baris, tetapi
dengan menggunakan tanda pemisah (:). Hal ini ditunjukan pada contoh berikut : FOR = I TO 50 : PRINT ‘hallo?’ : NEXT I 2.8.2
Tipe Data Setiap variabel dalam BASCOM memiliki sebuah tipe data yang
menentukan apa yang dapat disimpulkan dalam variabel. Berikut ini adalah tipe data yang dapat digunakan dalam BASCOM. -
Bit (1/8 byte) Sebuah bit hanya dapat berisi nilai 1 atau 0.
-
Byte (1 byte) Byte tersimpan sebagai nagka biner 8-bit tidak bertanda (dari 0-255).
-
Integer (dua byte) Integer tersimpan sebagai angka biner bertanda 16-bit dengan rane nilai dari -32.768 sampai ± 32.768.
-
Word (dua byte) Word tersimpan sebagai nagka biner tidak bertanda dengan range nilai dari 0 sampai 65.535.
-
Long (empat byte) Long tersimpan sebagai angka biner bertanda 32-bit dengan nilai 2.147.483.648 sampai +2.147.482.648.
-
Single
Ridho Muhammad(091311054) Laporan Proyek Akhir 2012
II-18
BAB II LANDASAN TEORI
Single tersimpan sebagai angka biner bertanda 32-bit dengan range nilai
dari 1,5 x 10-324 sampai 3,4 x 10308.
-
Double
Single tersimpan sebagai angka biner bertanda 64-bit dengan range nilai
-
dari 5,0 x 10-324 sampai 1,7 x 10308. String (sampai 254 byte) String tersimpan sebagai byte yang diakhiri dengan sebuah byte 0. Sebuah
string dengan panjang 0 byte akan menepati 11 byte.
2.8.3
Variabel Sebuah variabel adalah nama yang menunjukan ada sebuah objek tertentu.
Nama dari sebuah variabel pada BASCOM dapat terdiri dari 32 karakter. Karakter yang diperbolehkan hanya huruf dan angka. Karakter pertama dari sebuah variabel harus sebuah huruf. Sebuah variabel tidak boleh menggunakan kata yang sudah dipakai BASCOM. (Reserved Word). Yang termasuk Reserved Word adalah semua perintah, pernyataan, nama fungsi, register internal, dan nama operator. Sebuah variabel angka hanya dapat berisi dengan nilai angke (integar, byte, long, single, atau bit). Angka hesadesimal atau biner dapat dimasukan dengan menggunakan awalan &H atau &B. sebelum memasukan sebuah variabel, compiler harus diberitahu dahulu dengan menggunakan perintah DIM. Contoh : DIM A as bit, Bas Integer, C as Byte, S as string*10. String membutuhkan parameter tambahan untuk menentukan panjang karakternya. 2.8.4
Ekspresi dan Operator Sebuah ekspresi bisa sebuah konstanta, variabel atau sebuah nilai tunggal
yang dapat digunakan dari penggabungan konstanta, variabel, dan ekspresi lainnya dengan operator. Operator melakukan operasi matamatik atau logika pada nilai. BASCOM membagi ke dalam 4 katagori, yaitu : Aritmatika, Relasi, Logika, dan
Ridho Muhammad(091311054) Laporan Proyek Akhir 2012
Fungsional.
II-19
BAB II LANDASAN TEORI
a. Aritmatika
Operator aritmatika adalah +, -, *, /, \, dan ^. -
Pembagian integer dinyatakan dengan (\).
Contoh : Z = X/Y -
Aritmatika modulo Aritmatika modulo dinyatakan dengan operator modulus MOD.
Aritmatika modulo menghasilkan sis pembagian integer, dan bukan
Pembagian Data Integer
hasil bagi. -
Limpahan dan pembagian dengan nol Pembagian dengan nola kana menghasilkan erorr. Akan tetapi pesan ini tidak akan ditampilkan pada compiler, sehingga harus dipastikan hal ini tidak terjadi.
b. Operator Relasi Operator relasi digunakan untuk memebandingkan dua kali. Hasilnya dapat digunakan untuk membuat keputusan dari aliran program. Operator tersebut adalah : Tabel 2.2: Tabel Operator relasi
Operator
Pengajuan Relasi
Ekspresi
=
Persamaan
X=Y
<>
Pertidaksamaan
X<>Y
<
Kurang dari
X
>
Lebih dari
X>Y
<=
Kurang dari atau sama dengan
X<=Y
>=
Lebih dari atau sama dengan
X>=Y
Ridho Muhammad(091311054) Laporan Proyek Akhir 2012
II-20
BAB II LANDASAN TEORI
c. Operator Logika
Operator logika melakukan pengujian pada relasi, manipulasi bit, atau operator boolean. Ada 4 operator pada BASCOM yaitu :
Tabel 2.3:Tabel Operator Logika
Operator
Keterangan
NOT
Komplemen logika
AND
Konjungsi
OR
Diskonjungsi
XOR
Ekslusif OR
Ridho Muhammad(091311054) Laporan Proyek Akhir 2012
II-21