Sistem Suplay Air Minum Otomatis Pada Baterry Room Farm Menggunakan Mikrokontroller 8535.
Judul
Pembimbing I
Pembimbing II
Penyusun
: Sistem Suplay Air Minum Otomatis Pada Baterry Room Farm Menggunakan
Mikrokontroller 8535
: Basuki Rahmat, S.Si, M.T
: Ir Kartini MT
: Mochamad Susatya
ABSTRAK
Semakin berkembangnya kehidupan manusia pada era globalisasi
manusia dituntut untuk dapat bekerja lebih professional dalam melakukan semua
pekerjaannya sehinnga di butuhkan sebuah sistem yang dapat mengurangi peran
manusia itu sendiri.
Pada peternakan itik menggunakan baterry room farm sangat di butuhkan
tingkat kebersihan kandang yang baik karena untuk mendapat hasil itik yang sehat
dan terbebas dari penyakit ternak yang akan berdampak pada waktu panen dan
tingkat ekonomi peternak. Dengan menggunakan sistem ini peternak tidak akan
lupa untuk memberi minum pada ternaknya karena semua dikerjakan oleh sistem,
dan peternak dapat mencari tambahan pendapatan lain dari bercocok tanam dan
sejenisnya
Sistem suplay air minum itik otomatis adalah sistem otomatisasi
menggunakan mikrokontroller ATMega 8535 dan menggunaka bahasa C untuk
pemrogamannya, sistem ini di rancang untuk memudahkan peternak dalam
menyuplay air minum dan bertujuan untuk meningkatkan produktivitas hasil itik.
Sistem ini dapat berjalan selama masa pembesaran, penggemukan dan panen, dan
suplay air sudah terjadwal pada jam-jam tertentu saja.
Dalam pengujian sistem membutuhkan tahap dari pengujian mikro,
rangkaian RTC, rangkaian LCD dan rangkaian pompa DC. Kesimpulannya adalah
tingkat keberhasilan sistem untuk menyuplay air minum pada baterry room farm
adalah pada inputan yang di simpan dalam rangkaian RTC dan rangkaian
mikrokontroller selanjutnya sistem akan melakukan perhitungan usia itik untuk
menentukan banyaknya suplay air ke dalam baterry room farm, dampak terhadap
pertumbuhan itik dalam penggunaan sistem ini di bandingkan dengan
menggunakan sistem tradisional adalah itik dapat tahan terhadap penyakit dan
berdampak pada hasil panen yang memuaskan karena itik dapat panen sesuai
dengan waktunya .
Kata kunci : Mikrokontroller ATMega 8535, RTC, Ternak Itik, Battery room farm
i
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
DAFTAR ISI
ABSTRAK ......................................................................................................... i
KATA PENGANTAR ...................................................................................... ii
DAFTAR ISI .................................................................................................... v
DAFTAR GAMBAR ..................................................................................... viii
DAFTAR TABEL ............................................................................................. x
BAB I
PENDAHULUAN ............................................................................ 1
1.1. Latar Belakang ............................................................................ 1
1.2. Perumusan Masalah .................................................................... 2
1.3. Batasan Masalah ......................................................................... 2
1.4. Tujuan ......................................................................................... 3
1.5. Manfaat ....................................................................................... 3
1.6. Metodologi Penelitian ................................................................. 4
1.7. Sistematika Penulisan .................................................................. 7
BAB II TINJ AUAN PUSTAKA .................................................................. 10
2.1. Mikrokontroller .......................................................................... 10
2.1.1. Mikrokontroller ATMega 8535 ........................................ 10
2.1.2. Konfigurasi Pin ATMega 8535 ........................................ 11
2.1.3. Fitur Mikrokontroller ATMega 8535 ................................ 13
2.1.4. Arsitektur ATMega 8535 ................................................. 14
2.1.5. Minimum Sistem ATMega 8535 ...................................... 15
2.2. RTC (real time clock)................................................................. 16
2.3. LCD (liquid crystal display) ...................................................... 17
2.4. Bahasa C .................................................................................... 18
2.4.1. Proses Kompilasi Dari Linking Program C ....................... 20
v
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
2.4.2. Struktur Penulisan Program C .......................................... 22
2.4.3. Pengenalan Fungsi-Fungsi Dasar ...................................... 23
2.4.4. Pengenalan Praposesor #include ....................................... 25
2.4.5. Bahasa C Pada Mikrokontroller ATMega 8535 ................ 26
2.5. Software Pemrogaman Dan Software Downloader ..................... 27
2.5.1. Code Vision AVR ............................................................ 28
2.6. Ternak Itik ................................................................................. 31
2.6.1. Itik Tiktok ....................................................................... 32
2.6.2. Kandang Dan Pakan Ternak Itik ....................................... 34
2.6.3. Baterry Room Farm Pada Itik ........................................... 35
BAB III PERANCANGAN SISTEM ........................................................... 38
3.1. Perancangan Simulasi Sistem Kandang Baterry Room Farm ....... 38
3.2. Perancangan Sistem .................................................................... 39
3.3. Perancangan Sistem Hardware ................................................... 42
3.3.1. Rangkaian Keseluruhan Sistem ....................................... 43
3.3.2. Rangkaian Minimum Sistem ATMega 8535 .................... 43
3.3.3. Rangkaian Real Time Clock ............................................ 44
3.3.4. Rangkaian LCD .............................................................. 45
3.3.5. Rangkaian Catu Daya ...................................................... 46
3.3.6. Rangkaian Switching Daya Dari Tegangan AC Ke
Tegangan DC ................................................................... 47
3.4. Perancangan Software ............................................................... 48
3.4.1. Algoritma Sistem Suplay Air Minum Itik Otomatis .......... 48
3.4.2. Flowchart Sistem Suplay AirMinum Itik Otomatis ........... 50
BAB IV IMPLEMENTASI PERANGKAT LUNAK .................................. 54
4.1. Pengujian Rangkaian Perangkat Lunak ....................................... 54
4.1.1. Pembuatan File Project Pada Code Vision AVR .............. 54
4.1.2. Instalasi USB AVR Downloader ..................................... 59
vi
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
4.2. Pengujian Rangkaian Perangkat Keras ....................................... 62
4.2.1. Pengujian Rangkaian Minimum Sistem ATMega 8535 .... 62
4.2.2. Pengujian Rangkaian Push Button .................................... 63
4.2.3. Pengujian Rangkaian LCD ............................................... 64
4.2.4. Pengujian Rangkaian RTC ............................................... 66
4.2.5. Pengujian Pompa Air ....................................................... 68
4.2.6. Pengujian Rangkaian Catu Daya ...................................... 70
BAB V UJ I COBA........................................................................................ 72
5.1. Lingkungan Uji Coba ................................................................ 72
5.2. Skenario Uji Coba ..................................................................... 73
5.3. Pelaksanaan Uji Coba ................................................................ 74
5.3.1. Pelaksanaan Uji Coba Simulasi Kandang Baterry Room
Farm ............................................................................... 74
5.3.2. Pelaksanaan Uji Coba Switching Daya ............................ 75
5.3.3. Pelaksanaan Uji Coba Setting Jam Sekarang ................... 76
5.3.4. Pelaksanaan Uji Coba Setting Tanggal Sekarang .............. 78
5.3.5. Pelaksanaan Uji Coba Proses Pengisian Air Minum Itik .. 80
5.3.6. Perbandingan Sistem Ternak Itik Tradisional Dengan
Baterry Room Farm Terhadap Berat Badan Itik .......................... 82
BAB VI PENUTUP ...................................................................................... 84
6.1. Kesimpulan ............................................................................... 84
6.2. Saran ......................................................................................... 85
DAFTAR PUSTAKA ..................................................................................... 86
vii
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
DAFTAR GAMBAR
Gambar 2.1.
Mikrokontroller ATMega 8535 ................................................. 11
Gambar 2.2.
Konfigurasi Pin ATMega 8535 ................................................. 13
Gambar 2.3.
Blok Diagram Fungsional ATMega 8535 ................................... 14
Gambar 2.4.
Minimum System ATMega 8535 ............................................... 16
Gambar 2.5.
RTC Address Map ..................................................................... 17
Gambar 2.6.
LCD (Liquid Crystal Display) .................................................... 18
Gambar 2.7.
Proses Kompilasi-Linking Dari Program C ................................ 21
Gambar 2.8.
Alur Pemrogaman Code Vision AVR ........................................ 31
Gambar 2.9.
Gambar Itik Tik Tok .................................................................. 33
Gambar 2.10. Gambar Kandang Itik ................................................................. 35
Gambar 2.11. Skema Baterry Room Farm ........................................................ 36
Gambar 3.1.
Rancangan Simulasi Sistem Kandang Baterry Room Farm ........ 39
Gambar 3.2.
Diagram Blok Sistem Suplay Air Minum Itik Otomatis ............. 40
Gambar 3.3.
Desain Sistem Suplay Air Minum Itik Otomatis ......................... 42
Gambar 3.4.
Gambar Skematik Minimum Sistem ATMega 8535 ................... 44
Gambar 3.5.
Skematik RTC DS1307.............................................................. 45
Gambar 3.6.
LCD 16x2 .................................................................................. 46
Gambar 3.7.
Rangkaian Catu Daya Penurun Tegangan................................... 46
Gambar 3.8.
Rangkaian Switching Daya ........................................................ 48
Gambar 3.9.
Gambar Flowchart Sistem Suplay Air Minum Itik Otomatis ...... 51
Gambar 3.10. Gambar Flowchart Mikrokontroller ........................................... 52
Gambar 4.1.
Tampilan Menu Pada Code Vision AVR .................................... 55
Gambar 4.2.
Menu Wizard Pada Code Vision AVR ....................................... 55
Gambar 4.3.
Inisialisasi Pada Menu Wizard ................................................... 56
Gambar 4.4.
Hasil Compile Pada Program ..................................................... 57
Gambar 4.5.
Proses Download Program Ke Dalam Mikrokontroller .............. 58
Gambar 4.6.
Pesan Error Dalam Proses Download Program........................... 58
viii
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
Gambar 4.7.
Kode IC Yang Dapat Dikenali Oleh Perangkat Downloader ....... 60
Gambar 4.8.
Menu Tools Pada Code Vision AVR .......................................... 61
Gambar 4.9.
Menu Browse Pada Tools Code Vision AVR ............................. 61
Gambar 4.10. Gambar Rangkaian Push Button ................................................ 63
Gambar 4.11. Gambar Hasil Dari Pengujian Rangkaian LCD .......................... 66
Gambar 4.12. Gambar Hasil Dari Pengujian Rangkaian RTC ........................... 68
Gambar 4.13. Gambar Hasil Dari Pengujian Pompa Air ................................... 70
Gambar 4.14. Rangkaian Catu Daya ................................................................ 71
Gambar 5.1.
Uji Coba Simulasi Sistem Kandang Baterry Room Farm ........... 75
Gambar 5.2.
Uji Coba Rangkaian Switcing Daya ........................................... 76
Gambar 5.3.
Menu Setting Jam Sekarang ....................................................... 77
Gambar 5.4.
Menu Setting Jam, Menit, Detik ................................................. 78
Gambar 5.5
Menu Setting Tanggal Sekarang ................................................ 79
Gambar 5.6.
Menu Setting Tanggal, Bulan Dan Tahun................................... 79
Gambar 5.7.
Informasi Waktu Dan Tanggal Sekarang .................................... 80
Gambar 5.8. Informasi Status Pengisian Air Minum Itik ................................ 81
ix
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
DAFTAR TABEL
Tabel 4.1. Tabel Hasil Pengukuran Catu Daya ................................................. 71
Tabel 5.1. Tabel Suplay Air Minum Itik ........................................................... 81
Tabel 5.2. Tabel Perkembangan Itik Pada Sistem Ternak Tradisional .............. 82
Tabel 5.3. Tabel Perkembangan Itik Pada Sistem Ternak Baterry Room Farm . 82
x
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
BAB I
PENDAHULUAN
1.1. Latar Belakang
Semakin berkembangnya
kehidupan manusia
pada
era
globalisasi
manusia dituntut untuk dapat bekerja lebih professional dalam melakukan semua
pekerjaanya, dengan didukung ilmu pengetahuan dan tekhnologi yang semakin
pesat
manusia
dituntut
untuk memanfaatkan kemajuan tersebut untuk
mempermudah dalam melakukan pekerjaanya, sehingga semua pekerjaan yang
dikerjakan manusia dapat dilakukan dengan aman tanpa mengurangi faktor
keselamatanya dalam melakukan aktifitasnya serta dapat meningkatkan hasil
produktivitas yang ingin di capai.
Melihat kemungkinan dan kenyataan yang ada maka diciptakan suatu alat
yang dapat mengatur suplay air minum ternak itik pada battery room farm, agar
ternak tidak kekurangan serta kelebihan suplay air minum serta suplay air minum
dapat di sesuaikan dengan umur itik tersebut, dan tentu semua faktor tersebut akan
berdampak pada berkurangnya produktivitas hasil ternak itik tersebut.
Berdasarkan hal tersebut penulis ingin menciptakan suatu sistem yang
dapat mengatur suplay air minum secara otomatis, sesuai kebutuhan dan dapat
berjalan selama masa pertumbuhan itik, sistem ini di lengkapi dengan pompa air
minum yang dapat menyuplai air ke dalam tempat minum ternak, sistem ini juga
di lengkapi dengan sistem yang terus bekerja selama masa pertumbuhan itik dan
menentukan kebutuhan air minum itik tersebut sesuai dengan umur itik agar itik
1
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
2
dapat tumbuh dan berkembang biak dengan baik, mengurangi dampak
terjangkitnya penyakit ternak itik dan tentu yang paling penting adalah tepat
waktu masa panen.
1.2. Per umusan Masalah
Berdasarkan latar belakang masalah yang dipaparkan di atas, maka dapat
dirumuskan permasalahan dari Tugas Akhir adalah sebagai berikut :
a. Bagaimana membuat sistem yang dapat menyuplay air minum pada
baterry room farm.
b. Bagaimana dapat membuat sistem yang dapat menyuplay air minum
pada baterry room farm yang sesuai dengan kebutuhan itik yaitu sesuai
dengan usia itik tersebut.
c. Bagaimana dapat membuat sistem yang dapat berjalan secara terus
menerus sampai masa panen itik.
d. Bagaimana dapat membuat sistem pemasok air minum yang dapat di
setting tanggal masa starter hingga masa panen.
1.3. Batasan Masalah
Agar tidak terlalu menyimpang dari rumusan masalah yang telah penulis
buat, maka dalam pembuatan Tugas Akhir ini, ruang lingkup permasalahan hanya
akan dibatasi pada:
a. Sistem ini menggunakan mikrokontroller ATMega 8535.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
3
b. Sistem ini hanya sebatas untuk pengisian air minum saja.
c. Sistem ini menggunakan pompa air dengan tegangan searah dengan
kapasitas 90 liter perjam serta berjalan dalam masa sebelum masa
panen itik yaitu sekitar 30 hari.
d. Itik pada sistem ternak ini dalam kondisi yang sehat dan tidak dalam
masa karantina.
1.4. Tujuan
Mengacu pada perumusan masalah, tujuan yang hendak dicapai dalam
penyusunan Tugas Akhir ini adalah Merancang dan membuat sebuah sistem yang
dapat menyuplay air minum secara otomatis dan sesuai kebutuhan itik.
1.5. Manfaat
Manfaat dari Tugas Akhir “Sistem Pemasok Air Minum Otomatis Pada
Battery Room Far m Menggunakan Mikrokontroller 8535” ini terbagi menjadi
3 yaitu bagi pengguna, bagi universitas dan bagi penulis adalah sebagai berikut:
a.
Bagi Pengguna
Mempermudah dalam mengontrol kebutuhan air minum itik serta
mengurangi peran peternak karena sudah terganti dengan sistem otomatis
sehingga peternak bisa mencari hasil pendapatan lain misalnya bercocok
tanam, meningkatkan hasil produtivitas ternak itik tersebut serta
mengurangi resiko kerugian karena gagal panen.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
4
b.
Bagi Universitas
Sebagai tambahan perbendaharaan perpustakaan dan bahan
masukan bagi penelitian lebih lanjut dengan topik yang sama serta
memberikan tambahan untuk dapat digunakan sebagai tambahan ilmu
pengetahuan
khususnya
tentang
pemrogaman
mikrokontroller
menggunakan bahasa C.
c.
Bagi Penulis
Dapat dijadikan pembelajaran dalam penerapan bahasa C dalam
pemrogaman mikrokontroller, sehingga dapat menambah wawasan yang
sangat penting bagi penulis di masa yang akan datang.
1.6. Metodologi Penelitian
Metode adalah cara yang dipergunakan untuk mencapai suatu tujuan
(Surachmad, 1976). Adapun metode yang dipakai adalah:
1. Libr ar y Research
Library Research adalah pengumpulan dokumen-dokumen, referensireferensi, buku-buku, sumber dari internet, atau sumber-sumber lain yang
diperlukan untuk merancang dan mengimplementasikan aplikasi. Tujuannya
untuk mendukung teori-teori yang berkaitan dengan masalah yang muncul.
Studi ini dilakukan dengan mencari sekaligus mempelajari beberapa literatur
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
5
dan artikel mengenai mikrokontroller 8535 dan bahasa pemrograman C.
Mempelajari program aplikasi yang sudah ada untuk memberikan gambaran
yang jelas mengenai bahasa pemrogaman C dalam mikrokontroller, sebagai
acuan dalam perencanaan dan pembuatan Tugas Akhir ini.
2. Analisis dan Perancangan Sistem
Setelah tahap Library Research dibuat deskripsi umum sistem serta
dilakukan analisa kebutuhan sistem. Dalam melakukan perancangan awal
sistem hal-hal yang dilakukan adalah sebagai berikut:
1. Pembuatan perancangan sistem arsitektur
Merupakan gabungan dari proses-proses dan praktek-praktek untuk
menghasilkan sebuah sistem yang efektif.
2. Pembuatan Algoritma Sistem dan Flow chart.
Pembuatan algoritma dan flow chart ini bertujuan untuk
memudahkan penulis dalam pembuatan
program serta memudahkan
memahami alur sistem.
3. Pembuatan Perancangan Sistem
Pembuatan perancangan sistem ini dibuat untuk merancang sistem
yang sesuai dengan kebutuhan petani itik di dalam baterry room farm yang
ingin mendapat hasil panen itik yang maksimal.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
6
3. Pembuatan Sistem
Pada tahap ini merupakan tahap yang paling banyak memerlukan
waktu
karena
model
dan
rancangan
aplikasi
yang
telah
dibuat
diimplementasikan dengan menggunakan Bahasa Pemrogaman C .
4. Uji Coba
Uji coba ini dilakukan dalam rangka untuk memastikan apakah sistem
yang telah selesai dibuat telah sesuai dengan yang direncanakan dalam tahap
analisa dan perancangan sistem serta dievaluasi untuk kelayakan pemakaian
sistem dengan mempertimbangkan kemungkinan kesalahan yang terjadi.
5. Penyusunan Buku Skripsi
Pada tahap ini merupakan tahap terakhir dari pengerjaan Skripsi. Buku
ini disusun sebagai laporan dari seluruh proses pengerjaan Skripsi. Dari
penyusunan buku ini diharapkan dapat memudahkan pembaca yang ingin
menyempurnakan dan mengembangkan sistem ini lebih lanjut.
6. Revisi
Revisi bertujuan untuk mengatasi kesalahan pada saat uji coba berlangsung.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
7
1.7. Sistematika Penulisan
Sistematika yang digunakan dalam penulisan skripsi ini dibagi dalam
beberapa bab dan sub bab. Adapun pembagian bab nya adalah sebagai berikut:
Bab I
Pendahuluan
Berisi latar belakang yaitu uraian tentang landasan pemikiran
timbulnya suatu masalah yang mendorong untuk melakukan
penelitian, perumusan masalah, pembatasan masalah, tujuan,
manfaat, metodologi penelitian dan sistematika penulisan yang
digunakan dalam laporan skripsi ini.
Bab II
Tinjauan Pustaka
Pada bab kedua akan dijelaskan mengenai semua landasan teori
yang terkait dengan skripsi ini. Semua penjelasan meliputi
pembahasan bahasa pemrograman C, software pemrogaman,
software downloader, mikrokontroller, mikrokontroller ATMega
8535, rangkaian real time clock, rangkaian liquid crystal display,
jenis-jenis itik termasuk di dalamnya jenis penyakit, konsumsi air
minum dan pakan, serta sistem pengandangan itik secara
tradisional dan baterry room farm
pembahasan
mengenai
rangkaian
termasuk didalamnya
elektronika,
perangkat
elektronika dalam minimum sistem dan metode ternak itik.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
8
Bab III Analisa Dan Perancangan Sistem
Pada bab ketiga diuraikan mengenai desain sistem yang akan
dibuat, arsitektur sistem, pembuatan rangkaian elektronika di
antaranya rangkaian minimum sistem mikrokontroller, rangkaian
real time clock, rangkaian catu daya yang di gunakan, algoritma,
flow chart sistem dan flowchart sistem yang ada di dalam
mikrokontroller serta penjelasan pemrogaman mikrokotroller
menggunakan bahasa C.
Bab IV Implementasi
Pada bab
keempat ini akan membahas tentang implementasi
program dari hasil analisa dan perancangan sistem pada bab tiga
yang telah di terapkan dalam bab ini termasuk di dalamnya di
jelaskan cara membuat file project dalam software pemrogaman
dan setting yang di lakukan pada software compiler dan perangkat
downloader, serta bagaimana cara sistem tersebut dijalankan.
Bab V
Uji Coba
Bab ini menjelaskan mengenai lingkungan uji coba, skenario uji
coba dan pelaksanaan uji coba.
BAB VI Penutup
Pada bab ini berisi kesimpulan dari program yang telah
diimplementasikan
dan dievaluasi sehingga
pada
akhirnya
diberikan beberapa kemungkinan untuk selanjutnya di lakukan
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
9
pengembangan dari sistem yang dibuat serta saran untuk keperluan
pembuatan sistem ini di masa yang akan datang.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
BAB II
TINJ AUAN PUSTAKA
2.1.
Mikr okontroller
Mikrokontroler merupakan suatu terobosan teknologi mikroprosesor dan
mikrokomputer yang merupakan teknologi semikonduktor dengan kandungan
transistor yang lebih banyak namun hanya membutuhkan ruang yang sangat
kecil, Mikrokontroler merupakan sistem komputer yang mempunyai satu atau
beberapa tugas yang sangat spesifik, berbeda dengan PC (Personal Computer)
yang memiliki beragam fungsi. Tidak seperti sistem komputer yang mampu
menangani berbagai macam program aplikasi, mikrokontrler hanya bisa
digunakan untuk suatu aplikasi tertentu saja, perbedaan lainnya terletak pada
perbandingan RAM dan ROM. Pada sistem komputer perbandingan RAM dan
ROM nya besar, artinya program-program pengguna disimpan dalam ruang
RAM yang relatif besar, sedangkan antar muka perangkat keras disimpan dalam
ruang ROM yang kecil, Sedangkan pada mikrokontroler, perbandingan ROM
dan RAM –nya yang besar, artinya program kontrol disimpan dalam ROM
(Masked ROM atau Flash PEROM) yang ukurannya relatif lebih besar, sedangkan
RAM digunakan sebagai tempat penyimpanan sementara, termasuk registerregister yang digunakn pada mikrokontroler yang bersangkutan.
2.1.1. Mikr okontroler ATMega8535
Mikrokontroler merupakan keseluruhan sistem komputer yang dikemas
10
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
11
menjadi sebuah chip di mana di dalamnya sudah terdapat Mikroprosesor, I/O,
Memori bahkan ADC, berbeda dengan Mikroprosesor yang berfungsi sebagai
pemroses data (Heryanto, dkk, 2008:1). Mikrokontroller AVR (Alf and Vegard’s
Risc processor) memiliki arsitektur 8 bit, dimana semua instruksi dikemas dalam
kode 16-bit dan sebagian besar instruksi dieksekusi dalam 1 siklus clock atau
dikenal dengan teknologi RISC (Reduced Instruction Set Computing). Secara
umum, AVR dapat dikelompokan ke dalam 4 kelas, yaitu keluarga AT90Sxx,
keluarga ATMega dan AT86RFxx. Pada dasarnya yang membedakan masingmasing adalah kapasitas memori, peripheral dan fungsinya (Heryanto, dkk,
2008:1). Dari segi arsitektur dan instruksi yang digunakan, mereka
bisa
dikatakan hampir sama. Berikut ini gambar Mikrokontroler Atmega8535.
Gambar 2.1 Mikrokontroler ATMega8535
2.1.2. Konfigurasi Pin ATMega8535
Secara umum konfigurasi dan fungsi pin ATMega8535 dapat dijelaskan
sebagai berikut :
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
12
1. VCC Input sumber tegangan (+)
2. GND Ground (-)
3. Port A (PA7 … PA0) Berfungsi sebagai input analog dari ADC
(Analog to Digital Converter). Port ini juga berfungsi sebagai
port I/O dua arah, jika ADC tidak digunakan.
4. Port B (PB7 … PB0) Berfungsi sebagai port I/O dua arah. Port
PB5, PB6 dan PB7 juga berfungsi sebagai MOSI, MISO dan
SCK yang dipergunakan pada proses downloading.
5. Port C (PC7 … PC0) Berfungsi sebagai port I/O dua arah.
6. Port D (PD7 … PD0) Berfungsi sebagai port I/O dua arah. Port
PD0 dan PD1 juga berfungsi sebagai RXD dan TXD, yang
dipergunakan untuk komunikasi serial.
7. RESET Input reset.
8. XTAL1 Input ke amplifier inverting osilator dan input ke
sirkuit clock internal.
9. XTAL2 Output dari amplifier inverting osilator.
10. AVCC Input tegangan untuk Port A dan ADC.
11. AREF Tegangan referensi untuk ADC.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
13
Gambar 2.2 Konfigurasi Pin ATMega8535
2.1.3. Fitur Mikr okontroller ATMega 8535
Adapun kapabilitas detail dari ATmega8535 adalah sebagai
Berikut:
1) Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal
16
MHz.
2) Kapabilitas memori flash 8 KB, SRAM sebesar 512 byte, dan
EEPROM (Electrically Erasable Programmable Read Only Memori)
sebesar 512 byte.
3) ADC internal dengan fidelitas 10 bit sebanyak 8 channel.
4) Portal komunikasi serial (USART) dengan kecepatan maksimal 2,5
Mbps.
5) Enam pilihan mode sleep untuk menghemat penggunaan daya listrik.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
14
2.1.4. Arsitektur ATMega 8535
Gambar 2.3 Blok Diagram Fungsional Atmega8535
Dari gambar blok diagram tersebut dapat dilihat bahwa ATMega8535
memiliki bagian-bagian sebagai berikut :
1) Saluran I/O sebanyak 32 buah, yaitu Port A,Port B,Port C dan Port D.
2) ADC 8 channel 10 bit.
3) Tiga buah Timer/Counter dengan kemampuan pembanding.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
15
4) CPU yang terdiri atas 32 buah register.
5) Watchdog timer dengan osilator internal.
6) SRAM sebesar 512 byte.
7) Memori Flash sebesar 8 KB dengan kemampuan Read While Write.
8) Interrupt internal dan eksternal
9) Port antarmuka SPI (Serial Peripheral Interface).
10) EEPROM sebesar 512 byte yang dapat diprogram saat operasi.
11) Antarmuka komparator analog.
12) Port USART untuk komunikasi serial.
2.1.5.
Minimum Sistem Atmega 8535
Disebut sistem minimal karena pemakaian komponen hardware yang
digunakan merupakan kebutuhan yang paling minimal agar sebuah processor
dapat bekerja. Sebetulnya sebuah IC ATMega 8535 saja sudah dapat dikatakan
sebagai sebuah sistem minimal, karena dalam satu keping IC ATMega 8535 sudah
Mencakup processor,
RAM,
ROM dan I/O,
sehingga
cukup
dengan
menambahkan osilator (sumber clock) dan catu daya saja akan bisa membuat
sistem ini bekerja. Namun untuk kepentingan mempermudah pembelajaran, pada
sistem minimal sering di tambahkan beberapa rangkaian khusus yang sebetulnya
tidak mutlak di perlukan tetapi bermanfaat untuk mendukung simulasi atau
demonstrasi hasil eksekusi program yang telah di buat.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
16
Gambar 2.4 Minimum System ATMega 8535
2.2.
Real Time Clock (RTC)
RTC adalah jenis pewaktu yang bekerja berdasarkan waktu yang
sebenarnya atau dengan kata lain berdasarkan waktu yang ada pada jam kita. Agar
dapat berfungsi, pewaktu ini membutuhkan dua parameter utama yang harus
ditentukan, yaitu pada saat mulai (start) dan pada saat berhenti (stop). DS1307
merupakan salah satu tipe IC RTC yang dapat bekerja dalam daya listrik rendah.
Di dalamnya berisi waktu jam dan kalender dalam format BCD. Waktu jam dan
kalender memberikan informasi detik, menit, jam, hari, tanggal, bulan, dan tahun.
Untuk bagian jam dapat berformat 24 jam atau 12 jam. Pendeteksi sumber listrik
juga disediakan untuk mendeteksi kegagalan sumber listrik dan langsung
mengalihkannya ke sumber baterai. Data waktu dan tanggal tersimpan dalam
memori masing masing 1 byte , mulai dari alamat 00H sampai 07H. Sisanya
(08H ~ 3FHalamat RAM yg bisa digunakan), seperti terlihat pada gambar 2.5.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
17
Gambar 2.5 RTC Address Map
2.3.
Liquid Cr ystal Display (LCD)
Dalam kamus besar bahasa ke wikepedian, arti dari LCD (Liquid Crystal
Display atau dapat di bahasa Indonesia-kan sebagai tampilan Kristal Cair )adalah
suatu jenis media tampilan yang menggunakan kristal cair sebagai penampil
utama. LCD bisa memunculkan gambar atau tulisan dikarenakan terdapat banyak
sekali titik cahaya (piksel) yang terdiri dari satu buah kristal cair sebagai sebuah
titik cahaya. Walau disebut sebagai titik cahaya, namun kristal cair ini tidak
memancarkan cahaya sendiri. Sumber cahaya di dalam sebuah perangkat LCD
adalah lampu neon berwarna putih di bagian belakang susunan kristal cair tadi.
Titik cahaya yang jumlahnya puluhan ribu bahkan jutaan inilah yang membentuk
tampilan citra. Kutub kristal cair yang dilewati arus listrik akan berubah karena
pengaruh polarisasi medan magnetik yang timbul dan oleh karenanya akan hanya
membiarkan beberapa warna diteruskan sedangkan warna lainnya tersaring.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
18
Dalam menampilkan karakter untuk membantu menginformasikan proses
dan control yang terjadi dalam suatu program mikrokontroller kita sering
menggunakan LCD juga. Yang sering digunakan adalah LCD dengan banyak
karakter 16x2. Maksudnya semacam fungsi tabel di ms office. 16 menyatakan
kolom dan 2 menyatakan baris. Bila kita beli di pasaran, LCD 16x2 masih
kosongan, maksudnya kosongan yaitu butuh driver lagi supaya bisa dikoneksikan
dengan system minimum dalam suatu mikrokontroler. Driver yang disebutkan
berisi rangkaian pengaman, pengatur tingkat kecerahan backligt maupun data,
serta untuk mempermudah pemasangan di mikrokontroler.
Gambar 2.6 LCD (Liquid Crystal Display)
2.4.
Bahasa C
Akar dari bahasa C adalah bahasa BCPL yang dikembangkan oleh
Martin Richards pada tahun 1967. Bahasa ini memberikan ide kepada Ken
Thompson yang kemudian mengembangkan bahasa yang disebut dengan B
pada tahun 1970. Perkembangan selanjutnya dari bahasa B adalah bahasa C
oleh Dennis Ritchie sekitar tahun 1970-an di Bell Telephone Laboratories Inc.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
19
(sekarang
adalah AT&T
digunakan pada
komputer
Bell Laboratories).
Digital
Bahasa
C
pertama
kali
Equipment Corporation PDP-11 yang
menggunakan sistem operasi UNIX.
Standar bahasa C yang asli adalah standar dari UNIX. Sistem operasi,
kompiler C dan seluruh program aplikasi UNIX
yang esensial ditulis dalam
bahasa C. Kepopuleran bahasa C membuat versi-versi dari bahasa ini banyak
dibuat untuk komputer mikro. Untuk membuat versi-versi tersebut menjadi
standar, ANSI (American National Standards Institute) membentuk suatu komite
(ANSI committee X3J11) pada tahun 1983 yang kemudian menetapkan standar
ANSI untuk bahasa C. Standar ANSI ini didasarkan kepada standar UNIX yang
diperluas.
Kelebihan bahasa C :
a. Bahasa C tersedia hampir di semua jenis computer.
b. Kode bahasa C sifatnya adalah portable dan fleksibel untuk semua jenis
computer.
c. Bahasa C hanya menyediakan sedikit kata-kata kunci. hanya terdapat 32 kata
kunci.
d. Proses executable program bahasa C lebih cepat
e. Dukungan pustaka yang banyak.
f. C adalah bahasa yang terstruktur.
g. 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
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
20
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 :
a. Banyaknya operator serta fleksibilitas penulisan program kadang-kadang
membingungkan pemakai.
b. Bagi pemula pada umumnya akan kesulitan menggunakan pointer.
2.4.1. Pr oses Kompilasi Dar i Linking Pr ogram C
Agar suatu program dalam bahasa pemrograman dapat dimengerti oleh
komputer, program haruslah diterjemahkan dahulu ke dalam kode mesin. Adapun
penerjemah yang digunakan bisa berupa interpreter atau kompiler. Interpreter
adalah suatu jenis penerjemah yang menerjemahkan baris per baris intsruksi untuk
setiap saat. Keuntungan pemakaian interpreter, penyusunan program relatif lebih
cepat dan bisa langsung diuji sekalipun masih ada beberapa kesalahan secara
kaidah dalam program. Sedangkan kelemahannya, kecepatannya menjadi lambat
sebab sebelum suatu instruksi dijalankan selalu harus diterjemahkan terlebih
dahulu. Selain itu, saat program dieksekusi interpreter juga harus berada dalam
memori. Jadi memori selalu digunakan baik untuk program maupun interpreter..
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
21
Gambar 2.7 Proses Kompilasi-Linking Dari Program C
Proses dari bentuk program bahasa C hingga menjadi program yang
executable sistem operasi yang dipakai. Kode obyek berbentuk kode mesin, oleh
karena itu tidak dapat dibaca oleh pemrogram. Akan tetapi kode ini sendiri juga
belum bisa dipahami komputer. Supaya bisa dimengerti oleh komputer, maka
kode obyek bersama-sama dengan kode obyek yang lain dan isi file
pustaka/library file perlu dikaitkan (linking) dengan menggunakan linker,
membentuk sebuah program yang executable. Program hasil linker ini disimpan
dalam file yang disebut file executable, yang biasanya berekstensi .exe.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
22
2.4.2. Str uktur Penulisan Program C
Program C pada hakekatnya tersusun atas sejumlah blok fungsi. Sebuah
program minimal mengandung sebuah fungsi. Fungsi pertama yang harus ada
dalam program C dan sudah ditentukan namanya adalah main(). Setiap fungsi
terdiri
atas
satu atau beberapa
pernyataan, yang
secara keseluruhan
dimaksudkan untuk melaksanakan tugas khusus. Bagian pernyataan fungsi
(sering disebut tubuh fungsi) diawali dengan tanda kurung kurawal buka ({)
dan diakhiri dengan tanda kurung kurawal tutup (}). Di antara kurung kurawal itu
dapat dituliskan statemen-statemen program C. Namun pada kenyataannya,
suatu fungsi bisa saja tidak mengandung pernyataan sama sekali.Walaupun
fungsi tidak memiliki pernyataan, kurung kurawal haruslah tetap ada. Sebab
kurung kurawal mengisyaratkan awal dan akhir definisi fungsi. Berikut ini
adalah struktur dari program C
Main()
{
Statemen-statemen ; fungsi utama
}
Fungsi-fungsi lain()
{
Statemen-statemen; fungsi-fungsi lain yang di tulis oleh pemrogr am
}
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
23
Bahasa C dikatakan sebagai bahasa pemrograman terstruktur karena
strukturnya menggunakan fungsi-fungsi sebagai program-program bagiannya
(subroutine). Fungsi-fungsi yang ada selain fungsi utama (main()) merupakan
program-program bagian. Fungsi-fungsi ini dapat ditulis setelah fungsi utama
atau diletakkan di file pustaka (library). Jika fungsi-fungsi diletakkan di file
pustaka dan akan dipakai di suatu program, maka nama file judulnya (header
file)
harus
dilibatkan
dalam
program
yang menggunakannya dengan
preprocessor directive berupa #include.
2.4.3. Pengenalan Fungsi-Fungsi Dasar
a. Fungsi main()
Fungsi main() harus ada pada program, sebab fungsi inilah yang menjadi
titik awal dan titik akhir
menyatakan awal
eksekusi
program. Tanda
tubuh fungsi dan sekaligus
{
awal
di
awal
eksekusi
fungsi
program,
sedangkan tanda } di akhir fungsi merupakan akhir tubuh fungsi dan sekaligus
adalah akhir eksekusi program. Jika program terdiri atas lebih dari satu fungsi,
fungsi
main() biasa
ditempatkan pada
posisi
yang
paling atas dalam
pendefinisian fungsi. Hal ini hanya merupakan kebiasaan. Tujuannya untuk
memudahkan pencarian
terhadap program
utama
bagi
yang
umum
pemrogram. Jadi
bukanlah merupakan suatu keharusan.
b. Fungsi printf().
Fungsi
printf()
merupakan fungsi
dipakai
untuk
menampilkan suatu keluaran pada layar peraga. Untuk menampilkan tulisan
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
24
Selamat belajar bahasa C misalnya, pernyataan yang diperlukan berupa:
printf(“Selamat belajar bahasa C”);
Pernyataan di atas berupa pemanggilan fungsi printf() dengan argumen
atau parameter berupa string. Dalam C suatu konstanta string ditulis dengan
diawali dan diakhiri tanda petik- ganda (“). Perlu juga diketahui pernyataan dalam
C selalu diakhiri dengan tanda titik koma (;). Tanda titik koma dipakai sebagai
tanda pemberhentian sebuah pernyataan dan bukanlah sebagai pemisah antara
dua pernyataan.Tanda \ pada string yang dilewatkan sebagai argumen printf()
mempunyai makna yang khusus. Tanda ini bisa digunakan untuk menyatakan
karakter khusus seperti karakter baris-baru ataupun karakter backslash (miring
kiri). Jadi karakter seperti
\n sebenarnya menyatakan sebuah karakter. Contoh
karakter yang ditulis dengan diawali tanda \ adalah:
\” menyatakan karakter petik-ganda
\\ menyatakan karakter backslash
\t menyatakan karakter tab
Dalam bentuk yang lebih umum, format printf() printf(“string kontrol”,
daftar argumen); dengan string kontrol dapat berupa satu atau sejumlah karakter
yang akan ditampilkan ataupun berupa penentu format yang akan mengatur
penampilan dari argumen yang terletak pada daftar argumen. Mengenai penentu
format di antaranya berupa:
%d untuk menampilkan bilangan bulat (integer)
%f untuk menampilkan bilangan titik-mengambang (pecahan)
%c untuk menampilkan sebuah karakter
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
25
%s untuk menampilkan sebuah string
Contoh :
#include
main( ) {
printf(“No
: %d\n”, 10);
printf(“Nama : %s\n”, “Ali”);
printf(“Nilai : %f\n”,80.5);
printf(“Huruf : %c\n”,‘A’);
}
2.4.4. Pengenalan Praprosesor #Include
#include merupakan salah satu jenis pengarah praprosesor (preprocessor
directive). Pengarah praprosesor ini dipakai untuk membaca file yang di antaranya
berisi deklarasi fungsi dan definisi konstanta. Beberapa file judul disediakan
dalam C. File-file ini mempunyai ciri yaitu namanya diakhiri dengan ekstensi
.h. Misalnya pada program #include menyatakan pada kompiler agar
membaca file bernama stdio.h saat pelaksanaan kompilasi.
Bentuk umum #include:
#include “namafile”
Bentuk pertama (#include ) mengisyaratkan bahwa pencarian
file dilakukan pada direktori khusus, yaitu direktori file include. Sedangkan
bentuk kedua (#include “namafile”) menyatakan bahwa pencarian file dilakukan
pertama kali pada direktori aktif tempat program sumber dan seandainya
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
26
tidak ditemukan pencarian akan dilanjutkan pada direktori lainnya yang sesuai
dengan perintah pada sistem operasi. Kebanyakan program
stdio.h (file-judul I/O
melibatkan file
standard, yang disediakan dalam C). Program yang
melibatkan file ini yaitu program yang menggunakan pustaka I/O (input-output)
standar seperti printf().
2.4.5. Bahasa C Pada Mikrokontroller ATMega 8535
Pemrograman mikrokontroler ATMega8535 dapat menggunakan
low
level language (assembly) dan high level language (C, Basic, Pascal, JAVA,dll)
tergantung compiler yang digunakan. Bahasa Assembler mikrokontroler AVR
memiliki
kesamaan
instruksi,
sehingga
jika
pemrograman
satu
jenis
mikrokontroler AVR sudah dikuasai, maka akan dengan mudah menguasai
pemrograman keseluruhan mikrokontroler jenis mikrokontroler AVR. Namun
bahasa assembler relatif lebih sulit dipelajari dari pada bahasa C.
Untuk pembuatan suatu proyek yang besar akan memakan waktu yang
lama serta penulisan programnya akan panjang. Sedangkan bahasa C memiliki
keunggulan dibanding bahasa assembler yaitu independent terhadap hardware
serta lebih mudah untuk menangani project yang besar.
Bahasa C memiliki
keuntungan-keuntungan yang dimiliki bahasa assembler (bahasa mesin), hampir
semua operasi yang dapat dilakukan oleh bahasa mesin, dapat dilakukan dengan
bahasa C dengan penyusunan program yang lebih sederhana dan mudah. Bahasa
C terletak diantara bahasa pemrograman tingkat tinggi dan assembly.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
27
2.5.
Softwar e Pemr ogaman Dan Software Downloader
Kebanyakan pengguna mikrokontroler menggunakan Bahasa C dalam
pemrogramannya, dengan alasan efisien. Dibanding dengan bahasa pemrograman
lainnya, untuk program yang sama, Bahasa C memang menghasilkan hex code
yang lebih kecil. Untuk lingkungan mikrokontroler yang memiliki ruang program
memory terbatas, maka efisiensi menjadi sebuah keharusan. Untuk mikrokontroler
AVR, terdapat beberapa compiler Bahasa C yang dapat disarankan.
Yang pertama adalah CodeVisionAVR. Compiler komersial ini banyak
digunakan di Indonesia. Dokumentasi dalam bentuk buku pun cukup banyak. Ini
menjadi suatu pertanyaan tersendiri kenapa banyak penulis yang menggunakan
rujukan CodeVision AVR, yang notabene produk berbayar, CodeVision AVR
versi evaluasi dapat di-download di halaman situs http://www.hpinfotech.com/,
dan dapat digunakan secara gratis meskipun dengan kemampuan yang di batasi.
Yang kedua adalah WinAVR, produk open source yang menggunakan
AVRLibc dan GCC sebagai mesin utamanya. Penggunaannya menggunakan
sebuah pola, yang bagi pemula, mungkin tidak terlalu nyaman. Popularitasnya
terus naik, karena didukung oleh banyak komunitas. Dalam perjalanannya, produk
ini cukup stabil. Dokumentasi berupa buku, tidak banyak. WinAVR menyediakan
plug-in untuk AVRStudio, sehingga proses penulisan, kompilasi dan download ke
chip dapat dilakukan melalui IDE ini.
Yang ketiga adalah ICC AVR dari ImageCraft. Produk komersial ini
cukup serius, terbukti sejumlah vendor besar dalam bidang robotik untuk
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
28
pendidikan, menggunakannya. ICC AVR menggunakan rujukan ANSI C dan
menyediakan plug-in untuk penggunaan di lingkungan AVRStudio. Versi demo
dapat digunakan selama 45 hari.
Yang keempat adalah MikroC for AVR dari Mikroelektronika. Produk ini
mudah digunakan, namun tidak sedikit bugs yang ditemukan, terutama dalam
penanganan kasus logika yang cukup rumit, semisal implementasi PID pada robot
line following. Versi evaluasi dibatasi sampai 2k saja.
Tetapi di sini penulis menggunakan codevision AVR sebagai software
kompiler
sekaligus
software
downloader/programmer,
karena
beberapa
CodeVisionAVR merupakan sebuah cross-compiler C,
Integrated
kelebihannya di banding software-software yang lain.
2.5.1. CodeVision AVR
Development Environtment (IDE), dan Automatic Program Generator yang
didesain untuk mikrokontroler buatan Atmel seri AVR. CodeVisionAVR dapat
dijalankan pada sistem operasi Windows 95, 98, Me, NT4, 2000, dan XP. Crosscompiler C mampu menerjemahkan hampir semua perintah dari bahasa ANSI C,
sejauh yang diijinkan oleh arsitektur dari AVR, dengan tambahan beberapa fitur
untuk mengambil kelebihan khusus dari arsitektur AVR dan kebutuhan pada
sistem embedded. File object COFF hasil kompilasi dapat
keperluan
debugging
pada
tingkatan
C,
dengan
digunakan untuk
pengamatan
variabel,
menggunakan debugger Atmel AVR Studio. IDE mempunyai fasilitas internal
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
29
berupa software AVR Chip In-System Programmer yang memungkinkan untuk
melakukan transfer program kedalam chip mikrokontroler setelah sukses
melakukan kompilasi secara otomatis. Software In-System Programmer didesain
untuk bekerja dengan
Atmel STK500/AVRISP/AVRProg, Kanda Systems
STK200+/300, Dontronics DT006, Vogel Elektronik VTEC-ISP, Futurlec JRAVR
dan MicroTronics ATCPU/Mega2000 programmers/development boards. Untuk
keperluan debugging sistem embedded, yang menggunakan komunikasi serial,
IDE mempunyai fasilitas internal berupa sebuah Terminal. Selain library standar
C, CodeVisionAVR juga mempunyai library tertentu untuk:
1)
Modul LCD alphanumeric
2)
Bus I2C dari Philips
3)
Sensor Suhu LM75 dari National Semiconductor
4)
Real-Time Clock: PCF8563, PCF8583 dari Philips, DS1302 dan
DS1307 dari Maxim/Dallas Semiconductor
5)
Protokol 1-Wire dari Maxim/Dallas Semiconductor
6)
Sensor Suhu DS1820, DS18S20, dan DS18B20 dari Maxim/Dallas
Semiconductor
7)
Termometer/Termostat DS1621 dari Maxim/Dallas Semiconductor
8)
EEPROM DS2430 dan DS2433 dari Maxim/Dallas Semiconductor
9)
SPI
10) Power Management
11) Delay
12) Konversi ke Kode Gray
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
30
CodeVisionAVR juga mempunyai Automatic Program Generator bernama
CodeWizardAVR, yang mengijinkan kita untuk menulis, dalam hitungan menit,
semua instruksi yang diperlukan untuk membuat fungsi-fungsi berikut:
1) Set-up akses memori eksternal
2) Identifikasi sumber reset untuk chip
3) Inisialisasi port input/output
4) Inisialisasi interupsi eksternal
5) Inisialisasi Timer/Counter
6) Inisialisasi Watchdog-Timer
7) Inisialisasi UART (USART) dan komunikasi serial berbasis buffer
yang digerakkan oleh interupsi
8) Inisialisasi Pembanding Analog
9) Inisialisasi ADC
10) Inisialisasi Antarmuka SPI
11) Inisialisasi Antarmuka Two-Wire
12) Inisialisasi Antarmuka CAN
13) Inisialisasi Bus I2C, Sensor Suhu LM75, Thermometer/Thermostat
DS1621 dan Real-Time Clock PCF8563, PCF8583, DS1302, dan
DS1307
14) Inisialisasi Bus 1-Wire dan Sensor Suhu DS1820, DS18S20
15) Inisialisasi modul LCD
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
31
Gambar 2.8 Alur Pemrogaman Code Vision AVR
2.6.
Ter nak Itik
Itik dikenal juga dengan istilah Bebek (bhs.Jawa). Nenek moyangnya
berasal dari Amerika Utara merupakan itik liar ( Anas moscha) atau Wild mallard.
Terus menerus dijinakkan oleh manusia hingga jadilah itik yang diperlihara
sekarang yang disebut Anas dome
Pembimbing I
Pembimbing II
Penyusun
: Sistem Suplay Air Minum Otomatis Pada Baterry Room Farm Menggunakan
Mikrokontroller 8535
: Basuki Rahmat, S.Si, M.T
: Ir Kartini MT
: Mochamad Susatya
ABSTRAK
Semakin berkembangnya kehidupan manusia pada era globalisasi
manusia dituntut untuk dapat bekerja lebih professional dalam melakukan semua
pekerjaannya sehinnga di butuhkan sebuah sistem yang dapat mengurangi peran
manusia itu sendiri.
Pada peternakan itik menggunakan baterry room farm sangat di butuhkan
tingkat kebersihan kandang yang baik karena untuk mendapat hasil itik yang sehat
dan terbebas dari penyakit ternak yang akan berdampak pada waktu panen dan
tingkat ekonomi peternak. Dengan menggunakan sistem ini peternak tidak akan
lupa untuk memberi minum pada ternaknya karena semua dikerjakan oleh sistem,
dan peternak dapat mencari tambahan pendapatan lain dari bercocok tanam dan
sejenisnya
Sistem suplay air minum itik otomatis adalah sistem otomatisasi
menggunakan mikrokontroller ATMega 8535 dan menggunaka bahasa C untuk
pemrogamannya, sistem ini di rancang untuk memudahkan peternak dalam
menyuplay air minum dan bertujuan untuk meningkatkan produktivitas hasil itik.
Sistem ini dapat berjalan selama masa pembesaran, penggemukan dan panen, dan
suplay air sudah terjadwal pada jam-jam tertentu saja.
Dalam pengujian sistem membutuhkan tahap dari pengujian mikro,
rangkaian RTC, rangkaian LCD dan rangkaian pompa DC. Kesimpulannya adalah
tingkat keberhasilan sistem untuk menyuplay air minum pada baterry room farm
adalah pada inputan yang di simpan dalam rangkaian RTC dan rangkaian
mikrokontroller selanjutnya sistem akan melakukan perhitungan usia itik untuk
menentukan banyaknya suplay air ke dalam baterry room farm, dampak terhadap
pertumbuhan itik dalam penggunaan sistem ini di bandingkan dengan
menggunakan sistem tradisional adalah itik dapat tahan terhadap penyakit dan
berdampak pada hasil panen yang memuaskan karena itik dapat panen sesuai
dengan waktunya .
Kata kunci : Mikrokontroller ATMega 8535, RTC, Ternak Itik, Battery room farm
i
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
DAFTAR ISI
ABSTRAK ......................................................................................................... i
KATA PENGANTAR ...................................................................................... ii
DAFTAR ISI .................................................................................................... v
DAFTAR GAMBAR ..................................................................................... viii
DAFTAR TABEL ............................................................................................. x
BAB I
PENDAHULUAN ............................................................................ 1
1.1. Latar Belakang ............................................................................ 1
1.2. Perumusan Masalah .................................................................... 2
1.3. Batasan Masalah ......................................................................... 2
1.4. Tujuan ......................................................................................... 3
1.5. Manfaat ....................................................................................... 3
1.6. Metodologi Penelitian ................................................................. 4
1.7. Sistematika Penulisan .................................................................. 7
BAB II TINJ AUAN PUSTAKA .................................................................. 10
2.1. Mikrokontroller .......................................................................... 10
2.1.1. Mikrokontroller ATMega 8535 ........................................ 10
2.1.2. Konfigurasi Pin ATMega 8535 ........................................ 11
2.1.3. Fitur Mikrokontroller ATMega 8535 ................................ 13
2.1.4. Arsitektur ATMega 8535 ................................................. 14
2.1.5. Minimum Sistem ATMega 8535 ...................................... 15
2.2. RTC (real time clock)................................................................. 16
2.3. LCD (liquid crystal display) ...................................................... 17
2.4. Bahasa C .................................................................................... 18
2.4.1. Proses Kompilasi Dari Linking Program C ....................... 20
v
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
2.4.2. Struktur Penulisan Program C .......................................... 22
2.4.3. Pengenalan Fungsi-Fungsi Dasar ...................................... 23
2.4.4. Pengenalan Praposesor #include ....................................... 25
2.4.5. Bahasa C Pada Mikrokontroller ATMega 8535 ................ 26
2.5. Software Pemrogaman Dan Software Downloader ..................... 27
2.5.1. Code Vision AVR ............................................................ 28
2.6. Ternak Itik ................................................................................. 31
2.6.1. Itik Tiktok ....................................................................... 32
2.6.2. Kandang Dan Pakan Ternak Itik ....................................... 34
2.6.3. Baterry Room Farm Pada Itik ........................................... 35
BAB III PERANCANGAN SISTEM ........................................................... 38
3.1. Perancangan Simulasi Sistem Kandang Baterry Room Farm ....... 38
3.2. Perancangan Sistem .................................................................... 39
3.3. Perancangan Sistem Hardware ................................................... 42
3.3.1. Rangkaian Keseluruhan Sistem ....................................... 43
3.3.2. Rangkaian Minimum Sistem ATMega 8535 .................... 43
3.3.3. Rangkaian Real Time Clock ............................................ 44
3.3.4. Rangkaian LCD .............................................................. 45
3.3.5. Rangkaian Catu Daya ...................................................... 46
3.3.6. Rangkaian Switching Daya Dari Tegangan AC Ke
Tegangan DC ................................................................... 47
3.4. Perancangan Software ............................................................... 48
3.4.1. Algoritma Sistem Suplay Air Minum Itik Otomatis .......... 48
3.4.2. Flowchart Sistem Suplay AirMinum Itik Otomatis ........... 50
BAB IV IMPLEMENTASI PERANGKAT LUNAK .................................. 54
4.1. Pengujian Rangkaian Perangkat Lunak ....................................... 54
4.1.1. Pembuatan File Project Pada Code Vision AVR .............. 54
4.1.2. Instalasi USB AVR Downloader ..................................... 59
vi
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
4.2. Pengujian Rangkaian Perangkat Keras ....................................... 62
4.2.1. Pengujian Rangkaian Minimum Sistem ATMega 8535 .... 62
4.2.2. Pengujian Rangkaian Push Button .................................... 63
4.2.3. Pengujian Rangkaian LCD ............................................... 64
4.2.4. Pengujian Rangkaian RTC ............................................... 66
4.2.5. Pengujian Pompa Air ....................................................... 68
4.2.6. Pengujian Rangkaian Catu Daya ...................................... 70
BAB V UJ I COBA........................................................................................ 72
5.1. Lingkungan Uji Coba ................................................................ 72
5.2. Skenario Uji Coba ..................................................................... 73
5.3. Pelaksanaan Uji Coba ................................................................ 74
5.3.1. Pelaksanaan Uji Coba Simulasi Kandang Baterry Room
Farm ............................................................................... 74
5.3.2. Pelaksanaan Uji Coba Switching Daya ............................ 75
5.3.3. Pelaksanaan Uji Coba Setting Jam Sekarang ................... 76
5.3.4. Pelaksanaan Uji Coba Setting Tanggal Sekarang .............. 78
5.3.5. Pelaksanaan Uji Coba Proses Pengisian Air Minum Itik .. 80
5.3.6. Perbandingan Sistem Ternak Itik Tradisional Dengan
Baterry Room Farm Terhadap Berat Badan Itik .......................... 82
BAB VI PENUTUP ...................................................................................... 84
6.1. Kesimpulan ............................................................................... 84
6.2. Saran ......................................................................................... 85
DAFTAR PUSTAKA ..................................................................................... 86
vii
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
DAFTAR GAMBAR
Gambar 2.1.
Mikrokontroller ATMega 8535 ................................................. 11
Gambar 2.2.
Konfigurasi Pin ATMega 8535 ................................................. 13
Gambar 2.3.
Blok Diagram Fungsional ATMega 8535 ................................... 14
Gambar 2.4.
Minimum System ATMega 8535 ............................................... 16
Gambar 2.5.
RTC Address Map ..................................................................... 17
Gambar 2.6.
LCD (Liquid Crystal Display) .................................................... 18
Gambar 2.7.
Proses Kompilasi-Linking Dari Program C ................................ 21
Gambar 2.8.
Alur Pemrogaman Code Vision AVR ........................................ 31
Gambar 2.9.
Gambar Itik Tik Tok .................................................................. 33
Gambar 2.10. Gambar Kandang Itik ................................................................. 35
Gambar 2.11. Skema Baterry Room Farm ........................................................ 36
Gambar 3.1.
Rancangan Simulasi Sistem Kandang Baterry Room Farm ........ 39
Gambar 3.2.
Diagram Blok Sistem Suplay Air Minum Itik Otomatis ............. 40
Gambar 3.3.
Desain Sistem Suplay Air Minum Itik Otomatis ......................... 42
Gambar 3.4.
Gambar Skematik Minimum Sistem ATMega 8535 ................... 44
Gambar 3.5.
Skematik RTC DS1307.............................................................. 45
Gambar 3.6.
LCD 16x2 .................................................................................. 46
Gambar 3.7.
Rangkaian Catu Daya Penurun Tegangan................................... 46
Gambar 3.8.
Rangkaian Switching Daya ........................................................ 48
Gambar 3.9.
Gambar Flowchart Sistem Suplay Air Minum Itik Otomatis ...... 51
Gambar 3.10. Gambar Flowchart Mikrokontroller ........................................... 52
Gambar 4.1.
Tampilan Menu Pada Code Vision AVR .................................... 55
Gambar 4.2.
Menu Wizard Pada Code Vision AVR ....................................... 55
Gambar 4.3.
Inisialisasi Pada Menu Wizard ................................................... 56
Gambar 4.4.
Hasil Compile Pada Program ..................................................... 57
Gambar 4.5.
Proses Download Program Ke Dalam Mikrokontroller .............. 58
Gambar 4.6.
Pesan Error Dalam Proses Download Program........................... 58
viii
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
Gambar 4.7.
Kode IC Yang Dapat Dikenali Oleh Perangkat Downloader ....... 60
Gambar 4.8.
Menu Tools Pada Code Vision AVR .......................................... 61
Gambar 4.9.
Menu Browse Pada Tools Code Vision AVR ............................. 61
Gambar 4.10. Gambar Rangkaian Push Button ................................................ 63
Gambar 4.11. Gambar Hasil Dari Pengujian Rangkaian LCD .......................... 66
Gambar 4.12. Gambar Hasil Dari Pengujian Rangkaian RTC ........................... 68
Gambar 4.13. Gambar Hasil Dari Pengujian Pompa Air ................................... 70
Gambar 4.14. Rangkaian Catu Daya ................................................................ 71
Gambar 5.1.
Uji Coba Simulasi Sistem Kandang Baterry Room Farm ........... 75
Gambar 5.2.
Uji Coba Rangkaian Switcing Daya ........................................... 76
Gambar 5.3.
Menu Setting Jam Sekarang ....................................................... 77
Gambar 5.4.
Menu Setting Jam, Menit, Detik ................................................. 78
Gambar 5.5
Menu Setting Tanggal Sekarang ................................................ 79
Gambar 5.6.
Menu Setting Tanggal, Bulan Dan Tahun................................... 79
Gambar 5.7.
Informasi Waktu Dan Tanggal Sekarang .................................... 80
Gambar 5.8. Informasi Status Pengisian Air Minum Itik ................................ 81
ix
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
DAFTAR TABEL
Tabel 4.1. Tabel Hasil Pengukuran Catu Daya ................................................. 71
Tabel 5.1. Tabel Suplay Air Minum Itik ........................................................... 81
Tabel 5.2. Tabel Perkembangan Itik Pada Sistem Ternak Tradisional .............. 82
Tabel 5.3. Tabel Perkembangan Itik Pada Sistem Ternak Baterry Room Farm . 82
x
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
BAB I
PENDAHULUAN
1.1. Latar Belakang
Semakin berkembangnya
kehidupan manusia
pada
era
globalisasi
manusia dituntut untuk dapat bekerja lebih professional dalam melakukan semua
pekerjaanya, dengan didukung ilmu pengetahuan dan tekhnologi yang semakin
pesat
manusia
dituntut
untuk memanfaatkan kemajuan tersebut untuk
mempermudah dalam melakukan pekerjaanya, sehingga semua pekerjaan yang
dikerjakan manusia dapat dilakukan dengan aman tanpa mengurangi faktor
keselamatanya dalam melakukan aktifitasnya serta dapat meningkatkan hasil
produktivitas yang ingin di capai.
Melihat kemungkinan dan kenyataan yang ada maka diciptakan suatu alat
yang dapat mengatur suplay air minum ternak itik pada battery room farm, agar
ternak tidak kekurangan serta kelebihan suplay air minum serta suplay air minum
dapat di sesuaikan dengan umur itik tersebut, dan tentu semua faktor tersebut akan
berdampak pada berkurangnya produktivitas hasil ternak itik tersebut.
Berdasarkan hal tersebut penulis ingin menciptakan suatu sistem yang
dapat mengatur suplay air minum secara otomatis, sesuai kebutuhan dan dapat
berjalan selama masa pertumbuhan itik, sistem ini di lengkapi dengan pompa air
minum yang dapat menyuplai air ke dalam tempat minum ternak, sistem ini juga
di lengkapi dengan sistem yang terus bekerja selama masa pertumbuhan itik dan
menentukan kebutuhan air minum itik tersebut sesuai dengan umur itik agar itik
1
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
2
dapat tumbuh dan berkembang biak dengan baik, mengurangi dampak
terjangkitnya penyakit ternak itik dan tentu yang paling penting adalah tepat
waktu masa panen.
1.2. Per umusan Masalah
Berdasarkan latar belakang masalah yang dipaparkan di atas, maka dapat
dirumuskan permasalahan dari Tugas Akhir adalah sebagai berikut :
a. Bagaimana membuat sistem yang dapat menyuplay air minum pada
baterry room farm.
b. Bagaimana dapat membuat sistem yang dapat menyuplay air minum
pada baterry room farm yang sesuai dengan kebutuhan itik yaitu sesuai
dengan usia itik tersebut.
c. Bagaimana dapat membuat sistem yang dapat berjalan secara terus
menerus sampai masa panen itik.
d. Bagaimana dapat membuat sistem pemasok air minum yang dapat di
setting tanggal masa starter hingga masa panen.
1.3. Batasan Masalah
Agar tidak terlalu menyimpang dari rumusan masalah yang telah penulis
buat, maka dalam pembuatan Tugas Akhir ini, ruang lingkup permasalahan hanya
akan dibatasi pada:
a. Sistem ini menggunakan mikrokontroller ATMega 8535.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
3
b. Sistem ini hanya sebatas untuk pengisian air minum saja.
c. Sistem ini menggunakan pompa air dengan tegangan searah dengan
kapasitas 90 liter perjam serta berjalan dalam masa sebelum masa
panen itik yaitu sekitar 30 hari.
d. Itik pada sistem ternak ini dalam kondisi yang sehat dan tidak dalam
masa karantina.
1.4. Tujuan
Mengacu pada perumusan masalah, tujuan yang hendak dicapai dalam
penyusunan Tugas Akhir ini adalah Merancang dan membuat sebuah sistem yang
dapat menyuplay air minum secara otomatis dan sesuai kebutuhan itik.
1.5. Manfaat
Manfaat dari Tugas Akhir “Sistem Pemasok Air Minum Otomatis Pada
Battery Room Far m Menggunakan Mikrokontroller 8535” ini terbagi menjadi
3 yaitu bagi pengguna, bagi universitas dan bagi penulis adalah sebagai berikut:
a.
Bagi Pengguna
Mempermudah dalam mengontrol kebutuhan air minum itik serta
mengurangi peran peternak karena sudah terganti dengan sistem otomatis
sehingga peternak bisa mencari hasil pendapatan lain misalnya bercocok
tanam, meningkatkan hasil produtivitas ternak itik tersebut serta
mengurangi resiko kerugian karena gagal panen.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
4
b.
Bagi Universitas
Sebagai tambahan perbendaharaan perpustakaan dan bahan
masukan bagi penelitian lebih lanjut dengan topik yang sama serta
memberikan tambahan untuk dapat digunakan sebagai tambahan ilmu
pengetahuan
khususnya
tentang
pemrogaman
mikrokontroller
menggunakan bahasa C.
c.
Bagi Penulis
Dapat dijadikan pembelajaran dalam penerapan bahasa C dalam
pemrogaman mikrokontroller, sehingga dapat menambah wawasan yang
sangat penting bagi penulis di masa yang akan datang.
1.6. Metodologi Penelitian
Metode adalah cara yang dipergunakan untuk mencapai suatu tujuan
(Surachmad, 1976). Adapun metode yang dipakai adalah:
1. Libr ar y Research
Library Research adalah pengumpulan dokumen-dokumen, referensireferensi, buku-buku, sumber dari internet, atau sumber-sumber lain yang
diperlukan untuk merancang dan mengimplementasikan aplikasi. Tujuannya
untuk mendukung teori-teori yang berkaitan dengan masalah yang muncul.
Studi ini dilakukan dengan mencari sekaligus mempelajari beberapa literatur
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
5
dan artikel mengenai mikrokontroller 8535 dan bahasa pemrograman C.
Mempelajari program aplikasi yang sudah ada untuk memberikan gambaran
yang jelas mengenai bahasa pemrogaman C dalam mikrokontroller, sebagai
acuan dalam perencanaan dan pembuatan Tugas Akhir ini.
2. Analisis dan Perancangan Sistem
Setelah tahap Library Research dibuat deskripsi umum sistem serta
dilakukan analisa kebutuhan sistem. Dalam melakukan perancangan awal
sistem hal-hal yang dilakukan adalah sebagai berikut:
1. Pembuatan perancangan sistem arsitektur
Merupakan gabungan dari proses-proses dan praktek-praktek untuk
menghasilkan sebuah sistem yang efektif.
2. Pembuatan Algoritma Sistem dan Flow chart.
Pembuatan algoritma dan flow chart ini bertujuan untuk
memudahkan penulis dalam pembuatan
program serta memudahkan
memahami alur sistem.
3. Pembuatan Perancangan Sistem
Pembuatan perancangan sistem ini dibuat untuk merancang sistem
yang sesuai dengan kebutuhan petani itik di dalam baterry room farm yang
ingin mendapat hasil panen itik yang maksimal.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
6
3. Pembuatan Sistem
Pada tahap ini merupakan tahap yang paling banyak memerlukan
waktu
karena
model
dan
rancangan
aplikasi
yang
telah
dibuat
diimplementasikan dengan menggunakan Bahasa Pemrogaman C .
4. Uji Coba
Uji coba ini dilakukan dalam rangka untuk memastikan apakah sistem
yang telah selesai dibuat telah sesuai dengan yang direncanakan dalam tahap
analisa dan perancangan sistem serta dievaluasi untuk kelayakan pemakaian
sistem dengan mempertimbangkan kemungkinan kesalahan yang terjadi.
5. Penyusunan Buku Skripsi
Pada tahap ini merupakan tahap terakhir dari pengerjaan Skripsi. Buku
ini disusun sebagai laporan dari seluruh proses pengerjaan Skripsi. Dari
penyusunan buku ini diharapkan dapat memudahkan pembaca yang ingin
menyempurnakan dan mengembangkan sistem ini lebih lanjut.
6. Revisi
Revisi bertujuan untuk mengatasi kesalahan pada saat uji coba berlangsung.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
7
1.7. Sistematika Penulisan
Sistematika yang digunakan dalam penulisan skripsi ini dibagi dalam
beberapa bab dan sub bab. Adapun pembagian bab nya adalah sebagai berikut:
Bab I
Pendahuluan
Berisi latar belakang yaitu uraian tentang landasan pemikiran
timbulnya suatu masalah yang mendorong untuk melakukan
penelitian, perumusan masalah, pembatasan masalah, tujuan,
manfaat, metodologi penelitian dan sistematika penulisan yang
digunakan dalam laporan skripsi ini.
Bab II
Tinjauan Pustaka
Pada bab kedua akan dijelaskan mengenai semua landasan teori
yang terkait dengan skripsi ini. Semua penjelasan meliputi
pembahasan bahasa pemrograman C, software pemrogaman,
software downloader, mikrokontroller, mikrokontroller ATMega
8535, rangkaian real time clock, rangkaian liquid crystal display,
jenis-jenis itik termasuk di dalamnya jenis penyakit, konsumsi air
minum dan pakan, serta sistem pengandangan itik secara
tradisional dan baterry room farm
pembahasan
mengenai
rangkaian
termasuk didalamnya
elektronika,
perangkat
elektronika dalam minimum sistem dan metode ternak itik.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
8
Bab III Analisa Dan Perancangan Sistem
Pada bab ketiga diuraikan mengenai desain sistem yang akan
dibuat, arsitektur sistem, pembuatan rangkaian elektronika di
antaranya rangkaian minimum sistem mikrokontroller, rangkaian
real time clock, rangkaian catu daya yang di gunakan, algoritma,
flow chart sistem dan flowchart sistem yang ada di dalam
mikrokontroller serta penjelasan pemrogaman mikrokotroller
menggunakan bahasa C.
Bab IV Implementasi
Pada bab
keempat ini akan membahas tentang implementasi
program dari hasil analisa dan perancangan sistem pada bab tiga
yang telah di terapkan dalam bab ini termasuk di dalamnya di
jelaskan cara membuat file project dalam software pemrogaman
dan setting yang di lakukan pada software compiler dan perangkat
downloader, serta bagaimana cara sistem tersebut dijalankan.
Bab V
Uji Coba
Bab ini menjelaskan mengenai lingkungan uji coba, skenario uji
coba dan pelaksanaan uji coba.
BAB VI Penutup
Pada bab ini berisi kesimpulan dari program yang telah
diimplementasikan
dan dievaluasi sehingga
pada
akhirnya
diberikan beberapa kemungkinan untuk selanjutnya di lakukan
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
9
pengembangan dari sistem yang dibuat serta saran untuk keperluan
pembuatan sistem ini di masa yang akan datang.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
BAB II
TINJ AUAN PUSTAKA
2.1.
Mikr okontroller
Mikrokontroler merupakan suatu terobosan teknologi mikroprosesor dan
mikrokomputer yang merupakan teknologi semikonduktor dengan kandungan
transistor yang lebih banyak namun hanya membutuhkan ruang yang sangat
kecil, Mikrokontroler merupakan sistem komputer yang mempunyai satu atau
beberapa tugas yang sangat spesifik, berbeda dengan PC (Personal Computer)
yang memiliki beragam fungsi. Tidak seperti sistem komputer yang mampu
menangani berbagai macam program aplikasi, mikrokontrler hanya bisa
digunakan untuk suatu aplikasi tertentu saja, perbedaan lainnya terletak pada
perbandingan RAM dan ROM. Pada sistem komputer perbandingan RAM dan
ROM nya besar, artinya program-program pengguna disimpan dalam ruang
RAM yang relatif besar, sedangkan antar muka perangkat keras disimpan dalam
ruang ROM yang kecil, Sedangkan pada mikrokontroler, perbandingan ROM
dan RAM –nya yang besar, artinya program kontrol disimpan dalam ROM
(Masked ROM atau Flash PEROM) yang ukurannya relatif lebih besar, sedangkan
RAM digunakan sebagai tempat penyimpanan sementara, termasuk registerregister yang digunakn pada mikrokontroler yang bersangkutan.
2.1.1. Mikr okontroler ATMega8535
Mikrokontroler merupakan keseluruhan sistem komputer yang dikemas
10
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
11
menjadi sebuah chip di mana di dalamnya sudah terdapat Mikroprosesor, I/O,
Memori bahkan ADC, berbeda dengan Mikroprosesor yang berfungsi sebagai
pemroses data (Heryanto, dkk, 2008:1). Mikrokontroller AVR (Alf and Vegard’s
Risc processor) memiliki arsitektur 8 bit, dimana semua instruksi dikemas dalam
kode 16-bit dan sebagian besar instruksi dieksekusi dalam 1 siklus clock atau
dikenal dengan teknologi RISC (Reduced Instruction Set Computing). Secara
umum, AVR dapat dikelompokan ke dalam 4 kelas, yaitu keluarga AT90Sxx,
keluarga ATMega dan AT86RFxx. Pada dasarnya yang membedakan masingmasing adalah kapasitas memori, peripheral dan fungsinya (Heryanto, dkk,
2008:1). Dari segi arsitektur dan instruksi yang digunakan, mereka
bisa
dikatakan hampir sama. Berikut ini gambar Mikrokontroler Atmega8535.
Gambar 2.1 Mikrokontroler ATMega8535
2.1.2. Konfigurasi Pin ATMega8535
Secara umum konfigurasi dan fungsi pin ATMega8535 dapat dijelaskan
sebagai berikut :
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
12
1. VCC Input sumber tegangan (+)
2. GND Ground (-)
3. Port A (PA7 … PA0) Berfungsi sebagai input analog dari ADC
(Analog to Digital Converter). Port ini juga berfungsi sebagai
port I/O dua arah, jika ADC tidak digunakan.
4. Port B (PB7 … PB0) Berfungsi sebagai port I/O dua arah. Port
PB5, PB6 dan PB7 juga berfungsi sebagai MOSI, MISO dan
SCK yang dipergunakan pada proses downloading.
5. Port C (PC7 … PC0) Berfungsi sebagai port I/O dua arah.
6. Port D (PD7 … PD0) Berfungsi sebagai port I/O dua arah. Port
PD0 dan PD1 juga berfungsi sebagai RXD dan TXD, yang
dipergunakan untuk komunikasi serial.
7. RESET Input reset.
8. XTAL1 Input ke amplifier inverting osilator dan input ke
sirkuit clock internal.
9. XTAL2 Output dari amplifier inverting osilator.
10. AVCC Input tegangan untuk Port A dan ADC.
11. AREF Tegangan referensi untuk ADC.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
13
Gambar 2.2 Konfigurasi Pin ATMega8535
2.1.3. Fitur Mikr okontroller ATMega 8535
Adapun kapabilitas detail dari ATmega8535 adalah sebagai
Berikut:
1) Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal
16
MHz.
2) Kapabilitas memori flash 8 KB, SRAM sebesar 512 byte, dan
EEPROM (Electrically Erasable Programmable Read Only Memori)
sebesar 512 byte.
3) ADC internal dengan fidelitas 10 bit sebanyak 8 channel.
4) Portal komunikasi serial (USART) dengan kecepatan maksimal 2,5
Mbps.
5) Enam pilihan mode sleep untuk menghemat penggunaan daya listrik.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
14
2.1.4. Arsitektur ATMega 8535
Gambar 2.3 Blok Diagram Fungsional Atmega8535
Dari gambar blok diagram tersebut dapat dilihat bahwa ATMega8535
memiliki bagian-bagian sebagai berikut :
1) Saluran I/O sebanyak 32 buah, yaitu Port A,Port B,Port C dan Port D.
2) ADC 8 channel 10 bit.
3) Tiga buah Timer/Counter dengan kemampuan pembanding.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
15
4) CPU yang terdiri atas 32 buah register.
5) Watchdog timer dengan osilator internal.
6) SRAM sebesar 512 byte.
7) Memori Flash sebesar 8 KB dengan kemampuan Read While Write.
8) Interrupt internal dan eksternal
9) Port antarmuka SPI (Serial Peripheral Interface).
10) EEPROM sebesar 512 byte yang dapat diprogram saat operasi.
11) Antarmuka komparator analog.
12) Port USART untuk komunikasi serial.
2.1.5.
Minimum Sistem Atmega 8535
Disebut sistem minimal karena pemakaian komponen hardware yang
digunakan merupakan kebutuhan yang paling minimal agar sebuah processor
dapat bekerja. Sebetulnya sebuah IC ATMega 8535 saja sudah dapat dikatakan
sebagai sebuah sistem minimal, karena dalam satu keping IC ATMega 8535 sudah
Mencakup processor,
RAM,
ROM dan I/O,
sehingga
cukup
dengan
menambahkan osilator (sumber clock) dan catu daya saja akan bisa membuat
sistem ini bekerja. Namun untuk kepentingan mempermudah pembelajaran, pada
sistem minimal sering di tambahkan beberapa rangkaian khusus yang sebetulnya
tidak mutlak di perlukan tetapi bermanfaat untuk mendukung simulasi atau
demonstrasi hasil eksekusi program yang telah di buat.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
16
Gambar 2.4 Minimum System ATMega 8535
2.2.
Real Time Clock (RTC)
RTC adalah jenis pewaktu yang bekerja berdasarkan waktu yang
sebenarnya atau dengan kata lain berdasarkan waktu yang ada pada jam kita. Agar
dapat berfungsi, pewaktu ini membutuhkan dua parameter utama yang harus
ditentukan, yaitu pada saat mulai (start) dan pada saat berhenti (stop). DS1307
merupakan salah satu tipe IC RTC yang dapat bekerja dalam daya listrik rendah.
Di dalamnya berisi waktu jam dan kalender dalam format BCD. Waktu jam dan
kalender memberikan informasi detik, menit, jam, hari, tanggal, bulan, dan tahun.
Untuk bagian jam dapat berformat 24 jam atau 12 jam. Pendeteksi sumber listrik
juga disediakan untuk mendeteksi kegagalan sumber listrik dan langsung
mengalihkannya ke sumber baterai. Data waktu dan tanggal tersimpan dalam
memori masing masing 1 byte , mulai dari alamat 00H sampai 07H. Sisanya
(08H ~ 3FHalamat RAM yg bisa digunakan), seperti terlihat pada gambar 2.5.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
17
Gambar 2.5 RTC Address Map
2.3.
Liquid Cr ystal Display (LCD)
Dalam kamus besar bahasa ke wikepedian, arti dari LCD (Liquid Crystal
Display atau dapat di bahasa Indonesia-kan sebagai tampilan Kristal Cair )adalah
suatu jenis media tampilan yang menggunakan kristal cair sebagai penampil
utama. LCD bisa memunculkan gambar atau tulisan dikarenakan terdapat banyak
sekali titik cahaya (piksel) yang terdiri dari satu buah kristal cair sebagai sebuah
titik cahaya. Walau disebut sebagai titik cahaya, namun kristal cair ini tidak
memancarkan cahaya sendiri. Sumber cahaya di dalam sebuah perangkat LCD
adalah lampu neon berwarna putih di bagian belakang susunan kristal cair tadi.
Titik cahaya yang jumlahnya puluhan ribu bahkan jutaan inilah yang membentuk
tampilan citra. Kutub kristal cair yang dilewati arus listrik akan berubah karena
pengaruh polarisasi medan magnetik yang timbul dan oleh karenanya akan hanya
membiarkan beberapa warna diteruskan sedangkan warna lainnya tersaring.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
18
Dalam menampilkan karakter untuk membantu menginformasikan proses
dan control yang terjadi dalam suatu program mikrokontroller kita sering
menggunakan LCD juga. Yang sering digunakan adalah LCD dengan banyak
karakter 16x2. Maksudnya semacam fungsi tabel di ms office. 16 menyatakan
kolom dan 2 menyatakan baris. Bila kita beli di pasaran, LCD 16x2 masih
kosongan, maksudnya kosongan yaitu butuh driver lagi supaya bisa dikoneksikan
dengan system minimum dalam suatu mikrokontroler. Driver yang disebutkan
berisi rangkaian pengaman, pengatur tingkat kecerahan backligt maupun data,
serta untuk mempermudah pemasangan di mikrokontroler.
Gambar 2.6 LCD (Liquid Crystal Display)
2.4.
Bahasa C
Akar dari bahasa C adalah bahasa BCPL yang dikembangkan oleh
Martin Richards pada tahun 1967. Bahasa ini memberikan ide kepada Ken
Thompson yang kemudian mengembangkan bahasa yang disebut dengan B
pada tahun 1970. Perkembangan selanjutnya dari bahasa B adalah bahasa C
oleh Dennis Ritchie sekitar tahun 1970-an di Bell Telephone Laboratories Inc.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
19
(sekarang
adalah AT&T
digunakan pada
komputer
Bell Laboratories).
Digital
Bahasa
C
pertama
kali
Equipment Corporation PDP-11 yang
menggunakan sistem operasi UNIX.
Standar bahasa C yang asli adalah standar dari UNIX. Sistem operasi,
kompiler C dan seluruh program aplikasi UNIX
yang esensial ditulis dalam
bahasa C. Kepopuleran bahasa C membuat versi-versi dari bahasa ini banyak
dibuat untuk komputer mikro. Untuk membuat versi-versi tersebut menjadi
standar, ANSI (American National Standards Institute) membentuk suatu komite
(ANSI committee X3J11) pada tahun 1983 yang kemudian menetapkan standar
ANSI untuk bahasa C. Standar ANSI ini didasarkan kepada standar UNIX yang
diperluas.
Kelebihan bahasa C :
a. Bahasa C tersedia hampir di semua jenis computer.
b. Kode bahasa C sifatnya adalah portable dan fleksibel untuk semua jenis
computer.
c. Bahasa C hanya menyediakan sedikit kata-kata kunci. hanya terdapat 32 kata
kunci.
d. Proses executable program bahasa C lebih cepat
e. Dukungan pustaka yang banyak.
f. C adalah bahasa yang terstruktur.
g. 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
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
20
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 :
a. Banyaknya operator serta fleksibilitas penulisan program kadang-kadang
membingungkan pemakai.
b. Bagi pemula pada umumnya akan kesulitan menggunakan pointer.
2.4.1. Pr oses Kompilasi Dar i Linking Pr ogram C
Agar suatu program dalam bahasa pemrograman dapat dimengerti oleh
komputer, program haruslah diterjemahkan dahulu ke dalam kode mesin. Adapun
penerjemah yang digunakan bisa berupa interpreter atau kompiler. Interpreter
adalah suatu jenis penerjemah yang menerjemahkan baris per baris intsruksi untuk
setiap saat. Keuntungan pemakaian interpreter, penyusunan program relatif lebih
cepat dan bisa langsung diuji sekalipun masih ada beberapa kesalahan secara
kaidah dalam program. Sedangkan kelemahannya, kecepatannya menjadi lambat
sebab sebelum suatu instruksi dijalankan selalu harus diterjemahkan terlebih
dahulu. Selain itu, saat program dieksekusi interpreter juga harus berada dalam
memori. Jadi memori selalu digunakan baik untuk program maupun interpreter..
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
21
Gambar 2.7 Proses Kompilasi-Linking Dari Program C
Proses dari bentuk program bahasa C hingga menjadi program yang
executable sistem operasi yang dipakai. Kode obyek berbentuk kode mesin, oleh
karena itu tidak dapat dibaca oleh pemrogram. Akan tetapi kode ini sendiri juga
belum bisa dipahami komputer. Supaya bisa dimengerti oleh komputer, maka
kode obyek bersama-sama dengan kode obyek yang lain dan isi file
pustaka/library file perlu dikaitkan (linking) dengan menggunakan linker,
membentuk sebuah program yang executable. Program hasil linker ini disimpan
dalam file yang disebut file executable, yang biasanya berekstensi .exe.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
22
2.4.2. Str uktur Penulisan Program C
Program C pada hakekatnya tersusun atas sejumlah blok fungsi. Sebuah
program minimal mengandung sebuah fungsi. Fungsi pertama yang harus ada
dalam program C dan sudah ditentukan namanya adalah main(). Setiap fungsi
terdiri
atas
satu atau beberapa
pernyataan, yang
secara keseluruhan
dimaksudkan untuk melaksanakan tugas khusus. Bagian pernyataan fungsi
(sering disebut tubuh fungsi) diawali dengan tanda kurung kurawal buka ({)
dan diakhiri dengan tanda kurung kurawal tutup (}). Di antara kurung kurawal itu
dapat dituliskan statemen-statemen program C. Namun pada kenyataannya,
suatu fungsi bisa saja tidak mengandung pernyataan sama sekali.Walaupun
fungsi tidak memiliki pernyataan, kurung kurawal haruslah tetap ada. Sebab
kurung kurawal mengisyaratkan awal dan akhir definisi fungsi. Berikut ini
adalah struktur dari program C
Main()
{
Statemen-statemen ; fungsi utama
}
Fungsi-fungsi lain()
{
Statemen-statemen; fungsi-fungsi lain yang di tulis oleh pemrogr am
}
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
23
Bahasa C dikatakan sebagai bahasa pemrograman terstruktur karena
strukturnya menggunakan fungsi-fungsi sebagai program-program bagiannya
(subroutine). Fungsi-fungsi yang ada selain fungsi utama (main()) merupakan
program-program bagian. Fungsi-fungsi ini dapat ditulis setelah fungsi utama
atau diletakkan di file pustaka (library). Jika fungsi-fungsi diletakkan di file
pustaka dan akan dipakai di suatu program, maka nama file judulnya (header
file)
harus
dilibatkan
dalam
program
yang menggunakannya dengan
preprocessor directive berupa #include.
2.4.3. Pengenalan Fungsi-Fungsi Dasar
a. Fungsi main()
Fungsi main() harus ada pada program, sebab fungsi inilah yang menjadi
titik awal dan titik akhir
menyatakan awal
eksekusi
program. Tanda
tubuh fungsi dan sekaligus
{
awal
di
awal
eksekusi
fungsi
program,
sedangkan tanda } di akhir fungsi merupakan akhir tubuh fungsi dan sekaligus
adalah akhir eksekusi program. Jika program terdiri atas lebih dari satu fungsi,
fungsi
main() biasa
ditempatkan pada
posisi
yang
paling atas dalam
pendefinisian fungsi. Hal ini hanya merupakan kebiasaan. Tujuannya untuk
memudahkan pencarian
terhadap program
utama
bagi
yang
umum
pemrogram. Jadi
bukanlah merupakan suatu keharusan.
b. Fungsi printf().
Fungsi
printf()
merupakan fungsi
dipakai
untuk
menampilkan suatu keluaran pada layar peraga. Untuk menampilkan tulisan
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
24
Selamat belajar bahasa C misalnya, pernyataan yang diperlukan berupa:
printf(“Selamat belajar bahasa C”);
Pernyataan di atas berupa pemanggilan fungsi printf() dengan argumen
atau parameter berupa string. Dalam C suatu konstanta string ditulis dengan
diawali dan diakhiri tanda petik- ganda (“). Perlu juga diketahui pernyataan dalam
C selalu diakhiri dengan tanda titik koma (;). Tanda titik koma dipakai sebagai
tanda pemberhentian sebuah pernyataan dan bukanlah sebagai pemisah antara
dua pernyataan.Tanda \ pada string yang dilewatkan sebagai argumen printf()
mempunyai makna yang khusus. Tanda ini bisa digunakan untuk menyatakan
karakter khusus seperti karakter baris-baru ataupun karakter backslash (miring
kiri). Jadi karakter seperti
\n sebenarnya menyatakan sebuah karakter. Contoh
karakter yang ditulis dengan diawali tanda \ adalah:
\” menyatakan karakter petik-ganda
\\ menyatakan karakter backslash
\t menyatakan karakter tab
Dalam bentuk yang lebih umum, format printf() printf(“string kontrol”,
daftar argumen); dengan string kontrol dapat berupa satu atau sejumlah karakter
yang akan ditampilkan ataupun berupa penentu format yang akan mengatur
penampilan dari argumen yang terletak pada daftar argumen. Mengenai penentu
format di antaranya berupa:
%d untuk menampilkan bilangan bulat (integer)
%f untuk menampilkan bilangan titik-mengambang (pecahan)
%c untuk menampilkan sebuah karakter
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
25
%s untuk menampilkan sebuah string
Contoh :
#include
main( ) {
printf(“No
: %d\n”, 10);
printf(“Nama : %s\n”, “Ali”);
printf(“Nilai : %f\n”,80.5);
printf(“Huruf : %c\n”,‘A’);
}
2.4.4. Pengenalan Praprosesor #Include
#include merupakan salah satu jenis pengarah praprosesor (preprocessor
directive). Pengarah praprosesor ini dipakai untuk membaca file yang di antaranya
berisi deklarasi fungsi dan definisi konstanta. Beberapa file judul disediakan
dalam C. File-file ini mempunyai ciri yaitu namanya diakhiri dengan ekstensi
.h. Misalnya pada program #include menyatakan pada kompiler agar
membaca file bernama stdio.h saat pelaksanaan kompilasi.
Bentuk umum #include:
#include “namafile”
Bentuk pertama (#include ) mengisyaratkan bahwa pencarian
file dilakukan pada direktori khusus, yaitu direktori file include. Sedangkan
bentuk kedua (#include “namafile”) menyatakan bahwa pencarian file dilakukan
pertama kali pada direktori aktif tempat program sumber dan seandainya
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
26
tidak ditemukan pencarian akan dilanjutkan pada direktori lainnya yang sesuai
dengan perintah pada sistem operasi. Kebanyakan program
stdio.h (file-judul I/O
melibatkan file
standard, yang disediakan dalam C). Program yang
melibatkan file ini yaitu program yang menggunakan pustaka I/O (input-output)
standar seperti printf().
2.4.5. Bahasa C Pada Mikrokontroller ATMega 8535
Pemrograman mikrokontroler ATMega8535 dapat menggunakan
low
level language (assembly) dan high level language (C, Basic, Pascal, JAVA,dll)
tergantung compiler yang digunakan. Bahasa Assembler mikrokontroler AVR
memiliki
kesamaan
instruksi,
sehingga
jika
pemrograman
satu
jenis
mikrokontroler AVR sudah dikuasai, maka akan dengan mudah menguasai
pemrograman keseluruhan mikrokontroler jenis mikrokontroler AVR. Namun
bahasa assembler relatif lebih sulit dipelajari dari pada bahasa C.
Untuk pembuatan suatu proyek yang besar akan memakan waktu yang
lama serta penulisan programnya akan panjang. Sedangkan bahasa C memiliki
keunggulan dibanding bahasa assembler yaitu independent terhadap hardware
serta lebih mudah untuk menangani project yang besar.
Bahasa C memiliki
keuntungan-keuntungan yang dimiliki bahasa assembler (bahasa mesin), hampir
semua operasi yang dapat dilakukan oleh bahasa mesin, dapat dilakukan dengan
bahasa C dengan penyusunan program yang lebih sederhana dan mudah. Bahasa
C terletak diantara bahasa pemrograman tingkat tinggi dan assembly.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
27
2.5.
Softwar e Pemr ogaman Dan Software Downloader
Kebanyakan pengguna mikrokontroler menggunakan Bahasa C dalam
pemrogramannya, dengan alasan efisien. Dibanding dengan bahasa pemrograman
lainnya, untuk program yang sama, Bahasa C memang menghasilkan hex code
yang lebih kecil. Untuk lingkungan mikrokontroler yang memiliki ruang program
memory terbatas, maka efisiensi menjadi sebuah keharusan. Untuk mikrokontroler
AVR, terdapat beberapa compiler Bahasa C yang dapat disarankan.
Yang pertama adalah CodeVisionAVR. Compiler komersial ini banyak
digunakan di Indonesia. Dokumentasi dalam bentuk buku pun cukup banyak. Ini
menjadi suatu pertanyaan tersendiri kenapa banyak penulis yang menggunakan
rujukan CodeVision AVR, yang notabene produk berbayar, CodeVision AVR
versi evaluasi dapat di-download di halaman situs http://www.hpinfotech.com/,
dan dapat digunakan secara gratis meskipun dengan kemampuan yang di batasi.
Yang kedua adalah WinAVR, produk open source yang menggunakan
AVRLibc dan GCC sebagai mesin utamanya. Penggunaannya menggunakan
sebuah pola, yang bagi pemula, mungkin tidak terlalu nyaman. Popularitasnya
terus naik, karena didukung oleh banyak komunitas. Dalam perjalanannya, produk
ini cukup stabil. Dokumentasi berupa buku, tidak banyak. WinAVR menyediakan
plug-in untuk AVRStudio, sehingga proses penulisan, kompilasi dan download ke
chip dapat dilakukan melalui IDE ini.
Yang ketiga adalah ICC AVR dari ImageCraft. Produk komersial ini
cukup serius, terbukti sejumlah vendor besar dalam bidang robotik untuk
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
28
pendidikan, menggunakannya. ICC AVR menggunakan rujukan ANSI C dan
menyediakan plug-in untuk penggunaan di lingkungan AVRStudio. Versi demo
dapat digunakan selama 45 hari.
Yang keempat adalah MikroC for AVR dari Mikroelektronika. Produk ini
mudah digunakan, namun tidak sedikit bugs yang ditemukan, terutama dalam
penanganan kasus logika yang cukup rumit, semisal implementasi PID pada robot
line following. Versi evaluasi dibatasi sampai 2k saja.
Tetapi di sini penulis menggunakan codevision AVR sebagai software
kompiler
sekaligus
software
downloader/programmer,
karena
beberapa
CodeVisionAVR merupakan sebuah cross-compiler C,
Integrated
kelebihannya di banding software-software yang lain.
2.5.1. CodeVision AVR
Development Environtment (IDE), dan Automatic Program Generator yang
didesain untuk mikrokontroler buatan Atmel seri AVR. CodeVisionAVR dapat
dijalankan pada sistem operasi Windows 95, 98, Me, NT4, 2000, dan XP. Crosscompiler C mampu menerjemahkan hampir semua perintah dari bahasa ANSI C,
sejauh yang diijinkan oleh arsitektur dari AVR, dengan tambahan beberapa fitur
untuk mengambil kelebihan khusus dari arsitektur AVR dan kebutuhan pada
sistem embedded. File object COFF hasil kompilasi dapat
keperluan
debugging
pada
tingkatan
C,
dengan
digunakan untuk
pengamatan
variabel,
menggunakan debugger Atmel AVR Studio. IDE mempunyai fasilitas internal
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
29
berupa software AVR Chip In-System Programmer yang memungkinkan untuk
melakukan transfer program kedalam chip mikrokontroler setelah sukses
melakukan kompilasi secara otomatis. Software In-System Programmer didesain
untuk bekerja dengan
Atmel STK500/AVRISP/AVRProg, Kanda Systems
STK200+/300, Dontronics DT006, Vogel Elektronik VTEC-ISP, Futurlec JRAVR
dan MicroTronics ATCPU/Mega2000 programmers/development boards. Untuk
keperluan debugging sistem embedded, yang menggunakan komunikasi serial,
IDE mempunyai fasilitas internal berupa sebuah Terminal. Selain library standar
C, CodeVisionAVR juga mempunyai library tertentu untuk:
1)
Modul LCD alphanumeric
2)
Bus I2C dari Philips
3)
Sensor Suhu LM75 dari National Semiconductor
4)
Real-Time Clock: PCF8563, PCF8583 dari Philips, DS1302 dan
DS1307 dari Maxim/Dallas Semiconductor
5)
Protokol 1-Wire dari Maxim/Dallas Semiconductor
6)
Sensor Suhu DS1820, DS18S20, dan DS18B20 dari Maxim/Dallas
Semiconductor
7)
Termometer/Termostat DS1621 dari Maxim/Dallas Semiconductor
8)
EEPROM DS2430 dan DS2433 dari Maxim/Dallas Semiconductor
9)
SPI
10) Power Management
11) Delay
12) Konversi ke Kode Gray
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
30
CodeVisionAVR juga mempunyai Automatic Program Generator bernama
CodeWizardAVR, yang mengijinkan kita untuk menulis, dalam hitungan menit,
semua instruksi yang diperlukan untuk membuat fungsi-fungsi berikut:
1) Set-up akses memori eksternal
2) Identifikasi sumber reset untuk chip
3) Inisialisasi port input/output
4) Inisialisasi interupsi eksternal
5) Inisialisasi Timer/Counter
6) Inisialisasi Watchdog-Timer
7) Inisialisasi UART (USART) dan komunikasi serial berbasis buffer
yang digerakkan oleh interupsi
8) Inisialisasi Pembanding Analog
9) Inisialisasi ADC
10) Inisialisasi Antarmuka SPI
11) Inisialisasi Antarmuka Two-Wire
12) Inisialisasi Antarmuka CAN
13) Inisialisasi Bus I2C, Sensor Suhu LM75, Thermometer/Thermostat
DS1621 dan Real-Time Clock PCF8563, PCF8583, DS1302, dan
DS1307
14) Inisialisasi Bus 1-Wire dan Sensor Suhu DS1820, DS18S20
15) Inisialisasi modul LCD
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
31
Gambar 2.8 Alur Pemrogaman Code Vision AVR
2.6.
Ter nak Itik
Itik dikenal juga dengan istilah Bebek (bhs.Jawa). Nenek moyangnya
berasal dari Amerika Utara merupakan itik liar ( Anas moscha) atau Wild mallard.
Terus menerus dijinakkan oleh manusia hingga jadilah itik yang diperlihara
sekarang yang disebut Anas dome