6
BAB 2
LANDASAN TEORI
Dalam Bab ini penulis akan membahas tentang komponen- komponen
yang di gunakan dalam seluruh unit alat ini. Agar pembahasan tidak melebar dan
menyimpang dari topik utama laporan ini, maka setiap komponen hanya di bahas
sesuai fungsi nya pada masing- masing unit nya.
2.1 Mikrokontroler ATMega8535
Mikrokontroler dapat dianalogikan sebagai sebuah sistem komputer yang
dikemas dalam sebuah chip, artinya di dalam sebuah IC mikrokontroler
sebetulnya sudah terdapat kebutuhan minimal agar mikroprosesor dapat bekerja,
yaitu meliputi mikroprosesor, ROM, RAM, I/O dan clock seperti halnya yang
dimiliki oleh sebuah PC. Mengingat kemasannya yang berupa sebuah chip dengan
ukuran yang relatif lebih kecil, tentu saja spesifikasi dan kemampuan yang
dimiliki oleh mikrokontroller akan menjadi lebih rendah bila dibandingkan
dengan sistem komputer seperti PC baik dilihat dari segi kecepatannya. Tidak
seperti system komputer, yang mampu menangani berbagai macam program
aplikasi (misalnya pengolah kata, pengolah angka dan lain sebagainya),
mikrokontroler hanya bisa digunakan untuk satu aplikasi tertentu saja.
Meskipun dari sebuah kemampuan lebih rendah tetapi mikrokontroller
memiliki kelebihan yang tidak bisa diperoleh pada sistem komputer yaitu,dengan
7
fleksibel dan praktis digunakan terutama pada sistem-sistem yang relatif tidak
terlalu kompleks atau tidak memerlukan bahan komputasi yang tinggi.
2.1.1 Arsitektur Mikrokontroler AVR ATmega8535
Mikrokontroller AVR merupakan keluarga mikrokontroller RISC
(Reduced Instruction Set Computing) keluaran Atmel. Konsep arsitektur AVR
pada mulanya dibuat oleh dua orang mahasiswa di Norwegian institute of
Technology ( NTH ) yaitu Alf-Egil Bogen dan Vegard Wollan. Mikrokontroler
ATMega8535 merupakan salah satu anggota mikrokontroller AVR 8-bit. AVR
merupakan mikrokontroller dengan arsitektur Harvard dimana antara kode
program dan data disimpan dalam memori secara terpisah. Umumnya arsitektur
Havard ini menyimpan kode program dalam memori permanen atau
semi-permanen (non Volatille). Sedangkan data disimpan dalam memori tidak
permanen (Volatile). ATMega8535 memiliki fitur yang cukup lengkap, mulai
dari kapasitas memori program dan memori data yang cukup besar, interupsi,
timer/counter, PWM, USART, TWI, analog comparator, EEPROM internal dan
juga ADC internal semuanaya ada dalam ATMega8535.
Selain itu kemampuan kecepatan eksekusi yang lebih tinggi menjadi
alasan bagi banyak orang untuk beralih dan lebih memilih untuk menggunakan
mikrokontroller jenis AVR dari pada pendahulu nya keluarga MCS-51.
Secara garis besar, mikrokontroler ATMEGA8535 memiliki arsitektur
harvard, yaitu memisahkan memori untuk kode program dan memori untuk data
sehingga dapat memaksimalkan unjuk kerja dan pararelisme. Instruksi-instruksi
8
saat satu instruksi di kerjakan instruksi berikutnya sudah diambil dari memeori
program. 32x 8bit register serba guna digunakan untuk mendukung operasi
Arithcmetic Logic Unit (ALU) yang dapat dilakukan dalam 1 siklus. 6 dari
register serba guna dapat digunakan sebagai 3 buah register pointer 16- bit pada
mode pengalamatan tak langsung untuk mengambil data pada ruang memory data.
Hampir semua instruksi AVR ini memiliki format 16-bit(word).
Selain register serba guna terdapat register lain yang tepetakan dengan
teknik memory mapped I/O selebar 64 byte. Beberapa register ini digunakan
untuk beberapa fungsi khusus antara lain sebagai register kontrol timer/counter,
interupsi, ADC, USART, SPI, EEPROM dan Fungsi I/O lainnya. Register-register
ini menempati memori pada alamat 0x20h-0x5fh.
9 2.1.2 Fitur ATMega8535
Berikut ini adalah fitur-fitur yang dimiliki oleh ATMega8535:
1. 130 macam instruksi, yang hampir semuanya dieksekusi dalam satu
siklus clock.
2. Kecepatan mencapai 16 MPS dengan clock 16 MHZ.
3. 512 Byte internal EEPROM.
4. 32x8-bit register serba guna.
5. 8 Kbyte Flash memory, yang memiliki fasilitas In-System Programing.
6. 512 Byte SRAM.
7. Programming Lock, fasilitas untuk mengamankan kode program.
8. 4 channel output PWM.
9. 8 channel ADC 10-Bit.
10. 2 Buah timer/counter 8-bit dan 1 buah timer/counter 16-bit.
11. Serial USART.
12. Master/Slave SPI serial interface.
13. Serial TWI atau 12 C.
14. On-Chip Analog comparator.
2.1.3 Konfigurasi Pin ATMega8535
Mikrokontroler ATMega8535 memiliki 40 pin untuk model PDIP
ditunjukkan pada Gambar 2.2, dan 44 pin untuk model TQFP dan PLCC.
Nama-nama pin pada mikrokontroler ini adalah :
1. VCC merupakan pin yang berfungsi sebagai pin masukan catu daya
10
2. GND merupakan pin ground untuk catu daya digital.
3. Port A (PA0...PA7) merupakan pin I/O 8bit dua arah(bi-directional)
dan pin masukan 8 chanel ADC.
4. Port B (PB0 – PB7) merupakan akan pin I/O 8 bit dua arah
(bi-directional)dengan resistor pull-up internal dan pin fungsi khusus,
yaitu sebagai Timer/Counter, komperator analog dan SPI.
5. Port C (PC0 – PC7) merupakan pin I/O 8bit dua arah
(bi-directional)dan pin fungsi khusus, yaitu TWI, komperator analog,
input ADC dan Timer Osilator.
6. Port D (PD0 – PD7) merupakan pin I/O 8 bit dua arah(bi-directional)
dan pin fungsi khusus, yaitu komperator analog, interupsi eksternal
dan komunikasi serial.
7. RESET merupakan pin yang digunakan untuk mereset
mikrokontroler.
8. XTAL1 merupakan input ke penguat osilator pembalik dan input ke
internal clock.
9. XTAL2 merupakan out put dari penguat oslator pembalik.
10. AVCC merupakan pin masukan tegangan untuk ADC yang
terhubung ke portA.
11
Gambar 2.2 Konfigurasi Pin ATMega8535 Sumber: Data Sheet AVR,2003.
2.1.4 Deskripsi pin-pin pada mikrokontroler ATMega8535 :
1. Port A
Merupakan 8-bit dua arah bi-directional port I/O,dengan
menggunakan resistor pull-up internal dimana setiap pinnya dapat diatur
per bit. Output buffer Port A dapat memberi arus 20 mA dan dapat
mengendalikan display LED secara langsung. Data Direction Register port
A (DDRA) harus disetting terlebih dahulu sebelum Port A digunakan.
Bit-bit DDRA diisi 0 jika ingin memfungsikan pin-pin port A yang
bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu,
kedelapan pin port A juga digunakan untuk masukan8 channel ADC.
2. Port B
Merupakan 8-bit dua arah(bi-directional) port I/O. Setiap pinnya
dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output
12
LED secara langsung. Data Direction Register port B (DDRB) harus
disetting terlebih dahulu sebelum Port B digunakan. Bit-bit DDRB diisi 0
jika ingin memfungsikan pin-pin port B yang bersesuaian sebagai input,
atau diisi 1 jika sebagai output.Selain sebagai port I/O 8 bit port B juga
dapat difungsikan secara individu sebagai berikut:
1. PB7: SCK ( SPI Bus Serial Clock)
2. PB6: MISO( SPI Bus Master Input/ Slave Out put)
3. PB5: MOSI( SPI Bus Master Output/Slave Input).
4. PB4: SS (SPI Slave Select Input)
5. PB3: AIN1(Analog Comparator Negatif Input) OC0 (Out put Compare
Timer/counter 0)
6. .PB2: AIN0 (Analog Comparator Positif Input) INT2 (External
Interrupt 2 Inpt)
7. PB1:T1 (Timer/Counter 1 External Counter Input)
8. PB0:T0 (Timer/Counter 0 External Counter Input) XCK (USART
External Clock Input/Output)
3. Port C
Merupakan port I/O 8-bit dua arah (bi-directional). Setiap pinnya
dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output
buffer Port C dapat memberi arus 20 mA dan dapat mengendalikan display
LED secara langsung. Data Direction Register port C (DDRC) harus
disetting terlebih dahulu sebelum Port C digunakan. Bit-bit DDRC diisi 0
13
atau diisi 1 jika sebagai output. Selain itu, Port C juga difungsikan secara
individu sebagai berikut:
1. PC7: TOSC2 (Timer Oscillator 2)
2. PC6: TOSC1 (Timer Oscillator 1)
3. PC1: SDA (Serial Data Input/Output)
4. PC0: SCI (Serial Clock)
4. Port D
Merupakan Port I/O 8-bit dua arah (bi-directional) . Setiap pinnya
dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output
buffer Port D dapat memberi arus 20 mA dan dapat mengendalikan display
LED secara langsung. Data Direction Register port D (DDRD) harus
disetting terlebih dahulu sebelum Port D digunakan. Bit-bit DDRD diisi 0
jika ingin memfungsikan pin-pin port D yang bersesuaian sebagai input,
atau diisi 1 jika sebagai output. Selain itu, pin-pin port D juga memiliki
untuk fungsi-fungsi alternatif khusus sebagai berikut:
1. PD7: OC2 ( Ouput Compare Timer/Counter 1)
2. PD6: ICP1 ( Timer Counter 1 input capture)
3. PD5: OC1A ( Output Compare A Timer /Counter1)
4. PD4: OC1B ( Output Compare B Timer/Counter 1)
5. PD3: INT1 ( External Interrupt 1 Input)
6. PD2: INT0 ( External interrupt 0 Input)
7. PD1: TXD ( USART Transmit)
14
5. RESET
Reset pada pin 9 merupakan pin reset yang akan bekerja bila diberi
pulsa rendah (aktif Low) selama minimal 1,5µs.
6. XTAL2
Merupakan out put dari penguat dari osilator pembalik
7. XTAL1
eksternal terhubung ke Vcc melalui lowpass filter.
9. AREF
AREF adalah pin masukan referensi analog untuk ADC. Untuk
operasionalisasi ADC, suatu level tegangan antara AGND dan Avcc harus
dibeikan ke kaki ini.
10.AGND
AGND adalah kaki untuk analog ground. Hubungkan kaki ini ke
GND, kecuali jika board memiliki anlaog ground yang terpisah.
2.1.5 Peta Memory ATMega8535
Mikrokontroller ATMega8535 memiliki 3 jenis memori yaitu memori
program, memori data dan memori EEPROM.Ketigannya memiliki ruang-ruang
15
Gambar 2.3 Organisasi memori ATMega8535 Sumber: Data Sheet AVR,2003.
1. Memori Program
ATMega8535 memiliki kapasitas memori program sebesar 8 Kbyte
yang terpetakan dari alamat 0000h – 0FFFh dimana masing-masing alamat
memiliki lebar data sebesar 16 bit.Sehingga organisasi memori program
seperti ini sering dituliskan dengan 4K x 16 bit.Memori program ini juga
terbagi menjadi dua yaitu program boot dan juga bagian program aplikasi.
2. Memori Data
ATMega8535 memiliki kapasitas memori data sebesar 608 byte
yang terbagi menjadi 3 bagian yaitu register serba guna,register I/O dan
SRAM. 32 byte alamat terendah digunakan untuk register serbaguna yaitu
R0 – R31. 64 byte berikut nya digunakan untuk register I/O yang
16
USART, SPI, EEPROM dan port I/O seperti Port A, Port B, Port C, dan
Port D. Selanjutnya 512 byte diatasnya digunakan untuk memory data
SRAM .
Jika register-register I/O diatas diakses seperti mengakses data
pada memori ( Jika kita menggunakan instruksi LD atau ST ) maka
register I/O diatas menempati alamat 0020-005F. Tetapi jika
register-register I/O diakses seperti mengakses I/O pada umumnya ( menggunakan
instruksi IN/ IOUT) maka register I/O diatas menempati alamat memori
0000h – 003Fh.
Gambar 2.4 (a) Register I/O Sebagai Memori Data, (b) Register I/O sebagai I/O
Sumber: Data Sheet AVR,2003.
3. Memori EEPROM
ATMega8535 memiliki memori EEPROM sebesar 512 byte yang
terpisah dari memori program maupun dari memori data. Memori
17
I/O yaitu register EEPROM Addres ( EEARH-EEARL), register
EEPROM Data (EEDR) dan register EEPROM control ( EECR). Untuk
megakses memory EEPROM ini diperlakukan sperti mengakses data
eksternal sehingga waktu dari eksekusi relatif lebih lama dibadingkan jika
kita mengakses data dari SRAM.
2.1.6 Register Serba guna ( General Purpose Register)
ATMega8535 memiliki 32 byte register serbaguna yang terletak pada awal
alamat RAM. Dari 32 byte register serba guna 6 byte terakhir juga digunakan
sebagai register pointer yaitu register pointer X,register pointer Y dan Register
pointer Z.
18
2.1.7 USART ( Universal Synchronous and Asynchoronous Serial Receiver
And Transmitter)
Universal Synchronous Serial Receiver and Transmitter (USART) juga
merupakan salah satu metode komunikasi serial yang dimiliki oleh ATMega8535.
USART merupakan komunikasi yang memiliki fleksibilitas yang tinggi, yang
dapat kita gunakan untuk melakukan transfer data baik antara mikrokontroler
maupun dengan modul-modul eksternal termasuk PC yang memiliki fitur UART.
USART memungkinkan transmisi data baik secara synchronous maupun
asynchronous sehingga dengan demikian USART pasti kompatibel dengan
UART.
Pada ATMega8535, pengaturan secara umum pengaturan mode
komunikasi baik Synchronous maupun Asynchronous adalah sama, perbedaannya
hanya terletak pada sumber clocknya saja. Pada mode Asynchronous masing
-masing Peripheral memiliki sumber clock sendiri sedang kan pada mode
Synchronous hanya ada satu sumber clock yang digunakan secra bersama- sama.
Dengan demikian secara hardware untuk mode Asynchronous hanya
membutuhkan 2 pin yaitu TXD dan RXD sedangkan untuk mode Synchronous
harus 3 pin yaitu TXD,RXD dan XCK.
2.1.8 Status Register ( SREG)
Register SREG digunakan untuk menyimpan informasi dari hasil operasi
aritmatika yang terakhir . Informasi-informasi dari register SREG dapat
digunakan untuk mengubah alur program, yang sedang dijalankan dengan
19
instruksi atau operasi pada ALU dan datanya tidak otomatis tersimpan apabila
terjadi instruksi percabangan baik karena instruksi maupun lompatan.
Gambar 2.6 Status Register Sumber: Data Sheet AVR,2003.
Status Register ATMega8535 :
Bit 7 – I : Global Interrupt Enable
Bit I digunakan untuk mengaktifkan interrupsi secara umum ( interrupsi
global). Jika bit I benilai “1” maka interrupsi secara umum akan aktif , tetapi
jika bernilai “0” maka tidak ada satupun interrupsi yang aktif. Pengaturan
jenis-jenis interrupsi apa sja yang akan aktif dilakukan dengan mengatur register
kontrol yang sesuai dengan jenis interrupsi tersebut, dengan terlebih dahulu
mengaktifkan interupsi global, yaitu bit I diset ‟1‟.
Bit 6 – T : Bit Copy Storage
Bit T digunakan untuk mementukan bit sumber atau bit tujuan pada
instruksi bit copy. Pada instruksi BST, data akan dicopy dari register ke bit T ( Bit
T sebagai tujuan) sedangkan pada instruksi BLD, bit T akan di copy ke register (
Bit T Sebagai Sumber).
Bit 5 – H : Half carry Flag
Bit H digunakan untuk menunjukkan ada tidaknya setengah carry pada
20
(masing-masing 4 bit) dan masing-masing bagian dianggap sebagai 1 digit
desimal.
Bit 4 – S: Sign bit
Bit S merupakan kombinasi antara bit V dan bit N, yaitu dengan
meng-XOR-kan bit V dan bit N.
Bit 3 – V : Two‟s Complement over flow flag
Bit V digunakan untuk mendukun operasi aritmatika komplemen 2.Jika terjadi
luapan pada operasi aritmatika bilangan komplemen 2 maka akan menyebabkan
bit V bernilai “1”.
Bit 2 - N : Negative Flag
Bit N digunakan untuk menunjukkan apakah hasil sebuah operasi
aritmatika ataupun operasi logika bernilai negatif atau tidak.Jika hasilnya negatif
maka bit N bernilai “1” dan jika hasilnya bernilai positif maka bit N bernila ‟0”.
Bit 1 - Z : Zero Flag
Bit Z digunakan untuk menunjukkan hasil operasi aritmatika ataupun
operasi logika apakah bernilai nol atau tidak.Jika hasilnya nol maka bit Z bernilai
“1” dan jika hasilnya tidak nol maka bit Z bernilai‟0”.
Bit 0 – C : Carry flag
Bit C digunakan untuk menunjukkan hasil operasi aritmatika ataupun logika
apakah ada carry atau tidak.Jika ada carry maka bit C bernilai ‟1” dan jikatidak
21 2.2 Modem GSM
Modem adalah sebuah alat yang dapat membuat komputer terkoneksi
dengan internet melalui line telepon standar. Modem banyak digunakan komputer
rumah dan jaringan sederhana untuk dapat berkomunikasi dengan jutaan
komputer lain dalam lalu lintas internet. Kata Modem itu sendiri merupakan
kependekan dari Modulator Demodulator. Ini berarti Modem bekerja dengan cara
mengubah informasi digital dari komputer pengirim ke dalam bentuk sinyal
analog yang ditransmisikan melaluli line telepon.
Selanjutnya Modem pada komputer penerima akan mengubah ulang sinyal
analog ke sinyal digital. Modem GSM adalah sebuah perangkat Modem Wireless
Plug and Play dengan konektivitas GSM/GPRS untuk aplikasi-aplikasi machine to
machine. GSM Modul atau Modem GSM adalah jenis khusus dari modem yang
menerima kartu SIM, dan mengoperasikan selama berlangganan ke operator
mobile, seperti ponsel. Modem GSM dihubungkan dengan suatu interface yang
memungkinkan aplikasi seperti SMS untuk mengirim dan menerima pesan
melalui Modem. Beberapa fungsi kegunaan modem ini di masyarakat adalah
22
· Payment Point Data
Pada pembuatan proyek ini, digunakan Modem GSM Serial Wavecom
Fastrack M1306B. Untuk Modem seri ini memiliki dua type konektor yaitu serial
dan USB.
Gambar 2.7 Modem GSM Fastrack M1306B Sumber: Fastrack M1306B User Guide,2006.
Spesifikasi modem WAVECOM FASTRACK M1306B:
· Dual-band GSM 900/1800MHZ & GPRS Class 10
· GSM Dual Band antenna
· Power Supply with 4 pin connector (untuk serial)
· Standard USB 2.0 interface (untuk USB)
· Input Voltage : 5V-32V
· Maximum transmitting speed 253KBps
· Support AT-Command
· Dimensi : 74×54×25mm
2.2.1 AT-Command
AT-Command adalah singkatan dari Attention Command. AT Command
23
awalnya standar perintah ini untuk modem-modem telepon PSTN, akan tetapi
perintah ini sekarang dikembangkan juga untuk modem-modem GSM.
Perintah AT-Command dapat diberikan kepada handphone atau
GSM/CDM modem untuk melakukan sesuatu hal, termasuk untuk mengirim dan
menerima SMS. Dengan memberikan perintah ini di dalam komputer/
mikrokontroller maka perangkat kita dapat melakukan pengiriman atau
penerimaan SMS secara otomatis untuk mencapai tujuan tertentu. Untuk memulai
suatu perintah AT-Command, diperlukan prefiks “AT” atau “at” dalam setiap
perintah AT-Command.
Tabel 2.1 Tabel Set AT-Command
Sumber: Fastrack M1306B User Guide,2006.
2.2.2 Short Message Service (SMS)
Short Message Service (SMS) merupakan salah satu tipe Instant
24
dihantarkan pada channel signal Global System for Mobile Communication
(GSM). Dewasa ini perkembangan teknologi yang sangat pesat membuat
teknologi SMS ini banyak digemari masyarakat karena teknologi ini bersifat
praktis, murah dan mudah untuk digunakan.
Sebuah pesan SMS maksimal terdiri dari 140 bytes, yang berarti dapat
memuat 140 karakter 8-bit, 160 karakter 7-bit atau 70 karakter 16-bit untuk
bahasa Jepang, bahasa Mandarin dan bahasa Korea yang memakai Hanzi (Aksara
Kanji/Hanja). User pun dapat mengirim pesan SMS yang lebih dari 140 bytes
dengan catatan membayar lebih dari sekali biaya kirim SMS. 21 SMS menjamin
pengiriman pesan oleh jaringan, jika terjadi kegagalan maka disimpan di jaringan
atau yang disebut SMS Center (SMSC). Di SMSC pesan disimpan dan dicoba
untuk mengirimkannya selama beberapa kali. Batas waktu yang telah ditentukan
untuk menyimpannya biasanya sekitar 1 hari atau 2 hari, lalu pesan dihapus.
2.2.3 Database
Database merupakan sekumpulan data yang terintegrasi yang diorganisasi
untuk memenuhi kebutuhan pemakai untuk keperluan organisasi yang dimana
dapat dipakai hanya sekali atau berulang yang dimana dalam bentuk digital. Salah
satu komponen penting dalam penggunaan database adalah DataBase
Management System (DBMS). DBMS ini bertugas untuk menangani semua akses
ke database dan bertanggug jawab untuk menerapkan pemeriksaan otorisasi dan
25 2.2.4 Microsoft Office Access
Salah satu software atau aplikasi yang banyak digunakan untuk membuat
suatu database sederhana adalah Microsoft Access. Micosoft Access merupakan
software yang dikeluarkan oleh microsoft untuk membuat aplikasi database.
Sofware ini cocok untuk kalangan industri kecil atau rumah tangga,
karena kapasitas datanya yang mencapai 4 GB. Program ini banyak dipakai
karena kemudahannya dalam mengolah database.
2.3 LCD (Liquid Crystal Display)
LCD merupakan salah satu perangkat penampil yang sekarang ini mulai
banyak digunakan. Penampil LCD mulai dirasakan menggantikan fungsi dari
penampil CRT (Cathode Ray Tube), yang sudah berpuluh-puluh tahun digunakan
manusia sebagai penampil gambar/text baik monokrom (hitam dan putih),
maupun yang berwarna. Teknologi LCD memberikan keuntungan dibandingkan
dengan teknologi CRT, kaena pada dasarnya, CRT adalah tabung triode yang
digunakan sebelum transistor ditemukan. Beberapa keuntungan LCD
dibandingkan dengan CRT adalah konsumsi daya yang relative kecil, lebih ringan,
tampilan yang lebih bagus, dan ketika berlama-lama di depan monitor, monitor
CRT lebih cepat memberikan kejenuhan pada mata dibandingkan dengan LCD.
Gambar 2.8 LCD 2x16
26
LCD memanfaatkan silicon atau gallium dalam bentuk Kristal cair sebagai
pemendar cahaya. Pada layar LCD, setiap matrik adalah susunan dua dimensi
piksel yang dibagi dalam baris dan kolom. Dengan demikian, setiap pertemuan
baris dan kolom adalah sebuah LED terdapat sebuah bidang latar (backplane),
yang merupakan lempengan kaca bagian belakang dengan sisi dalam yang
ditutupi oleh lapisan elektroda trasparan. Dalam keadaan normal, cairan yang
digunakan memiliki warna cerah. Daerah-daerah tertentu pada cairan akan
berubah warnanya menjadi hitam ketika tegangan diterapkan antara bidang latar
dan pola elektroda yang terdapat pad sisi dalam lempeng kaca bagian depan.
Keunggulan LCD adalah hanya menarik arus yang kecil (beberapa
microampere), sehingga alat atau sistem menjadi portable karena dapat
menggunakan catu daya yang kecil. Keunggulan lainnya adalah tampilan yang
diperlihatkan dapat dibaca dengan mudah di bawah terang sinar matahari. Di
bawah sinar cahaya yang remang-remang dalam kondisi gelap, sebuah lampu
(berupa LED) harus dipasang dibelakang layar tampilan.
LCD yang digunakan adalah jenis LCD yang mena mpilkan data dengan 2
baris tampilan pada display. Keuntungan dari LCD ini adalah :
1. Dapat menampilkan karakter ASCII, sehingga dapat memudahkan untuk
membuat program tampilan.
2. Mudah dihubungkan dengan port I/O karena hanya mengunakan 8 bit data
dan 3 bit control.
3. Ukuran modul yang proporsional.
27
Operasi dasar pada LCD terdiri dari empat, yaitu instruksi mengakses
proses internal, instruksi menulis data, instruksi membaca kondisi sibuk, dan
instruksi membaca data. ROM pembangkit sebanyak 192 tipe karakter, tiap
karakter dengan huruf 5x7 dot matrik. Kapasitas pembangkit RAM 8 tipe karakter
(membaca program), maksimum pembacaan 80x8 bit tampilan data. Perintah
utama LCD adalah Display Clear, Cursor Home, Display ON/OFF, Display
Character Blink, Cursor Shift, dan Display Shift. Tabel 2.2 menunjukkan
konfigurasi pin LCD.
Tabel 2.2 Konfigurasi Pin LCD
Pin No. Keterangan Konfigurasi Hubung
28
15 A Anoda (+5VDC)
16 K Katoda (Ground)
Sumber: Manpreet Singh Minhas,2013.
Lapisan film yang berisis Kristal cair diletakkan di antara dua lempeng
kaca yang telah ditanami elektroda logam transparan. Saat teganga dicatukan pada
beberapa pasang elektroda, molekul – molekul Kristal cair akan menyusun diri
agar cahaya yang mengenainya akan dipantulkan atau diserap. Dari hasil
pemantulan atau penyerapan cahaya tersebut akan terbentuk pola huruf, angka,
atau gambar sesuai bagian yang di aktifka.
LCD membutuhkan tegangan dan daya yang kecil sehingga sangat popular
untuk aplikasi pada kalkulator, arloji digital, dan instrument elektronika lain
seperti Global Positioning System (GPS), baragraph display dan multimeter
digital. LCD umumnya dikemas dalam bentuk Dual In Line Package (DIP) dan
mempunyai kemampuan untuk menampilkan beberapa kolom dan baris dalam
satu panel. Untuk membentuk pola, baik karakter maupun gambar pada kolom dan
baris secara bersamaan digunakan metode Screening.
Metode screening adalah mengaktifkan daerah perpotongan suatu kolo dan
suatu baris secara bergantian dan cepat sehingga seolah-olah aktif semua.
Penggunaan metode ini dimaksudkan untuk menghemat jalur yang digunakan
untuk mengaktifkan panel LCD. Saat ini telah dikembangkan berbagai jenis LCD,
mulai jenis LCD biasa, Passive Matrix LCD (PMLCD), hingga Thin-Film
Transistor Active Matrix (TFT-AMLCD). Kemampuan LCD juga telah
ditingkatkan daru yang monokrom hingga yang mampu menampilkan ribuan
29 2.4 Komunikasi Serial
Pada PC / laptop standar, biasanya terdapat sebuah port untuk komunikasi
serial. Pada prinsipnya, komunikasi serial ialah komunikasi dimana pengiriman
data dilakukan per bit, sehingga lebih lambat dibandingkan komunikasi parallel
seperti pada port printer yang mampu mengirim 8 bit sekaligus dalam sekali
detak. Beberapa contoh penerapan komunikasi serial ialah mouse, scanner dan
sistem akuisisi data yang terhubung ke port serial COM1/COM2. Sistem antar
muka komunikasi serial RS232 sering digunakan sebagai antar muka antara
komputer dengan mikrokontroler. Agar level tegangan data serial dari
mikrokontroler setara dengan level tegangan komunikasi port serial PC,
diperlukan MAX232 untuk mengubah ke tegangan TTL/CMOS logic level
RS232. MAX232 menggunakan sistim komunikasi simplex sehingga difungsikan
untuk mengubah dari arus dan tegangan logika TTL menjadi arus tegangan logika
komputer (RS232).
2.4.1 Karakteristik Sinyal Port Serial
Standar sinyal komunikasi serial yang banyak digunakan adalah Standar
RS232 yang dikembangkan oleh Electronic Industri Association (EIA/TIA) yang
pertama kali dipublikasikan pada tahun 1962.Ini terjadi jauh sebelum IC TTL
populer sehingga sinyal ini tidak ada hubungan sama sekali dengan level tegangan
IC TTL. Standar ini hanya menyangkut komunikasi antara (Data Terminal
Equipment – DTE) dengan alat – alat pelengkap komputer (Data Circuit
30
Standar sinyal RS232 memiliki ketentuan level tegangan sebagai berikut :
• Logika 1 disebut ‘Mark’ terletak antara -3 Volt sampai -25 Volt
• Logika ‘0’ disebut ‘space’ terletak antara +3 Volt samapai +25 Volt.
• Daerah tegangan antara -3 Volt sampai +3 Volt adalah invalid level, yaitu
daerah tegangan yang tidak memiliki level logika pasti sehingga harus
dihindari. Demikian juga level tegangan dibawah -25 Volt dan diatas +25
Volt juga harus dihindari karena bisa merusak line driver pada saluran
RS232
Gambar dibawah adalah contoh level tegangan RS232 pada pengiriman
huruf “A” dalam format ASCII tanpa bit paritas.
Gambar 2.9 Level Tegangan RS232 pada Pengiriman Huruf “A” Tanpa Bit Paritas.
Sumber:Wikipedia,2010.
2.4.2 Port Komunikasi Serial
Komunikasi serial membutuhkan port sebagai saluran data. Berikut tampil port
serial DB9 yang umum digunakan sebagai port serial
31
Untuk menghubungkan antara 2 buah PC, biasanya digunakan format null
mode, dimana pin TxD dihubungkan dengan RxD pasangan, pin Sinyal ground
(5) dihubungkan dengan SG di pasangan, dan masing masing pin DTR, DSR dan
CD dihubung singkat, dan pin RTS dan CTS dihubung singkat di setiap devais.
32
Tabel 2.3 Fungsi Susunan Konektor DB9
Sumber: Saiful Arif,2010.
Untuk dapat menggunakan port serial harus diketahui dahulu alamat dari
port serial tersebut. Biasanya tersedia dua port serial pada CPU, yaitu COM1 dan
COM2. Base Address COM1 biasanya 1016 (3F8h) dan COM2 biasanya 760
(2F8h). Alamat tersebut adalah alamat yang biasa digunakan, tergantung
komputer yang digunakan.Tepatnya kita bisa melihat pada peta memori tempat
menyimpan alamat tersebut, yaitu memori 0000.0400h untuk COM1 dan
0000.0402h untuk COM2. Berikut adalah nama – nama register yang digunakan
33
Tabel 2.4 Nama – Nama Register
Sumber: Saiful Arif,2010.
Keterangan Register
• RX Buffer , digunakan untuk menampung dan menyimpan data dari DCE.
• TX Buffer , digunakan untuk menampung dan menyimpan data yang akan
dikirim ke port serial.
• Baud Rate Divisor Latch LSB , digunakan untuk menampung byte bobot
rendah untuk pembagi clock pada IC UART agar didapat baud rate yang
tepat.
• Baud Rate Divisor Latch MSB , digunakan untuk menampung byte bobot
tinggi untuk pembagi clock pada IC UART sehingga total angka pembagi
34
Berikut adalah tabel angka pembagi yang sering digunakan :
Tabel 2.5 Angka Pembagi
Sumber: Saiful Arif,2010.
2.4.3 Konverter MAX232
IC MAX 232 ialah IC yang umum digunakan sebagai RS232 Converter.
MAX232 adalah sebuah sirkuit terpadu yang mengubah sinyal dari port serial
RS-232 untuk sinyal yang sesuai yang digunakan pada sirkuit TTL logika digital yang
kompatibel. MAX232 adalah driver ganda penerima atau receiver dan biasanya
mengubah sinyal RX, TX, CTS dan RTS. MAX232 mencakup tegangan generator
yang berkapasitas yang digunakan untuk menyuplai input dari hardware pada
tegangan 5 V. MAX 232 memiliki ambang khas dari 1,3 V, histeresis khas 0,5 V,
dan dapat menerima input ± 30-V.
Gambar 2.12 IC MAX232
35
Gambar 2.13 Konfigurasi IC MAX232
Sumber: Data sheet max 232,2014.
Komunikasi serial ialah pengiriman data secara serial (data dikirim satu
persatu secara berurutan), sehingga komunikasi serial jauh lebih lambat daripada
komunikasi paralel. Serial port lebih sulit ditangani karena peralatan yang
dihubungkan ke serial port harus berkomunikasi dengan menggunakan transmisi
serial, sedang data di komputer diolah secara paralel. Oleh karena itu data dari dan
ke serial port harus dikonversikan ke dan dari bentuk paralel untuk bisa
digunakan. Menggunakan hardware, hal ini bisa dilakukan oleh Universal
Asyncronous Receiver Transmitter (UART), kelemahannya kita butuh software
yang menangani register UART yang cukup rumit dibanding pada paralel port.
Kelebihan dari komunikasi serial ialah panjang kabel jauh disbanding paralel,
karena serial port mengirimkan logika “1” dengan kisaran tegangan –3 V hingga –
25 V dan logika 0 sebagai +3 Volt hingga +25 V sehingga kehilangan daya karena
panjangnya kabel bukan masalah utama. Bandingkan dengan port paralel yang
menggunakan level TTL berkisar dari 0 V untuk logika 0 dan +5 Volt untuk
logika 1. Umumnya sinyal serial diawali dengan start bit, data bit dan sebagai
pengecekan data menggunakan parity bit serta ditutup dengan 2 stop bit. Level
36 2.5 Bahasa Pemograman C
Bahasa C dikembangkan pada Lab Bell pada tahun 1978, oleh Dennis
Ritchi dan Brian W. Kernighan. Pada tahun 1983 dibuat standar C yaitu stnadar
ANSI ( American National Standards Institute ), yang digunakan sebagai referensi
dari berbagai versi C yang beredar dewasa ini termasuk Turbo C.
Dalam beberapa literature, bahasa C digolongkan bahasa level menenganh
karena bahasa C mengkombinasikan elemen bahasa tinggi dan elemen bahasa
rendah. Kemudahan dalam level rendah merupakan tujuan diwujudkanya bahasa
C. pada tahun 1985 lahirlah pengembangan ANSI C yang dikenal dengan C++
(diciptakan oleh Bjarne Struostrup dari AT % TLab). Bahasa C++ adalah
pengembangan dari bahasa C. bahasa C++ mendukung konsep pemrograman
berorientasu objek dan pemrograman berbasis windows.
Sampai sekarang bahasa C++ terus brkembang dan hasil
perkembangannya muncul bahasa baru pada tahun 1995 (merupakan keluarga C
dan C++ yang dinamakan java). Istilah prosedur dan fungsi dianggap sama dan
disebut dengan fungsi saja. Hal ini karena di C++ sebuah prosedur pada dasanya
adalah sebuah fungsi yang tidak memiliki tipe data kembalian (void). Hingga kini
bahasa ni masih popular dan penggunaannya tersebar di berbagai platform dari
windows samapi linux dan dari PC hingga main frame.
Ada pun kekurangan dan Kelebihan Bahasa C sebagai berikut :
Kelebihan Bahasa C:
· Bahasa C tersedia hampir di semua jenis computer.
· Kode bahasa C sifatnya adalah portable dan fleksibel untuk semua
37
· Bahasa C hanya menyediakan sedikit kata-kata kunci. hanya
terdapat 32 kata kunci.
· Proses executable program bahasa C lebih cepat
· Dukungan pustaka yang banyak.
· C adalah bahasa yang terstruktur
· Bahasa C termasuk bahasa tingkat menengah
Penempatan ini hanya menegaskan bahwa c bukan bahasa pemrograman
yang berorientasi pada mesin. yang merupakan ciri bahasa tingkat rendah.
Melainkan berorientasi pada obyek tetapi dapat dinterprestasikan oleh mesin
dengan cepat. secepat bahasa mesin. inilah salah satu kelebihan c yaitu memiliki
kemudahan dalam menyusun programnya semudah bahasa tingkat tinggi namun
dalam mengesekusi program secepat bahasa tingkat rendah.
Kekurangan Bahasa C:
· Banyaknya operator serta fleksibilitas penulisan program
kadang-kadang membingungkan pemakai.
· Bagi pemula pada umumnya akan kesulitan menggunakan pointer.
2.5.1 Struktur Bahasa C
a. Program bahasa C tersusun atas sejumlah blok fungsi.
b. Setiap fungsi terdiri dari satu atau beberapa pernyataan untuk melakukan
suatu proses tertentu.
c. Tidak ada perbedaan antara prosedur dan fungsi.
d. Sstiap program bahasa C mempunyai suatu fungsi dengan nama “main”
(Program Utama).
38
f. Setiap statemen diakhiri dengan semicolon (titik koma).
2.5.2 Pengenal
Pengenal (identifier) merupakan sebuah nama yang didefenisikan oleh
pemrograman untuk menunjukkan indetitas dari sebuah konstanta, variable,
fungsi, label atau tipe data khusus. Pemberian nama sebuah pengenal dapat
ditentukan bebas sesuai keinginan pemrogram tetapi harus memenuhi atura
berikut :
Karakter pertama tidak boleh menggunakan angka
Karakter kedua dapat berupa huruf, angka, atau garis bawah.
Tidak boleh menggunakan spasi.
Bersifat Case Sensitive, yaitu huru capital dan huruf kecil dianggap
berbeda.
Tidak boleh mengunakan kata – kata yang merupakan sitaks maupun
operator dalam pemrograman C, misalnya : Void, short, const, if, static, bit,
long, case, do, switch dll.
2.5.3 Tipe Data
Tipe data merupakan suatu hal yang penting untuk kita ketahui pada saat
belajar bahasa pemrograman. Kita harus dapat menentukan tipe data yang tepat
untuk menampung sebuah data, baik itu data berupa bilangan numerik ataupun
karakter. Hal ini bertujuan agar program yang kita buat tidak membutuhkan
pemesanan kapling memori yang berlebihan. Seorang programmer yang handal
39
dalampembuatan sebuah program. Secara garis besar tipe data pada bahasa C
dibagi menjadi beberapa bagian antara lain sebagai Berikut
Macam-Macam Tipe Data Pada Bahasa C :
1. Tipe Data Karakter
Sebuah karakter, baik itu berupa huruf atau angka dapat disimpan pada
sebuah variabel yang memiliki tipe data char dan unsigned char. Besarnya data
yang dapat disimpan pada variabel yang bertipe data char adalah -127 - 127.
Sedangkan untuk tipe data unsigned char adalah dari 0 - 255. Pada dasarnya setiap
karakter memiliki nilai ASCII, nilai inilah yang sebetulnya disimpan pada variabel
yang bertipe data karakter ini.
2. Tipe Data Bilangan Bulat
Tipe data bilangan bulat atau dapat disebut juga bilangan desimal
merupakan sebuah bilangan yang tidak berkoma. Pada bahasa C terdapat
bermacam-macam tipe data yang dapat kita gunakan untuk menampung bilangan
bulat. Kita dapat menyesuaikan penggunaan tipe data dengan terlebih dahulu
memperhitungkan seberapa besar nilai yang akan kita simpan. Contohnya seperti
berikut, kiata akan melakukan operasi penjumlahan nilai 300 dan 100 dan
hasilnya akan disimpan pada variabel c.
Jika dilihat, hasil dari penjumlahan tersebut nilainya akan lebih besar dari
255 dan nilainya pasti positif, oleh karena itu sebaiknya kita menggunakan tipe
data unsigned int. Namun berbeda halnya jika saya ingin melakukan operasi
pengurangan -5 - 300, jika dilihat hasilnya akan negatif maka selayaknya
40
3. Tipe Data Bilangan Berkoma
Pada bahasa C terdapat dua buah tipe data yang berfungsi untuk
menampung data yang berkoma. Tipe data tersebut adalah float dan double.
Double lebih memiliki panjang data yang lebih banyak dibandingkan float. Tipe
data double dapat digunakan jika kita membutuhkan variabel yang dapat
menampung tipe data berkoma yang bernilai besar.
Tabel 2.6 Tipe Data
Tipe Data Ukuran Jangkauan Nilai
Bit 1 byte 0 atau 1
Char 1 byte -128 s/d 127
Unsigned Char 1 byte 0 s/d 255
Signed Char 1 byte -128 s/d 127
Int 2 byte -32.768 s/d 32.767
Short Int 2 byte -32.768 s/d 32.767
Unsigned Int 2 byte 0 s/d 65.535
Signed Int 2 byte -32.768 s/d 32.767
Long Int 4 byte -2.147.483.648 s/d 2.147.483.647
Unsigned Long Int 4 byte 0 s/d 4.294.967.295
Signed Long Int 4 byte -2.147.483.648 s/d 2.147.483.647
Float 4 byte 1.2*10-38 s/d 3.4*10+38
Double 4 byte 1.2*10-38 s/d 3.4*10+38
41 3.5.4 Konstanta Dan Variabel
Konstanta dan variable merupakan sebuah tempat untuk menyimpan data
yang berada di dalam memori. Konstanta berisi data yang nilainya tetap dan tidak
dapat diubah selama program dijalankan, sedangkan variable berisi data yang bisa
berubah nilainya pada saat program dijalankan.
2.5.5 IDENTIFIER
Identifier atau nama pengenal adalah nama yang ditentukan sendiri oleh
pemrogram yang digunakan untuk menyimpan nilai, misalnya nama variable,
nama konstanta, nama suatu elemen (misalnya: nama fungsi, nama tipe data, dll).
Identifier punya ketentuan sebagai berikut :
1. Maksimum 32 karakter (bila lebih dari 32 karakter maka yang
diperhatikan hanya 32 karakter pertama saja).
2. Case sensitive: membedakan huruf besar dan huruf kecilnya.
3. Karakter pertama harus karakter atau underscore ( _ ) . selebihnya boleh
angka.
4. Tidak boleh mengandung spasi atau blank.
5. Tidak boleh menggunakan kata yang sama dengan kata kunci dan fungsi.
2.6 MPX5700
MPX5700 merupakan sensor tekanan dengan output analog, sensor ini
merupakan sensor produk dari Fresscal Semikonduktor, Inc. MPX5700 dapat
mengukur tekanan udara, oli maupun cairan lain dengan batas tekanan maksimum
42
mode pengukuran yaitu, pengukuran Gauge, Absolute maupun Differential.
Sedangkan paket dari sensor MPX5700 banyak jenisnya. Gambar 2.2 adalah
gambar jenis paket dari sensor tekanan MPX5700.
Gambar 2.14 Jenis paket sensor MPX5700 Sumber:Freescale Semiconductor,2012.
Konfigurasi pin sensor MPX5700 terdiri dari 6 pin dan yang digunakan hanya 3
pin saja, yaitu pin 1 sebagai tegangan output, pin 2 sebagai ground sedangkan pin
3 sebagai masukan dari tegangan supply sebesar 5 volt, sedangkan 3 pin yang lain
NC (Not Connects). Dari spesifikasi, sensor MPX5700 bekerja pada tegangan 5
volt. Tingkat sensitivitas dari sensor sebesar 6,4 mV/kPa dengan tegangan output
dari 0,2 volt hingga maksimum 4,7 volt. Untuk lebih jelas dapat dilihat pada
grafik perbandingan tegangan output dengan tekanan dalam satuan kPa pada
43
Gambar 2.15 Grafik Perbandingan tegangan output dengan kPa pada sensor MPX5700
Sumber:Freescale Semiconductor,2012.
2.7 Regulator Gas
Regulator Acetylene Regulator yang akan dibahas, yaitu Regulator Acetylene
atau pada umumnya dikenal dengan Regulator Oksi-Asetilen. Regulator tersebut
biasanya dipakai sebagai pengatur besaran tekanan gas yang digunakan untuk
proses pengelasan. Pada Regulator terdapat bagian-bagian seperti saluran masuk,
katup pengaturan tekan kerja, katup pengaman, alat pengukuran tekanan
tabung,alat pengukuran tekanan kerja dan katup pengatur keluar gas menuju
selang. Pada regulator terdapat dua buah alat pengukur tekanan yang disebut
manometer. Dua buah manometer yang terdapat pada regulator berfungsi untuk:
a. Mengukur tekanan isi tabung gas. b. Mengukur tekanan kerja las.
Las Gas atau pada umumnya lebih dikenal dengan istilah Las Karbit,
sebenarnya adalah pengelasan yang dilaksanakan dengan pencampuran 2 jenis gas
44
menggunakan campuran dari gas Oksigen (O2) serta gas lain sebagai bahan bakar
(fuel gas). Gas bahan bakar yang paling popular dan paling banyak digunakan
dalam masyarakat adalah gas Asetilen ( dari kata “acetylene“, dan memiliki rumus
kimia C2H2 ). Kelebihan yang dimiliki gas Asetilen antara lain, menghasilkan
temperature nyala api lebih tinggi dari gas bahan bakar lainya.
Gambar 2.16. Regulator Acetylene
Gas Asetilen ini sebenarnya dihasilkan dari reaksi batu Kalsium
KARBIDA (orang-orang menyebut karbit) dengan air. Jadi jika Kalsium Karbida
ini disiram atau dicelupkan ke dalam air maka akan terbentuk gas Asetilen. Jadi
penyebutan nama las karbit hanya untuk mencirikan bahwa gas yang digunakan