BAB II
LANDASAN TEORI
2.1. Jembatan Schering Jembatan Schering, salah satu jembatan arus bolak-balik yang paling penting, di pakai secara luas untuk pengukuran kapasitor. Dia memberikan beberapa keuntungan nyata atas jembatan pembanding kapasitansi. Walaupun jembatan Schering digunakan untuk pengukuran kapasitansi dalam pengertian yang umum, dia terutama sangat bermanfaat guna mengukur sifat-sifat isolasi yakni pada sudut-sudut fasa yang sangat mendekati 90◦.
Gambar 2.1 jembatan Schering
Susunan rangkaian dasar ditunjukkan pada gambar diatas, dan pemeriksaan rangkaian menunjukkan suatu kemiripan yang kuat terhadap jembatan pembanding. Perhatikan bahwa lengan 1 sekarang mengandung suatu kombinasi parallel dari sebuah tahanan dan sebuah kapasitor, dan lengan standar hanya berisi sebuah kapasitor. Biasanya kapasitor standar adalah sebuah kapasitor mika bermutu tinggi dalam pemakaian pengukuran yang umum, atau sebuah kapasitor udara guna pengukuran isolasi. Sebuah kapasitor mika bermutu tinggi mempunyai kerugian yang sangat rendah (tidak ada tahanan) dank arena itu mempunyai sudut fasa yang mendekati 90◦. Sebuah kapasitor udara yang dirancang secara cermat memiliki nilai yang sangat stabil dan medan listrik yang sangat kecil; bahan isolasi yang akan diuji dapat dengan mudah dihindari dari setiap medan yang kuat.
Universitas Sumatera Utara
Persyaratan setimbang menginginkan bahwa jumlah sudut fasa lengan 1 dan lengan 4 sama dengan jumlah sudut fasa lengan 2 dan lengan 3. Karena kapasitor standar berada dalam lengan 3, jumlah sudut fasa lengan 2 dan 3 akan menjadi ◦+90◦=90◦. 0 Agar menghasilkan sudut fasa 90◦ yang diperlukan untuk kesetimbangan, jumlah sudut fasa antara lengan 1 dan 4 harus sama dengan 90◦. Karena dalam pek erjaan pengukuran yang umum besaran yang tidak diketahui akan memiliki sudut fasa yang lebih kecil dari 90◦, maka lengan 1 perlu diberi suatu sudut kapasitif yang kecil dengan menghubungkan kapasitor C1 parlel terhadap R1. Suatu sudut kapasitif yang kecil sangat mudah diperoleh, yakni dengan menghubungkan sebuah kapasitor kecil terhadap R1.\ Persamaan kesetimbangan diturunkan dengan cara yang biasa, dan dengan memasukkan nilai-nilai impedansi dan admitansi yang memenuhi ke dalam persamaan umum kita peroleh,
Zx = Z2Z3Y1 Rx – j/ωCx = R2(-j/ωC3)(1/R1+jωC1)
(1)
Dan dengan menghilangkan tanda kurung, Rx – j/ωCx = R2C1/C3 – jR2/ωC3R1
(2)
Dengan menyamakan bagian nyata dari bagian khayal kita peroleh bahwa
Rx = R2C1/C3
(3)
Cx = C3R1/R2
(4)
Factor daya (power factor, PF) dari sebuah kombinasi seri RC didefinisikan sebagai cosinus sudut fasa rangkaian. Denga demikian factor daya yang tidak diketahui sama dengan PF = Rx/Zx . Untuk sudut-sudut fasa yang sangat mendekati 90 ◦, reaktansi hamper sama dengan impedansi dan kita dapat mendekati factor daya menjadi : PF ≈ Rx/Xx = ωCxRx
(5)
Factor disipasi dari sebuah rangkaian seri RC didefinisikan sebagai cotangent sudut fasa dank arena itu, menurut definisi, factor disipasi adalah
Universitas Sumatera Utara
D = Rx/Xx = ωCxRx
(6)
Di samping itu karena kualitas sebuah kumparan didefinisikan oleh Q = XL/RL, kita peroleh bahwa factor disipasi D adalah kebalikan dari factor kualitas Q, dan berarti D = 1/Q. Faktor disispasi memberitahukan kita sesuatu mengenai kualitas sebuah kapasitor, yakni bagaimana dekatnya sudut fasa kapasitor tersebut ke nilai idealnya 90◦. Dengan memasukka n nilai Cx dalam persamaan (4) dan Rx dalam persamaan (3) kedalam bentuk factor disipasi diperoleh D = ωR1C1
(7)
Jika tahanan R1 dalam jembatan Schering pada gambar diatas mempunyai suatu nilai yang tetap, piringan (dial) kapasitor C1 dapat dikalibrasi langsung dalam factor disipasi D. ini merupakan hal yang biasa didalam sebuah jembatan Schering. Perhatikan bahwa suku ω muncul dalam pernyataan factor disipasi (persamaan 7). Tentunya ini berarti bahwa kalibrasi piringan C1 hanya berlaku untuk satu frekuensi tertentu pada mana piringan di kalibrasi. Frekuensi yang berbeda dapat digunakan asalkan dilakukan suatu koreksi, yakni dengan mengalikan pembacaan piringan C1 terhadap perbandingan dari kedua frekuensi tersebut.
2.2. Derajat Keasaman (pH) pH adalah derajat keasaman yang digunakan untuk menyatakan tingkat keasaman atau kebasaan yang dimiliki oleh suatu larutan. Ia didefinisikan sebagai kologaritmaaktivitasion hidrogen (H+) yang terlarut. Koefisien aktivitas ion hidrogen tidak dapat diukur secara eksperimental, sehingga nilainya didasarkan pada perhitungan teoritis. Skala pH bukanlah skala absolut. Ia bersifat relatif terhadap sekumpulan larutan standar yang pH-nya ditentukan berdasarkan persetujuan internasional. Konsep pH pertama kali diperkenalkan oleh kimiawanDenmarkSøren Peder Lauritz Sørensen pada tahun 1909. Tidaklah diketahui dengan pasti makna singkatan "p" pada "pH". Beberapa rujukan mengisyaratkan bahwa p berasal dari singkatan untuk powerp (pangkat), yang lainnya merujuk kata bahasa JermanPotenz (yang juga berarti pangkat), dan ada pula yang merujuk pada kata potential. Jens Norby mempublikasikan sebuah karya ilmiah pada tahun 2000 yang berargumen bahwa p adalah sebuah tetapan yang berarti "logaritma negatif".
Universitas Sumatera Utara
Air murni bersifat netral, dengan pH-nya pada suhu 25 °C ditetapkan sebagai 7,0. Larutan dengan pH kurang daripada tujuh disebut bersifat asam, dan larutan dengan pH lebih daripada tujuh dikatakan bersifat basa atau alkali. Pengukuran pH sangatlah penting dalam bidang
yang
terkait
dengan
kehidupan
atau
industri
pengolahan
kimia
seperti kimia, biologi, kedokteran, pertanian, ilmu pangan, rekayasa (keteknikan), dan oseanografi. Tentu saja bidang-bidang sains dan teknologi lainnya juga memakai meskipun dalam frekuensi yang lebih rendah. pH adalah tingkat keasaman atau kebasa-an suatu benda yang diukur dengan menggunakan skala pH antara 0 hingga 14. Sifat asam mempunyai pH antara 0 hingga 7 dan sifat basa mempunyai nilai pH 7 hingga 14. Sebagai contoh, jus jeruk dan air aki mempunyai pH antara 0 hingga 7, sedangkan air laut dan cairan pemutih mempunyai sifat basa (yang juga di sebut sebagai alkaline) dengan nilai pH 7 – 14. Air murni adalah netral atau mempunyai nilai pH 7. Di dalam air minum PH meter adalah suatu alat yang digunakan untuk mengukur tingkat keasaman dan kebasa-an.Keasaman dalam larutan itu dinyatakan sebagai kadar ion hidrogen disingkat dengan [H+], atau sebagai pH yang artinya –log [H+]. Dengan kata lain pH merupakan ukuran kekuatan suatu asam. pH suatu larutan dapat ditera dengan beberapa cara antara lain dengan jalan menitrasi larutan dengan asam dengan indikator atau yang lebih teliti lagi dengan pH meter. PH air disebut asam bila kurang dari 7, PH air disebut basa (alkaline) bila lebih dari 7 dan PH air disebut netral bila ph sama dengan 7. PH air minum ideal menurut standar Departemen Kesehatan RI adalah berkisar antara 6,5 sampai 8,5.
2.3. Mikrokontroler ATmega 8 Semua jenis perangkat elektronika, memiliki sebuah mikrokontroler yang berperan sebagai jantung dari kesistemannya. Mikrokontroler mampu melaksanakan semua kerja pemrosesan kompleks yang diperlukan untuk memproses berupa menghitung, memanipulasi, mengkalibrasi dan lain sebagainya suatu data input (atau input-input) dan mengirimkan sistem ke output (atau output-output)-nya.Sebuah mikrokontroler seringkali disebut dengan sebutan ‘komputer kecil dalam sebuah chip’. Mikrokontroler adaah sebuah rangkaia terpadu tunggal, dimana semua blok rangkaian merupakan unit-unit terpisah di dalam sebuah komputer yang digabung menjadi satu.Terdapat ratusan jenis mikrokontroler yang berbeda, yang terdapat di pasaran. Sedemikian beragamnya,
Universitas Sumatera Utara
maka cukup sulit mengatakan jenis mana yang merupakan salah satu contoh rangkaian terpadu (IC) mikrokontroler.
Gambar 2.3. Mikrokontroler
Rangkaian terpadu(IC) pada gambar di atas adalah mikrokontroler dengan ukuran ratarata. Umumnya sebuah mikrokontroler mamuat unit-unit dasar yang dibutuhkan oleh semua jenis kontroler, yaitu : •Unit aritmetika dan logika (Arithmatic Logic Unit) ALU
: Rangkaian-rangkaian logika
yang
melaksanakan operasi-operasipenjumlahan,
pengurangan, dan berbagai operasi ogika lainnya. •Memori : Rangkaian-rangkaian logika yang berfungsi menyimpan data. Terdapat dua jenis memori, yaitu RAM dan ROM. RAM (RandomAccess Memory), dipergunakan untuk menyimpan data secara temporer. Data yang disimpan di dalamnya akan hilang ketika pasokan daya ke piranti ini diputuskan. Biasanya memori jenis ini digunakan oleh ALU untuk menyimpan data sementara, yang dibutuhkan ketika melakukan pemrosesan.ROM (Read Only Memory) adalah jenis yang “lebih sedikit” permanen. Tipe memori ini ditunjukkan untuk ‘sering baca’ namun ‘jarang ditulis’. Memori jenis ini umumnya digunakan untuk menyimpan instruksi- instruksi dalam bentuk kode biner untuk mengarahkan kerja kontroler yang dapat dipahami dan dilaksanakan oleh kontroler. •Clock : Chip yang memuat semua komponen clock sistem, terkecuali komponen kristalnya. •Input dan Output : Berupa pin-pin yang dapat disambungkan ke sensor- sensor atau perangkat-perangkat input lainnya. Pin-pin juga dapat disambungkan ke lampu, piranti tampilan, motor, pengeras suara dan perangkat output lainnya. Selain unit-unit utama di atas, suatu mikrokontroler juga memiliki Universitas Sumatera Utara
sejumlah fasilitas khusus, namun tidak semua mikrokontroler memilikinya. Unit ini meliputi timer, counter dan lain-lain.
2.4. LCD (Liquid Crystal Display) Liquid Crystal Display (LCD) adalah suatu jenis media tampil yang menggunakan kristal cair sebagai penampil utama. LCD sudah digunakan diberbagai bidang misalnya alat– alat elektronik seperti televisi, kalkulator, ataupun layar komputer. Pada bab ini aplikasi LCD yang dugunakan ialah LCD dot matrik dengan jumlah karakter 2 x 16. LCD sangat berfungsi sebagai penampil yang nantinya akan digunakan untuk menampilkan status kerja alat. Adapun fitur yang disajikan dalam LCD ini adalah : 1. Terdiri dari 16 karakter dan 2 baris 2. Mempunyai 192 karakter tersimpan 3. Terdapat karakter generator terprogram 4. Dapat dialamati dengan mode 4-bit dan 8-bit 5. Dilengkapi dengan back light. 6. Tersedia VR untuk mengatur kontras. 7. Pilihan konfigurasi untuk operasi write only atau read/write. 8. Catu daya +5 Volt DC. 9. Kompatibel
dengan
DT-51
dan
DT-AVR
Low
Cost
Series
serta
sistem
mikrokontroler/mikroprosesor lain.
Gambar 2.4 LCD (Liquid Crystal Display) LCD dapat dengan mudah dihubungkan dengan mikrokontroler AVR. LCD yang digunakan dalam percobaan adalah LCD 2x16. Lebar display 2 baris 16 kolom., yang mempunyai 16 pin konektor, yang didefinisikan sebagai berikut:
Universitas Sumatera Utara
Tabel 2.4 Deskripsi Pin Pada LCD
2.4.1
Pin
Deskripsi
1
Ground
2
Vcc
3
Pengatur kontras
4
“RS” Instruction/Register Select
5
“R/W” Read/Write LCD Registers
6
“EN” Enable
7-14
Data I/O Pins
15
Vcc
16
Ground
Fungsi Pin-Pin Modul LCD Modul LCD berukuran 16 karakter x 2 baris dengan fasilitas back lighting memiliki
16 pin yang terdiri dari 8 jalur data, 3 jalur control dan jalur-jalur catu daya.
Gambar 2.4 LCD 16 x 2
Universitas Sumatera Utara
Keterangan pin LCD 16 x 2 yaitu : a. Pin 1 dan 2 Merupakan sambungan catu daya , Vss, dan Vdd. Pin Vdd dihubungkan dengan tegangan positif catu daya, dan Vss pada 0 volt atau ground. Meskipun data menentukan catu 5 Vdc (hanya beberapa mA), menyediakan 6 V dan 4,5 V yang keduanya bekerja dengan baik, bahkan 3 V cukup untuk beberapa modul. b. Pin 3 Merupakan pin control Vcc yang digunakan untuk mengatur kontras display. Idealnya pin ini dihubungkan dengan tegangan yang bias diubah untuk mmungkinkan pengaturan dengan tegangan yang bias diubah untuk memungkinkan pengaturan terhadap tingkatan kontrak display sesuai dengan kebutuhan. c. Pin 4 Merupakan register select (RS), merupakan yang pertama dari tiga commond control input. Dengan membuat RS menjadi high, data karakter dapat ditransfer dari dan menuju modulnya. d. Pin 5 Read/Write (R/W), untuk memfungsikannya sebagi perintah write makan R/W low atau menulis karakter ke modul. R/W high untuk membaca data karakter atau informasi status dari registernya. e. Pin 6 Enable (E), input ini dugunakan untuk transfer actual dari perintah-perintah atau karakter antara modul dengan hubungan data. Ketika menulis ke display, data ditransfer hanya pada perpindahan high atau low. Tetapi ketika membaca dari display, data akan menjadi cepat tersedia setelah perpindahan dari low ke high dan tetap tersedia hingga low lagi. f. Pin 7 sampai 14 adalah depalapn jalur data (D0-D7) di mana data dapat ditransfer ked an dari display. g. Pin 15 dan 16 Pin 15 atau A (+) mmpunyai level DC +5 v berfungsi sbagai LED backlight + sedangkan pin 16 yaitu K (-) memiliki level 0 V dan berfungsi sebagai LED backlight.
2.5. Bahasa Pemrograman C Bahasa C merupakan salah satu bahasa pemrograman yang paling populer untuk pengembangan program-program aplikasi
yang
berjalan
pada
sistem
mikroprosesor
(komputer). Relatif dibandingkan dengan bahasa tinggi lain, bahasa C merupakan bahasa pemrograman yang sangat fleksibel dan tidak terlalu terikat dengan berbagai aturan yang sifatnya kaku. Penggunaan bahasa C akan sangat efisien terutama untuk program
Universitas Sumatera Utara
mikrokontroler yang berukuran relatif besar (dan sebagai konsekuensiya hal ini terkadang akan megurangi kecepatan eksekusi). a.Struktur Penulisan Program Bahasa C Struktur dalam bahasa C cukup sederhana, karena hanya mencakup 3 poin penting, yaitu : 1.Pre-processor Merupakan bagian dari program dalam bahasa C yang selalu dijalankan pertama kali. Bagian ini juga melakukan proses tertentu. Banyak sekali syntax dalam pre-processor. Namun setidaknya ada duasyntax yang akan sering digunakan dalam latihan programming dasar, yaitu syntax #include dan #define. 2.Main function Ini adalah fungsi utama dalam suatu program. Tentu saja fungsi ini yang akan dijalankan pertama kali. Tidak menutup kemungkinan di dalam fungsi ini terdapat statement yang memanggil fungsi lain. 3.Function Fungsi dapat dibuat sendiri dan dapat dipanggil baik fungsi utama ataupun fungsi lain dan bahkan fungsi itu sendiri. Fungsi dapat diletakkan di atas fungsi utama (dengan menambahkan deklarasi fungsi di atas fungsi utama).
b.Tipe data Tipe data merupakan bagian yang paling penting karena tipe data mempengaruhi setiap instruksi yang akan dilaksanakan oleh komputer. Misalnya saja 5 dibagi 2 bisa saja menghasilkan hasil yang berbeda tergantung tipe datanya.
Jika 5 dan 2 bertipe integer maka akan menghasilkan nilai 2, namun jika keduanya bertipe float maka akan menghasilkan nilai 25000000. c.Kostanta Konstanta merupakan suatu nilai yang tidak dapat diubah selama proses program berlangsung. Konstanta harus didefinisikan terlebih dahulu di awal program. Konstanta dapat Universitas Sumatera Utara
bernilai integer, pecahan, karakter, dan string. Selain itu, bahasa C juga menyediakan beberapa karakter khusus yang disebut karakter escape, antara lain : \a: untuk bunyi bel (alert) \b: mundur satu spasi (backspace) \f:ganti halaman (form feed) \n: ganti baris bar (new line) \v:tabulasi vertikal \0: nilai kosong (null) \’:karakter petik tunggal \”:karakter petik ganda \\:karakter garis mirig
d.Variable Variable adalah suatu pengenal (identifier) yang digunakan untuk mewakili suatu nilai tertentu di dalam proses program. Berbeda dengan konstanta yang nilainya selalu tetap. Nilai dari suatu variable bisa diubah- ubah sesuai kebutuhan. Nama dari suatu variable dapat ditentukan sendiri oleh pemrogram dengan aturan sebagai berikut : 1)Terdiri dari gabungan huruf dan angka dengan karakter pertama harus berupa huruf. 2)Bahasa C bersifat case-sensitive artinya huruf besar dan kecil dianggap berbeda. Jadi antara Metal dengan metal itu berbeda. 3)Tidak boleh mengandung spasi. 4)Tidak boleh mengandung simbol-simbol khusus, kecuali garis bawah (uderscore), seperti : $, ?, %, #, !, &, *,(,), -, +, dsb. 5)Panjangnya bebas, tetapi hanya 32 karakter pertama yag terpakai.
Bahasa C adalah bahasa pemrograman yang digunakan pada software CodeVision AVR. Bahasa pemrograman ini yang dapat dikatakan berada antara bahasa tingkat rendah (bahasa yang berorientasi pada mesin) dan bahasa tingkat tinggi (bahasa yang berorientasi pada manusia). Seperti yang diketahui, bahasa tingkat tinggi mempunyai kompatibilitas antara platform dan karenanya amat mudah untuk membuat program pada berbagai mesin. Berbeda dengan menggunakan bahasa mesin, sebab setiap perintahnya sangat bergantung pada jenis mesin. Pembuat bahasa C adalah Brian W. Kernighan dan Dennis M. Ritchie pada tahun 1972. Bahasa C adalah bahasa pemrograman terstruktur, yang membagi programnya dalam bentuk blok. Tujuannya untuk memudahkan dalam pembuatan dan pengembangan program. Program yang ditulis dengan bahasa C mudah sekali dipindahkan dari satu jenis program ke
Universitas Sumatera Utara
bahasa program lain. Hal ini karena adanya standarisasi bahasa C berupa standar ANSI (American National Standard Institute) yang dijadikan acuan oleh para pembuat kompiler jenis mesin. Kelebihan Bahasa C: a. Bahasa C tersedia hampir di semua jenis komputer. b. Kode bahasa C sifatnya adalah portable dan fleksibel untuk semua jenis komputer. c. Bahasa C hanya menyediakan sedikit kata-kata kunci hanya terdapat 32 kata kunci. d. Proses executable program bahasa C lebih cepat e. Dukungan pustaka yang banyak. f. C adalah bahasa yang terstruktur Kekurangan Bahasa C: a. Banyaknya
operator
serta
fleksibilitas
penulisan
program
kadang-kadang
membingungkan pemakai. b. Bagi pemula pada umumnya akan kesulitan menggunakan pointer.
Struktur Bahasa Pemrograman C <preprosesor directive> { <statement>; <statement>; } Contoh :
Penjelasan : Header File Header File adalah berkas yang berisi prototype fungsi, definisi konstanta dan definisi variable. Fungsinya adalah kumpulan code C yang diberi nama dan ketika nama tersebut dipanggil maka kumpulan kode tersebut dijalankan.
File header yang digunakan
Universitas Sumatera Utara
mendefinisikan jenis mikrokontroler yang digunakan, yang berfungsi sebagai pengarah. Dimana pendeklarasian register-register yang terdapat pada program difungsikan untuk jenis mikrokontroler digunakan ( pada softwareCodeVision AVR ) contohnya di bawah ini: Contoh : #include <mega8535.h> #include<delay.h> #include <stdio. h> Preprosesor Directive (#include) Preprosesor directive adalah bagian yang berisi pengikutsertaan file atau berkasberkas fungsi maupun pendefinisian konstanta. Contoh: #include <stdio.h> #include phi 3.14 Void Void artinya fungsi yang mengikutinya tidak memiliki nilai kembalian (return). Main ( ) Fungsi main ( ) adalah fungsi yang pertama kali dijalankan ketika program dieksekusi tanpa fungsi main suatu program tidak dapat dieksekusi namun dapat dikompilasi.
2.5.1 Kata Kunci (Keyword) Kata kunci-kata kunci yang terdapat di C, sebagai berikut: Tabel 2.5.1 Kata-Kata Kunci
Universitas Sumatera Utara
2.5.2Identifier Identifier atau nama pengenal adalah nama yang ditentukan sendiri oleh pemrogram yang digunakan untuk menyimpan nilai, misalnya nama variable, nama konstanta, nama suatu elemen (misalnya: nama fungsi, nama tipe data, dll). Identifier punya ketentuan sebagai berikut : 1. Maksimum 32 karakter (bila lebih dari 32 karakter maka yang diperhatikan hanya 32 karakter pertama saja). 2. Case sensitive: membedakan huruf besar dan huruf kecilnya. 3. Karakter pertama harus karakter atau underscore ( _ ) selebihnya boleh angka. 4. Tidak boleh mengandung spasi atau blank. 5. Tidak boleh menggunakan kata yang sama dengan kata kunci dan fungsi. 2.5.3 Variabel Variabel adalah identifier yang nilainya dapat berubah atau diubah selama program berjalan (dieksekusi). Pengubahnya adalah user atau proses. Deklarasi variabel (tipe_data nama_variabel;) Variabel yang akan digunakan dalam program haruslah dideklarasikan terlebih dahulu. Pengertian deklarasi di sini berarti memesan memori dan menentukan jenis data yang bisa disimpan di dalamnya. Contoh : Int a, b, c; Inisialisasi variabel (tipe_data nama_variabel = nilai;) Int a=15, b=7, c=0 2.5.4 Konstanta Konstanta adalah identifier yang nilainya tetap selama program berjalan atau dieksekusi. Cara untuk mengubahnya hanya melalui source codenya saja. Seperti halnya variabel, konstanta juga memiliki tipe. Penulisan konstanta mempunyai aturan tersendiri, sesuai dengan tipe masing-masing. 1. Konstanta karakter misalnya ditulis dengan diawali dan diakhiri dengan tanda petik tunggal, contohnya : ‘A’ dan ‘@’. 2. Konstanta integer ditulis dengan tanda mengandung pemisah ribuan dan tidak mengandung bagian pecahan, contohnya : –1 dan 32767. Universitas Sumatera Utara
3. Konstanta real (float dan double) bisa mengandung pecahan (dengan tanda berupa titik) dan nilainya bisa ditulis dalam bentuk eksponensial (menggunakan tanda e), contohnya : 27.5f (untuk tipe
float) atau 27.5 (untuk tipe double) dan 2.1e+5
(maksudnya 2,1 x 105 ). 4. Konstanta string merupakan deretan karakter yang diawali dan diakhiri dengan tanda petik-ganda (“), contohnya :“Pemrograman Dasar C”. Contoh :
2.5.5 Tipe Data Dasar Data merupakan suatu nilai yang bisa dinyatakan dalam bentuk konstanta atau variabel. Konstanta menyatakan nilai yang tetap, sedangkan variabel menyatakan nilai yang dapat diubah-ubah selama eksekusi berlangsung.Untuk mengetahui ukuran memori bisa dipakai fungsi sizeof (
). Tabel 2.5.2 Ukuran Memori untuk Tipe Data Ukuran Memori Unsigned char 8 bits Char 8 bits Short int 16 bits Unsigned int 32 bits Int 32 bits Unsigned long 32 bits Enum 16 bits Long 32 bits Float 32 bits Double 64 bits Long double 80 bits Near (pointer) 32 bits Far (pointer) 32 bits Tipe Data
Kawasan 0 s/d 255 -128 s/d 127 -32.768 s/d 32.767 0 s/d 4.294.967.295 -2.147.483.648 s/d 2.147.483.647 0 s/d 4.294.967.295 -2.147.483.648 to 2.147.483.648 -2.147.483.648 s/d 2.147.483.647 3,4 x 10-38 s/d 3,4 x 1038 1,7 x 10-308 to 1,7 x 10308 3,4 x 10-4932 to 3,4 x 104932 Not applicable Not applicable
Catatan: Ukuran dankawasan dari masing-masing tipe data adalah bergantung pada jenis mesin yang digunakan (misalnya mesin 16 bit bisa jadi memberikan hasil berbeda dengan mesin 32 bit). Untuk menampilkan hasil output dibutuhkan kode format, berikut adalah daftar kode format: Tabel 2.5.3 Daftar Kode Format
Universitas Sumatera Utara
Kode Format %c %s %d %i %u %ld %lu %li %hi %x %o %f %e %g %lf %lg %p
Kegunaan Menampilkan sebuah karakter Menampilkan nilai string Menampilkan nilai desimal integer Menampilkan nilai desimal integer Menampilkan nilai desimal integer tidak bertanda (unsigned integer) Menampilkan nilai desimal long integer Menampilkan nilai desimal long integer tidak beratanda Menampilkan desimal long integer Menampilkan nilai desimal short integer tak bertanda Menampilkan nilai heksa desimal integer Menampilkan nilai okta integer Menampilkan nilai pecahan/float Menampilkan nilai float scientific Sebagai pengganti %f atau %e tergantung yang terpendek Menampilkan nilai pecahan double Menampilkan nilai pecahan double Menampilkan suatu alamat memory untuk pointer
2.6.6 Operator Aritmatika Operator aritmatika digunakan untuk melakukan proses perhitungan matematika. Fungsi-fungsi matematika yang terdapat pada bahasa C dapat dilihat pada tabel di bawah ini: Tabel2.5.4 Operator Aritmatika
Contoh penggunaan operator aritmatika dapat dilihat di bawah ini, #include < mega8535.h> #include <delay.h> void main (void) { unsigned char a, b; a = 0x03; b = 0x05; Universitas Sumatera Utara
DDRC 0XFF; // PORTC digunakan sebagai output while (1) { PORTC = (a * b); delay_ms(500); } } 2.5.7 Operator Pembanding Operator pembanding digunakan untuk membandingkan 2 data atau lebih. Hasil operator akan di jalankan jika pernyataan benar dan tidak dijalankan jika salah. Operator pembanding dapat kita lihat pada tabel di bawah ini: Tabel 2.5.5 Operator Pembanding Operator ==
Contoh x == y
Keterangan Benar jika kedua data bernilai sama
!=
x != y
Bernilai benar jika kedua data tidak sama
>
x>y
Bernilai benar jika nilai x lebih besar dari pada y
<
x
Bernilai jika x lebih kecil dari y
>=
x >= y
Bernilai jika x lebih besar atau sama dengan y
<=
x <= y
Bernilai benar jika x lebih kecil atau sama dengan y
2.5.8 Operator Logika Operator logika digunakan untuk membentuk logika dari dua pernyataan atau lebih. Operator logika dapat dilihat pada tabel di bawah ini: Tabel 2.5.6 Operator Logika
#include < mega8535.h> #include <delay.h> Universitas Sumatera Utara
void main (void) { DDRC = 0XFF; // sebagai output DDRA = 0X00; // sebagai input while (1) { If ( PINA.0 == 1 )|| (PINA.1 == 1 ){ PORTC = 0XFF; delay_ms(500); PORTC = 0X00; Delay_ms(500); } else{ PORTC = 0x00; delay_ms(500); } } }
Penjelasan program: Apabila PINA.0 atau PINA.1 diberi input logika 1 maka PORTC akan mengeluarkan logika 0xff kemudian logika 0x00 secara bergantian dengan selang waktu 0,5 s. dan apabila bukan PINA.1 atau PINA.0 diberi logika 1 maka PORTC akan mengeluarkan logika 0x00.
2.5.9 Operator Bitwise Operator logika ini bekerja pada level bit. Perbedaan Operator Bitwise dengan operator logika adalah pada operator logika akan menghasilkan pernyataan benar atau salah sedangkan pada operator bitwise akan menghasilkan data biner. Operator Bitwise dapat dilihat pada tabel di bawah ini:
Universitas Sumatera Utara
Tabel 2.5.7 Operator Bitwise
Contoh program: #include <mega8535.h> #include <delay.h> void main (void) { unsigned char a,b,c; DDRC = 0xff; //portc sebagai o while (1) {
a = 0x12; b = 0x34; c = a & b; PORTC = c; delay_ms(500); }; } Penjelasan program: a = 0x12 =
0001 0010
b = 0x32 =
0011 0000
-------------------------
Universitas Sumatera Utara
a & b = 0x10 = 0001 0000
2.5.10 Operator Penambahan dan Pengurangan Operator ini digunakan untuk menaikkan atau menurunkan nilai suatu variabel dengan selisih 11. Operator ini dapat dilihat pada tabel di bawah ini: Tabel 2.5.8 Operator Penambahan dan Pengurangan
2.5.11 Pernyataan If dan If Bersarang Pernyataan if digunakan untuk pengambilan keputusan terhadap
2 atau lebih
pernyataan dengan menghasilkan pernyataan benar atau salah. Jika pernyataan benar maka akan di jalankan instruksi pada blok nya, sedangkan jika pernyataan tidak benar maka instruksi yang pada blok lain yang dijalankan ( sesuai dengan arah programnya). Bentuk pernyataan IF adalah sebagai berikut: a. Bentuk sederhana if (kondisi){ Pernyataan_1; Pernyataan_2; ............; } b. Pernyataan else if (kondisi) { Pernyataan_1; ............; } else
Universitas Sumatera Utara
{ Pernyataan_2; ............; }
2.5.12 Pernyatan While Pernyataan while digunakan untuk mengulangi sebuah pernyataan atau blok kenyataan secara terus menerus selama kondisi tertentu masih terpenuhi. Bentuk pernyataan while adalah sebagai berikut : while (kondisi) { // sebuah pernyataan atau blok pernyataan } Jika pernyataan yang akan diulang hanya berupa sebuah pernyataan saja maka tanda { dan } bias dihilangkan. Contoh : unsigned char a=0; ….. while (a<10) { PORTC=a; a++; Pernyataan di atas akan mengeluarkan data a ke port C secara berulang-ulang. Setiap kali pengulangan nilai a akan bertambah 1 dan setelah niai a mencapai 10 maka pengulangan selesai.
Universitas Sumatera Utara
2.6 Perangkat Lunak CodeVision AVR CodeVision AVR pada dasarnya merupakan perangkat lunak pemrograman Mikrokontroler keluarga AVR berbasis bahasa C. Ada tiga komponen penting yang telah diintegrasikan dalam perangkat lunak ini : Compiler, IDE dan Program Generator. Berdasarkan
spesifikasi
yang
dikeluarkan
oleh
perusahaan
pengembangannya, Compiler C yang digunakan hampir mengimplementasikan semua komponen standar yang ada pada bahasa C standar ANSI (seperti struktur program, jenis tipe data, jenis operator, danlibrary fungsi standar berikut penanamannya). Tetapi walaupun demikian, dibandingkan bahasa C untuk aplikasi komputer, compiler C untuk mikrokontroler ini memiliki sedikit perbedaan yang disesuaikan dengan arsitektur AVR tempat program C tersebut ditanamkan.
2.7 Karakteristik Statik Alat Ukur Performansi alat ukur menyatakan berbagai hal tentang kemampuan dan batasan penggunaan suatu alat ukur. Performansi alat ukur digunakan sebagai acuan untuk memilih alat ukur yang paling sesuai untuk keperluannya. Tidak perlu memilih alat ukur dengan performansi yang terlalu akurat, yang tidak sesuai dengan kebutuhan pengukuran. Pada umumnya performansi atau unjuk kerja alat ukur ditampilkan pada tabel spesifikasi yang tercantum pada manual operasi alat, dari hasil kalibrasi ataupun dari harga karakteristik alat ukur tersebut baik karakteristik statik atau dinamik. Karakteristik statik adalah karakteristik alat berkaitan dengan input konstan yang berkerja pada alat ukur. Dengan kata lain, karakteristik statik suatu alat ukur adalah karakteristik yang harus diperhatikan apabila alat tersebt digunakan untk mengkur suatu kondisi yang tidak berubah karena waktu.Terdapat beberapa parameter terkait dengan karakteristik statik istrumen ukur, yaitu : •Ketelitian (Akurasi) Ketelitian pembacaan merupakan kecocokan antara pembacaan- pembacaan itu sendiri. Jika nilai yang sama dari peubah yang terukur, diukur beberapa kali dan memberikan hasil yang kurang lebih sama,maka alat ukur tersebut dikatakan mempunyai ketelitian tinggi, danjuga berarti alat ukur tidak mempunyai penyimpangan.
Universitas Sumatera Utara
•Presisi Presisi merupakan derajat kedekatan data dalam satu kelompok data pengukuran untuk input yang sama pada pengukuran berulang. •Bias Bias merupakan perbedaan harga rata-rata output alat ukur untuk input yang sama dengan penunjukan alat standar. •Kesalahan Kesalahan merupakan beda hasil pengukuran dengan penunjukan alat standar.
Universitas Sumatera Utara