Anda di halaman 1dari 29

BAB II

LANDASAN TEORI

2.1 Tinjauan Pustaka

Pengukuran besaran listrik berupa tegangan dapat dilakukan dengan

menggunakan AT-Mega8535 kemudian hasil dari perthitungan tersebut di

tampilkan pada perangkat lunak komputer berbasis perangkat lunak Visual

Basic.Net yang berfungsi untuk perangkat dokumentasi data hasil pengukuran

(Hidayat K, Itmi dan Hayat, Latiful. 2012). Pada karya ilmiah ini pengukuran

daya listrik berupa tegangan dilakukan dengan menggunakan AT-Mega328 dan

hasil dari pengukuran tersebut akan ditampilkan di LCD 16X2 dan data yang

tertera akan disuarakan.

Pada suatu penelitian, Multi Meter Dengan Tampilan Seven Segment Dan

Isyarat Suara (Joni Permana, 2007), dimana proses penyimpan sura menggunakan

ADC MC14433 sebagai pengolah data analog menjadi digital yang kemudian

akan dialamatkan oleh IC mikrokotroler AT89S52.

Pada penelitian rancang bangun alat ukur konduktansi listrik otomatis

berbasis mikrokontroler AT-Mega8535, mikrokontroler yang digunakan yaitu seri

AT-Mega karena mikrokontroler ini mudah didapatkan dan harganya lebih murah

dibanding dengan seri lainnya. Alat ukur konduktasi listrik otomatis berbasis

mikrokontroler dirancang agar bermanfaat dari sistem akuisisi datanya. Sistem

akuisisi data dari rancang bangun alat ukur ini dibuat bersifat otomatis. Pengaruh

suhu terhadap konduktansi sebuah sampel bahan ditampikan pada layar penampil

dan data hasil pengukuran disimpan dalam bentuk basis data. Pemanfaatan

6
Alat Ukur Tegangan..., Ahmad Fauzan, Fakultas Teknik UMP, 2014
7

mikrokontroler AT-Mega85835 pada rancang bangun alat ukur ini dapat

memberikan kemudahan dalam sistem akuisisi data. Selain itu, sistem

pengoperasian dalam akuisis data yang dilakukan seacara otomatis memberikan

kemudahan saat melakukan pengukuran karena tidak paerlu memantau alat saat

sedang melakukan pengukuran (Dwi Harjono, 2014).

Berdasarkan tinjauan pustaka didepan menjadi acuan pada pembuatan

Tugas Akhir ini. Akan tetapi ada banyak hal yang berbeda, diantaranya dari segi

komponen elektronik yang digunakan, konsep rangkaian yang berbeda, serta

spesifikasi alat secara keseluruhan. Alat ukur tegangan bersuara pada Tugas Akhir

ini menggunakan SDcard sebagai media penyimpan suara dan mikrokontroler

ATMega328 sebagai pusat pengatur dan pengendali. Dan data hasil pengukuran

akan ditampilkan dalam bentuk digital kemudian di suarakan.

2.2 Landasan Teori

2.2.1 IC LM7805

LM7805 merupakan komponen yang digunakan untuk meregulasi

tegangan untuk memperoleh keluaran sebesar ± 5V. IC ini memiliki tiga buah

kaki, yaitu kaki input, common, dan output. Tegangan input LM7805 mulai dari

7,5 V sampai 25V dengan arus sebesar 5mA sampai 1A.

Alat Ukur Tegangan..., Ahmad Fauzan, Fakultas Teknik UMP, 2014


8

Gambar 2.1 LM7805

Di dalam sebuah IC LM7805 sebenarnya terdapat rangkaian yang terdiri

dari sebuah dioda zener, penguat operasi, transistor, dan tiga buah resistor. Dioda

zener digunakan sebagai peregulasi tegangan, sedangkan penguat operasi

digunakan sebagai pembanding antara tegangan acuan yanga berasal dari dioda

zener dan perubahan tegangan keluaran. Berikut ini adalah rangkaian pada IC

LM78XX.

V in V out

-
V ref

Gnd

Gambar 2.2 Rangkaian LM78XX

Cara kerja rangkaian adalah sebagai berikut:

1. Pada saat tegangan keluaran naik, maka besaran tegangan masukan

pembalik (V-) penguat operasi akan naik.

Alat Ukur Tegangan..., Ahmad Fauzan, Fakultas Teknik UMP, 2014


9

2. Apabila besar tegangan ini lebih besar dari tegangan acuan, pada masukan

(V+) akan menyebabkan keluaran penguat operasi akan rendah sehingga

transistor akan mati dan keluaran rangkaian akan turun.

3. Dengan turunnya tegangan keluaran rangkaian akan menyebabkan nilai

tegangan pada masukan penguat pembalik (V-) penguat operasi akan

semakin turun.

4. Apabila nilai tegangan ini kurang dari tegangan acuannya, maka keluaran

penguat operasi akan tinggi dan transistor akan terhubung dan tegangan

keluaran akan naik.

5. Proses tersebut akan berulang-ulang sehingga diperoleh tegangan yang

konstan.

Tabel 2.1 Jenis IC LM78XX

Output Arus Tegangan input (V)


Tipe IC Tegangan Keluaran
Minimal Maksimal
(V) (A)
LM7805 5 1 7,5 20
LM7806 6 1 8,6 21
LM7808 8 1 10,6 23
LM7810 10 1 12,7 25
LM7812 12 1 14,8 27
LM7815 15 1 18 30
LM7818 18 1 21 33
LM7824 24 1 27,3 38

IC regulator LM7805 merupakan salah satu jenis dari LM78XX yang

diproduksi. Dari Table 2.1 terlihat jenis IC LM78XX beserta perbandingan

Alat Ukur Tegangan..., Ahmad Fauzan, Fakultas Teknik UMP, 2014


10

masing-masing tegangan input minimal dan maksimal. Jadi, dalam

mengaplikasikan LM78XX tidak hanya hanya dilihat dari tegangan output saja,

tetapi juga besar tegangan input agar komponen LM78XX tidak mengalami

kerusakan. Karakteristik dari masing-masing IC LM78XX bias dilihat secara

detail pada data sheet.

2.2.2 Kristal Frekuensi

Kristal frekuensi adalah komponen yang berfungsi untuk membangkitkan

frekuensi osilasi dengan stabilitas yang sangat tinggi. Frekuensi osilasi diperoleh

dari efek piezoelektrik. Bahan yang biasa digunakan untuk memperoleh efek

piezoelektrik diantaranya kwarsa, garam Rochelle dan tourmaline. Bahan yang

banyak digunakan adalah kristal kwarsa.

Keping tipis dari kristal kwarsa tersebut dipasang antara elektroda.

Frekuensi ini dibangkitkan dengan cara memberikan tegangan pada permukaan

keping kristal. Dengan memberikan tegangan pada permukaan keping kristal,

maka keping tersebut akan mengalami getaran mekanis. Sebaliknya, jika kristal

ini dikenakan getaran mekanis maka permukaan kristal akan menghasilkan

tegangan listrik.

Gambar 2.3 Simbol Kristal

Alat Ukur Tegangan..., Ahmad Fauzan, Fakultas Teknik UMP, 2014


11

Nilai frekuensi yang dibangkitkan oleh kristal biasanya tercetak diatas

permukaan kemasannya. Sebagai contoh, kristal yang bertuliskan 12.000,

maksudnya kristal tersebut bekerja pada frekuensi 12,000 MHz.

2.2.3 Mikrokontroler

Mikrokontroler adalah sebuah chip yang berfungsi sebagai pengontrol

rangkaian elektonik dan umumnya dapat menyimpan program di dalamnya.

Mikrokontroler umumnya terdiri dari CPU (Central Processing Unit). Memori

I/O tertentu dan unit pendukung seperti ADC (Analog to Digital Converter) yang

sudah terintegrasi di dalamnya. Kelebihan utama dari mikrokontroler ialah

tersedianya RAM dan peralatan I/O pendukung sehingga ukuran papan

mikrokontroler menjadi sangat ringkas.

Mikrokontroler terdiri dari beberapa bagian seperti processor, memori

(RAM dan ROM), port I/O dan pendukung lainnya seperti counter/timer dan lain

sebagainya. Semua terbungkus dalam sutu kemasan chip. Fitur inilah yang

membedakan dengan sistem mikroposesor. Sebuah mikroprosesor juga memiliki

memori, port I/O dan pendukung lainnya untuk menjadi sebuah unit yang komplit,

akan tetapi semua komponen tersebut terpisah dari chip processor. Jika sistem

mikroprosesor dapat diprogram untuk melakukan banyak fungsi, maka sistem

mikrokontroler hanya dapat melakkan sebuah tugas dan menjalankan sebuah

program.

Alat Ukur Tegangan..., Ahmad Fauzan, Fakultas Teknik UMP, 2014


12

Gambar 2.4 Perbedaan dasar mikroprosesor dan mikrokontroler.

Gambar 2.4 memperlihatkan perbedaan dasar antara suatu sistem

mikroprosesor dengan sistem mikrokontroler. Dari Gambar 2.4 dapat dilihat jika

sistem mikroprosesor membutuhkan device pendukung untuk membuatnya

menjadi sebuah unit yang komplit dan bekerja, sementara dalam sistem

mikrokontroler fungsi-fungsi dari device pendukung telah terbungkus dalam

sebuah chip.

Gambar 2.5 konfigurasi mikrokontroler Arsitektur Havard.

Alat Ukur Tegangan..., Ahmad Fauzan, Fakultas Teknik UMP, 2014


13

AVR merupakan mikrokontroler dengan arsitektur Harvard di mana

diantara kode program dan data disimpan dalam memori secara terpisah.

Umumnya arsitektur Harvard ini menyimpan kode program dalam memori

permanen atau semi-permanen (non volatile) sedangkan data disimpan dalam

memori tidak permanen (volatile). Sehingga dengan arsitektur seperti ini memori

program mikrokontroler menjadi lebih terlindungi dari spike tegangan dan faktor

lingkungan lain yang dapat merusak kode program. Beberapa jenis AVR memiliki

Flash, EEPROM dan SRAM yang semuanya terintegrasi dalam satu IC, sehingga

untuk aplikasi-aplikasi tertentu tidak akan memerlukan memori eksternal (Agus

Bejo, 2008).

2.2.3.1 Mikrokontroler AT-Mega 328

AT-Mega 328 adalah mikrokontroller keluaran dari Atmel yang

mempunyai arsitektur RISC (Reduce Instruction Set Computer) dimana setiap

proses eksekusi data lebih cepat dari arsitektur CISC (Completed Instruction Set

Computer). Mikrokontroler AT-Mega 328 memiliki arsitektur Havard, yaitu

memisakan memori untuk kode program dan memori untuk data sehingga dapat

memaksimalkan kerja dan parallelism. Intruksi-intruksi dalam memori program

dieksekusi dalam satu alur tunggal dimana pada saat satu instruksi dikerjakan

instruksi berikutnya sudah diambil dari memori program. Konsep inilah yang

memungkinkan instruksi-instruksi dapat dieksekusi dalam setiap satu siklus clock.

32 x 8-bit register serba guna digunakan untuk mendukung operasi pada

ALU (Arithmatic Logic Unit) yang dapat dilakukan dalam satu suklus. 6 dari

Alat Ukur Tegangan..., Ahmad Fauzan, Fakultas Teknik UMP, 2014


14

register serbaguna ini dapat digunakan sebagai 3 buah register pointer 16-bit pada

mode pengalamatan tidak langsung untuk mengambil data pada ruang memori

data.

Ketiga register pointer 16-bit ini disebut dengan register X (gabungan R26

dan R27 ), register Y (gabungan R28 dan R29), dan register Z (gabungan R30 dan

R31). Hamper semua intruksi AVR memiliki format 16-bit. Setiap alamat memori

program terdiri dari instruksi 16-bit atau 32-bit.

Selain register serba guna di atas, terdapat register lain yang terpetakan

dengan teknik Memory Mapped I/O selebar 64 Byte. Beberapa register ini

digunakan untuk fungsi SPI, EEPROM, dan fungsi I/O lainnya. Register-register

ini menempati memori pada alamat 0x20h – 0x5Fh.

2.2.3.2 Fitur AT-Mega 328

Fasilitas yang dimiliki oleh mikrokontroler AT-Mega 328 adalah sebagai

berikut:

1. 130 macam instruksi yang hampir semuanya dieksekusi dalam satu siklus.

2. 32 x 8-bit register serba guna.

3. Kecepatan mencapai 16 MIPS dengan clock 16 MHz.

4. 32 KB Flash Memory.

5. Memiliki EEPROM ( Electrically Erasable Programmable Read Only

Memory ) sebesar 1 KB.

6. Memiliki SRAM ( Static Random Acces Memory ) sebesar 2 KB.

7. Memiliki I/O digital sebanyak 14 pin

Alat Ukur Tegangan..., Ahmad Fauzan, Fakultas Teknik UMP, 2014


15

8. Master / Slave SPI Serial interface.

Gambar 2.6 Konfigurasi pin AT-Mega 328

Alat Ukur Tegangan..., Ahmad Fauzan, Fakultas Teknik UMP, 2014


16

a) Konfigursi Port B

Tabel 2.2 Konfigurasi port B

b) Konfigurasi Port C

Tabel 2.3 Konfigurasi Port C

Alat Ukur Tegangan..., Ahmad Fauzan, Fakultas Teknik UMP, 2014


17

c) Konigurasi Port D

Tabel 2.4 Konfigurasi Port D

2.2.3.3 Arsitektur Mikrokontroler AT-Mega 328

Gambar 2.7 Arsitektur AT-Mega 328

Alat Ukur Tegangan..., Ahmad Fauzan, Fakultas Teknik UMP, 2014


18

Mikrokontroller ATmega 328 memiliki arsitektur Harvard, dimana

memori untuk kode program dan memori untuk data dipisahkan sehingga dapat

memaksimalkan kerja. Instruksi – instruksi dalam memori program dieksekusi

dalam satu alur tunggal, dimana pada saat satu instruksi dikerjakan instruksi

berikutnya sudah diambil dari memori program. Konsep inilah yang

memungkinkan instruksi – instruksi dapat dieksekusi dalam setiap satu siklus

clock.

2.2.4 Liquid Crystal Display (LCD)

LCD menggunakan interaksi unik antara karakteristik dan optik dari suatu

kelompok cairan berada tetap dalam bentuk kristal. Hal ini memberikan sifat optik

yang sangat dibutuhkan sebagai peralatan display. Dengan menggunakan display

kristal cair, maka tidak ada cahaya yang dibangkitkan (berbeda dengan seven

segment) sehingga komsumsi daya yang dibutuhkan kecil. Karena itu LCD

digerakkan dengan untaian MOS dan CMOS. Semua fungsi dihubungkan dengan

software dan instruksi- instruksi program ke MCU.

LCD LMB162 merupakan modul LCD dengan konsumsi daya rendah

yang di rancang dengan CMOS internal driver. Disamping itu, modul ini juga

telah dilengakapi dengan rangkaian reset otomatis, rangkaian osilator, RAM dan

ROM. Dalam pengoprasianya, masing masing penyemat memiliki fungsi sebagai

berikut:

Alat Ukur Tegangan..., Ahmad Fauzan, Fakultas Teknik UMP, 2014


19

Tabel 2.5 Fungsi Penyemat LCD LMB162

Penyemat Simbol Logika Keterangan


1 Vss - Catu Daya 0 Volt (Ground)
2 Vcc - Catu Daya 5 Volt
3 Vee - Catu daya untuk LCD
4 RS H/L H: Masukan Data, L: Masukan Instruksi
5 R/W H/L H: Baca (Read), L: Tulis (Write)
6 E H/L (L) Enable Signal
7 DB0 H/L Data Bit 0
8 DB1 H/L Data Bit 1
9 DB2 H/L Data Bit 2
10 DB3 H/L Data Bit 3
11 DB4 H/L Data Bit 4
12 DB5 H/L Data Bit 5
13 DB6 H/L Data Bit 6
14 DB7 H/L Data Bit 7
15 V+ BL - Backlight 4-4,2 Volt ; 50-200 mA
16 V- BL - Backlight 0 Volt (ground)

Konfigurasi pin dari lcd LMB162 ditunjukkan pada gambar dibawah ini:

Gambar 2.8 Konfigurasi pin dari LCD LMB162

Alat Ukur Tegangan..., Ahmad Fauzan, Fakultas Teknik UMP, 2014


20

Berikut ini adalah fungsi yang dimiliki dari setiap kaki LCD LMB162 :

1. Kaki 1 (VCC) : Kaki ini berhubungan dengan dengan tegangan +5 Volt

yang merupakan tegangan untuk sumber daya.

2. Kaki 2 (GND) : Kaki ini berhubungan dengan tegangan 0 Volt (ground).

3. Kaki 3 (VEE/VLCD) : Tegangan pengatur kontras LCD, kaki ini

terhubung pada cermet. Kontras mencapai nilai maksimum pada saat

kondisi kaki ini pada tegangan 0 Volt.

4. Kaki 4 (RS) : Register select, kaki pemilih register yang akan di akses ke

Register data, logika dari kaki ini adalah 1 dan untuk akses ke Register

perintah, logika dari kaki ini adalah 0.

5. Kaki 5 (R/W) : Logika 1 pada kaki ini menunjukan bahwa modul LCD

sedang pada mode pembacaan dan logika 0 menunjukan bahwa modul

LCD sedang pada mode penulisan. Untuk aplikasi yang tidak memerlukan

pembacaan data pada modul LCD, kaki ini dapat langsung di hubungkan

ke Ground.

6. Kaki 6 (E) : Enable Clock LCD, kaki mengaktifkan clock LCD. Logika 1

pada kaki ini diberikan pada saat penulisan atau pembacaan data.

7. Kaki 7-14 (DO-D7) : Data bus, kedelapan kaki LCD ini adalah bagian

dimana aliaran data sebanyak 4 bit ataupun 8 bit mengalirkan saat proses

penulisan maupun pembacaan data.

8. Kaki 15 (Anoda) : Berfungsi untuk tegangan positif dari blacklight LCD

sekitar 4,5 Volt (hanya terdapat untuk LCD yang memiliki backlight)

Alat Ukur Tegangan..., Ahmad Fauzan, Fakultas Teknik UMP, 2014


21

9. Kaki 16 (Katoda) : Tegangan negatif back Light LCD sebesar 0 Volt

(hanya terdapat pada LCD yang memiliki backlight).

 Karakteristik LCD LMB162.

1. Terdapat 16X2 karakter huruf yang bisa di tampilkan

2. Setiap huruf terdiri dari 5X7 dot-matrix cursor.

3. ROM pembangkit karakter untuk 192 tipe karakter (bentuk karakter 5x7

matriks titik).

4. Mempunyai dua jenis RAM, yaitu RAM pembangkit karakter dan RAM

data tampilan.

5. RAM pembangkit karakter untuk 8 tipe karakter program tulis dengan

bentuk 5x7 matrik titik.

6. Terdapat 80 X 8 bit display RAM (maksimal 80 karakter)

7. Memiliki kemampuan penulisan dengan 8bit maupun dengan 4bit

8. Dibangun dengan isolator lokal.

9. Satu sumber tegangan 5 Volt.

10. Otomatis reset saat tegangan dihidupkan.

11. Bekerja pada suhu 0 sampai 55 derajat

LCD LM162 terdiri dari dua bagian utama. Bagian pertama merupakan

panel LCD sebagai media penampil informasi dalam bentuk huruf/angka dua

baris, masing-masing baris bisa menampung 16 huruf/angka. Bagian kedua

merupakan sebuah sistem yang dibentuk dengan mikrokontroler yang ditempelkan

dibalik panel LCD, yang berfungsi mengatur tampilan informasi serta mengatur

Alat Ukur Tegangan..., Ahmad Fauzan, Fakultas Teknik UMP, 2014


22

komunikasi LCD LMB162 dengan mikrokontroler. Gambar 2.9 merupakan

diagram blok pengendali LCD.

Gambar 2.9 Pengendali LCD

Gambar 2.9 menjelaskan bahwa data inputan pada LCD yang berupa 8 bit

data (D0-D7) diterima terlebih dahulu di dalam mikrokontroler dalam LCD yang

berguna untuk mengatur data inputan sebelum ditampilkan dalam LCD. Selain itu

juga dilengkapi dengan inputan E, R/W, dan RS yang digunakan sebagai

pengendali mikrokontroler. Pada proses pengiriman data R/W=1 dan proses

pengambilan data R/W=0.

Penyemat RS dipakai untuk membedakan jenis data yang dikirim, jika

RS=0 data yang dikirim adalah perintah untuk mengatur kerja modul LCD,

Alat Ukur Tegangan..., Ahmad Fauzan, Fakultas Teknik UMP, 2014


23

sedangkan jika RS=1 data yang dikirim adalah kode ASCII yang ditampilkan.

Demikian pula saat pengambilan data, jika RS=0 data yang diambil dari modul

merupakan data status yang mewakili aktivitas modul LCD, sedangkan saat RS=1

maka data yang diambil merupakan kode ASCII dari data yang ditampilkan.

2.2.5 MicroSD Card Adapter

Modul (MicroSD Card Adapter) adalah modul pembaca kartu Micro SD,

melalui sistem file dan SPI ( Serial Peripheral Interface ) antar muka drive, MCU

untuk melengkapi sistem file untuk membaca dan menulis kartu MicroSD.

Pengguna Arduino langsung dapat menggunakan Arduino IDE dilengkapi dengan

kartu SD untuk menyesuaikan inisialisasi kartu perpustakaan dan membaca-

menulis.

Pinout dari SD card dapat dihubungkan ke Arduino maupun

mikrokontroler lainya, sehingga bermanfaat untuk menambah kapasitas tempat

penyimpanan data dan pencatatan data. SD card ini dapat langsung dipasang pada

Arduino dan terdapat switch untuk memilih flash card slot. Keistimewaan dari SD

Module ini adalah:

1. Terdapat module untuk standar SD card dan Micro SD (TF) card.

2. Terdapat switch untuk memilih flash card slot.

3. Dapat digunakan untuk mikrokontroler lain.

Alat Ukur Tegangan..., Ahmad Fauzan, Fakultas Teknik UMP, 2014


24

Gambar 2.10 Modul MicroSD Card Adapter

Berikut ini adalah fitur-fitur yang dimiliki modul microSD Card Adapter :

1. Mendukung kartu Micro SD, kartu Micro SDHC (kartu kecepatan

tinggi)

2. Tingkat konversi papan sirkuit yang antarmuka level untuk 5V atau

3,3V

3. Power supply adalah 4,5V – 5,5V, regulator tegangan 3,3V papan

sirkuit

4. Adalah komunikasi antarmuka SPI ( Serial Peripheral Interface )

antarmuka standar 5, empat (4) M2 lubang sekrup posisi untuk

kemudahan instalasi.

Alat Ukur Tegangan..., Ahmad Fauzan, Fakultas Teknik UMP, 2014


25

2.2.6 File WAV

WAV merupakan standar format file yang digunakan oleh Windows.

WAV umumnya digunakan dalam menyimpan audio tak terkompresi untuk

menyimpan file suara berkualitas. File wav juga dapat berisi data terkodekan

dengan beraneka ragam codec untuk mengurangi ukuran file.

WAV adalah format audio standar Microsoft dan IBM untuk personal

computer (PC), biasanya menggunakan coding Pulse Code Modulation (PCM).

WAV adalah data tidak terkompres sehingga seluruh sampel audio disimpan

semuanya di harddisk. Software yang dapat menciptakan WAV dari analog sound

misalnya adalah Windows Sound Recorder. File audio ini jarang sekali digunakan

di internet karena ukurannya yang relatif besar dengan batasan maksimal untuk

file WAV adalah 2 GB . Parameter-parameter tersebut menyatakan setting yang

digunakan oleh Analog-to-Digital Converter (ADC) pada saat data audio direkam.

Biasanya laju sampel juga dinyatakan dengan satuan Hz atau kHz. Sebagai

gambaran, data audio digital yang tersimpan dalam CD audio memiliki

karakteristik laju sampel 44100 Hz, 16 bit per sampel, dan 2 kanal (stereo), yang

berarti setiap satu detik suara tersusun dari 44100 sampel, dan setiap sampel

tersimpan dalam data sebesar 16-bit atau 2 byte. Laju sampel selalu dinyatakan

untuk setiap satu kanal. Jadi misalkan suatu data audio digital memiliki 2 kanal

dengan laju sampel 8000 sampel/detik, maka sesungguhnya di dalam setiap

detiknya akan terdapat 16000 sampel. Sebagaimana telah dijelaskan sebelumnya

bahwa untuk stream data audio menggunakan header berupa struktur

PCMWAVEFORMAT. PCM merupakan singkatan dari Pulse Coded Modulation,

Alat Ukur Tegangan..., Ahmad Fauzan, Fakultas Teknik UMP, 2014


26

yaitu suatu metode yang digunakan untuk mengkonversikan sinyal audio dari

bentuk analog ke bentuk digital.

2.2.7 Bahasa C

2.2.7.1 Struktur Penulisan Bahasa C

Program C pada hakekatnya tersusun atas sejumlah blok fungsi. Sebuah

program minimal mengandung sebuah fungsi. Fungsi pertama yang harus ada

dalam program C dan sudah ditentukan namanya adalah main(). Setiap fungsi

terdiri atas satu atau beberapa pernyataan, yang secara keseluruhan dimaksudkan

untuk melaksanakan tugas khusus. Bagian pernyataan fungsi (sering disebut tubuh

fungsi) diawali dengan tanda kurung kurawal buka ({) dan diakhiri dengan tanda

kurung kurawal tutup (}). Diantara kurung kurawal itu dapat dituliskan statemen-

statemen program C. Namun pada kenyataannya, suatu fungsi bisa saja tidak

mengandung pernyataan sama sekali. Walaupun fungsi tidak memiliki pernyataan,

kurung kurawal haruslah tetap ada. Sebab kurung kurawal mengisyaratkan awal

dan akhir definisi fungsi. Berikut ini adalah struktur dari program C:

Alat Ukur Tegangan..., Ahmad Fauzan, Fakultas Teknik UMP, 2014


27

Bahasa C dikatakan sebagai bahasa pemrograman terstruktur karena

strukturnya menggunakan fungsi-fungsi sebagai program-program bagiannya

(subroutine). Fungsi-fungsi yang ada selain fungsi utama (main()) merupakan

program-program bagian. Fungsi-fungsi ini dapat ditulis setelah fungsi utama atau

diletakkan pada file pustaka (library). Jika fungsi-fungsi diletakkan pada file

pustaka dan akan dipakai pada suatu program, maka nama file judulnya (header

file) harus dilibatkan dalam program yang menggunakannya dengan preprocessor

directive berupa #include.

2.2.7.2 Pengenalan Fungsi-Fungsi Dasar

a) Fungsi main()

Fungsi main() harus ada pada program, sebab fungsi inilah yang

menjadi titik awal dan titik akhir eksekusi program. Tanda { diawal fungsi

menyatakan awal tubuh fungsi dan sekaligus awal eksekusi program,

sedangkan tanda } diakhir fungsi merupakan akhir tubuh fungsi dan

sekaligus adalah akhir eksekusi program. Jika program terdiri atas lebih

dari satu fungsi, fungsi main() biasa ditempatkan pada posisi yang paling

atas dalam pendefinisian fungsi. Hal ini hanya merupakan kebiasaan.

Tujuannya untuk memudahkan pencarian terhadap program utama bagi

pemrogram. Jadi bukanlah merupakan suatu keharusan.

b) Fungsi printf()

Fungsi printf() merupakan fungsi yang umum dipakai untuk

menampilkan suatu keluaran pada layar peraga. Untuk menampilkan

Alat Ukur Tegangan..., Ahmad Fauzan, Fakultas Teknik UMP, 2014


28

tulisan:

Selamat belajar bahasa C

misalnya, pernyataan yang diperlukan berupa:

printf(“Selamat belajar bahasa C”);

Pernyataan di atas berupa pemanggilan fungsi printf() dengan

argumen atau parameter berupa string. Dalam C suatu konstanta string

ditulis dengan diawali dan diakhiri tanda petik ganda (“). Perlu juga

diketahui pernyataan dalam C selalu diakhiri dengan tanda titik koma (;).

Tanda titik koma dipakai sebagai tanda pemberhentian sebuah pernyataan

dan bukanlah sebagai pemisah antara dua pernyataan. Tanda \ pada string

yang dilewatkan sebagai argumen printf() mempunyai makna yang

khusus. Tanda ini bisa digunakan untuk menyatakan karakter khusus

seperti karakter baris-baru ataupun karakter backslash (miring kiri). Jadi

karakter seperti \n sebenarnya menyatakan sebuah karakter. Contoh

karakter yang ditulis dengan diawali tanda \ adalah:

\” menyatakan karakter petik-ganda

\\ menyatakan karakter backslash

\t menyatakan karakter tab

Dalam bentuk yang lebih umum, format printf()

printf(“string kontrol”, daftar argumen);

dengan string kontrol dapat berupa satu atau sejumlah karakter yang akan

ditampilkan ataupun berupa penentu format yang akan mengatur

Alat Ukur Tegangan..., Ahmad Fauzan, Fakultas Teknik UMP, 2014


29

penampilan dari argumen yang terletak pada daftar argumen. Mengenai

penentu format diantaranya berupa:

%d untuk menampilkan bilangan bulat (integer)


%f untuk menampilkan bilangan titik-mengambang (pecahan)
%c untuk menampilkan sebuah karakter
%s untuk menampilkan sebuah string
Contoh:
#include <stdio.h>
main( )
{
printf(“No : %d\n”, 10);
printf(“Nama : %s\n”, “Ali”);
printf(“Nilai : %f\n”,80.5);
printf(“Huruf : %c\n”,‘A’);
}

2.2.7.3 Pengenalan Praprosesor #include

#include merupakan salah satu jenis pengarah praprosesor

(preprocessor directive). Pengarah praprosesor ini dipakai untuk membaca

file yang diantaranya berisi deklarasi fungsi dan definisi konstanta.

Beberapa file judul disediakan dalam C. File-file ini mempunyai cirri yaitu

namanya diakhiri dengan ekstensi .h. Misalnya pada program #include

<stdio.h> menyatakan pada kompiler agar membaca file bernama stdio.h

saat pelaksanaan kompilasi.

Bentuk umum #include:

#include “namafile”

Alat Ukur Tegangan..., Ahmad Fauzan, Fakultas Teknik UMP, 2014


30

Bentuk pertama (#include <namafile>) mengisyaratkan bahwa

pencarian file dilakukan pada direktori khusus, yaitu direktori file include.

Sedangkan bentuk kedua (#include “namafile”) menyatakan bahwa

pencarian file dilakukan pertama kali pada direktori aktif tempat program

sumber dan seandainya tidak ditemukan pencarian akan dilajutkan pada

direktori lainnya yang sesuai dengan perintah pada sistem operasi.

Kebanyakan program melibatkan file stdio.h (file-judul I/O

standar, yang disediakan dalam C). Program yang melibatkan file ini yaitu

program yang menggunakan pustaka I/O (input-output) standar seperti

printf().

2.2.7.4 Komentar dalam Program

Untuk keperluan dokumentasi dengan maksud agar program mudah

dipahami suatu saat lain, biasanya pada program disertakan komentar atau

keterangan mengenai program. Dalam C, suatu komentar ditulis degan diawali

dengan tanda /* dan diakhiri dengan tanda */.

Contoh:

/*
Tanda ini adalah komentar
Untuk multiple line
*/
#include <stdio.h>

Main()
{

Alat Ukur Tegangan..., Ahmad Fauzan, Fakultas Teknik UMP, 2014


31

Printf(“coba\n”); //ini komentar satu baris


}

2.2.8 Struktur program arduino

Struktur dasar dari bahasa pemrograman arduino adalah terdiri dari dua

bagian yaitu:

void setup()

//statement;

void loop()

//statement;

Dimana setup ( ) bagian untuk inisialisasi yang hanya dijalankan sekali di awal

program, sedangkan loop () untuk mengeksekusi bagian program yang akan

dijalakan berulang ulang untuk selamanya.

a) Fungsi Setup ()

Fungsi setup () hanya di panggil satu kali ketika program pertama kali di

jalankan. Ini digunakan untuk pendefinisian mode pin atau memulai komunikasi

serial. Fungsi setup () harus di ikut sertakan dalam program walaupun tidak ada

statement yang di jalankan.

void setup ()

pinMode (13,OUTPUT); // mengset ‘pin’ 13 sebagai output

Alat Ukur Tegangan..., Ahmad Fauzan, Fakultas Teknik UMP, 2014


32

b) Fungsi Loop

Setelah melakukan fungsi setup () maka secara langsung akan melakukan

fungsi loop () secara berurutan dan melakukan instruksi-instruksi yang ada dalam

fungsi loop ().

void loop

dgitalWrite(13,HIGH); //nyalakan ‘pin’ 13

delay(1000); //pause selama 1 detik

digitalWrite(13,LOW); //matikan ‘pin’ 13

delay(1000); //pause selama 1detik

 Digital I/O

Input / Output digital pada breadboard arduino ada 14, pengalamatannya

0-13, ada saat tertentu I/O 0 dan 1 tidak bisa digunakan karena dipakai untuk

komunikasi serial,sehingga harus hati hati dalam pengalokasian I/O

 Fungsi PinMode

Digunaknan dalam void setup() untuk mengkonfigurasi pin apakah sebagai

input atau output. Arduino digital pin secara default di konfigurasikan sebagai

Alat Ukur Tegangan..., Ahmad Fauzan, Fakultas Teknik UMP, 2014


33

input sehingga untuk merubahnya harus menggunakan operator pinMode

(pin,mode).

pinMode (pin,output); //mengeset pin sebagai uotput

digitalWrite (pin,HIGH); //pin sebagai source voltage

digitalRead (pin)

membaca nilai dari pin yang kita hendaki dengan hasil HIGH atau LOW.

Value=digitalRead(pin); //mengeset ‘value’ sama dengan pin

DigitalWrite (pin,value)

Digunakan untuk mengeset pin digital. Pin digital arduino mempunyai 14 (0-13)

digitalWrite (pin,HIGH); //set pin to HIGH

analog I/O

Input / output analog pada breadboard arduino ada 6 pengalamatnya 0-5

 Fungsi AnalogRead(pin)

membaca nilai pin analog yang memiliki resolusi 10-bit. Fungsi ini hanya

dapat bekerja pada analog pin (0-5). Hasil dari pembacaan berupa nilai integer

dengan range 0 sampai 1023

value =analogRead(pin); //mengeset ‘value’ sama dengan nilai analog pin

 Fungsi AnalogWrite(pin,value)

Mengirimkan nilai analog pada pin analog.

analogWrite(pin,value); //menulis ke pin analog

 Fungsi Delay(ms)

Menghentikan program untuk sesaat sesuai dengan yang di

kehendaki,satunya dalam milisecond.

Alat Ukur Tegangan..., Ahmad Fauzan, Fakultas Teknik UMP, 2014


34

Delay(1000); // menunggu selama satu detik

 Serial

1. Serial.begin(rate)

Statment ini digunakan untuk mengaktifkan komunikasi serial dan

mengeset baudrate.

void setup()

Serial.begin(9600); //open serial port and baudrate 9600 bps

2. Serial.printn(data)

Mengirimkan data ke serial port.

Serial.println(100); // mengirimkan 100

Alat Ukur Tegangan..., Ahmad Fauzan, Fakultas Teknik UMP, 2014

Anda mungkin juga menyukai