SlideShare a Scribd company logo
1 of 13
Download to read offline
Modul Dasar Mikrokontroler | Beny Abdurrahman    | 20 
 
BAB III
Pemrograman Mikrokontroler
Penemuan mikrokontroler menjadi suatu revolusi tersendiri bagi industri
elektronika. Mikrokontroler merupakan sebuah komponen elektronika yang dapat
diprogram / programmable device. Dengan satu rangkaian mikrokontroler saja, kita bisa
menciptakan alat dengan berbagai macam tujuan yang berbeda hanya dengan mengubah
programnya, bukan hardwarenya. Karena kepraktisan inilah yang membuat
mikrokontroler menjadi sebuah komponen yang bisa digunakan untuk berbagai macam
keperluan.
1. Jenis-Jenis Bahasa Pemrograman Mikrokontroler
Ada banyak bahasa pemrograman yang dapat digunakan untuk memrogram sebuah
mikrokontroler. Jika dilihat dari tingkatan bahasanya, dalam pemrograman suatu
mikrokontroler terdapat tiga tingkatan bahasa pemrograman, yaitu :
o Bahasa Mesin
o Assembly
o Bahasa Tingkat Tinggi
Bahasa mesin (machine language/machine code) adalah bahasa yang dipahami oleh
komputer. Kode yang terdapat pada bahasa ini berupa kode bilangan biner yang dapat
diproses oleh mikroprosesor sehingga sulit dipahami oleh manusia. Bahasa mesin
umumnya bersifat spesifik, yaitu tidak lintas jenis mikroprosesor sehingga suatu jenis
mikroprosesor memiliki bahasa pemrograman yang berbeda dengan jenis mikroprosesor
lainnya. File bahasa mesin memiliki ekstensi .hex, karena untuk kepentingan manusia
yang memprogram kode biner dikonversikan menjadi kode bilangan heksadesimal.
Bahasa Assembly terdiri dari instruksi berupa representasi mnemonic dari instruksi
berupa kode bilangan biner dari bahasa mesin. Umumnya mnemonic berupa singkatan
tiga atau empat huruf dari kata yang mewakili suatu instruksi. Contohnya instruksi
Assembly adalah sebagai berikut :
o SUB adalah kode Assembly untuk instruksi substract, yaitu mengurangkan suatu
angka dari angka lain.
o CBI adalah kode Assembly untuk instruksi Clear Bit I/O, yaitu memberi logika
nol pada suatu pin I/O digital.
Instruksi pada Bahasa Assembly diterjemahkan menjadi bahasa mesin oleh perangkat
lunak Assembler. Seperti juga bahasa mesin bahasa Assembly juga spesifik untuk suatu
jenis mikroprosesor tertentu. Namun bahasa Assembly masih terlalu berorientasi mesin,
sehingga susah dipahami oleh manusia.
Bahasa yang lebih mudah dipahami disebut bahasa pemrograman tingkat tinggi (high
Modul Dasar Mikrokontroler | Beny Abdurrahman    | 21 
 
level programming language). Bahasa ini memiliki sintaks yang lebih mendekati bahasa
manusia. Hal ini menyebabkan bahasa tingkat tinggi lebih mudah untuk dipelajari. Meski
demikian bahasa tingkat tinggi umumnya menghasilkan ukuran kode yang lebih besar
dibandingkan bahasa Assembly. Bahasa tingkat tinggi memerlukan perangkat lunak
kompiler (compiler) untuk menerjemahkan kode menjadi bahasa mesin. Contoh bahasa
pemrograman tingkat tinggi adalah Bahasa C dan Basic.
Bahasa C ini memerlukan software compiler untuk diterjemahkan ke bahasa
asembly, file ASM kemudian decompile lagi menggunakan Assembler untuk
mendapatkan file *.HEX. File HEX inilah yang dimasukkan ke mikrokontroler
menggunakan perangkat lunak pemrogram (programmer) melalui perantaraan kabel
paralel ataupun serial.
Gambar 3.1. Langkah-langkah penulisan program ke mikrokontroler
Saat ini telah banyak dikembangkan compiler untuk beberapa bahasa pemrograman
tingkat tinggi yang dapat digunakan pada pemrograman mikrokontroler. Untuk
mikrokontroler keluarga AVR perangkat lunak pemrograman yang dapat digunakan
antara lain AVR Studio dari Atmel (http://www.atmel.com/tools/), SDCC (Small Device
C Compiler) dari Sandepp Duta (http://sdcc.sourceforge.net), Bascom-AVR (Basic
Compiler) dari MCS Electronics (www.mcse.com), CodeVision AVR dari HP InfoTech
(http://www.hpinfotech.com), dan WinAVR (winavr.sourceforge.net) serta yang terbaru
ada Arduino (www.arduino.cc).
2. Bahasa C
Bahasa C termasuk ke dalam bahasa pemrograman tingkat tinggi. Bahasa C adalah
bahasa yang banyak digunakan dalam pemrograman mikrokontroler. Oleh karena itu
sebelum kita melakukan pemrograman ada baiknya kita pelajari dahulu bahasa C.
Berikut ini penjelasan bahasa C dan aturan penulisan program dalam bahasa C.
Untuk seterusnya pada modul ini hanya akan dibahas pemrograman mikrokontroler AVR
menggunakan bahasa C, dengan software kompilernya menggunakan AVR Studio 4.
Modul Dasar Mikrokontroler | Beny Abdurrahman    | 22 
 
Struktur Penulisan Program menggunakan Bahasa C
Struktur Dasar
Pada pemrograman mikrokontroler bahasa C, tersedia format penulisan / struktur
dasarnya. Untuk struktur dasar penulisan bahasa C di AVR studio adalah sebagai berikut :
//program menyalakan lampu
#include <avr/io.h>
//ini adalah var lampu
int a;
void main (void){
//variabel lokal
DDRA=0x00;
PORTA=0xFF;
while (1){
//program utama
.......
}
}
Pada contoh program diatas, adalah struktur dasar pemrograman mikrokontroler.
Program harus diawali dengan preprosesor untuk mendefinisikan / memasukan file
tambahan dari luar, misalnya library I/O, library delay, dan sebagainya.
Induk Program berada diantara sintaks main(). Perlu diketahui bahwa setiap sintaks
yang diawali tanda kurung kurawal buka ( { ) harus juga diakhiri atau ditutup dengan
tanda kurung kurawal tutup ( } ).
Komentar adalah sintaks / kode yang tidak akan diterjemahkan ke dalam program.
Fungsi komentar hanya sebagai tanda / petunjuk bagi si penulis program itu sendiri. Kita
bisa menulis komentar dengan dua metode yaitu satu baris dan banyak baris. Untuk
banyak baris, tulis komentar diantara tanda /* dan */. Kemudian untuk komentar satu
baris cukup ditulis setelah dua tanda garis miring ( // ).
Preprocessor (#) : digunakan untuk
memasukkan (include) text dari file
lain dan mendefinisikan macro
Inisialisasi
Port
Sub Rutin
Program akan berjalan terus karena syarat while(1)
akan selalu menghasilkan nilai benar (true)
Komentar ditulis dalam format :
/*
Komentar beberapa baris
*/
Atau jika satu baris cukup tulis karakter
// komentarInduk
Program
Modul Dasar Mikrokontroler | Beny Abdurrahman    | 23 
 
Contoh pemrograman yang lebih lengkap (dengan fungsi tunda)
#include <avr/io.h> //pemanggilan header I/O
#include <util/delay.h> //pemanggilan header delay
int a; //variable a dengan type data int
void tunda (void){
for (a=0; a<1000; a++){ // pengulangan 1000x
_delay_ms(1); // pemanggilan delay 1ms
}
}
void main (void){
DDRA=0b11111110; // inisialisasi PORTA dijadikan output
while (1){
PORTA=0b00000000; //Led PORTA mati semua
tunda(); // pemanggilan fungsi tunda 1 detik
PORTA=0b11111111; //Led PORTA hidup semua
tunda(); // pemanggilan fungsi tunda 1 detik
}
}
Penjelasan lebih lanjut mengenai bahasa C kami jelaskan di bawah.
Variabel
Variabel adalah suatu simbol dalam program yang berfungsi untuk mewakili suatu
nilai/menyimpan nilai tertentu yang sifatnya dinamis, dapat berubah-ubah selama program
dijalankan. Dalam pemrograman bahasa C, untuk menggunakan variabel harus
mendeklarasikannya terlebih dahulu agar compiler mengenalinya. Bentuk umum untuk
mendeklarasikan variabel dalam bahasa c adalah :
tipe_data nama_variabel;
contoh :
int a; /*Mendeklarasikan variabel a yang bertipe integer*/
int b, c; /*Mendeklarasikan variabel b dan c yang bertipe integer*/
char u; /*Mendeklarasikan variabel u yang bertipe char*/
Modul Dasar Mikrokontroler | Beny Abdurrahman    | 24 
 
Aturan Penamaan Variabel
Ada beberapa aturan penamaan variabel pada bahasa c, yaitu sebagai berikut :
o Case sensitive, penulisan dengan menggunakan huruf kecil dan besar memiliki arti
yang berbeda (merupakan variabel yang berbeda) Contoh :
int a;
int A;
Variabel a dan A merupakan dua variabel yang berbeda.
o Nama variabel tidak boleh menggunakan spasi.
int bilangan bulat; /*Salah karena menggunakan spasi*/
int bilangan_bulat; /*Benar, karena tidak menggunakan spasi*/
o Nama variabel hanya boleh diawali dengan huruf atau garis bawah (tidak boleh
diawali dengan angka dan simbol lain) dan selanjutnya boleh diikuti oleh huruf atau
garis bawah atau angka (tetapi tidak boleh menggunakan simbol lain dibagian
manapun, seperti : @, #, $ dan lain-lain).
int @ngka; /*Salah, karena menggunakan simbol*/
int angk@; /*Salah, karena menggunakan simbol, meskipun berada di
belakang*/
int a5gk4; /*Benar, karena diawali dengan huruf dan diikuti angka*/
int _angka; /*Benar, karena diawali dengan garis bawah*/
int 4ngka; /*Salah, karena diawali dengan angka*/
o Panjang variabel max 32 karakter.
int abcdefghijklmnopqrstuvwxyzabcdef;
o Tidak boleh menggunakan keyword yang ada pada library
int for;
int void;
Klasifikasi Variabel
1. Variabel Menurut Lingkupnya
Lingkup variabel ditentukan oleh tempat dimana variabel tersebut dideklarasikan.
Menurut lingkupnya, variabel dibedakan menjadi dua,, yaitu variabel global dan variabel
lokal.
a) Variabel global, variabel yang dideklarasikan di luar blok fungsi main dan
fungsi pendukung lainnya. Variabel global dapat dikenali dan diakses oleh setiap
fungsi yang terdapat dalam program. Lihat contoh penggunaan variabel global.
b) Variabel lokal, variabel yang dideklarasikan di dalam suatu fungsi. Variabel lokal
hanya dapat diakses oleh fungsi dimana variabel tersebut dideklarasikan (tidak
dapat diakses dan dikenali oleh fungsi lain). Lihat contoh penggunaan variabel
lokal.
2. Variabel Menurut Jenisnya
Ada beberapa jenis variabel yang tersedia dalam bahasa C yang akan dibahas satu
per satu agar mempermudah implementasi suatu variabel ke dalam sebuah program.
Modul Dasar Mikrokontroler | Beny Abdurrahman    | 25 
 
Menurut jenisnya, variabel dibedakan menjadi empat, yaitu variabel otomatis, variabel
statis, variabel external, dan variabel register.
Konstanta
Konstanta Integer dan long integer ditulis dalam bentuk desimal (1234), dalam bentuk
biner (0b10101010), hexa desimal mempunyai awalan 0x (0xff) dan oktal dengan awalan
07 (0777).
Unsigned integer mempunyai akhiran U (10000U)
Long integer mempunyai akhiran L (99L)
Unsigned long integer mempunyai akhiran UL (12000000UL)
Folating point mempunyai akhiran F (3.145F)
Konstanta karakter harus berada di dalam tanda kutip (‘teks‘)
Tipe Data
Dalam pemrograman bahasa C dikenal beberapa tipe data antara lain Bit, Char, Int,
Long Int dan Float. Tipe data ini biasanya terkait dengan sebuah konstanta atau variabel
yang berguna pada proses pemrograman. masing-masing tipe data tersebut mempunyai
ukuran dan jangkauan yang berbeda-beda seperti tipe data Char memiliki ukuran 8 bit
dengan jangkauan 256 sedangkan tipe data Int memiliki ukuran 16 bit dengan jangkauan
65536.
Dalam pemrograman mikrokontroler, pemilihan tipe data yang benar sangat penting
terutama untuk menghemat pemakaian memori dari mikrokontroler tersebut. Pemilihan
data yang tepat juga mempercepat proses kerja mikrokontroler karena jumlah bit yang
harus diproses lebih sedikit. Sebagai contoh misalnya kita membutuhkan sebuah variabel
dengan kemungkinan nilai yang tidak lebih dari 255 seperti data display 7 segmen, maka
sebaiknya kita menggunakan tipe data Char. Berikut ini tabel tipe data yang ada dalam
bahasa C beserta ukuran dan jangkauannya :
Tabel 3.1. Tipe data pada bahasa C
Tipe
Ukuran
(Bit)
Jangkauan (Range)
Bit 1
0, 1 (tipe data bit hanya dapat digunakan untuk variabel
global)
Char 8 -128 sampai 127
Unsigned Char 8 0 sampai 255
Signed Char 8 -128 sampai 127
Int 16 -32768 sampai 32767
Short int 16 -32768 sampai 32767
Unsigned Int 16 0 sampai 65535
Signed Int 16 -32768 sampai 32767
Long Int 32 -2147483648 sampai 2147483647
Modul Dasar Mikrokontroler | Beny Abdurrahman    | 26 
 
Unsigned Long
Int
32 0 sampai 4294967295
Signed Long Int 32 -2147483648 sampai 2147483647
Float 32 + 1.175e-38 sampai + 3.402e38
Double 32 + 1.175e-38 sampai + 3.402e38
Perbedaan Tipe data Signed dan Unsigned
Khusus untuk tipe data Char, Int dan Long Int dikenal istilah Signed dan Unsigned
atau dalam bahasa Indonesia berarti bertanda dan tak bertanda. Yang dimaksud dengan
bertanda disini adalah penggunaan tanda minus (-). Tipe data yang termasuk "Signed"
boleh disebut dengan tipe datanya saja, misalnya tipe data Signed Char bisa ditulis
dengan Char saja. Sedangkan untuk tipe "Unsigned" harus ditulis secara lengkap
misalnya Unsigned Char.
Dengan menetapkan tipe Unsigned pada sebuah tipe data maka kita akan
memperoleh tambahan jangkauan bilangan positif. Sebagai contoh, sebuah tipe data Char
memiliki jangkauan sebesar 256 artinya pada tipe yang Signed maka jangkauan tipe data
Char adalah -128 sampai -127. Jika kita menetapkan tipe data Unsigned Char maka
jangkauannya menjadi 0 sampai 255. Hal ini karena tanda minus dihilangkan maka
hitungan dimulai dari nol.
Operator
Operator adalah simbol atau karakter yang digunakan oleh program untuk melakukan
sebuah operasi dalam sebuah proses program seperti operasi bilangan dan operasi string.
Bahasa C mengenal penggunaan beberapa operator dengan fungsi yang berbeda-beda.
Setiap operator memiliki kedudukan atau hirarki saat penanganan program. Operator
dengan hirarki lebih tinggi akan dikerjakan lebih dahulu dibandingkan operator dengan
hirarki lebih rendah.
Pada pemrograman bahasa C khususnya untuk pemrograman pada mikrokontroler
AVR, kita memerlukan operator untuk memanipulasi data yang berupa angka saat proses
pemrograman. Operator yang lazim digunakan adalah operator aritmatika, operator
kondisi/perbandingan, operator logika, operator bitwise dan operator penugasan.
Berikut ini beberapa operator pada bahasa C dan penjelasannya yang sering
digunakan pada pemrograman mikrokontroler AVR :
1. Operator aritmetika
Adalah operator yang digunakan untuk operasi bilangan seperti penjumlahan,
pengurangan, perkalian, pembagian, modulus, increment dan decrement. Operator
aritmatika bisa digunakan pada semua tipe bilangan seperti char, int, long int dan float.
Operator aritmatika juga bisa menangani tipe signed dan unsigned.
Increment adalah operasi bilangan dimana bilangan hasil merupakan bilangan asal
ditambah satu, sedangkan decrement adalah operasi bilangan dimana bilangan hasil
merupakan bilangan asal dikurang satu.
Modul Dasar Mikrokontroler | Beny Abdurrahman    | 27 
 
Tabel 3.2. Operator Aritmetika
Operator Nama Contoh Hasil
+ Penjumlahan z = x + y Penjumlahan dari x dan y
- Pengurangan z = x - y Selisih dari x dan y
* Perkalian z = x * y Perkalian dari x dan y
/ Pembagian z = x / y Pembagian x oleh y
% Modulus z = x % y Sisa dari x dibagi y
++ Increment x++ Sama dengan x = x+1
-- Decrement x-- Sama dengan x = x-1
2. Operator bitwise
Adalah operator yang menangani operasi bilangan biner seperti and, or, not dan
sebagainya. Operator bitwise ini akan menangani data sesuai dengan tipenya. Misalnya
sebuah data bertipe char atau byte maka bilangan yang dihasilkan adalah sebesar 8 bit.
Tabel 3.3. Operator bitwise
Operator Nama Contoh
Dalam biner
(4bit)
Hasil
Biner
Hasil
Decimal
& AND x = 5 & 1 0101 & 0001 0001 1
| OR x = 5 | 1 0101 | 0001 0101 5
~ NOT x = ~ 5 ~0101 1010 10
^ XOR x = 5 ^ 1 0101 ^ 0001 0100 4
<< Left shift x = 5 << 1 0101 << 1 1010 10
>> Right shift x = 5 >> 1 0101 >> 1 0010 2
3. Operator penugasan
Adalah operator yang digunakan untuk memberi nilai pada sebuah variabel.
Operator penugasan yang paling dasar adalah sama dengan (=). Dari operator ini dapat
dikembangkan beberapa operator penugasan lain seperti +=, -= dan sebagainya.
Tabel 3.4. Operator Penugasan
Operator Penugasan Sama dengan Deskripsi
= x = y x = y variabel x memperoleh nilai dari variabel y
+= x += y x = x + y variabel x memperoleh nilai dari x + y
-= x -= y x = x - y variabel x memperoleh nilai dari x - y
Modul Dasar Mikrokontroler | Beny Abdurrahman    | 28 
 
*= x *= y x = x * y variabel x memperoleh nilai dari x * y
/= x /= y x = x / y variabel x memperoleh nilai dari x / y
%= x %= y x = x % y variabel x memperoleh nilai dari x % y
<<= x <<= y x = x << y variabel x memperoleh nilai dari x << y
>>= x >>= y x = x >> y variabel x memperoleh nilai dari x >> y
&= x &= y x = x & y variabel x memperoleh nilai dari x & y
|= x |= y x = x | y variabel x memperoleh nilai dari x | y
^= x ^= y x = x ^ y variabel x memperoleh nilai dari x ^ y
4. Operator perbandingan
Adalah operator yang digunakan untuk membandingkan dua buah nilai atau
variabel. Nilai yang dibandingkan bisa berupa angka maupun string. Hasil dari
perbandingan ini berupa nilai boolean, yaitu true (benar) atau false (salah).
Tabel 3.5. Operator Perbandingan
Operator Nama Contoh Hasil
== Sama dengan a == b benar jika a sama dengan b
!= Tidak sama dengan a != b benar jika a berbeda dengan b
> Lebih besar a > b benar jika a lebih besar dari b
< Lebih kecil a < b benar jika a lebih kecil dari b
>=
Lebih besar atau
sama dengan
a >= b
benar jika a lebih besar atau
sama dengan b
<=
Lebih kecil atau
sama dengan
a <= b
benar jika a lebih kecil atau
sama dengan b
5. Operator logika
Adalah operator yang digunakan untuk menangani tipe data boolean. Nilai data
boolean bisa berupa kondisi benar (true) atau salah (false) dan bisa juga 1 atau 0.
Tabel 3.6. Operator Logika
Operator Nama Contoh Hasil
&& And a && b
benar jika a and b bernilai
benar
|| Or a || b
benar jika salah satu a atau b
bernilai benar
! Not !a benar jika a tidak benar
Modul Dasar Mikrokontroler | Beny Abdurrahman    | 29 
 
6. Operator lain
Selain dari beberapa operator diatas, ada beberapa operator lain yang juga sering
dipakai terutam pada pemrograman array misalnya operator sizeof dan ppointer (*).
Tabel 3.7. Operator Lainnya
Operator Keterangan Contoh Hasil
sizeof()
Menghasilkan
ukuran (size) dari
variabel.
sizeof(a)
Menghasilkan bilangan
integer, misal 5
&
Mengembalikan
alamat (address) dari
variabel.
&a
Menghasilkan alamat
sebenarnya dari variabel
*
Pointer ke sebuah
variabel.
*a
Mengarahkan pointer ke
sebuah variabel.
? : Operator kondisi b = (a == 1) ? 20: 30;
Jika kondisi a==1 benar maka
nilai b=20 dan jika salah maka
nilai b=30
Instruksi Pada Bahasa C
Beberapa Instruksi bahasa C yang sering digunakan dalam pemrograman mikrokontroler
bisa dilihat pada tabel :
Tabel 3.5. Instruksi-instruksi pada bahasa C
No Fungsi Penulisan Program
1. Syarat /
Kondisional
if (kondisi)
{
………(aksi yang dikerjakan)
};
2. Percabangan if (kodisi)
{
……(aksi yang dikerjakan)
}
else if (kondisi)
{
…..(aksi yang dikerjakan)
}
…..…..
else
{
…..(aksi yang dikerjakan)
};
Modul Dasar Mikrokontroler | Beny Abdurrahman    | 30 
 
3. Percabangan switch (variable)
{
case nilai_variabel_ke-1:
{
….. (aksi yang dikerjakan)
}
case nilai_variabel_ke-2:
{
….. (aksi yang dikerjakan)
}
…………
………..
default:
{
…. (aksi yang dikerjakan)
}
}
4. Melompat goto alamat_tujuan;
…………….
…………….
alamat_tujuan:
……………
…………….
5. Melompat
keluar dari
perulangan
break;
6. Perulangan while (kondisi)
{
……(aksi yang dikerjakan)
}
7. Perulangan do
{
…..(aksi yang dikerjakan)
}
while (syarat);
8. Perulangan for (nilai_awal,syarat,operasi++/--)
{
…..(aksi yang dikerjakan)
};
Modul Dasar Mikrokontroler | Beny Abdurrahman    | 31 
 
PROSEDUR DAN FUNGSI
Seringkali dalam suatu program kita menemukan kelompok intruksi untuk suatu
keperluan tertentu yang sering dijalankan. Kelompok instruksi ini bisa dibuat sebagai
prosedur atau fungsi. Langkah ini akan dapat menghemat memori dibanding bila
instruksi-instruksi tersebut ditulis berulang-ulang. Ingat bahwa disini kita akan
memprogram mikrokontoler yang memorinya terbatas.
PROSEDUR
Prosedur adalah suatu kumpulan instruksi untuk mengerjakan suatu keperluan tertentu
tanpa mengembalikan suatu nilai.
… 
void nama_prosedure (parameter1, parameter2,..,parameter n) { 
    Pernyataan‐pernyataan 
} 
… 
Contoh:
void kedap_kedip_LED (unsigned int i) 
{ 
  while (i–)   
  { 
    PORTD=0x00; 
    _delay_ms(100); 
    PORTD=0xff; 
  } 
} 
Jika kita memanggil prosedur tersebut pada program tersebut maka PORTD akan nyala
dan mati selama nilai I yang diberikan. Untuk memanggil prosedur pada progam utama
cukup dengan memanggil nama prosedure tersebut dan diisi parameter yang ada jika ada.
void main(void) 
    unsigned int I; 
    …. 
    i=100; 
    kedap_kedip_LED(i); 
    … 
} 
Modul Dasar Mikrokontroler | Beny Abdurrahman    | 32 
 
FUNGSI
Fungsi adalah suatu kumpulan instruksi untuk mengerjakan suatu keperluan tertentu
dengan hasil akhir pengembangan nilai keprluan tersebut.
Type_data nama_fungsi (parameter1, parameter2,..,parametern) 
{ 
    Pernyataan‐pernyataan 
} 
Contoh:
Int luas(int panjang, int lebar) 
{ 
  Luas=panjang*lebar; 
  Return luas; 
} 
Cara pemanggilan fungsi pada program yaitu:
Void main(void) 
{ 
    Int Luas_R, pj,lb; 
    …. 
    Luas_R=luas(pj,lb); 
    … 
} 

More Related Content

What's hot

Laporan Praktikum Mikrokontroler
Laporan Praktikum MikrokontrolerLaporan Praktikum Mikrokontroler
Laporan Praktikum MikrokontrolerMuhammad Taufik
 
Register Instruksi dan Accumulator
Register Instruksi dan AccumulatorRegister Instruksi dan Accumulator
Register Instruksi dan AccumulatorLusiana Diyan
 
Modul simulasi pemograman mikrokontroler
Modul simulasi pemograman mikrokontrolerModul simulasi pemograman mikrokontroler
Modul simulasi pemograman mikrokontrolerpersonal
 
Model Matematis untuk Rangkaian Elektrik
Model Matematis untuk Rangkaian ElektrikModel Matematis untuk Rangkaian Elektrik
Model Matematis untuk Rangkaian ElektrikRumah Belajar
 
Modul teknik pemrograman mikrokontroler dan mikroprosesor
Modul teknik pemrograman mikrokontroler dan mikroprosesorModul teknik pemrograman mikrokontroler dan mikroprosesor
Modul teknik pemrograman mikrokontroler dan mikroprosesorBeny Abd
 
Intermediate code kode antara
Intermediate code   kode antaraIntermediate code   kode antara
Intermediate code kode antaraGunawan Manalu
 
sharing belajar OP Am elektronika dasar
sharing belajar OP Am elektronika dasarsharing belajar OP Am elektronika dasar
sharing belajar OP Am elektronika dasarRinanda S
 
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...Uofa_Unsada
 
Jenis dan proses interupsi
Jenis dan proses interupsiJenis dan proses interupsi
Jenis dan proses interupsilaurensius08
 
Modul pelatihan praktikum mikrokontroler dengan software proteus
Modul pelatihan praktikum mikrokontroler dengan software proteusModul pelatihan praktikum mikrokontroler dengan software proteus
Modul pelatihan praktikum mikrokontroler dengan software proteusKukuh Adhi Rumekso
 
Perancangan Antena Mikrostrip Pada Frekuensi 2,3 Ghz Untuk Aplikasi LTE (Long...
Perancangan Antena Mikrostrip Pada Frekuensi 2,3 Ghz Untuk Aplikasi LTE (Long...Perancangan Antena Mikrostrip Pada Frekuensi 2,3 Ghz Untuk Aplikasi LTE (Long...
Perancangan Antena Mikrostrip Pada Frekuensi 2,3 Ghz Untuk Aplikasi LTE (Long...Uofa_Unsada
 
Bank Soal Materi Pelajaran Dioda
Bank Soal Materi Pelajaran DiodaBank Soal Materi Pelajaran Dioda
Bank Soal Materi Pelajaran DiodaMuhammad Hendra
 
PowerPoint - Set Instruksi dan Teknik Pengalamatan
PowerPoint - Set Instruksi dan Teknik PengalamatanPowerPoint - Set Instruksi dan Teknik Pengalamatan
PowerPoint - Set Instruksi dan Teknik PengalamatanIndri Sukmawati Rahayu
 
Karakteristik transistor
Karakteristik transistorKarakteristik transistor
Karakteristik transistorandhi_setyo
 
Analisa Website Traveloka - Makalah IMK
Analisa Website Traveloka - Makalah IMKAnalisa Website Traveloka - Makalah IMK
Analisa Website Traveloka - Makalah IMKMiftahul Muttaqin
 
sistem digital-Rangkaian penjumlah
sistem digital-Rangkaian penjumlahsistem digital-Rangkaian penjumlah
sistem digital-Rangkaian penjumlahDhiah Febri
 

What's hot (20)

Laporan Praktikum Mikrokontroler
Laporan Praktikum MikrokontrolerLaporan Praktikum Mikrokontroler
Laporan Praktikum Mikrokontroler
 
Modul io
Modul ioModul io
Modul io
 
Register Instruksi dan Accumulator
Register Instruksi dan AccumulatorRegister Instruksi dan Accumulator
Register Instruksi dan Accumulator
 
Modul simulasi pemograman mikrokontroler
Modul simulasi pemograman mikrokontrolerModul simulasi pemograman mikrokontroler
Modul simulasi pemograman mikrokontroler
 
Modul pengenalan proteus
Modul pengenalan proteusModul pengenalan proteus
Modul pengenalan proteus
 
Model Matematis untuk Rangkaian Elektrik
Model Matematis untuk Rangkaian ElektrikModel Matematis untuk Rangkaian Elektrik
Model Matematis untuk Rangkaian Elektrik
 
Modul teknik pemrograman mikrokontroler dan mikroprosesor
Modul teknik pemrograman mikrokontroler dan mikroprosesorModul teknik pemrograman mikrokontroler dan mikroprosesor
Modul teknik pemrograman mikrokontroler dan mikroprosesor
 
Intermediate code kode antara
Intermediate code   kode antaraIntermediate code   kode antara
Intermediate code kode antara
 
Resume komputer sap
Resume komputer sapResume komputer sap
Resume komputer sap
 
sharing belajar OP Am elektronika dasar
sharing belajar OP Am elektronika dasarsharing belajar OP Am elektronika dasar
sharing belajar OP Am elektronika dasar
 
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
 
Jenis dan proses interupsi
Jenis dan proses interupsiJenis dan proses interupsi
Jenis dan proses interupsi
 
Modul pelatihan praktikum mikrokontroler dengan software proteus
Modul pelatihan praktikum mikrokontroler dengan software proteusModul pelatihan praktikum mikrokontroler dengan software proteus
Modul pelatihan praktikum mikrokontroler dengan software proteus
 
Perancangan Antena Mikrostrip Pada Frekuensi 2,3 Ghz Untuk Aplikasi LTE (Long...
Perancangan Antena Mikrostrip Pada Frekuensi 2,3 Ghz Untuk Aplikasi LTE (Long...Perancangan Antena Mikrostrip Pada Frekuensi 2,3 Ghz Untuk Aplikasi LTE (Long...
Perancangan Antena Mikrostrip Pada Frekuensi 2,3 Ghz Untuk Aplikasi LTE (Long...
 
Bank Soal Materi Pelajaran Dioda
Bank Soal Materi Pelajaran DiodaBank Soal Materi Pelajaran Dioda
Bank Soal Materi Pelajaran Dioda
 
PowerPoint - Set Instruksi dan Teknik Pengalamatan
PowerPoint - Set Instruksi dan Teknik PengalamatanPowerPoint - Set Instruksi dan Teknik Pengalamatan
PowerPoint - Set Instruksi dan Teknik Pengalamatan
 
Karakteristik transistor
Karakteristik transistorKarakteristik transistor
Karakteristik transistor
 
Sistem Operasi Komputer
Sistem Operasi KomputerSistem Operasi Komputer
Sistem Operasi Komputer
 
Analisa Website Traveloka - Makalah IMK
Analisa Website Traveloka - Makalah IMKAnalisa Website Traveloka - Makalah IMK
Analisa Website Traveloka - Makalah IMK
 
sistem digital-Rangkaian penjumlah
sistem digital-Rangkaian penjumlahsistem digital-Rangkaian penjumlah
sistem digital-Rangkaian penjumlah
 

Viewers also liked

Modul dasar-mikrokontroler-bab-i-pengantar
Modul dasar-mikrokontroler-bab-i-pengantarModul dasar-mikrokontroler-bab-i-pengantar
Modul dasar-mikrokontroler-bab-i-pengantarBeny Abdurrahman
 
Bab 4. Penggunaan Software AVR Studio 4, Simulasi dan Downloader
Bab 4. Penggunaan Software  AVR Studio 4, Simulasi dan DownloaderBab 4. Penggunaan Software  AVR Studio 4, Simulasi dan Downloader
Bab 4. Penggunaan Software AVR Studio 4, Simulasi dan DownloaderBeny Abd
 
Mp 2 jenis-mikroprosesor
Mp 2 jenis-mikroprosesorMp 2 jenis-mikroprosesor
Mp 2 jenis-mikroprosesorOlbers Letfaar
 
Modul arduino i ii
Modul arduino i iiModul arduino i ii
Modul arduino i iisutono stn
 
Modul Gambar Teknik : KB2. Simbol Elektronika
Modul Gambar Teknik : KB2. Simbol ElektronikaModul Gambar Teknik : KB2. Simbol Elektronika
Modul Gambar Teknik : KB2. Simbol ElektronikaBeny Abd
 
silabus elektronika industri
silabus elektronika industrisilabus elektronika industri
silabus elektronika industriRandi Setiawan
 
Laporan praktikum modul 5
Laporan praktikum modul 5Laporan praktikum modul 5
Laporan praktikum modul 5Devi Apriansyah
 
Pembersih asap rokok dengan sensor mq2 best arduino project
Pembersih asap rokok dengan sensor mq2 best arduino projectPembersih asap rokok dengan sensor mq2 best arduino project
Pembersih asap rokok dengan sensor mq2 best arduino projectJejen Jaenudin
 
Induktor dan transformator
Induktor dan transformatorInduktor dan transformator
Induktor dan transformatorBeny Abd
 
0.3 arsitektur mikrokontroler
0.3   arsitektur mikrokontroler0.3   arsitektur mikrokontroler
0.3 arsitektur mikrokontrolerAdi Tri Soelistio
 
Electric car with arduino
Electric car with arduinoElectric car with arduino
Electric car with arduinoDishant Sharma
 
Alat Pendeteksi Sirkulasi Manusia di Dalam Ruangan
Alat Pendeteksi Sirkulasi Manusia di Dalam RuanganAlat Pendeteksi Sirkulasi Manusia di Dalam Ruangan
Alat Pendeteksi Sirkulasi Manusia di Dalam Ruanganyenniyanuar
 
Monitoring temperature rumah dengan display lcd dan recording
Monitoring temperature rumah dengan display lcd dan recordingMonitoring temperature rumah dengan display lcd dan recording
Monitoring temperature rumah dengan display lcd dan recordingYuda Wardiana
 
Bab 5 Pengolahan Input Output
Bab 5  Pengolahan Input OutputBab 5  Pengolahan Input Output
Bab 5 Pengolahan Input OutputBeny Abd
 
Pemahaman Dasar Mikrokontroler
Pemahaman Dasar MikrokontrolerPemahaman Dasar Mikrokontroler
Pemahaman Dasar MikrokontrolerAbel Tasfir
 
AIR QUALITY CONTROL BASED ON MICROCONTROLLER
AIR QUALITY CONTROL BASED ON MICROCONTROLLERAIR QUALITY CONTROL BASED ON MICROCONTROLLER
AIR QUALITY CONTROL BASED ON MICROCONTROLLERZikra Dinandy
 
Monitoring dan Nutrisi Otomatis Tanaman Hidroponik dengan dengn Sensor Ultras...
Monitoring dan Nutrisi Otomatis Tanaman Hidroponik dengan dengn Sensor Ultras...Monitoring dan Nutrisi Otomatis Tanaman Hidroponik dengan dengn Sensor Ultras...
Monitoring dan Nutrisi Otomatis Tanaman Hidroponik dengan dengn Sensor Ultras...Ade Herdiana
 

Viewers also liked (20)

Modul dasar-mikrokontroler-bab-i-pengantar
Modul dasar-mikrokontroler-bab-i-pengantarModul dasar-mikrokontroler-bab-i-pengantar
Modul dasar-mikrokontroler-bab-i-pengantar
 
Bab 4. Penggunaan Software AVR Studio 4, Simulasi dan Downloader
Bab 4. Penggunaan Software  AVR Studio 4, Simulasi dan DownloaderBab 4. Penggunaan Software  AVR Studio 4, Simulasi dan Downloader
Bab 4. Penggunaan Software AVR Studio 4, Simulasi dan Downloader
 
Mp 2 jenis-mikroprosesor
Mp 2 jenis-mikroprosesorMp 2 jenis-mikroprosesor
Mp 2 jenis-mikroprosesor
 
Modul arduino i ii
Modul arduino i iiModul arduino i ii
Modul arduino i ii
 
6 Frekuensi Sinyal
6  Frekuensi Sinyal6  Frekuensi Sinyal
6 Frekuensi Sinyal
 
Modul Gambar Teknik : KB2. Simbol Elektronika
Modul Gambar Teknik : KB2. Simbol ElektronikaModul Gambar Teknik : KB2. Simbol Elektronika
Modul Gambar Teknik : KB2. Simbol Elektronika
 
Dioda
DiodaDioda
Dioda
 
silabus elektronika industri
silabus elektronika industrisilabus elektronika industri
silabus elektronika industri
 
Laporan praktikum modul 5
Laporan praktikum modul 5Laporan praktikum modul 5
Laporan praktikum modul 5
 
Pembersih asap rokok dengan sensor mq2 best arduino project
Pembersih asap rokok dengan sensor mq2 best arduino projectPembersih asap rokok dengan sensor mq2 best arduino project
Pembersih asap rokok dengan sensor mq2 best arduino project
 
Induktor dan transformator
Induktor dan transformatorInduktor dan transformator
Induktor dan transformator
 
0.3 arsitektur mikrokontroler
0.3   arsitektur mikrokontroler0.3   arsitektur mikrokontroler
0.3 arsitektur mikrokontroler
 
Electric car with arduino
Electric car with arduinoElectric car with arduino
Electric car with arduino
 
Alat Pendeteksi Sirkulasi Manusia di Dalam Ruangan
Alat Pendeteksi Sirkulasi Manusia di Dalam RuanganAlat Pendeteksi Sirkulasi Manusia di Dalam Ruangan
Alat Pendeteksi Sirkulasi Manusia di Dalam Ruangan
 
Monitoring temperature rumah dengan display lcd dan recording
Monitoring temperature rumah dengan display lcd dan recordingMonitoring temperature rumah dengan display lcd dan recording
Monitoring temperature rumah dengan display lcd dan recording
 
Bab 5 Pengolahan Input Output
Bab 5  Pengolahan Input OutputBab 5  Pengolahan Input Output
Bab 5 Pengolahan Input Output
 
Pemahaman Dasar Mikrokontroler
Pemahaman Dasar MikrokontrolerPemahaman Dasar Mikrokontroler
Pemahaman Dasar Mikrokontroler
 
AIR QUALITY CONTROL BASED ON MICROCONTROLLER
AIR QUALITY CONTROL BASED ON MICROCONTROLLERAIR QUALITY CONTROL BASED ON MICROCONTROLLER
AIR QUALITY CONTROL BASED ON MICROCONTROLLER
 
Materi 2
Materi 2Materi 2
Materi 2
 
Monitoring dan Nutrisi Otomatis Tanaman Hidroponik dengan dengn Sensor Ultras...
Monitoring dan Nutrisi Otomatis Tanaman Hidroponik dengan dengn Sensor Ultras...Monitoring dan Nutrisi Otomatis Tanaman Hidroponik dengan dengn Sensor Ultras...
Monitoring dan Nutrisi Otomatis Tanaman Hidroponik dengan dengn Sensor Ultras...
 

Similar to Pemrograman Mikrokontroler Menggunakan Bahasa C

Sekilas tentang c
Sekilas tentang cSekilas tentang c
Sekilas tentang cDyes Wirok
 
Compiler dan Interpreter
Compiler dan InterpreterCompiler dan Interpreter
Compiler dan InterpreterMukti Pasta
 
technik kompilasi
technik kompilasitechnik kompilasi
technik kompilasimastnie
 
Teknik kompilasi dalam bahasa pemograman c
Teknik kompilasi dalam bahasa pemograman cTeknik kompilasi dalam bahasa pemograman c
Teknik kompilasi dalam bahasa pemograman cadhifatra agussalim
 
Kompilasi pada bahasa c session 3
Kompilasi pada bahasa c session 3Kompilasi pada bahasa c session 3
Kompilasi pada bahasa c session 3adhifatra agussalim
 
Tm teknik kompilasi juni 2013
Tm   teknik kompilasi juni 2013Tm   teknik kompilasi juni 2013
Tm teknik kompilasi juni 2013Ratzman III
 
Artikel bahasa pemrograman
Artikel bahasa pemrogramanArtikel bahasa pemrograman
Artikel bahasa pemrogramanroy naldo
 
Pendahuluan teknik kompilasi session 1
Pendahuluan teknik kompilasi session 1Pendahuluan teknik kompilasi session 1
Pendahuluan teknik kompilasi session 1adhifatra agussalim
 
Modul 2 teknik pemrograman mengenal bahasa c dan compiler
Modul 2 teknik pemrograman mengenal bahasa c dan compilerModul 2 teknik pemrograman mengenal bahasa c dan compiler
Modul 2 teknik pemrograman mengenal bahasa c dan compilerBeny Abd
 
Teknik kompilasi
Teknik kompilasi Teknik kompilasi
Teknik kompilasi Mr. FM
 
Bab 2 Definisi Algoritma
Bab 2 Definisi AlgoritmaBab 2 Definisi Algoritma
Bab 2 Definisi Algoritmapakdemamo
 
Bahasa pemrograman sistem mikroprosesor
Bahasa pemrograman sistem mikroprosesorBahasa pemrograman sistem mikroprosesor
Bahasa pemrograman sistem mikroprosesorYuli Ermawati
 
Teknik kompilasi
Teknik kompilasiTeknik kompilasi
Teknik kompilasiHedyIzmaya
 

Similar to Pemrograman Mikrokontroler Menggunakan Bahasa C (20)

Sekilas tentang c
Sekilas tentang cSekilas tentang c
Sekilas tentang c
 
Compiler dan Interpreter
Compiler dan InterpreterCompiler dan Interpreter
Compiler dan Interpreter
 
technik kompilasi
technik kompilasitechnik kompilasi
technik kompilasi
 
Teknik kompilasi dalam bahasa pemograman c
Teknik kompilasi dalam bahasa pemograman cTeknik kompilasi dalam bahasa pemograman c
Teknik kompilasi dalam bahasa pemograman c
 
Kompilasi pada bahasa c session 3
Kompilasi pada bahasa c session 3Kompilasi pada bahasa c session 3
Kompilasi pada bahasa c session 3
 
Tm teknik kompilasi juni 2013
Tm   teknik kompilasi juni 2013Tm   teknik kompilasi juni 2013
Tm teknik kompilasi juni 2013
 
flowchart
flowchartflowchart
flowchart
 
Artikel bahasa pemrograman
Artikel bahasa pemrogramanArtikel bahasa pemrograman
Artikel bahasa pemrograman
 
Pendahuluan teknik kompilasi session 1
Pendahuluan teknik kompilasi session 1Pendahuluan teknik kompilasi session 1
Pendahuluan teknik kompilasi session 1
 
Modul 2 teknik pemrograman mengenal bahasa c dan compiler
Modul 2 teknik pemrograman mengenal bahasa c dan compilerModul 2 teknik pemrograman mengenal bahasa c dan compiler
Modul 2 teknik pemrograman mengenal bahasa c dan compiler
 
Teknik kompilasi
Teknik kompilasi Teknik kompilasi
Teknik kompilasi
 
Bab 2 Definisi Algoritma
Bab 2 Definisi AlgoritmaBab 2 Definisi Algoritma
Bab 2 Definisi Algoritma
 
Pertemuan I Teori
Pertemuan I TeoriPertemuan I Teori
Pertemuan I Teori
 
Kbp dengan-c
Kbp dengan-cKbp dengan-c
Kbp dengan-c
 
Bahasa pemrograman sistem mikroprosesor
Bahasa pemrograman sistem mikroprosesorBahasa pemrograman sistem mikroprosesor
Bahasa pemrograman sistem mikroprosesor
 
materi 1 & 2.pptx
materi 1 & 2.pptxmateri 1 & 2.pptx
materi 1 & 2.pptx
 
Bab 1
Bab 1 Bab 1
Bab 1
 
Teknik kompilasi
Teknik kompilasiTeknik kompilasi
Teknik kompilasi
 
Algoritma Pemrograman - Pendahuluan
Algoritma Pemrograman - PendahuluanAlgoritma Pemrograman - Pendahuluan
Algoritma Pemrograman - Pendahuluan
 
C basic
C basicC basic
C basic
 

More from Beny Abd

Pengenalan alat dan bahan gambar teknik
Pengenalan alat dan bahan gambar teknikPengenalan alat dan bahan gambar teknik
Pengenalan alat dan bahan gambar teknikBeny Abd
 
Melakukan Troubleshooting Hasil Install Home Theater
Melakukan Troubleshooting Hasil Install Home TheaterMelakukan Troubleshooting Hasil Install Home Theater
Melakukan Troubleshooting Hasil Install Home TheaterBeny Abd
 
Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1 dan 6.1
Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1 dan 6.1Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1 dan 6.1
Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1 dan 6.1Beny Abd
 
Menempatkan monitor gambar sesuai dengan jarak tempat duduk
Menempatkan monitor gambar sesuai dengan jarak tempat dudukMenempatkan monitor gambar sesuai dengan jarak tempat duduk
Menempatkan monitor gambar sesuai dengan jarak tempat dudukBeny Abd
 
TV Proyektor dalam Home Theater
TV Proyektor dalam Home TheaterTV Proyektor dalam Home Theater
TV Proyektor dalam Home TheaterBeny Abd
 
Merawat Home Theater
Merawat Home Theater Merawat Home Theater
Merawat Home Theater Beny Abd
 
Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1, 5.1...
Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1, 5.1...Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1, 5.1...
Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1, 5.1...Beny Abd
 
Kebutuhan Peralatan Install Home Theater
Kebutuhan Peralatan Install Home TheaterKebutuhan Peralatan Install Home Theater
Kebutuhan Peralatan Install Home TheaterBeny Abd
 
Komponen pasif induktor
Komponen pasif induktorKomponen pasif induktor
Komponen pasif induktorBeny Abd
 
Elektronika Dasar - Kapasitor
Elektronika Dasar - KapasitorElektronika Dasar - Kapasitor
Elektronika Dasar - KapasitorBeny Abd
 
Elektronika Dasar - Resistor
Elektronika Dasar - ResistorElektronika Dasar - Resistor
Elektronika Dasar - ResistorBeny Abd
 

More from Beny Abd (11)

Pengenalan alat dan bahan gambar teknik
Pengenalan alat dan bahan gambar teknikPengenalan alat dan bahan gambar teknik
Pengenalan alat dan bahan gambar teknik
 
Melakukan Troubleshooting Hasil Install Home Theater
Melakukan Troubleshooting Hasil Install Home TheaterMelakukan Troubleshooting Hasil Install Home Theater
Melakukan Troubleshooting Hasil Install Home Theater
 
Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1 dan 6.1
Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1 dan 6.1Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1 dan 6.1
Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1 dan 6.1
 
Menempatkan monitor gambar sesuai dengan jarak tempat duduk
Menempatkan monitor gambar sesuai dengan jarak tempat dudukMenempatkan monitor gambar sesuai dengan jarak tempat duduk
Menempatkan monitor gambar sesuai dengan jarak tempat duduk
 
TV Proyektor dalam Home Theater
TV Proyektor dalam Home TheaterTV Proyektor dalam Home Theater
TV Proyektor dalam Home Theater
 
Merawat Home Theater
Merawat Home Theater Merawat Home Theater
Merawat Home Theater
 
Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1, 5.1...
Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1, 5.1...Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1, 5.1...
Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1, 5.1...
 
Kebutuhan Peralatan Install Home Theater
Kebutuhan Peralatan Install Home TheaterKebutuhan Peralatan Install Home Theater
Kebutuhan Peralatan Install Home Theater
 
Komponen pasif induktor
Komponen pasif induktorKomponen pasif induktor
Komponen pasif induktor
 
Elektronika Dasar - Kapasitor
Elektronika Dasar - KapasitorElektronika Dasar - Kapasitor
Elektronika Dasar - Kapasitor
 
Elektronika Dasar - Resistor
Elektronika Dasar - ResistorElektronika Dasar - Resistor
Elektronika Dasar - Resistor
 

Recently uploaded

Kelompok 4 : Karakteristik Negara Inggris
Kelompok 4 : Karakteristik Negara InggrisKelompok 4 : Karakteristik Negara Inggris
Kelompok 4 : Karakteristik Negara InggrisNazla aulia
 
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptxTopik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptxsyafnasir
 
Kelompok 2 Karakteristik Negara Nigeria.pdf
Kelompok 2 Karakteristik Negara Nigeria.pdfKelompok 2 Karakteristik Negara Nigeria.pdf
Kelompok 2 Karakteristik Negara Nigeria.pdftsaniasalftn18
 
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdfShintaNovianti1
 
Materi Strategi Perubahan dibuat oleh kelompok 5
Materi Strategi Perubahan dibuat oleh kelompok 5Materi Strategi Perubahan dibuat oleh kelompok 5
Materi Strategi Perubahan dibuat oleh kelompok 5KIKI TRISNA MUKTI
 
PPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptx
PPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptxPPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptx
PPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptxHeruFebrianto3
 
Membuat Strategi Penerapan Kurikulum Merdeka di dalam Kelas
Membuat Strategi Penerapan Kurikulum Merdeka di dalam KelasMembuat Strategi Penerapan Kurikulum Merdeka di dalam Kelas
Membuat Strategi Penerapan Kurikulum Merdeka di dalam KelasHardaminOde2
 
Edukasi Haji 2023 pembinaan jemaah hajii
Edukasi Haji 2023 pembinaan jemaah hajiiEdukasi Haji 2023 pembinaan jemaah hajii
Edukasi Haji 2023 pembinaan jemaah hajiiIntanHanifah4
 
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxBAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxJamhuriIshak
 
Wawasan Nusantara sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...
Wawasan Nusantara  sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...Wawasan Nusantara  sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...
Wawasan Nusantara sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...MarwanAnugrah
 
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...Kanaidi ken
 
PPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptxPPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptxnerow98
 
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptx
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptxDESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptx
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptxFuzaAnggriana
 
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptxPPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptxalalfardilah
 
Materi Bimbingan Manasik Haji Tarwiyah.pptx
Materi Bimbingan Manasik Haji Tarwiyah.pptxMateri Bimbingan Manasik Haji Tarwiyah.pptx
Materi Bimbingan Manasik Haji Tarwiyah.pptxc9fhbm7gzj
 
Kelompok 1 Bimbingan Konseling Islami (Asas-Asas).pdf
Kelompok 1 Bimbingan Konseling Islami (Asas-Asas).pdfKelompok 1 Bimbingan Konseling Islami (Asas-Asas).pdf
Kelompok 1 Bimbingan Konseling Islami (Asas-Asas).pdfmaulanayazid
 
Kelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfKelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfCloverash1
 
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASMATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASKurniawan Dirham
 
Modul 9 Penjas kelompok 7 (evaluasi pembelajaran penjas).ppt
Modul 9 Penjas kelompok 7 (evaluasi pembelajaran penjas).pptModul 9 Penjas kelompok 7 (evaluasi pembelajaran penjas).ppt
Modul 9 Penjas kelompok 7 (evaluasi pembelajaran penjas).pptYanseBetnaArte
 
PEMIKIRAN POLITIK Jean Jacques Rousseau.pdf
PEMIKIRAN POLITIK Jean Jacques  Rousseau.pdfPEMIKIRAN POLITIK Jean Jacques  Rousseau.pdf
PEMIKIRAN POLITIK Jean Jacques Rousseau.pdfMMeizaFachri
 

Recently uploaded (20)

Kelompok 4 : Karakteristik Negara Inggris
Kelompok 4 : Karakteristik Negara InggrisKelompok 4 : Karakteristik Negara Inggris
Kelompok 4 : Karakteristik Negara Inggris
 
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptxTopik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
 
Kelompok 2 Karakteristik Negara Nigeria.pdf
Kelompok 2 Karakteristik Negara Nigeria.pdfKelompok 2 Karakteristik Negara Nigeria.pdf
Kelompok 2 Karakteristik Negara Nigeria.pdf
 
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
 
Materi Strategi Perubahan dibuat oleh kelompok 5
Materi Strategi Perubahan dibuat oleh kelompok 5Materi Strategi Perubahan dibuat oleh kelompok 5
Materi Strategi Perubahan dibuat oleh kelompok 5
 
PPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptx
PPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptxPPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptx
PPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptx
 
Membuat Strategi Penerapan Kurikulum Merdeka di dalam Kelas
Membuat Strategi Penerapan Kurikulum Merdeka di dalam KelasMembuat Strategi Penerapan Kurikulum Merdeka di dalam Kelas
Membuat Strategi Penerapan Kurikulum Merdeka di dalam Kelas
 
Edukasi Haji 2023 pembinaan jemaah hajii
Edukasi Haji 2023 pembinaan jemaah hajiiEdukasi Haji 2023 pembinaan jemaah hajii
Edukasi Haji 2023 pembinaan jemaah hajii
 
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxBAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
 
Wawasan Nusantara sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...
Wawasan Nusantara  sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...Wawasan Nusantara  sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...
Wawasan Nusantara sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...
 
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
 
PPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptxPPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptx
 
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptx
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptxDESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptx
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptx
 
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptxPPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
 
Materi Bimbingan Manasik Haji Tarwiyah.pptx
Materi Bimbingan Manasik Haji Tarwiyah.pptxMateri Bimbingan Manasik Haji Tarwiyah.pptx
Materi Bimbingan Manasik Haji Tarwiyah.pptx
 
Kelompok 1 Bimbingan Konseling Islami (Asas-Asas).pdf
Kelompok 1 Bimbingan Konseling Islami (Asas-Asas).pdfKelompok 1 Bimbingan Konseling Islami (Asas-Asas).pdf
Kelompok 1 Bimbingan Konseling Islami (Asas-Asas).pdf
 
Kelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfKelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdf
 
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASMATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
 
Modul 9 Penjas kelompok 7 (evaluasi pembelajaran penjas).ppt
Modul 9 Penjas kelompok 7 (evaluasi pembelajaran penjas).pptModul 9 Penjas kelompok 7 (evaluasi pembelajaran penjas).ppt
Modul 9 Penjas kelompok 7 (evaluasi pembelajaran penjas).ppt
 
PEMIKIRAN POLITIK Jean Jacques Rousseau.pdf
PEMIKIRAN POLITIK Jean Jacques  Rousseau.pdfPEMIKIRAN POLITIK Jean Jacques  Rousseau.pdf
PEMIKIRAN POLITIK Jean Jacques Rousseau.pdf
 

Pemrograman Mikrokontroler Menggunakan Bahasa C

  • 1. Modul Dasar Mikrokontroler | Beny Abdurrahman    | 20    BAB III Pemrograman Mikrokontroler Penemuan mikrokontroler menjadi suatu revolusi tersendiri bagi industri elektronika. Mikrokontroler merupakan sebuah komponen elektronika yang dapat diprogram / programmable device. Dengan satu rangkaian mikrokontroler saja, kita bisa menciptakan alat dengan berbagai macam tujuan yang berbeda hanya dengan mengubah programnya, bukan hardwarenya. Karena kepraktisan inilah yang membuat mikrokontroler menjadi sebuah komponen yang bisa digunakan untuk berbagai macam keperluan. 1. Jenis-Jenis Bahasa Pemrograman Mikrokontroler Ada banyak bahasa pemrograman yang dapat digunakan untuk memrogram sebuah mikrokontroler. Jika dilihat dari tingkatan bahasanya, dalam pemrograman suatu mikrokontroler terdapat tiga tingkatan bahasa pemrograman, yaitu : o Bahasa Mesin o Assembly o Bahasa Tingkat Tinggi Bahasa mesin (machine language/machine code) adalah bahasa yang dipahami oleh komputer. Kode yang terdapat pada bahasa ini berupa kode bilangan biner yang dapat diproses oleh mikroprosesor sehingga sulit dipahami oleh manusia. Bahasa mesin umumnya bersifat spesifik, yaitu tidak lintas jenis mikroprosesor sehingga suatu jenis mikroprosesor memiliki bahasa pemrograman yang berbeda dengan jenis mikroprosesor lainnya. File bahasa mesin memiliki ekstensi .hex, karena untuk kepentingan manusia yang memprogram kode biner dikonversikan menjadi kode bilangan heksadesimal. Bahasa Assembly terdiri dari instruksi berupa representasi mnemonic dari instruksi berupa kode bilangan biner dari bahasa mesin. Umumnya mnemonic berupa singkatan tiga atau empat huruf dari kata yang mewakili suatu instruksi. Contohnya instruksi Assembly adalah sebagai berikut : o SUB adalah kode Assembly untuk instruksi substract, yaitu mengurangkan suatu angka dari angka lain. o CBI adalah kode Assembly untuk instruksi Clear Bit I/O, yaitu memberi logika nol pada suatu pin I/O digital. Instruksi pada Bahasa Assembly diterjemahkan menjadi bahasa mesin oleh perangkat lunak Assembler. Seperti juga bahasa mesin bahasa Assembly juga spesifik untuk suatu jenis mikroprosesor tertentu. Namun bahasa Assembly masih terlalu berorientasi mesin, sehingga susah dipahami oleh manusia. Bahasa yang lebih mudah dipahami disebut bahasa pemrograman tingkat tinggi (high
  • 2. Modul Dasar Mikrokontroler | Beny Abdurrahman    | 21    level programming language). Bahasa ini memiliki sintaks yang lebih mendekati bahasa manusia. Hal ini menyebabkan bahasa tingkat tinggi lebih mudah untuk dipelajari. Meski demikian bahasa tingkat tinggi umumnya menghasilkan ukuran kode yang lebih besar dibandingkan bahasa Assembly. Bahasa tingkat tinggi memerlukan perangkat lunak kompiler (compiler) untuk menerjemahkan kode menjadi bahasa mesin. Contoh bahasa pemrograman tingkat tinggi adalah Bahasa C dan Basic. Bahasa C ini memerlukan software compiler untuk diterjemahkan ke bahasa asembly, file ASM kemudian decompile lagi menggunakan Assembler untuk mendapatkan file *.HEX. File HEX inilah yang dimasukkan ke mikrokontroler menggunakan perangkat lunak pemrogram (programmer) melalui perantaraan kabel paralel ataupun serial. Gambar 3.1. Langkah-langkah penulisan program ke mikrokontroler Saat ini telah banyak dikembangkan compiler untuk beberapa bahasa pemrograman tingkat tinggi yang dapat digunakan pada pemrograman mikrokontroler. Untuk mikrokontroler keluarga AVR perangkat lunak pemrograman yang dapat digunakan antara lain AVR Studio dari Atmel (http://www.atmel.com/tools/), SDCC (Small Device C Compiler) dari Sandepp Duta (http://sdcc.sourceforge.net), Bascom-AVR (Basic Compiler) dari MCS Electronics (www.mcse.com), CodeVision AVR dari HP InfoTech (http://www.hpinfotech.com), dan WinAVR (winavr.sourceforge.net) serta yang terbaru ada Arduino (www.arduino.cc). 2. Bahasa C Bahasa C termasuk ke dalam bahasa pemrograman tingkat tinggi. Bahasa C adalah bahasa yang banyak digunakan dalam pemrograman mikrokontroler. Oleh karena itu sebelum kita melakukan pemrograman ada baiknya kita pelajari dahulu bahasa C. Berikut ini penjelasan bahasa C dan aturan penulisan program dalam bahasa C. Untuk seterusnya pada modul ini hanya akan dibahas pemrograman mikrokontroler AVR menggunakan bahasa C, dengan software kompilernya menggunakan AVR Studio 4.
  • 3. Modul Dasar Mikrokontroler | Beny Abdurrahman    | 22    Struktur Penulisan Program menggunakan Bahasa C Struktur Dasar Pada pemrograman mikrokontroler bahasa C, tersedia format penulisan / struktur dasarnya. Untuk struktur dasar penulisan bahasa C di AVR studio adalah sebagai berikut : //program menyalakan lampu #include <avr/io.h> //ini adalah var lampu int a; void main (void){ //variabel lokal DDRA=0x00; PORTA=0xFF; while (1){ //program utama ....... } } Pada contoh program diatas, adalah struktur dasar pemrograman mikrokontroler. Program harus diawali dengan preprosesor untuk mendefinisikan / memasukan file tambahan dari luar, misalnya library I/O, library delay, dan sebagainya. Induk Program berada diantara sintaks main(). Perlu diketahui bahwa setiap sintaks yang diawali tanda kurung kurawal buka ( { ) harus juga diakhiri atau ditutup dengan tanda kurung kurawal tutup ( } ). Komentar adalah sintaks / kode yang tidak akan diterjemahkan ke dalam program. Fungsi komentar hanya sebagai tanda / petunjuk bagi si penulis program itu sendiri. Kita bisa menulis komentar dengan dua metode yaitu satu baris dan banyak baris. Untuk banyak baris, tulis komentar diantara tanda /* dan */. Kemudian untuk komentar satu baris cukup ditulis setelah dua tanda garis miring ( // ). Preprocessor (#) : digunakan untuk memasukkan (include) text dari file lain dan mendefinisikan macro Inisialisasi Port Sub Rutin Program akan berjalan terus karena syarat while(1) akan selalu menghasilkan nilai benar (true) Komentar ditulis dalam format : /* Komentar beberapa baris */ Atau jika satu baris cukup tulis karakter // komentarInduk Program
  • 4. Modul Dasar Mikrokontroler | Beny Abdurrahman    | 23    Contoh pemrograman yang lebih lengkap (dengan fungsi tunda) #include <avr/io.h> //pemanggilan header I/O #include <util/delay.h> //pemanggilan header delay int a; //variable a dengan type data int void tunda (void){ for (a=0; a<1000; a++){ // pengulangan 1000x _delay_ms(1); // pemanggilan delay 1ms } } void main (void){ DDRA=0b11111110; // inisialisasi PORTA dijadikan output while (1){ PORTA=0b00000000; //Led PORTA mati semua tunda(); // pemanggilan fungsi tunda 1 detik PORTA=0b11111111; //Led PORTA hidup semua tunda(); // pemanggilan fungsi tunda 1 detik } } Penjelasan lebih lanjut mengenai bahasa C kami jelaskan di bawah. Variabel Variabel adalah suatu simbol dalam program yang berfungsi untuk mewakili suatu nilai/menyimpan nilai tertentu yang sifatnya dinamis, dapat berubah-ubah selama program dijalankan. Dalam pemrograman bahasa C, untuk menggunakan variabel harus mendeklarasikannya terlebih dahulu agar compiler mengenalinya. Bentuk umum untuk mendeklarasikan variabel dalam bahasa c adalah : tipe_data nama_variabel; contoh : int a; /*Mendeklarasikan variabel a yang bertipe integer*/ int b, c; /*Mendeklarasikan variabel b dan c yang bertipe integer*/ char u; /*Mendeklarasikan variabel u yang bertipe char*/
  • 5. Modul Dasar Mikrokontroler | Beny Abdurrahman    | 24    Aturan Penamaan Variabel Ada beberapa aturan penamaan variabel pada bahasa c, yaitu sebagai berikut : o Case sensitive, penulisan dengan menggunakan huruf kecil dan besar memiliki arti yang berbeda (merupakan variabel yang berbeda) Contoh : int a; int A; Variabel a dan A merupakan dua variabel yang berbeda. o Nama variabel tidak boleh menggunakan spasi. int bilangan bulat; /*Salah karena menggunakan spasi*/ int bilangan_bulat; /*Benar, karena tidak menggunakan spasi*/ o Nama variabel hanya boleh diawali dengan huruf atau garis bawah (tidak boleh diawali dengan angka dan simbol lain) dan selanjutnya boleh diikuti oleh huruf atau garis bawah atau angka (tetapi tidak boleh menggunakan simbol lain dibagian manapun, seperti : @, #, $ dan lain-lain). int @ngka; /*Salah, karena menggunakan simbol*/ int angk@; /*Salah, karena menggunakan simbol, meskipun berada di belakang*/ int a5gk4; /*Benar, karena diawali dengan huruf dan diikuti angka*/ int _angka; /*Benar, karena diawali dengan garis bawah*/ int 4ngka; /*Salah, karena diawali dengan angka*/ o Panjang variabel max 32 karakter. int abcdefghijklmnopqrstuvwxyzabcdef; o Tidak boleh menggunakan keyword yang ada pada library int for; int void; Klasifikasi Variabel 1. Variabel Menurut Lingkupnya Lingkup variabel ditentukan oleh tempat dimana variabel tersebut dideklarasikan. Menurut lingkupnya, variabel dibedakan menjadi dua,, yaitu variabel global dan variabel lokal. a) Variabel global, variabel yang dideklarasikan di luar blok fungsi main dan fungsi pendukung lainnya. Variabel global dapat dikenali dan diakses oleh setiap fungsi yang terdapat dalam program. Lihat contoh penggunaan variabel global. b) Variabel lokal, variabel yang dideklarasikan di dalam suatu fungsi. Variabel lokal hanya dapat diakses oleh fungsi dimana variabel tersebut dideklarasikan (tidak dapat diakses dan dikenali oleh fungsi lain). Lihat contoh penggunaan variabel lokal. 2. Variabel Menurut Jenisnya Ada beberapa jenis variabel yang tersedia dalam bahasa C yang akan dibahas satu per satu agar mempermudah implementasi suatu variabel ke dalam sebuah program.
  • 6. Modul Dasar Mikrokontroler | Beny Abdurrahman    | 25    Menurut jenisnya, variabel dibedakan menjadi empat, yaitu variabel otomatis, variabel statis, variabel external, dan variabel register. Konstanta Konstanta Integer dan long integer ditulis dalam bentuk desimal (1234), dalam bentuk biner (0b10101010), hexa desimal mempunyai awalan 0x (0xff) dan oktal dengan awalan 07 (0777). Unsigned integer mempunyai akhiran U (10000U) Long integer mempunyai akhiran L (99L) Unsigned long integer mempunyai akhiran UL (12000000UL) Folating point mempunyai akhiran F (3.145F) Konstanta karakter harus berada di dalam tanda kutip (‘teks‘) Tipe Data Dalam pemrograman bahasa C dikenal beberapa tipe data antara lain Bit, Char, Int, Long Int dan Float. Tipe data ini biasanya terkait dengan sebuah konstanta atau variabel yang berguna pada proses pemrograman. masing-masing tipe data tersebut mempunyai ukuran dan jangkauan yang berbeda-beda seperti tipe data Char memiliki ukuran 8 bit dengan jangkauan 256 sedangkan tipe data Int memiliki ukuran 16 bit dengan jangkauan 65536. Dalam pemrograman mikrokontroler, pemilihan tipe data yang benar sangat penting terutama untuk menghemat pemakaian memori dari mikrokontroler tersebut. Pemilihan data yang tepat juga mempercepat proses kerja mikrokontroler karena jumlah bit yang harus diproses lebih sedikit. Sebagai contoh misalnya kita membutuhkan sebuah variabel dengan kemungkinan nilai yang tidak lebih dari 255 seperti data display 7 segmen, maka sebaiknya kita menggunakan tipe data Char. Berikut ini tabel tipe data yang ada dalam bahasa C beserta ukuran dan jangkauannya : Tabel 3.1. Tipe data pada bahasa C Tipe Ukuran (Bit) Jangkauan (Range) Bit 1 0, 1 (tipe data bit hanya dapat digunakan untuk variabel global) Char 8 -128 sampai 127 Unsigned Char 8 0 sampai 255 Signed Char 8 -128 sampai 127 Int 16 -32768 sampai 32767 Short int 16 -32768 sampai 32767 Unsigned Int 16 0 sampai 65535 Signed Int 16 -32768 sampai 32767 Long Int 32 -2147483648 sampai 2147483647
  • 7. Modul Dasar Mikrokontroler | Beny Abdurrahman    | 26    Unsigned Long Int 32 0 sampai 4294967295 Signed Long Int 32 -2147483648 sampai 2147483647 Float 32 + 1.175e-38 sampai + 3.402e38 Double 32 + 1.175e-38 sampai + 3.402e38 Perbedaan Tipe data Signed dan Unsigned Khusus untuk tipe data Char, Int dan Long Int dikenal istilah Signed dan Unsigned atau dalam bahasa Indonesia berarti bertanda dan tak bertanda. Yang dimaksud dengan bertanda disini adalah penggunaan tanda minus (-). Tipe data yang termasuk "Signed" boleh disebut dengan tipe datanya saja, misalnya tipe data Signed Char bisa ditulis dengan Char saja. Sedangkan untuk tipe "Unsigned" harus ditulis secara lengkap misalnya Unsigned Char. Dengan menetapkan tipe Unsigned pada sebuah tipe data maka kita akan memperoleh tambahan jangkauan bilangan positif. Sebagai contoh, sebuah tipe data Char memiliki jangkauan sebesar 256 artinya pada tipe yang Signed maka jangkauan tipe data Char adalah -128 sampai -127. Jika kita menetapkan tipe data Unsigned Char maka jangkauannya menjadi 0 sampai 255. Hal ini karena tanda minus dihilangkan maka hitungan dimulai dari nol. Operator Operator adalah simbol atau karakter yang digunakan oleh program untuk melakukan sebuah operasi dalam sebuah proses program seperti operasi bilangan dan operasi string. Bahasa C mengenal penggunaan beberapa operator dengan fungsi yang berbeda-beda. Setiap operator memiliki kedudukan atau hirarki saat penanganan program. Operator dengan hirarki lebih tinggi akan dikerjakan lebih dahulu dibandingkan operator dengan hirarki lebih rendah. Pada pemrograman bahasa C khususnya untuk pemrograman pada mikrokontroler AVR, kita memerlukan operator untuk memanipulasi data yang berupa angka saat proses pemrograman. Operator yang lazim digunakan adalah operator aritmatika, operator kondisi/perbandingan, operator logika, operator bitwise dan operator penugasan. Berikut ini beberapa operator pada bahasa C dan penjelasannya yang sering digunakan pada pemrograman mikrokontroler AVR : 1. Operator aritmetika Adalah operator yang digunakan untuk operasi bilangan seperti penjumlahan, pengurangan, perkalian, pembagian, modulus, increment dan decrement. Operator aritmatika bisa digunakan pada semua tipe bilangan seperti char, int, long int dan float. Operator aritmatika juga bisa menangani tipe signed dan unsigned. Increment adalah operasi bilangan dimana bilangan hasil merupakan bilangan asal ditambah satu, sedangkan decrement adalah operasi bilangan dimana bilangan hasil merupakan bilangan asal dikurang satu.
  • 8. Modul Dasar Mikrokontroler | Beny Abdurrahman    | 27    Tabel 3.2. Operator Aritmetika Operator Nama Contoh Hasil + Penjumlahan z = x + y Penjumlahan dari x dan y - Pengurangan z = x - y Selisih dari x dan y * Perkalian z = x * y Perkalian dari x dan y / Pembagian z = x / y Pembagian x oleh y % Modulus z = x % y Sisa dari x dibagi y ++ Increment x++ Sama dengan x = x+1 -- Decrement x-- Sama dengan x = x-1 2. Operator bitwise Adalah operator yang menangani operasi bilangan biner seperti and, or, not dan sebagainya. Operator bitwise ini akan menangani data sesuai dengan tipenya. Misalnya sebuah data bertipe char atau byte maka bilangan yang dihasilkan adalah sebesar 8 bit. Tabel 3.3. Operator bitwise Operator Nama Contoh Dalam biner (4bit) Hasil Biner Hasil Decimal & AND x = 5 & 1 0101 & 0001 0001 1 | OR x = 5 | 1 0101 | 0001 0101 5 ~ NOT x = ~ 5 ~0101 1010 10 ^ XOR x = 5 ^ 1 0101 ^ 0001 0100 4 << Left shift x = 5 << 1 0101 << 1 1010 10 >> Right shift x = 5 >> 1 0101 >> 1 0010 2 3. Operator penugasan Adalah operator yang digunakan untuk memberi nilai pada sebuah variabel. Operator penugasan yang paling dasar adalah sama dengan (=). Dari operator ini dapat dikembangkan beberapa operator penugasan lain seperti +=, -= dan sebagainya. Tabel 3.4. Operator Penugasan Operator Penugasan Sama dengan Deskripsi = x = y x = y variabel x memperoleh nilai dari variabel y += x += y x = x + y variabel x memperoleh nilai dari x + y -= x -= y x = x - y variabel x memperoleh nilai dari x - y
  • 9. Modul Dasar Mikrokontroler | Beny Abdurrahman    | 28    *= x *= y x = x * y variabel x memperoleh nilai dari x * y /= x /= y x = x / y variabel x memperoleh nilai dari x / y %= x %= y x = x % y variabel x memperoleh nilai dari x % y <<= x <<= y x = x << y variabel x memperoleh nilai dari x << y >>= x >>= y x = x >> y variabel x memperoleh nilai dari x >> y &= x &= y x = x & y variabel x memperoleh nilai dari x & y |= x |= y x = x | y variabel x memperoleh nilai dari x | y ^= x ^= y x = x ^ y variabel x memperoleh nilai dari x ^ y 4. Operator perbandingan Adalah operator yang digunakan untuk membandingkan dua buah nilai atau variabel. Nilai yang dibandingkan bisa berupa angka maupun string. Hasil dari perbandingan ini berupa nilai boolean, yaitu true (benar) atau false (salah). Tabel 3.5. Operator Perbandingan Operator Nama Contoh Hasil == Sama dengan a == b benar jika a sama dengan b != Tidak sama dengan a != b benar jika a berbeda dengan b > Lebih besar a > b benar jika a lebih besar dari b < Lebih kecil a < b benar jika a lebih kecil dari b >= Lebih besar atau sama dengan a >= b benar jika a lebih besar atau sama dengan b <= Lebih kecil atau sama dengan a <= b benar jika a lebih kecil atau sama dengan b 5. Operator logika Adalah operator yang digunakan untuk menangani tipe data boolean. Nilai data boolean bisa berupa kondisi benar (true) atau salah (false) dan bisa juga 1 atau 0. Tabel 3.6. Operator Logika Operator Nama Contoh Hasil && And a && b benar jika a and b bernilai benar || Or a || b benar jika salah satu a atau b bernilai benar ! Not !a benar jika a tidak benar
  • 10. Modul Dasar Mikrokontroler | Beny Abdurrahman    | 29    6. Operator lain Selain dari beberapa operator diatas, ada beberapa operator lain yang juga sering dipakai terutam pada pemrograman array misalnya operator sizeof dan ppointer (*). Tabel 3.7. Operator Lainnya Operator Keterangan Contoh Hasil sizeof() Menghasilkan ukuran (size) dari variabel. sizeof(a) Menghasilkan bilangan integer, misal 5 & Mengembalikan alamat (address) dari variabel. &a Menghasilkan alamat sebenarnya dari variabel * Pointer ke sebuah variabel. *a Mengarahkan pointer ke sebuah variabel. ? : Operator kondisi b = (a == 1) ? 20: 30; Jika kondisi a==1 benar maka nilai b=20 dan jika salah maka nilai b=30 Instruksi Pada Bahasa C Beberapa Instruksi bahasa C yang sering digunakan dalam pemrograman mikrokontroler bisa dilihat pada tabel : Tabel 3.5. Instruksi-instruksi pada bahasa C No Fungsi Penulisan Program 1. Syarat / Kondisional if (kondisi) { ………(aksi yang dikerjakan) }; 2. Percabangan if (kodisi) { ……(aksi yang dikerjakan) } else if (kondisi) { …..(aksi yang dikerjakan) } …..….. else { …..(aksi yang dikerjakan) };
  • 11. Modul Dasar Mikrokontroler | Beny Abdurrahman    | 30    3. Percabangan switch (variable) { case nilai_variabel_ke-1: { ….. (aksi yang dikerjakan) } case nilai_variabel_ke-2: { ….. (aksi yang dikerjakan) } ………… ……….. default: { …. (aksi yang dikerjakan) } } 4. Melompat goto alamat_tujuan; ……………. ……………. alamat_tujuan: …………… ……………. 5. Melompat keluar dari perulangan break; 6. Perulangan while (kondisi) { ……(aksi yang dikerjakan) } 7. Perulangan do { …..(aksi yang dikerjakan) } while (syarat); 8. Perulangan for (nilai_awal,syarat,operasi++/--) { …..(aksi yang dikerjakan) };
  • 12. Modul Dasar Mikrokontroler | Beny Abdurrahman    | 31    PROSEDUR DAN FUNGSI Seringkali dalam suatu program kita menemukan kelompok intruksi untuk suatu keperluan tertentu yang sering dijalankan. Kelompok instruksi ini bisa dibuat sebagai prosedur atau fungsi. Langkah ini akan dapat menghemat memori dibanding bila instruksi-instruksi tersebut ditulis berulang-ulang. Ingat bahwa disini kita akan memprogram mikrokontoler yang memorinya terbatas. PROSEDUR Prosedur adalah suatu kumpulan instruksi untuk mengerjakan suatu keperluan tertentu tanpa mengembalikan suatu nilai. …  void nama_prosedure (parameter1, parameter2,..,parameter n) {      Pernyataan‐pernyataan  }  …  Contoh: void kedap_kedip_LED (unsigned int i)  {    while (i–)      {      PORTD=0x00;      _delay_ms(100);      PORTD=0xff;    }  }  Jika kita memanggil prosedur tersebut pada program tersebut maka PORTD akan nyala dan mati selama nilai I yang diberikan. Untuk memanggil prosedur pada progam utama cukup dengan memanggil nama prosedure tersebut dan diisi parameter yang ada jika ada. void main(void)      unsigned int I;      ….      i=100;      kedap_kedip_LED(i);      …  } 
  • 13. Modul Dasar Mikrokontroler | Beny Abdurrahman    | 32    FUNGSI Fungsi adalah suatu kumpulan instruksi untuk mengerjakan suatu keperluan tertentu dengan hasil akhir pengembangan nilai keprluan tersebut. Type_data nama_fungsi (parameter1, parameter2,..,parametern)  {      Pernyataan‐pernyataan  }  Contoh: Int luas(int panjang, int lebar)  {    Luas=panjang*lebar;    Return luas;  }  Cara pemanggilan fungsi pada program yaitu: Void main(void)  {      Int Luas_R, pj,lb;      ….      Luas_R=luas(pj,lb);      …  }