• Tidak ada hasil yang ditemukan

BAB II DASAR TEORI

2.3 Bahasa C

Pembuat bahasa C adalah Brian W. Kernighan dan Dennis M. Ritchie pada sekitar tahun 1972. Bahasa C adalah bahasa pemrograman terstruktur, yang membagi program dalam bentuk sejumlah blok. Tujuannya adalah untuk memudahkan dalam pembuatan dan pengembangan program. Program yang

ditulis dengan mengunakan bahasa C mudah sekali untuk dipindahkan dari satu jenis mesin ke jenis mesin lainnya. Hal ini berkat adanya standarisasi bahasa C yaitu berupa standar ANSI (American National Standards Institute) yang dijadikan acuan oleh para pembuat kompiler C.

2.3.1 Kompilasi Program

Agar suatu program dalam bahasa pemrograman dapat dimengerti oleh komputer, program harus diterjemahkan dahulu ke dalam kode mesin. Adapun penerjemah yang digunakan bisa berupa interpreter atau compiler . Interpreter

adalah suatu jenis penerjemah yang menerjemahkan baris per baris instruksi untuk setiap saat. Proses awal dari bentuk program sumber C (source program, yaitu program yang ditulis dalam bahasa C) hingga menjadi program yang executable

(dapat dieksekusi secara langsung) ditunjukkan pada Gambar 2.9.

2.3.2 Bentuk Dasar Program C

Sebuah program dalam bahasa C setidaknya harus memiliki sebuah fungsi. Fungsi dasar ini disebut dengan fungsi utama (fungsi main) 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 didalam fungsi utama.

Contoh:

// prototype fungsi inisialisasi port Void inisialisasi_port (char A, char B, char C, char D)

{

DDRA = A ; DDRB = B ; DDRC = C ; DDRD = D ; }

// fungsi utama void main (void) {

Inisialisasi_port (0xFF, 0xF0, 0x0F, 0x00) ; }

2.3.3 Pengenal (Identifier)

Pengenal (identifier) merupakan sebuah nama yang diisikan oleh pemrogram untuk menunjukkan identitas dari sebuah konstanta, variable, fungsi, label atau tipe data khusus. Pemberian nama sebuah pengenal dapat ditentukan bebas sesuai keinginan pemrogram tetapi harus memenuhi aturan berikut:

a. Karakter pertama tidak boleh mengunakan angka.

b. Karakter kedua dapat berupa huruf, angka atau garis bawah. c. Tidak boleh menggunakan spasi.

d. Case sensitive, yaitu huruf kapital dan huruf kecil dianggap berbeda. e. Tidak boleh menggunakan kata-kata yang merupakan operator dalam

pemrograman C, misalnya: void, short, const, if, bit, long, case, do, switch, char, float, for, else, break, int, double, include, while.

2.3.4 Variabel

Variabel Merupakan suatu tempat untuk menampung data atau konstanta di memori yang mempunyai nilai atau data yang dapat berubah-ubah selama proses program.

Dalam Bahasa C, kitapun akan menemukan dan menggunakan variabel dalam penulisan program. Dalam pemberian variabel terdapat ketentuan – ketentuan sebagi berikut:

1. Tidak boleh ada spasi (contoh : recky suharmon), dan dapat menggunakan garis bawah (_) sebagai pengubung. Contoh: recky_suharmon.

2. Tidak boleh diawali oleh angka dan mengggunakan operator aritmatika. Ada dua jenis variabel yaitu:

1. Variabel Numerik terdiri dari : a. Bilangan bulat.

b. Bilangan desimal bepresisi tunggal atau floating point.

c. Bilangan desimal berpresisi ganda atau double precision.

2. Variabel teks terdiri dari:

a. Character (karakter tungggal). b. String (untaian rangkaian karakter).

2.3.5 Pengarah Preprosesor

Pengarah preprosesor digunakan untuk mendefenisikan prosesor yng digunakan, dalam hal ini adalah untuk mendefenisikan jenis mikrokontroler yang digunakan. Dengan pengarah preprosesor ini maka pendeklarasian register-register dan penamaanya dilakukan pada file lain yang disisipkan dalam program utama dengan sintaks #include <nama_preprosesor>.

Contoh: #include <mega8535.h>

2.3.6 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 dalam file tersebut. Dalam banyak hal, pustaka-pustaka yang tersedia tidak berbentuk kode sumber melainkan dalam bentuk yang telah dikompilasi. Penggunaan fungsi pustaka ini adalah sebagai berikut:

Contoh: #include <lcd.h>

Beberapa fungsi pustaka yang telah disediakan oleh CodeVisionAVR antara lain:

1. Fungsi Standar I/O (stdio.h). 2. Fungsi Tunda (delay.h). 3. Fungsi LCD (lcd.h).

4. Fungsi I2C (i2c.h), Fungsi SPI (SPI.h).

5. Fungsi Real Time Clock (RTC) (ds1302.h, ds1307.h).

2.3.7 Tipe Data Bahasa C

Tipe data merupakan bagian yang paling penting karena tipe data mempengaruhi seriap instruksi yang akan dilaksanakan oleh komputer. Misalnya saja 5 dibagi 2 bisa saja memberikan hasil yang berbeda tergantung pada tipe datanya. Jika 5 dan 2 bertipe integer, akan menghasilkan nilai 2. Namun jika keduanya bertipe float maka akan memberikan nilai 2.5000000. Pemilihan tipe data yang tepat akan membuat proses operasi data menjadi lebih efisien. Tipe data pada bahasa C dapat dilihat pada Tabel 2.3.

Tabel 2.3 Tipe Data Dalam Bahasa C

No. Tipe Data Ukuran (byte) Format Keterangan

1 char 1 %c Karakter / String

2 int 2 %i %d Bilangan Bulat (integer)

3 float 4 %f Bilangan pecahan (float)

4 double 8 %lf Pecahan presisi ganda

2.3.8 Struktur Pemilihan - If

Perintah if sering digunakan untuk menyeleksi suatu kondisi tunggal. Bila proses yang diseleksi terpenuhi atau bernilasi benar, maka pernyataan yang berada dalam blok akan dieksekusi.

- if else

Dalam struktur ini minimal terdapat dua pernyataan. Jika kondisi yangdiperiksa bernilai benar atau terpenuhi maka pernyataan pertama yang diproses dan jika kondisi yang diperiksa bernilai salah maka pernyataan yang kedua yang diproses.

- switch case

Jika terdapat kemungkinan yang cukup banyak, dengan menggunakan struktur if kita akan menuliskan cukup banyak perintah if. Untuk itu, kita dapat menggunakan struktur switch case.

2.3.9 Struktur Pengulangan - for

Perintah for sangat cocok digunakan untuk perulangan karena jumlah pengulangan sudah diketahui. Begitu juga awal dan akhir pengulangan sudah diketahui. Bentuk pengulangan dengan perintah for relatif lebih mudah digunakan.

- while

Perintah while sama halnya dengan perintah for, yaitu melakukan perulangan selama kondisi berhenti dipenuhi. Perintah while akan memeriksa

apakah kondisi sudah terpenuhi atau belum. Jika belum maka proses akan dilaksanakan. Namun, jika sudah terpenuhi maka proses dihentikan.

- do while

Pada perintah for dan while, pengecekan dilakukan sebelum melakukan perulangan. Namun, pada perintah do while, proses akan dijalankan terlebih dahulu kemudian dilakukan pengecekan terhadap kondisi. Jadi perintah ini paling tidak melakukan satu kali proses.

Dokumen terkait