Pemrograman Bahasa C BAGIAN III PEMROGRAMAN BAHASA C Bahasa C merupakan bahasa pemrograman tingkat tinggi yang tingkatan logika

dan perintahnya dapat diterapkan pada berbagai mesin/chip, baik pada komputer, mikroprosesor ataupun mikrokontroler. Namun bahasa C ini tidak dapat secara langsung didownload kedalam mikrokontroler/mikroprosesor, tetapi harus diubah/diterjemahkan terlebih dahulu menjadi OpCode/bahasa mesin. A. Struktur Pemrograman C Struktur penulisan bahasa C secara umum terdiri atas empat blok, yaitu : - Header - Deklarasi - Fungsi dan atau prosedur - Program utama Secara umum, pemrograman C paling sederhana dilakukan dengan hanya menuliskan program utamanya saja : Void main(void) { …… } B. Header Header berisi include file(.h), yaitu library (pustaka) yang akan digunakan dalam pemrograman Contoh : #include <mega8535.h> #include <delay.h> #include <stdio.h> Halaman 36

2.2.402e38 +/-1. Halaman 37 . digunakan untuk menyimpan data bilangan bulat (tidak mengandung koma/pecahan). sehingga harus diusahakan data yang diproses dalam bentuk bilangan bulat. contoh: 1.isi=1. Tipe Data Berikut tipe-tipe data yang dapat digunakan di compiler CodevisionAVR : Tipe char unsigned char signed char int short int unsigned int signed int long int unsigned long int signed long int float double Ukuran(bit) 8 8 8 16 16 16 16 32 32 32 32 32 Range -128 to 127 0 to 255 -128 to 127 -32768 to 32767 -32768 to 32767 0 to 65535 -32768 to 32767 -2147483848 2147483847 0 to 4294967295 -2147483848 2147483847 +/-1. int.175e-38 to 3.2. 14.402e38 to to +/+/- Perlu diingat bahwa 1 byte = 8 bit.175e-38 to 3. double dataku. contoh:1. dalam penggunaan data pada mikrokontroler tidak dikenal bilangan pecahan.Pemrograman Bahasa C C.90 dan lain-lain. float dan double. Cara pendeklarasiannya: int a. Cara pendeklarasiannya: float nilai.100 dan lain-lain. digunakan untuk menyimpan bilangan yang mengandung pecahan.

Konstanta harus dimasukan kedalam sebuah tempat penyimpanan data.14. E. Operator Aritmatika Operator aritmatika digunakan dalam proses perhitungan (penjumlahan.0592. Konstanta Konstanta dapat diartikan sebagai data yang harganya tidak dapat diubah selama mikrokontroler bekerja. Komentar Komentar diawali dengan tanda /* dan diakhiri dengan tanda */ Contoh . perkalian dan pembagian). /* ini komentar */ /* ini komentar Multi baris*/ Komentar satu baris dapat ditulis dengan tanda // Contoh : // ini juga komentar F. const phi=3.Pemrograman Bahasa C D. Deklarasi konstanta sebagai berikut: const osc=11. pengurangan. Operator atau simbol yang digunakan antara lain: Operator + * / % Proses Penjumlahan Pengurangan Perkalian Pembagian Modulus atau sisa pembagian Halaman 38 .

Percabangan/ Penyeleksian Kondisi Proses penyeleksian kondisi pada bahasa C dapat dilakukan dengan menggunakan syntax if atau dengan menggunakan syntax switch. Operator Logika dan relasional Proses logika banyak sekali manfaatnya dalam pemrograman mikrokontroler. Pernyataan tersebut bisa lebih dari satu.Pemrograman Bahasa C G. Artinya. Operator & | ^ ~ == < <= > >= != Proses AND OR XOR NOT Sama dengan Kurang dari Kurang dari sama dengan Lebih dari Lebih dari sama dengan Tidak sama dengan H. Halaman 39 . pernyataan tertentu akan dilaksanakan bila syarat yang diseleksi terpenuhi. Operator Assigment/Penugasan Operator Proses = Sama dengan << Geser bit ke kiri >> Geser bit ke kanan I. Syntax if If digunakan untuk menyatakan percabangan bersyarat. a.

jika syarat2 bernilai benar maka pernyataan2 akan dikerjakan.} else {pernyataan2. Bentuk tangan if-else if-else if (syarat1) {pernyataan1.} else {pernyataan3. sehingga operator yang digunakan dalam penentuan syarat adalah operator logika dan operator relasional.} syarat merupakan sebuah pernyataan yang bisa menghasilkan kondisi logika yang bernilai benar atau salah.Pemrograman Bahasa C Bentuk umum: if (syarat) {pernyataan1. Pernyataan1 merupakan pernyataan yang akan dieksekusi ketika syarat bernilai benar. namun ketika syarat1 dan syarat2 bernilai salah. Halaman 40 . maka pernyataan3 yang akan dikerjakan.} Ketika syarat1 bernilai benar maka pernyataan1 akan dikerjakan.} else if(syarat2) {pernyataan2. dan ketika syarat bernilai salah maka pernyataan2 yang akan dieksekusi. namun ketika syarat1 bernilai salah maka syarat2 akan ditinjau.

Syntax switch Syntax switch digunakan untuk proses pemilihan. } Halaman 41 . break.Pemrograman Bahasa C if bersarang (nested if) if (syarat_a) { if (syarat_1) {pernyataan1. default: pernyataan4. break. case konstanta2: pernyataan2. break. case konstanta3: pernyataan3. break. Bentuk umum: Switch (variabel) { case konstanta1: pernyataan1.} else {pernyataan2.} b.} } else {pernyataan3.

Pemrograman Bahasa C J. Pengulangan/Looping Looping adalah pengulangan terhadap perintah atau instruksi tertentu sampai keadaan tertentu tercapai (sehingga jumlah perulangan dapat diketahui).kondisi) {pernyataan1.} inisialisasi nilai awal merupakan pengisian nilai awal terhadap suatu variabel nilai akhir merupakan kondisi nilai akhir yang harus dicapai oleh loop tersebut kondisi merupakan kegiatan untuk mencapai keadaan nilai akhir dari nilai awal yang ada While Bentuk umum: while((syarat) {pernyataan1. pernyataan2. yaitu: For Bentuk umum: for (inisialisasi nilai awal. dalam blok pernyataan harus dicantumkan statement atau perintah untuk mencapai kondisi tersebut Halaman 42 . Ada 3 jenis syntax yang umum digunakan dalam bahasa C. syarat merupakan kondisi akhir yang harus ditempuh dengan looping ini. pernyataan2. } Dalam looping dengan menggunakan syntax while.nilai akhir.

Contoh: int dataku[4]. Dengan deklarasi ini. maka array dataku memiliki empat buah variabel elemen yang memiliki tipe data integer. jika hal ini dikehendaki. Untuk mengisikan data ke variabel elemen tertentu bisa digunakan indeksnya. Array Array merupakan kumpulan variabel yang memiliki jenis tipe data yang sama. Halaman 43 . contoh: dataku[0]=20. P0=dataku[2].Pemrograman Bahasa C do-while Bentuk umum: do {pernyataan1. Jumlah variabel elemen array bisa saja tak tentu. hanya saja syarat ditentukan di akhir K. indeks dimulai dari 0 sampai jumlah variabel elemen1 Untuk mengambil data dari array elemen tertentu bisa digunakan teknik berikut. Pernyataan2. } while(syarat) syntax ini masih mirip dengan syntax while. deklarasi array sebagai berikut: Tipe_data nama_array[jumlah_elemen]. bisa dengan mengosongkan nilai pada elemen array.

for(i=0. for(i=0.i<=n.Pemrograman Bahasa C L.parameterN) {pernyataan.i<=150. Konversi pola akan sangat berguna pada saat kita menampilkan hasil ke LCD. } … Contoh: #include<mega8535..h> void tunda(int n) {int i. %d – menampilkan bilangan bulat positif %0 – menampilkan bilangan octal bulat %x – menampilkan bilangan hexadesimal bulat %u – menampilkan bilangan desimal tanpa tanda %f – menampilkan bilangan pecahan %i – menampilkan bilangan integer %c – menampilkan karakter yang ditunjukan kode ASCII M.i++).i++) {int i. parameter2. Bentuk umum … Void nama_prosedur (parameter1.pernyataan. Prosedure dan Fungsi Prosedur adalah suatu kumpulan instruksi untuk mengerjakan suatu keperluan tertentu tanpa mengembalikan suatu nilai. } } void main() { while(1) Halaman 44 . Konversi Pola Karakter %_ dipakai sebagai operator konversi pola..

dan bagian fungsi ditempatkan pada bagian akhir setelah program utama. Type data nama_fungsi parameter2. } …. Halaman 45 . return luas. } … (parameter1.. Suatu fungsi harus terlebih dahulu dideklarasikan pada awal program sebelum program utama. tunda(100). tunda(100). fungsi dapat bekerja jika fungsi tersebut dipanggil atau diakses. int lb) { luas = pj*lb. Bentuk umum ….parameterN) { Pernyataan-pernyataan. Contoh: …. PORTC=0x0f.Pemrograman Bahasa C { PORTC=0xf0. Return variable_hasil. } } Fungsi merupakan bagian dari suatu program yang memiliki pekerjaan/fungsi tertentu. ataupun langsung bagian fungsi ditempatkan pada awal program sebelum program utama. int luas(int pj..