BAB II LANDASAN TEORI

dokumen-dokumen yang mirip
MENGENAL MIKROKONTROLER ATMEGA-16

BAHASA PEMROGRAMAN C

BAB III TEORI PENUNJANG. arsitektur Reduced Instruction Set Computer (RISC). Hampir semua instruksi

BAB 2 TINJAUAN TEORITIS. terdiri dari mikrokontroller ATmega8535, Isd2560, LM 35, Regulator 7805, LCD

BAB II LANDASAN TEORI. Remote TV adalah suatu pengontrol, yang fungsinya untuk merubah dan

Sistem Minimum Mikrokontroler. TTH2D3 Mikroprosesor

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI. Mikrokontroler AVR (Alf and Vegard s RISC Processor) dari Atmel ini

DAFTAR PUSTAKA.

Mikrokontroler AVR. Hendawan Soebhakti 2009

II. TINJAUAN PUSTAKA. menjadi sumber tegangan arus searah yang bersifat variable. Pengubah daya DC-

MICROCONTROLER AVR AT MEGA 8535

DAFTAR ISI. Daftar Pustaka P a g e

BAB II. PENJELASAN MENGENAI System-on-a-Chip (SoC) C8051F Pengenalan Mikrokontroler

MICROCONTROLER AVR AT MEGA 8535

BAB III LANDASAN TEORI

BAB II TINJAUAN PUSTAKA

Pencipta bahasa C adalah Brian W. Kernighan dan Dennis M. Ritchie pada. sekitar tahun C adalah bahasa pemrograman terstruktur, yang membagi

BAB II TINJAUAN PUSTAKA. Atmel AVR adalah jenis mikrokontroler yang paling sering dipakai dalam

BAB III LANDASAN TEORI. Kinerja tinggi, rendah daya Atmel AVR 8-bit Microcontroller Instruksi Powerfull - Kebanyakan Single-jam Siklus Eksekusi

1. Pemograman Mikrokontroller Menggunakan BASCOM AVR. Inisialisasi baud yang digunakan.

Interfacing. Materi 2: AVR Architecture. Disusun Oleh: I Nyoman Kusuma Wardana

Dasar Pemrograman Mikrokontroler dengan Bahasa C

oleh : Syaifullah Agus Setyo Nugroho Dosen Pembimbing : 1. Dr.Ir Achmad Affandi, DEA 2. Ir. Gatot Kusrahardjo, MT

BAB II LANDASAN TEORI

BAB II KONSEP DASAR PERANCANGAN

BAB II LANDASAN TEORI. pada itu dapat juga dijadikan sebagai bahan acuan didalam merencanakan suatu system.

BAB II DASAR TEORI. ATmega8535 merupakan IC CMOS 8-bit berdaya rendah yang berdasar pada

III. METODOLOGI PENELITIAN. Penelitian dan perancangan tugas akhir ini telah dimulai sejak bulan Juli 2009

Blok sistem mikrokontroler MCS-51 adalah sebagai berikut.

BAB II DASAR TEORI. open-source, diturunkan dari Wiring platform, dirancang untuk. memudahkan penggunaan elektronik dalam berbagai

DASAR PEMROGRAMAN. PENGANTAR BAHASA C ( Sejarah, Struktur Pemrograman, Tipe Data, Operator ) Djoko Soerjanto, M.Kom

II. TINJAUAN PUSTAKA. Mikrokontroler ATmega8535 merupakan salah satu jenis mikrokontroler keluarga AVR

Gambar 2.1 Mikrokontroler ATMega 8535 (sumber :Mikrokontroler Belajar AVR Mulai dari Nol)

BAB III PERANCANGAN DAN PEMBUATAN PERANGKAT KERAS

TUGAS MATAKULIAH APLIKASI KOMPUTER DALAM SISTEM TENAGA LISTRIK FINAL REPORT : Pengendalian Motor DC menggunakan Komputer

BAB III DESKRIPSI DAN PERANCANGAN SISTEM

BAB II DASAR TEORI. open-source, diturunkan dari Wiring platform, dirancang untuk. software arduino memiliki bahasa pemrograman C.

BAB II TINJAUAN PUSTAKA

Pengenalan Bahasa C week 1

MIKROKONTROLER Arsitektur Mikrokontroler AT89S51

BAB III MIKROKONTROLER

BAB II LANDASAN TEORI

MIKROKONTROLER Yoyo Somantri dan Egi Jul Kurnia

Gambar 2.1 Robot Beroda

BAB III TEORI PENUNJANG. Microcontroller adalah sebuah sistem fungsional dalam sebuah chip. Di

DASAR PEMROGRAMAN C UNTUK MIKROKONTROLER

Kereta Rel Diesel adalah unit kereta api yang terdiri dari beberapa gerbong

BAB III SISTEM PENGUKURAN ARUS & TEGANGAN AC PADA WATTMETER DIGITAL

BAB III PERANCANGAN DAN REALISASI PERANGKAT KERAS DAN PERANGKAT LUNAK SISTEM. Dari diagram sistem dapat diuraikan metode kerja sistem secara global.

PENGANTAR MIKROKOMPUTER PAPAN TUNGGAL (SINGLE CHIP) Oleh : Sumarna, Jurdik Fisika, FMIPA UNY

BAB II DASAR TEORI 2.1. Mikrokontroler AVR ATmega32

BAB III PERANCANGAN SISTEM

Sistem Mikrokontroler FE UDINUS

BAB III PERANCANGAN. Mikrokontroler ATMEGA Telepon Selular User. Gambar 3.1 Diagram Blok Sistem

BAB II DASAR TEORI. mikrokontroler yang berbasis chip ATmega328P. Arduino Uno. memiliki 14 digital pin input / output (atau biasa ditulis I/O, dimana

RANCANG BANGUN SISTEM PENGUKURAN ARUS BERBASIS MIKROKONTROLLER ATMEGA 8535

BAB II TINJAUAN PUSTAKA

BAB II KONSEP DASAR SISTEM MONITORING TEKANAN BAN

PROCEEDING. sepeti program untuk mengaktifkan dan PENERAPAN AUTOMATIC BUILDING SYSTEM DI PPNS. menonaktifkan AC, program untuk counter

INSTRUKSI. TTH2D3 Mikroprosesor

ARSITEKTUR MIKROKONTROLER AT89C51/52/55

DAFTAR ISI HALAMAN JUDUL... HALAMAN PENGESAHAN P EMBIMBING... HALAMAN PENGESAHAN P ENGUJI... HALAMAN PERSEMBAHAN... HALAMAN MOTTO... KATA PENGANTAR...

MIKROKONTROLER AT89S52

BAB III PERANCANGAN SISTEM

BAB II LANDASAN TEORI. Dalam merancang sebuah peralatan yang cerdas, diperlukan suatu

BAB III RANCANG BANGUN SISTEM KARAKTERISASI LED. Rancangan sistem karakterisasi LED diperlihatkan pada blok diagram Gambar

BAB II TINJAUAN PUSTAKA. judul Modifikasi Baby Incubator Transport (Monitoring Suhu Skin dan. Kontrol Kelembaban) oleh Wisnu Kusuma Wardana[2].

Sistem Tertanam. Pengantar Atmega328 dan Arduino Uno. Dennis Christie - Universitas Gunadarma

BAB II TINJAUAN PUSTAKA

BAB 3 PERANCANGAN SISTEM. Bab ini akan membahas tentang perancangan sistem yang digunakan dari alat

BAB II DASAR TEORI. dari suatu objek untuk sepersekian detik setelah objek menghilang dari pandangan.

BAB II LANDASAN TEORI

Chapter 1 KONSEP DASAR C

BAB III PERANCANGAN SISTEM

TKC210 - Teknik Interface dan Peripheral. Eko Didik Widianto

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA

DAFTAR ISI HALAMAN PENGESAHAN... ABSTRAKSI... KATA PENGANTAR... DAFTAR ISI... DAFTAR TABEL... DAFTAR GAMBAR... DAFTAR LAMPIRAN...

MIKROPENGENDALI C TEMU 2b AVR ARCHITECTURE. Oleh : Danny Kurnianto,S.T.,M.Eng Sekolah Tinggi Teknologi Telematika Telkom

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI. dan gambar dari komponen-komponen yang dipakai pada perancangan laporan. Skripsi. Adapun komponen-komponennya sebagai berikut :

DAFTAR ISI. HALAMAN PENGESAHAN... i. KATA PENGANTAR... iii. DAFTAR ISI... v. DAFTAR TABEL... x. DAFTAR GAMBAR... xi. DAFTAR LAMPIRAN...

Bahasa C-M6 By Jamilah, Skom 1

BAB II DASAR TEORI. Gambar 2.1 Sensor MLX 90614[5]

BAB II TINJAUAN PUSTAKA. yang telah membuat Data Logger Autoclave, prinsip kerja alat ini adalah pada

BAB II TINJAUAN PUSTAKA

BAB II LANDASAN TEORI

Arsitektur Komputer, Mikroprosesor dan Mikrokontroller. TTH2D3 Mikroprosesor

BAB II LANDASAN TEORI. dikembangkan pada tahun 1996 oleh dua orang mahasiswa Norwegian Institute of

ABSTRAK. Kata kunci : Inverter DC-AC, MOSFET, Mikrokonroller ATMEGA 16

BAB III TEORI PENUNJANG. dihapus berulang kali dengan menggunakan software tertentu. IC ini biasanya

BAB 2 LANDASAN TEORI

Bab 2. Dasar-Dasar Pemrograman C

TAKARIR. Akumulator Register yang digunakan untuk menyimpan semua proses aritmatika

BAB II LANDASAN TEORI. Selain dari pada itu dapat juga dijadikan sebagai bahan acuan didalam

BAB II LANDASAN TEORI. merealisasikan suatu alat pengawas kecepatan pada forklift berbasis mikrokontroler.

II. TINJAUAN PUSTAKA. kondisi cuaca pada suatu daerah. Banyak hal yang sangat bergantung pada kondisi

III. METODE PENELITIAN. Penelitian dan perancangan tugas akhir dilakukan di Laboratorium Terpadu

BAB III METODE PENELITIAN. oleh karenanya akan dibuat seperti pada Gambar 3.1.

Transkripsi:

BAB II LANDASAN TEORI 2.1 Water Flow Sensor G1/2 Water Flow Sensor ini terdiri terbuat dari plastik dimana didalamnya terdapat rotor dan sensor Hall Effect. Saat air mengalir melewati rotor, rotor akan berputar. Kecepatan putaran ini akan sesuai dengan besarnya aliran air. Output dari sensor Hall Effect merupakan pulsa. Kelebihan sensor ini adalah hanya membutuhkan 1 sinyal (SIG) selain jalur 5V dc dan Ground. Perhatikan gambar di bawah ini. Gambar 2.1 Water Flow Sensor G1/2 Gambar 2.2 Mechanic Dimensi Water Flow sensor G1/2

Tabel 2.1 Komponen Sensor Tabel 2.2 Spesifikasi Sensor

Water Flow Sensor ini terdiri atas katup plastik, rotor air, dan sebuah sensor Hall- Effect. Prinsip kerja sensor ini adalah dengan memanfaatkan fenomena efek Hall. Efek Hall ini didasarkan pada efek medan magnetik terhadap partikel bermuatan yang bergerak. Ketika ada arus listrik yang mengalir pada device efek Hall yang ditempatkan dalam medan magnet yang arahnya tegak lurus arus listrik, pergerakan pembawa muatan akan berbelok ke salah satu sisi dan menghasilkan medan listrik. Medan listrik terus membesar hingga gaya Lorentz yang bekerja pada partikel menjadi nol. Perbedaan potensial antara kedua sisi divais tersebut disebut potensial Hall. Potensial Hall ini sebanding dengan medan magnet dan arus listrik yang melalui device. 2.2 Mikrokontroler AVR AT MEGA 16 Mikrokontroler adalah sebuah sistem komputer lengkap dalam satu chip. Mikrokontroler lebih dari sekedar sebuah mikroprosesor karena sudah terdapat atau berisikan ROM (Read- Only Memory), RAM (Read-Write Memory), beberapa port masukan maupun keluaran, dan beberapa peripheral seperti pencacah/pewaktu, ADC (Analog to Digital converter), DAC (converter Digital to Analog) dan serial komunikasi. Salah satu mikrokontroler yang banyak digunakan saat ini yaitu mikrokontroler AVR. AVR adalah mikrokontroler RISC (Reduce Instuction Set Computer) 8 bit berdasarkan arsitektur Harvard. Secara umum mikrokontroler AVR dapat dapat dikelompokkan menjadi 3 kelompok, yaitu keluarga AT90Sxx, ATMega dan ATtiny. Pada dasarnya yang membedakan masing-masing kelas adalah memori, peripheral, dan fiturnya Seperti mikroprosesor pada umumnya, secara internal mikrokontroler ATMega16 terdiri atas unit-unit fungsionalnya Arithmetic and Logical Unit (ALU), himpunan register kerja, register dan dekoder instruksi, dan pewaktu serta komponen kendali lainnya. Berbeda dengan mikroprosesor, mikrokontroler menyediakan memori dalam chip yang sama dengen prosesornya (in chip). AVR merupakan seri mikrokontroler CMOS 8-bit buatan Atmel, berbasis arsitektur RISC (Reduced Instruction Set Computer). Hampir semua instruksi dieksekusi dalam satu siklus clock. AVR mempunyai 32 register general-purpose, timer/counter fleksibel dengan mode compare, interrupt internal dan eksternal, serial UART, programmable Watchdog Timer, dan mode power saving, ADC dan PWM internal. AVR juga mempunyai In-System Programmable Flash on-chip yang mengijinkan memori program untuk diprogram ulang dalam sistem menggunakan hubungan serial SPI. ATMega16. ATMega16 mempunyai throughput mendekati 1 MIPS per MHz membuat disainer sistem untuk mengoptimasi konsumsi daya versus kecepatan proses. Beberapa keistimewaan dari AVR ATMega16 antara lain:

1. Advanced RISC Architecture 130 Powerful Instructions Most Single Clock Cycle Execution 32 x 8 General Purpose Fully Static Operation Up to 16 MIPS Throughput at 16 MHz On-chip 2-cycle Multiplier 2. Nonvolatile Program and Data Memories 8K Bytes of In-System Self-Programmable Flash Optional Boot Code Section with Independent Lock Bits 512 Bytes EEPROM 512 Bytes Internal SRAM Programming Lock for Software Security 3. Peripheral Features Two 8-bit Timer/Counters with Separate Prescalers and Compare Mode Two 8-bit Timer/Counters with Separate Prescalers and Compare Modes One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture Mode Real Time Counter with Separate Oscillator Four PWM Channels 8-channel, 10-bit ADC Byte-oriented Two-wire Serial Interface Programmable Serial USART 4. Special Microcontroller Features Power-on Reset and Programmable Brown-out Detection Internal Calibrated RC Oscillator External and Internal Interrupt Sources Six Sleep Modes: Idle, ADC Noise Reduction, Power-save, Power-down, Standby and Extended Standby 5. I/O and Package 32 Programmable I/O Lines 40-pin PDIP, 44-lead TQFP, 44-lead PLCC, and 44-pad MLF 6. Operating Voltages 2.7-5.5V for Atmega16L 4.5-5.5V for Atmega16

2.2.1 Konfigurasi Pena (Pin) Atmega16 Konfigurasi pena (pin) mikrokontroler Atmega16 dengan kemasan 40-pena dapat dilihat pada Gambar 2.2. Dari gambar tersebut dapat terlihat ATMega16 memiliki 8 pena untuk masingmasing bandar A (Port A), bandar B (Port B), bandar C (Port C), dan bandar D (Port D). Gambar 2.3 Pin ATMEGA 16 2.2.2 Deskripsi Mikrokontroler Atmega16 VCC (Power Supply) dan GND(Ground) Bandar A (PA7-PA0) Bandar B (PB7-PB0) Bandar C (PC7-PC0) Bandar D (PD7-PD0) RESET (Reset input) XTAL1 (Input Oscillator) 2.2.3 Peta Memori ATMega16 1. Memori Program Arsitektur ATMega16 mempunyai dua memori utama, yaitu memori data dan memori program. Selain itu, ATMega16 memiliki memori EEPROM untuk menyimpan data. ATMega16 memiliki 16K byte On-chip In-System Reprogrammable Flash Memory untuk menyimpan program. Instruksi ATMega16 semuanya memiliki format 16 atau 32 bit, maka memori flash diatur dalam 8K x 16 bit. Memori flash dibagi kedalam dua bagian, yaitu bagian

program boot dan aplikasi. Bootloader adalah program kecil yang bekerja pada saat sistem dimulai yang dapat memasukkan seluruh program aplikasi ke dalam memori prosesor. Gambar 2.4 Peta Memori 2. Memori Data (SRAM) Memori data AVR ATMega16 terbagi menjadi 3 bagian, yaitu 32 register umum, 64 buah register I/O dan 1 Kbyte SRAM internal. General purpose register menempati alamat data terbawah, yaitu $00 sampai $1F. Sedangkan memori I/O menempati 64 alamat berikutnya mulai dari $20 hingga $5F. Memori I/O merupakan register yang khusus digunakan untuk mengatur fungsi terhadap berbagai fitur mikrokontroler seperti kontrol register, timer/counter, fungsi-fungsi I/O, dan sebagainya. 1024 alamat berikutnya mulai dari $60 hingga $45F digunakan untuk SRAM internal. 2.3 MAX 232 IC MAX232 adalah IC rangkaian antar muka dual RS-232 transmitter/receiver yang memenuhi standar EIA-232-E. IC MAX232 hanya membutuhkan power supply 5V (single power supply) sebagai catu. IC MAX232 berfungsi untuk merubah level tegangan pada COM komputer menjadi level tegangan TTL/CMOS. IC MAX232 terdiri atas tiga bagian yaitu dual charge-pump voltage converter, driver RS232, dan receiver RS232. Berikut gambar IC MAX232 dan pin out IC MAX232.

Gambar 2.6 IC MAX 232 IC MAX232 memiliki dua charge-pump internal yang berfungsi sebagai konverter tegangan +5V menjadi ±10V saat tanpa beban untuk operasi driver RS232. Konverter pertama menggunakan kapasitor C1 untuk menggandakan tegangan input +5V menjadi +10V saat C3 berada pada output V+. Konverter kedua menggunakan kapasitor C2 untuk merubah +10V menjadi -10V saat C4 berada pada output V-. Berikut skematik rangkaian media komunikasi serialnya. Gambar 2.7 Skematik Rangkaian Media Komunikasi Serial 2.4 Komunikasi Serial Komunikasi serial ialah pengiriman data secara serial (data dikirim satu persatu secara berurutan dan bergantian), sehingga komunikasi serial lebih lambat daripada komunikasi paralel.

2.4.1 Prinsip Kerja Port Serial Perangkat yang menggunakan kabel serial untuk komunikasinya dibagi ke dalam dua kategori. Yaitu DCE (Data Communications Equipment) dan DTE (Data Terminal Equipment). Data Communications Equipment adalah perangkat seperti modem, TA adapter, plotter dan lain-lain, sedangkan Data Terminal Equipment adalah komputer atau terminal. Untuk menjamin terjadinya sebuah transfer data yang cepat dan realible antara 2 peralatan, lalu lintas data harus dikoordinasi dengan baik. Tidak seperti printer yang selalu mencetak setiap karakter yang diterimanya. Namun dalam komunikasi serial, bisa saja peralatan tidak memiliki lagi tampungan data yang diterimanya. Sehingga harus memberitahukan PC untuk tidak lagi mengirim data. Hingga modem selesai mengerjakan semua tugasnya dan kembali memberitahukan PC untuk kembali mengirim data berikutnya setelah modem siap. Pada tabel berikut terdapat nama pin yang dipakai oleh DB-9 beserta keterangannya. Tabel 2.3 Konfigurasi Pin DB9 2.5 Bahasa C Bahasa C adalah bahasa pemrograman yang dapat dikatakan berada antara bahasa tingkat rendah (bahasa yang berorientasi pada mesin) dan bahasa tingkat tinggi (bahasa yang berorientasi pada manusia). Seperti yang diketahui, bahasa tingkat tinggi mempunyai kompatibilitas antara platform. Karena itu, amat mudah untuk membuat program pada berbagai mesin. Berbeda halnya dengan menggunakan bahasa mesin, sebab setiap perintahnya sangat bergantung pada jenis mesin. Pembuat bahasa C adalah Brian W. Kernighan dan Dennis M. Ritchie pada tahun 1972. C adalah bahasa pemrograman terstruktur, yang membagi program dalam bentuk blok. Tujuannya untuk memudahkan dalam pembuatan dan pengembangan program. Program yang ditulis dengan bahasa C mudah sekali dipindahkan dari satu jenis program ke bahasa program lain. Hal ini karena adanya standarisasi bahasa C yaitu berupa standar ANSI (American National Standar Institut) yang dijadikan acuan oleh para pembuat

kompiler.jenis mesin. Pembuat bahasa C adalah Brian W. Kernighan dan Dennis M. Ritchie pada tahun 1972. C adalah bahasa pemrograman terstruktur, yang membagi program dalam bentuk blok. Tujuannya untuk memudahkan dalam pembuatan dan pengembangan program. Program yang ditulis dengan bahasa C mudah sekali dipindahkan dari satu jenis program ke bahasa program lain. Hal ini karena adanya standarisasi bahasa C yaitu berupa standar ANSI ( American National Standar Institut) yang dijadikan acuan oleh para pembuat kompiler. Kelebihan Bahasa C: - Bahasa C tersedia hampir di semua jenis computer. - Kode bahasa C sifatnya adalah portable dan fleksibel untuk semua jenis computer. - Bahasa C hanya menyediakan sedikit kata-kata kunci. hanya terdapat 32 kata kunci. - Proses executable program bahasa C lebih cepat - Dukungan pustaka yang banyak. - C adalah bahasa yang terstruktur - Bahasa C termasuk bahasa tingkat menengah penempatan ini hanya menegaskan bahwa c bukan bahasa pemrograman yang berorientasi pada mesin. yang merupakan ciri bahasa tingkat rendah. melainkan berorientasi pada obyek tetapi dapat dinterprestasikan oleh mesin dengan cepat. secepat bahasa mesin. inilah salah satu kelebihan c yaitu memiliki kemudahan dalam menyusun programnya semudah bahasa tingkat tinggi namun dalam mengesekusi program secepat bahasa tingkat rendah. Kekurangan Bahasa C: - Banyaknya operator serta fleksibilitas penulisan program kadang-kadang membingungkan pemakai. - Bagi pemula pada umumnya akan kesulitan menggunakan pointer. Struktur Bahasa Pemrograman C <preprosesor directive> <statement>; <statement>; Contoh :

Penjelasan : 1. Header File Header File adalah berkas yang berisi prototype fungsi. definisi konstanta. dan definisi variable. Fungsinya adalah kumpulan code C yang diberi nama dan ketika nama tersebut dipanggil maka kumpulan kode tersebut dijalankan. File header yang digunakan untuk mendefinisikan jenis mikrokontroler yang digunakan berfungsi sebagai pengarah yang mana pendeklarasian register-register yang terdapat program difungsikan untuk jenis mikrokontroler apa yang digunakan ( pada software Code Vision AVR ) contohnya di bawah ini: Contoh : #include <mega8535.h> #include<delay.h> #include <stdio. h> 2. Preprosesor Directive (#include) Preprosesor directive adalah bagian yang berisi pengikutsertaan file atau berkas-berkas fungsi maupun pendefinisian konstanta. Contoh: #include <stdio.h> #include phi 3.14 3. Void Void artinya fungsi yang mengikutinya tidak memiliki nilai kembalian (return). 4. Main ( ) Fungsi main ( ) adalah fungsi yang pertama kali dijalankan ketika program dieksekusi tanpa fungsi main suatu program tidak dapat dieksekusi namun dapat dikompilasi.

5. Statement Statement adalah instruksi atau perintah kepada suatu program ketika program itu dieksekusi untuk menjalankan suatu aksi. Setiap statement diakhiri dengan titik-koma (;). 2.5.1 Kata Kunci (Keyword) Kata kunci-kata kunci yang terdapat di C, sebagai berikut: Tabel 2.4 Kata-Kata Kunci 2.5.2 Identifier Identifier atau nama pengenal adalah nama yang ditentukan sendiri oleh pemrogram yang digunakan untuk menyimpan nilai, misalnya nama variable, nama konstanta, nama suatu elemen (misalnya: nama fungsi, nama tipe data, dll). Identifier punya ketentuan sebagai berikut : 1. Maksimum 32 karakter (bila lebih dari 32 karakter maka yang diperhatikan hanya 32 karakter pertama saja). 2. Case sensitive: membedakan huruf besar dan huruf kecilnya. 3. Karakter pertama harus karakter atau underscore ( _ ). selebihnya boleh angka. 4. Tidak boleh mengandung spasi atau blank. 5. Tidak boleh menggunakan kata yang sama dengan kata kunci dan fungsi. 2.5.3 Variabel Variabel adalah identifier yang nilainya dapat berubah atau diubah selama program berjalan (dieksekusi). Pengubahnya adalah user atau proses. - Deklarasi variabel (tipe_data nama_variabel;)

Variabel yang akan digunakan dalam program haruslah dideklarasikan terlebih dahulu. Pengertian deklarasi di sini berarti memesan memori dan menentukan jenis data yang bisa disimpan di dalamnya. Contoh : Int a, b, c; - Inisialisasi variabel (tipe_data nama_variabel = nilai;) Int a=15, b=7, c=0 2.5.4 Konstanta Konstanta adalah identifier yang nilainya tetap selama program berjalan/ dieksekusi. Cara untuk mengubahnya hanya melalui source codenya saja seperti halnya variabel, konstanta juga memiliki tipe. Penulisan konstanta mempunyai aturan tersendiri, sesuai dengan tipe masing-masing. 1. Konstanta karakter misalnya ditulis dengan diawali dan diakhiri dengan tanda petik tunggal, contohnya : A dan @. 2. Konstanta integer ditulis dengan tanda mengandung pemisah ribuan dan tidak mengandung bagian pecahan, contohnya : 1 dan 32767. 3. Konstanta real (float dan double) bisa mengandung pecahan (dengan tanda berupa titik) dan nilainya bisa ditulis dalam bentuk eksponensial (menggunakan tanda e), contohnya : 27.5f (untuk tipe float) atau 27.5 (untuk tipe double) dan 2.1e+5 (maksudnya 2,1 x 105 ). 4. Konstanta string merupakan deretan karakter yang diawali dan diakhiri dengan tanda petikganda ( ), contohnya : Pemrograman Dasar C. Contoh : 2.5.5 Tipe Data Dasar Data merupakan suatu nilai yang bisa dinyatakan dalam bentuk konstanta atau variabel. Konstanta menyatakan nilai yang tetap, sedangkan variabel menyatakan nilai yang dapat diubah-ubah selama eksekusi berlangsung.

Tabel 2.5 Ukuran Memori untuk Tipe Data Untuk mengetahui ukuran memory bisa dipakai fungsi sizeof (<tipe_data>). Catatan: Ukuran dan kawasan dari masing-masing tipe data adalah bergantung pada jenis mesin yang digunakan (misalnya mesin 16 bit bisa jadi memberikan hasil berbeda dengan mesin 32 bit). Untuk menampilkan hasil output dibutuhkan kode format, berikut adalah daftar kode format: Tabel 2.5 Daftar Kode Format

2.5.6 Karakter Escape Karakter escape adalah karakter yang diawali dengan tanda backslash (/), yang masingmasing memiliki makna tertentu. Berikut adalah daftar karakter: Tabel 2.6 Karakter Escape 2.5.7 Operator Aritmatika Operator aritmatika digunakan untuk melakukan proses perhitungan matematika. Fungsifungsi matematika yang terdapat pada bahasa C dapat dilihat pada tabel di bawah ini: Tabel 2. 7 Operator Aritmatika Contoh penggunaan operator aritmatika dapat dilihat di bawah ini, #include < mega8535.h>

#include <delay.h> void main (void) unsigned char a, b; a = 0x03; b = 0x05; DDRC 0XFF; // PORTC digunakan sebagai output while (1) PORTC = (a * b); delay_ms(500); 2.5.8 Operator Pembanding Operator pembanding digunakan untuk membandingkan 2 data atau lebih. Hasil operator akan di jalankan jika pernyataan benar dan tidak dijalankan jika salah. Operator pembanding dapat kita lihat pada tabel di bawah ini: Tabel 2.8 Operator Pembanding 2.5.9 Operator Logika Operator logika digunakan untuk membentuk logika dari dua pernyataan atau lebih. Operator logika dapat dilihat pada tabel di bawah ini:

Tabel 2.9 Operator Logika #include < mega8535.h> #include <delay.h> void main (void) DDRC = 0XFF; // sebagai output DDRA = 0X00; // sebagai input while (1) If ( PINA.0 == 1 ) (PINA.1 == 1 ) PORTC = 0XFF; delay_ms(500); PORTC = 0X00; Delay_ms(500); else PORTC = 0x00; delay_ms(500); Penjelasan program: Apabila PINA.0 atau PINA.1 diberi input logika 1 maka PORTC akan mengeluarkan logika 0xff kemudian logika 0x00 secara bergantian dengan selang waktu 0,5 s. dan apabila bukan PINA.1 atau PINA.0 diberi logika 1 maka PORTC akan mengeluarkan logika 0x00. 2.5.10 Operator Bitwise Operator logika ini bekerja pada level bit. Perbedaan Operator Bitwise dengan operator logika adalah pada operator logika akan menghasilkan pernyataan benar atau salah

sedangkan pada operator bitwise akan menghasilkan data biner. Operator Bitwise dapat dilihat pada tabel di bawah ini: Tabel 2.10 Operator Bitwise Contoh program: #include <mega8535.h> #include <delay.h> void main (void) unsigned char a,b,c; DDRC = 0xff; //portc sebagai o while (1) a = 0x12; b = 0x34; c = a & b; PORTC = c; delay_ms(500); ; Penjelasan program: a = 0x12 = 0001 0010 b = 0x32 = 0011 0000 ------------------------- a & b = 0x10 = 0001 0000

2.5.11 Operator Penambahan dan Pengurangan Operator ini digunakan untuk menaikkan atau menurunkan nilai suatu variabel dengan selisih 11. Operator ini dapat dilihat pada tabel di bawah ini: Tabel 2.11 Operator Penambahan dan Pengurangan 2.5.12 Pernyataan If dan If Bersarang Pernyataan if digunakan untuk pengambilan keputusan terhadap 2 atau lebih pernyataan dengan menghasilkan pernyataan benar atau salah. Jika pernyataan benar maka akan di jalankan instruksi pada blok nya, sedangkan jika pernyataan tidak benar maka instruksi yang pada blok lain yang dijalankan ( sesuai dengan arah programnya). Bentuk pernyataan IF adalah sebagai berikut: 1. Bentuk sederhana if (kondisi) Pernyataan_1; Pernyataan_2;...; 2. Pernyataan else if (kondisi) Pernyataan_1;...; else Pernyataan_2;...; 2.5.13 If di dalam if Pernyataan ini sering disebut nested if atau if bersarang. Salah satu bentuknya adalah sebagai berikut:

if (kondisi1) Pernyataan_1; else if (kondisi2) pernyataan_2; else if (kondisi3) pernyataan_3; else pernyataan; contoh program: if ( PINA.0 = =1) PORTC = 0xff; else PORTC = 0x00; Jika PINA.0 diberi input logika 1 maka PORTC akan mengeluarkan logika 0xff, jika yang pernyataan yang lain maka PORTC akan mengeluarkan logika 0x00. 2.5.14 Pernyatan While Pernyataan while digunakan untuk menguangi sebuah pernyataan atau blok kenyataan secara terus menerus selama kondisi tertentu masih terpenuhi. Bentuk pernyataan while adalah sebagai berikut : while (kondisi) // sebuah pernyataan atau blok pernyataan Jika pernyataan yang akan diulang hanya berupa sebuah pernyataan saja maka tanda dan bias dihilangkan. Contoh : unsigned char a=0;.. while (a<10)

PORTC=a; a++; Pernyataan di atas akan mengeluarkan data a ke port C secara berulang-ulang. Setiap kali pengulangan nilai a akan bertambah 1 dan setelah niai a mencapai 10 maka pengulangan selesai. 2.6 Code Vision AVR CodeVision AVR merupakan sebuah software yang digunakan untuk memprogram mikrokontroler sekarang ini telah umum. Mulai dari penggunaan untuk kontrol sederhana sampai kontrol yang cukup kompleks, mikrokontroler dapat berfungsi jika telah diisi sebuah program, pengisian program ini dapat dilakukan menggunakan compiler yang selanjutnya diprogram ke dalam mikrokontroler menggunakan fasilitas yang sudah di sediakan oleh program tersebut. Salah satu compiler program yang umum digunakan sekarang ini adalah CodeVision AVR yang menggunakan bahasa pemrograman C. CodeVision AVR mempunyai suatu keunggulan dari compiler lain, yaitu adanya codewizard, fasilitas ini memudahkan kita dalam inisialisasi mikrokontroler yang akan kita gunakan. Gambar 2.5 Tampilan CodeVision AVR

2.6 Visual Basic Visual Basic adalah bahasa pemrograman yang digunakan untuk membuat aplikasi yang berbasis grafis (GUI Graphical User Interface) dan Visual Basic ini sangat disukai oleh penggunanya karena fasilitas pemrograman yang disediakan sangat banyak serta sangat terbuka dalam penambahan komponen. Kemampuan dari Visual Basic : a. Dapat menghasilkan file-file eksekusi atau bersifat executable (file berakhiran *.EXE) sehingga dapat dijalankan dengan memanggil nama file tersebut. b. Dapat membuat program-program aplikasi yang berbasis windows. c. Dapat membuat objek-objek program bantu seperti ActiveX, Aplikasi Internet, file Help dan sebagainya d. Sangat mendukung sebagai pengelola database server dan pembuatan program mutisiuser. Gambar 2.6 Tampilan Visual Basic