Perancangan Alatpendeteksikekeruhanair Di Akuariumberdasarkanwarnaberbahasa C Menggunakan Atmega 8

BAB 2
LANDASAN TEORI

2.1 Bahasa 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.

5
Universitas Sumatera Utara

·

Kode bahasa C sifatnya adalah portable dan fleksibel untuk semua
jenis computer.

·

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 kadangkadang membingungkan pemakai.

·

2.1.1

Bagi pemula pada umumnya akan kesulitan menggunakan pointer.

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.

6
Universitas Sumatera Utara

d. Sstiap program bahasa C mempunyai suatu fungsi dengan nama “main”
(Program Utama).
e. Fungsi bisa diletakkan diatas atau dibawah fungsin “main”.
f. Setiap statemen diakhiri dengan semicolon (titik koma).

2.1.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.1.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


7
Universitas Sumatera Utara

karakter. Hal ini bertujuan agar program yang kita buat tidak membutuhkan
pemesanan kapling memori yang berlebihan. Seorang programmer yang handal
harus dapat memilih dan menentukan tipe data apa yang seharusnya digunakan
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

8
Universitas Sumatera Utara

negatif maka selayaknya digunakan variabel dengan tipe data int.
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 seperti pada table 2.1 Tipe
Data dibawah ini.
Tabel 2.1 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

9
Universitas Sumatera Utara

2.1.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.1.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.2

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),

10
Universitas Sumatera Utara

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
seperti pada Gambar 2.1 yang menapilkan LCD 2x16.

Gambar 2.1 LCD 2x16
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

11
Universitas Sumatera Utara

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 menampilkan 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.
4. Daya yang digunakan relative sangat kecil.
+5VDC

Gambar 2.2 Konfigurasi Pin LCD
Seperti pada Gambar 2.2 konfigurasi dan 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,

12
Universitas Sumatera Utara

Display ON/OFF, Display Character Blink, Cursor Shift, dan Display Shift. Tabel
2.2 menunjukkan operasi dasar LCD.
Tabel 2.2 Operasi Dasar LCD
RS R/W Operasi
0

0

Input Instruksi ke LCD

0

1

Membaca Status Flag (DB7) dan alamat counter (DB0 ke DB6)

1

0

Menulis Data

1

1

Membaca Data

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 dari yang monokrom hingga yang mampu menampilkan ribuan
warna. 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

13
Universitas Sumatera Utara

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.
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
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),

2.3. Sensor RF (Radio Frekuensi)
Sensor RF (Radio Frekuensi) adalah komponen yang dapat mendeteksi
sinyal gelombang elektromagnetik yang digunakan oleh sistem komunikasi untuk
mengirim informasi melalui udara dari satu titik ke titik lainnya yang merambat di
antara

antena

pemancar

pengirim

dan

penerima.

Sinyal

gelombang

elektromagnetik yang dipancarkan melalui antena memiliki amplitudo, frekuensi,
interval, dan mempunyai sifat-sifat yang dapat berubah-ubah setiap saat untuk
mempersentasikan informasi.
Sensor RF mempunyai 2 perangkat elektronik untuk mengirimkan sinyal
gelombang elektromagnetik yang terdapat pada perangkat transmitter dan

14
Universitas Sumatera Utara

kemudian untuk menerima sinyal gelombang elektromagnetik tersebut yang
terdapat pada perangkat receiver.
Saat sinyal radio frekuensi merambat melalui udara, sinyal tersebut akan
kehilangan amplitudonya apabila jarak antara pengirim dan penerima bertambah
yang berakibat amplitude sinyal menurun secara eksponensial. Jadi, sinyal harus
memiliki cukup energi untuk mencapai jarak di mana tingkat sinyal bisa diterima
sesuai yang dibutuhkan receiver. Sensor RF sering digunakan pada pengendali
jarak jauh tanpa kabel (remote control) dengan menggunakan Amplitude Shift
Keying (ASK). Pada pemancar (transmitter) RF terdapat IC PT2262 yang
berfungsi sebagai pemancar sinyal dan juga terdapat rangkaian encoder yang
berfungsi untuk mengubah sinyal seperti data atau bitstream ke dalam bentuk
yang dapat diterima untuk transmisi data atau penyimpanan data yang kemudian
transmisi data tersebut akan diterima oleh penerima (receiver) RF.
RF (Radio Frekuensi) adalah sebuah perangkat yang mampu menerima
frekuensi radio dalam kisaran tertentu. RF digunakan dalam beragam teknologi
komunikasi nirkabel untuk informasi dan transfer data. Pemancar RF(Transmitter)
dan penerima RF (Receiver) digabungkan bersama-sama dalam satu sirkuit yang
sering disebut sebagai transceiver. Sebuah penerima RF (Transmitter) menerima
sinyal dari pemancar, yang mana untuk mendapatkan sinyal yang sangat jelas
tergantung pada rasio sinyal/noise. Rasio sinyal/noise didapat dari angka yang
diberikan dengan membagi jumlah ukuran dari intensitas sinyal dengan jumlah
ukuran intensitas kebisingan. Untuk mengirim suatu sinyal dari pemancar RF ke
penerima RF jarak jauh, amplifikasi sinyal harus sama besar yang didapatkan dari
pengkontrolan

rasio

sinyal/noise.

15
Universitas Sumatera Utara

2.4. Buzzer
Buzzer adalah sebuah komponen elektronika yang berfungsi untuk
mengubah getaran listrik menjadi getaran suara getaran listrik menjadi getaran
suara. Pada dasarnya prinsip kerja buzzer hampir sama dengan loudspeaker, jadi
buzzer juga terdiri dari kumparan yang terpasang pada diafragma dan kemudian
kumparan tersebut dialiri arus sehingga menjadi elektromagnet, kumparan tadi
akan tertarik ke dalam atau keluar, tergantung dari arah arus dan polaritas
magnetnya, karena kumparan dipasang pada diafragma maka setiap gerakan
kumparan akan menggerakkan diafragma secara bolak-balik sehingga membuat
udara bergetar yang akan menghasilkan suara. Buzzer biasa digunakan sebagai
indikator bahwa proses telah selesai atau terjadi suatu kesalahan pada sebuah alat
(alarm).

2.5. Mikrokontroler Atmega8
AVR merupakan salah satu jenis mikrokontroler yang di dalamnya
terdapat berbagai macam fungsi. Perbedaannya pada mikro yang pada umumnya
digunakan seperti MCS51 adalah pada AVR tidak perlu menggunakan oscillator
eksternal karena di dalamnya sudah terdapat internal oscillator. Selain itu
kelebihan dari AVR adalah memiliki Power-On Reset, yaitu tidak perlu ada
tombol reset dari luar karena cukup hanya dengan mematikan supply, maka secara
otomatis AVR akan melakukan reset. Untuk beberapa jenis AVR terdapat
beberapa fungsi khusus seperti ADC, EEPROM sekitar 128 byte sampai dengan
512 byte. AVR ATmega8 adalah mikrokontroler CMOS 8-bit berarsitektur AVR
RISC yang memiliki 8K byte in-System Programmable Flash. Mikrokontroler

16
Universitas Sumatera Utara

dengan konsumsi daya rendah ini mampu mengeksekusi instruksi dengan
kecepatan maksimum 16MIPS pada frekuensi 16MHz. Jika dibandingkan dengan
ATmega8L perbedaannya hanya terletak pada besarnya tegangan yang diperlukan
untuk bekerja. Untuk ATmega8 tipe L, mikrokontroler ini dapat bekerja dengan
tegangan antara 2,7 - 5,5 V sedangkan untuk ATmega8 hanya dapat bekerja pada
tegangan antara 4,5 – 5,5 V.

2.5.1. Konfigurasi Pin Atmega8

Gambar 2.3. Konfigurasi Pin ATmega 8
Seperti pada Gambar 2.3 yang menunjukan konfigurasi Pin ATmega8
memiliki 28 Pin, yang masing-masing pin nya memiliki fungsi yang berbeda-beda
baik sebagai port maupun fungsi yang lainnya. Berikut akan dijelaskan fungsi dari
masing-masing kaki ATmega8.
a. VCC
Merupakan supply tegangan digital.

17
Universitas Sumatera Utara

b. GND
Merupakan ground

untuk

semua

komponen

yang membutuhkan

grounding.
c. Port B (PB7...PB0)
Didalam Port B terdapat XTAL1, XTAL2, TOSC1, TOSC2. Jumlah Port
B adalah 8 buah pin, mulai dari pin B.0 sampai dengan B.7. Tiap pin dapat
digunakan sebagai input maupun output. Port B merupakan sebuah 8-bit
bi-directional I/O dengan internal pull-up resistor. Sebagai input, pin-pin 7
yang terdapat pada port B yang secara eksternal diturunkan, maka akan
mengeluarkan arus jika pull-up resistor diaktifkan. Khusus PB6 dapat
digunakan sebagai input Kristal (inverting oscillator amplifier) dan input
ke rangkaian clock internal, bergantung pada pengaturan Fuse bit yang
digunakan untuk memilih sumber clock. Sedangkan untuk PB7 dapat
digunakan sebagai output Kristal (output oscillator amplifier) bergantung
pada pengaturan Fuse bit yang digunakan untuk memilih sumber clock.
Jika sumber clock yang dipilih dari oscillator internal, PB7 dan PB6 dapat
digunakan

sebagai

I/O

atau

jika

menggunakan

Asyncronous

Timer/Counter2 maka PB6 dan PB7 (TOSC2 dan TOSC1) digunakan
untuk saluran input timer.
d. Port C (PC5…PC0)
Port C merupakan sebuah 7-bit bi-directional I/O port yang di dalam
masingmasing pin terdapat pull-up resistor. Jumlah pin nya hanya 7 buah
mulai dari pin C.0 sampai dengan pin C.6. Sebagai keluaran/output port C

18
Universitas Sumatera Utara

memiliki karakteristik yang sama dalam hal menyerap arus (sink) ataupun
mengeluarkan arus (source).
e. RESET/PC6
Jika RSTDISBL Fuse diprogram, maka PC6 akan berfungsi sebagai pin
I/O. Pin ini memiliki karakteristik yang berbeda dengan pin-pin yang
terdapat pada port C lainnya. Namun jika RSTDISBL Fuse tidak
diprogram, maka pin ini akan berfungsi sebagai input reset. Dan jika level
tegangan yang masuk ke pin ini rendah dan pulsa yang ada lebih pendek
dari pulsa 8 minimum, maka akan menghasilkan suatu kondisi reset
meskipun clock-nya tidak bekerja. Port D (PD7…PD0).
f. Port D merupakan 8-bit bi-directional I/O dengan internal pull-up resistor.
Fungsi dari port ini sama dengan port-port yang lain. Hanya saja pada port
ini tidak terdapat kegunaan-kegunaan yang lain. Pada port ini hanya
berfungsi sebagai masukan dan keluaran saja atau biasa disebut dengan
I/O.
g. AVcc
Pin ini berfungsi sebagai supply tegangan untuk ADC. Untuk pin ini harus
dihubungkan secara terpisah dengan VCC karena pin ini digunakan untuk
analog saja. Bahkan jika ADC pada AVR tidak digunakan tetap saja
disarankan untuk menghubungkannya secara terpisah dengan VCC. Jika
ADC digunakan, maka AVcc harus dihubungkan ke VCC melalui low
pass filter.
h. AREF
Merupakan pin referensi jika menggunakan ADC.

19
Universitas Sumatera Utara

2.5.2.SPESIFIKASI Atmega 8
1. Kinerja tinggi, rendah daya Atmel®AVR® 8-bit Microcontroller
2. Advanced RISC Architecture
a. 130 Instruksi Powerfull - Kebanyakan Single-jam Siklus Eksekusi
b. 32 × 8 General Purpose Kerja Register
c. Operasi Fully Static
d. Sampai dengan 16MIPS throughput di 16MHz
e. On-chip 2-siklus Multiplier
3. segmen Memory Tinggi Ketahanan Non-volatile
a. 8Kbytes In-System Self-programmable memori program flash
b. 512bytes EEPROM
c. SRAM 1Kbyte internal
d. Menulis / Erase Cycles: 10.000 Flash / 100.000 EEPROM
e. Data retensi: 20 tahun pada 85 ° C / 100 tahun pada 25 ° C (1)
f. Opsional Boot Kode Bagian dengan Independent Lock Bits
g. In-System Programming secara On-chip Program Boot
h. Benar Operasi Baca-Sementara-Write
i. Kunci Pemrograman untuk Security Software
4. Fitur Peripheral
a. Dua 8-bit Timer / Counter dengan Prescaler terpisah, satu
Bandingkan Modus
b. Satu 16-bit Timer / Counter dengan Prescaler terpisah, Bandingkan
Mode, dan Tangkap
c. Mode

20
Universitas Sumatera Utara

d. Real Time Counter dengan Oscillator terpisah
e. Tiga Saluran PWM
f. 8-channel ADC di TQFP dan QFN / MLF paket
g. Delapan Saluran 10-bit Akurasi
h. 6-channel ADC dalam paket PDIP
i. Enam Saluran 10-bit Akurasi
j. Byte berorientasi Dua-kawat Serial Interface
k. Programmable Serial USART
l. Master / Slave SPI Serial Interface
m. Programmable Watchdog Timer dengan terpisah On-chipOscillator
n. On-chip Analog Comparator
5. Fitur Mikrokontroler Khusus
a. Power-on ulang dan Programmable Brown-out Detection
b. Internal dikalibrasi RC Oscillator
c. Eksternal dan Sumber Interrupt internal
d. Lima Mode Sleep: Idle, ADC Noise Reduction, Power-save,
Power-down, dan
e. Bersiap
6. I / O dan Paket
a. 23 Programmable I / O Garis
b. 28-lead PDIP, 32-lead TQFP, dan 32-pad QFN / MLF
7. Tegangan Operasi
a. 2.7V - 5.5V (ATmega8L)
b. 4.5V - 5.5V (ATmega8)

21
Universitas Sumatera Utara

8. Kelas Kecepatan
a. 0 - 8MHz (ATmega8L)
b. 0 - 16MHz (ATmega8)
9. Konsumsi Daya di 4Mhz, 3V, 25 C
a. Aktif: 3.6mA
b. Menganggur Mode: 1.0mA
c. Power-down Mode: 0.5μA
2.5.3. Memori AVR Atmega 8
Memori atmega terbagi menjadi tiga yaitu :
1. Memori Flash Memori flash adalah memori ROM tempat kode-kode
program berada. Kata flash menunjukan jenis ROM yng dapat ditulis dan
dihapus secara elektrik. Memori flash terbagi menjadi dua bagian yaitu
bagian aplikasi dan bagian boot. Bagian aplikasi adalah bagian kode-kode
program apikasi berada. Bagian boot adalah bagian yang digunakan
khusus untuk booting awal yang dapat diprogram untuk menulis bagian
aplikasi tanpa melalui

programmer/downloader,

misalnya

melalui

USART. 32 General purpose registers 64 I/O registers Additional I/O
registers Internal RAM Flash Boot Section EEPROM 13.
2. Memori Data Memori data adalah memori RAM yang digunakan untuk
keperluan program. Memori data terbagi menjadi empat bagian yaitu : 32
GPR (General Purphose Register) adalah register khusus yang bertugas
untuk membantu eksekusi program oleh ALU (Arithmatich Logic Unit),
dalam instruksi assembler setiap instruksi harus melibatkan GPR. Dalam
istilah processor komputer sahari-hari GPR dikenal sebagai “chace

22
Universitas Sumatera Utara

memory”. I/O register dan Aditional I/O register adalah register yang
difungsikan khusus untuk mengendalikan berbagai pheripheral dalam
mikrokontroler seperti pin port, timer/counter, usart dan lain-lain. Register
ini dalam keluarga mikrokontrol MCS51 dikenal sebagi SFR(Special
Function Register).
3. EEPROM EEPROM adalah memori data yang dapat mengendap ketika
chip mati (off), digunakan untuk keperluan penyimpanan data yang tahan
terhadap gangguan catu daya. 14 2.1.3 Timer/Counter 0 Timer/counter 0
adalah sebuah timer/counter yang dapat mencacah sumber pulsa/clock
baik dari dalam chip (timer) ataupun dari luar chip (counter) dengan
kapasitas 8-bit atau 256 cacahan. Timer/counter dapat digunakan untuk :
1. Timer/counter biasa
2. Clear Timer on Compare Match (selain Atmega 8)
3. Generator frekuensi (selain Atmega 8)
4. Counter pulsa eksternal

2.5.4. Komunikasi Serial Pada Atmega 8
Mikrokontroler AVR Atmega 8 memiliki Port USART pada Pin 2 dan
Pin 3 untuk melakukan komunikasi data antara mikrokontroler dengan
mikrokontroler ataupun mikrokontroler dengan komputer. USART dapat
difungsikan sebagai transmisi data sinkron, dan asinkron. Sinkron berarti clock
yang digunakan antara transmiter dan receiver satu sumber clock. Sedangkan
asinkron berarti transmiter dab receiver mempunyai sumber clock sendiri-sendiri.
USART terdiri dalm tiga blok yaitu clock generator, transmiter, dan receiver.

23
Universitas Sumatera Utara

2.5.5. Sistim Minimum Atmega 8
Dengan menggunakan minimum sistem yang kompatibel dengan atmega8
mikrokontroler atmega8 bertindak sebagai mikro target dimana kita membutuhkan
downloader lain intuk mendownload firmware ke atmega8. downloader tersebut
bisa berupa downloader paralel atau serial dengan tools programmernya
menggunakan Ponkemudian sediakan USBASP (Downloader) yang lain untuk
mendownload firmware ke atmega8. (Downloader tidak harus yang berbasis
USBASP bisa yang lain asal kompatibel dengan MOSI,MISO,SCK dan reset
mikrokontroler AVR).

2.6. Photodioda
Photodioda adalah jenis dioda yang berfungsi untuk mendeteksi cahaya.
Berbeda dengan dioda biasa, komponen elektronik ini akan mengubah cahaya
menjadi arus listrik. Cahaya yang dapat di deteksi oleh dioda ini, mulai dari infra
red, sinar ultra violet, sampai dengan sinar X.
Photodioda dibuat dari semikonduktor dengan bahan yang populer adalah
silicon (Si) arau galium arsenida (GaAs), dan yang lain meliputi InSb, InAs, PbSe.
Material ini menyerap cahay dengan karakteristik panjang gelombang mencakup :
2500 Å – 11000 Å untuk silicon, 8000 Å - 20000 Å untuk GaAs. Ketika sebuah
42 photon (satu satuan energi dalam cahaya) dari sumber cahaya diserap, hal
tersebut membangkitkan suatu elektron dan menghasilkan sepasang pembawa
muatan tunggal sebuah elektron dan sebuah hole, dimana suatu hole adalah bagian
dari ksisi-kisi semikonduktor yang kehilangan elektron. Arah arus yang melalui
sebuah semikonduktor adalah kebalikan dari gerakan muatan pembawa. Cara

24
Universitas Sumatera Utara

tersebut didalam sebuah photodiode digunakan untuk mengumpulkan photon
menyebabkan pembawa muatan (seperti arus atau tegangan) mengalir/terbentuk di
bagian-bagian elektroda seperti Gambar 2.7 photodioda.

Gambar 2.7.photodioda

25
Universitas Sumatera Utara