Pengenalan Pemrograman C Monitoring Ketinggian Air pada Bendungan Menggunakan Sensor Ultrasonik Berbasis Mikrokontroller Atmega 8535

8. AVCC merupakan pin masukan tegangan untuk ADC. 9. AREFF merupakan pin masukan tegangan referensi ADC.

2.2 Pengenalan Pemrograman C

Pengenalan merupakan sebuah nama yang didefinisikan oleh pemrograman untuk menunjukkan identitas dan sebuah konstanta, variabel, fungsi, label atau tipe data khusus. Pemberian nama sebuah pengenalan dapat ditentukan bebas sesuai keinginan pemrogram tetapi harus memenuhi aturan berikut: 1. Karakter pertama tidak boleh menggunakan angka. 2. Karakter kedua dapat berupa huruf, angka, atau garis bawah. 3. Tidak boleh menggunakan spasi. 4. Bersifat case sensitif, yaitu huruf kapital dan huruf kecil dianggap berbeda. 5. Tidak boleh menggunakan kata-kata yang merupakan sintaks maupun operator dalam pemrograman C, misalnya: void, short, const, if, static, bit, long, case, do, switch, char, float, for, else, break, int, double, include, while. Contoh penamaan pengenal yang diperbolehkan yaitu nama, _nama, nama2, nama_pengenal_yang_panjang_juga_boleh. Contoh penamaan pengenal yang diperbolehkan yaitu: a. 2nama tidak boleh diawali dengan angka b. Nama+2 tidak boleh menggunakan operator ‘+’ c. Nama panjang tidak boleh menggunakan spasi. Universitas Sumatera Utara

2.2.1 Tipe Data

Berikut ini adalah tipe-tipe data yang ada dalam bahasa C dan yang dikenali oleh Compiler CodeVisionAVR: Tabel 2.4 Tipe Data Tipe Data Ukuran Jangkauan Nilai Bit 1 bit 0 atau 1 Chart 1 byte -128 sd 127 Unsigned Char 1 byte 0 sd 225 Signed Char 1 byte -128 sd 127 Int 2 byte -32,768 sd 32,767 Short Int 2 byte -32,768 sd 32,767 Unsigned Int 2 byte 0 sd 65,535 Signed Int 2 byte -32,768 sd 32,767 Long Int 4 byte -2,147,483,648 sd 2,147,483,647 Unsigned Long Int 4 byte 0 sd 4,294,967,295 Signed Long Int 4 byte -2,147,483,648 sd 2,147,483,647 Float 4 byte 1,210 -38 sd 3,410 +38 Double Ukuran 1,210 -38 sd 3,410 +38

2.2.2 Konstanta Dan Variabel

Konstanta dan variabel merupakan sebuah tempat untuk menyimpan data yang berada dalam memori. Konstanta berisi data yang nilainya tetap dan tidak dapat diubah selama program dijalankan, sedangkan variabel berisi data yang bisa Universitas Sumatera Utara berubah nilainya pada saat prrogram dijalankan. Untuk membuat sebuah konstanta atau variabel maka kita harus mendeklarasikannya terlebih dahulu. Deklarasi Konstanta: Const [tipe_data] [nama_konstanta]=[nilai] Contoh: Const char konstantaku=0x10; Deklarasi Variabel: [tipe_data] [nama_variabel]=[nilai_awal] Contoh : Char variabelku; Char variabelku=0x20; Bit variabel_bit; Bit variabel bit=1;

2.2.3 Variabel Bertanda Signed Dan Tak Bertanda Unsigned

Untuk pendeklarasian tipe yang berupa bilangan bulat yaitu chart, int, short dan long dapat ditambahkan signed atau unsigned. Signed digunakan untuk mendefinisikan bahwa data yang disimpan dalam variabel adalah bertanda sedangkan unsigned untuk data yang tidak bertanda. Contoh : Unsigned char data1; Signed char data2;

2.2.4 Pengarah Preprosesor

Pengarah preprosesor digunakan untuk mendefinisikan prosesor yang digunakan, dalam hal ini adalah untuk mendefinisikan jenis mikrokontroler yang digunakan. Dengan pengarah preprosesor ini maka pendeklarasian register- register dan penamaannya dilakukan pada file lain yang disisipkan dalam program utama dengan sintaks sebagai berikut: include nama_preprosesor Universitas Sumatera Utara Contoh : include mega8535.h

2.2.5 Pernyataan

Pernyataan adalah satu buah instruksi lengkap yang berdiri sendiri. Berikut adalah contoh sebuah pernyataan: PORTC = 0x0F; Pernyataan diatas merupakan sebuah instruksi untuk mengeluarkan data 0x0F ke Port C.

2.2.6 Blok Pernyataan

Kumpulan beberapa pernyataan yang berada dalam satu bagian program disebut dengan blok pernyataan. Satu blok pernyataan ditandai dengan tanda ‘{‘ dan diakhiri dengan tanda ‘}’. Contoh sebuah blok pernyataan: { PORTA=0x00; pernyataan_1 PORTB=0x0F; pernyataan_2 PORTC=0xFF; pernyataan_2 }

2.2.7 Fungsi Pustaka

Bahasa C memiliki sejumlah fungsi pustaka yang berada pada file-file tertentu dan sengaja disediakan untuk menangani berbagai hal dengan cara memanggil fungsi-fungsi yang telah dideklarasikan di dalam file tersebut. Dalam banyak hal, pustaka-pustaka yang tersedia tidak berbentuk kode sumber melainkan dalam bentuk yang telah dikompilasi. Pada saat proses linking, kode- Universitas Sumatera Utara kode dari fungsi ini akan dikaitkan dengan kode-kode yang ditulis oleh pemrograman. Sintaks untuk menggunakan fungsi pustaka ini adalah sebagai berikut : include nam_file_pustaka Contoh : include lcd.h

2.2.8 Pernyataan if

Pernyataan if digunakan untuk melakukan pengambilan keputusan terhadap dua buah kemungkinan yaitu mengerjakan suatu blok pernyataan atau tidak. Bentuk pernyataan if adalah sebagai berikut: if kondisi { blok pernyataan yang akan dikerjakan jika kondisi if terpenuhi } Contoh: if PINA0x80 { dataku = PINA; PORTC=0x0FF } Pernyataan if diatas akan mengecek apakah data yang terbaca pada Port A PINA nilainya lebih dari 0x80 atau tidak, jika ya maka variabel dataku diisi dengan nilai PINA dan data 0xFF dikeluarkan ke Port C. Apabila dalam blok pernyataan hanya terdapat satu pernyataan saja maka tanda { dan } dapat dihilangkan seperti contoh berikut: if PINA0x80 PORTC=0xFF; Universitas Sumatera Utara

2.2.9 Pernyataan If..Else

Pernyataan if..else hampir sama dengan pernyataan if diatas atau yaitu digunakan untuk melakukan pengambilan keputusan terhadap dua buah kemungkinan, hanya yang berbeda adalah bahwa kedua kemungkinan tersebut berupa mengerjakan suatu blok pernyataan atau mengerjakan blok pernyataan yang lain. Bentuk pernyataan if..else adalah sebagai berikut: if kondisi { blok pernyataan yang akan dikerjakan jika kondisi if terpenuhi } Else { blok pernyataan yang akan dikerjakan jika kondisi if tidak terpenuhi } Contoh : if PIN.0x80 { dataku = ~PINA; PORTC=0x00; } Pernyataan if..else diata akan mengecek apakah data yang terbaca pada Port A PINA nilainya lebih dari 0x80 atau tidak, jika ya maka variabel dataku disiisi dengan nilai PINA dan data 0xFF dikeluarkan ke port C tetapi jika tidak Universitas Sumatera Utara maka variabel dataku diisi dengan nilai komplemen dari PINA ~PINA dan data 0x00 dikeluarkan ke port C.

2.2.10 Pernyataan While

Pernyataan while digunakan untuk pengulangan sebuah pernyataan atau blok pernyataan 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 } bisa dihilangkan. Contoh: unsigned char a=0; ..... while a10 { PORTC=a; a++; } Pernyataan diatas akan mengeluarkan data as ke port C secara berulang- ulang. Setiap kali pengulangan nilai a akan bertambah 1 dan sebuah nilai a mencapai 10 maka pengulangan selelsai. Universitas Sumatera Utara

2.2.11 Bentuk Dasar Program C

Sebuah program dalam bahasa C setidaknya harus memiliki sebuah fungsi. Fungsi dasar ini disebut dengan fungsi utama dan memiliki kerangka program sebagai berikut: void main void { pernyataan-pernyataan } Jika kita memiliki beberapa fungsi yang lain maka fungsi utama inilah yang memiliki kedudukan paling tinggi dibandingkan fungsi-fungsi yang lain sehingga setiap kali program dijalankan akan selalu dimulai dari memanggil fungsi utama terlebih dahulu. Fungsi-fungsi yang lain dapat dipanggil setelah fungsi utama dijalankan melalui pernyataan-pernyataan yang berada di dalam fungsi utama. Contoh: prototipe fungsi inisialisasi port void inisialisasi_port char A, char B, char C, char D; definisi fungsi inisialisasi port void inisialisasi_port char A, char B, char C, char D { DDRA = A; DDRB = B; DDRC = C; DDRD = D; } Universitas Sumatera Utara fungsi utama void main void { inisialisasi_port 90xFF, 0xF0, 0x0F, 0x00; }

2.3 CodeVision AVR