Perancangan Alat Ukur Kadar Oksigen (O2) Menggunakan Gs Oxygen KE-25 Sensor Berbasis Mikrokontroller ATMega16 dengan Tampilan PC

BAB 2
LANDASAN TEORI

2.1. Oxygen
Oksigen adalah gas yang paling dibutuhkan manusia saat bernapas. Oksigen
memainkan peranan penting dalam proses perombakan bahan makanan di dalam
tubuh. Tanpa oksigen, manusia akan mati secara perlahan. Itulah sebabnya
mengapa tabung-tabung gas oksigen selalu tersedia di rumah sakit yang ada di
sekitar kita. Di saat tertentu seseorang membutuhkan oksigen dengan alat bantu
agar bisa bernapas dengan baik. Bukan nitrogen, argon, maupun karbon dioksida.
Jika menghirup gas karbon dioksida terus menerus tanpa oksigen yang cukup,
maka seseorang bisa mati lemas secara perlahan. Udara yang kita hirup sehari-hari
selama hidup di dunia ini ternyata bukanlah oksigen murni. Saat bernapas, tubuh
kita mengambil udara dari alam bebas untuk digunakan untuk berbagai keperluan
tubuh.
Udara yang masuk ke dalam tubuh mengandung berbagai gas seperti oksigen,
karbon dioksida, argon, nitrogen, dan uap air.

Namun tidak menutup

kemungkinan terdapat gas lain yang tercapur di dalam udara yang dihirup

manusia. Udara bebas yang digunakan oleh manusia untuk bernapas mengandung
gas nitrogen sebesar 78%, mengandung gas oksigen sebesar 20%, mengandung
gas argon sebesar kurang dari 1%, mengandung uap air kurang lebih sekitar 1%
dan menganding karbon dioksida sebanyak kurang dari 0,1%. Gas-gas tersebut
tercampur dengan baik di dalam udara yang ada di dunia ini. Jika kita lihat
persentasenya maka manusia sebenarnya bernapas dengan menghirup nitrogen,
karena sebagian besar gas yang dihirup manusia saat bernapas adalah gas
nitrogen.


Komposisi Kandungan Udara yang Digunakan Bernapas oleh Manusia :
1. Nitrogen - 78%
2. Oksigen - 20%
3. Argon - kurang dari 1%
4. Karbon Dioksida - kurang dari 0,1%
5. Uap Air - kurang lebih 1%

Universitas Sumatera Utara

Uap air yang kita hirup berbeda-beda kadarnya antara daerah yang satu

dengan daerah yang lain. Ada tempat-tempat yang memiliki udara yang
mengandung banyak uap air, dan ada pula tempat-tempat yang kadar air dalam
udaranya sangat rendah. Air menguap dan bercampur dengan udara yang ada di
sekitarnya. Sebagian uap air akan naik ke atas dan membentuk awan yang
nantinya bisa menjadi hujan yang turun ke permukaan bumi.
Manusia memerlukan oksigen agar proses respirasi sel terus berlangsung.
Oksigen adalah gas yang sangat diperlukan oleh mahkluk hidup untuk bernapas.
Hasil utama pernapasan berupa energi, hasil ini disebarkan ke seluruh bagian
tubuh yang berfungsi untuk: pertumbuhan, dan kerja organ tubuh (ber-aktivitas).
Zat sisa pernapasan berupa karbon dioksida dan uap air yang akan dikeluarkan
dari tubuh.
Volume udara yang kita butuhkan untuk bernapas ketika istirahat berbeda
ketika kita kerja keras. Volume tersebut dapat kita ketahui melalui kapasitas
paru-paru.
Kapasitas paru-paru dapat diuraikan sebagai berikut:
1. Udara tidal yaitu udara yang keluar masuk paru-paru pada saat
pernafasan biasa. Jumlah volume udaranya sebesar 50 ml.
2. Udara komplementer yaitu udara yang masih dapat dihirup setelah
inspirasi biasa, Besar volume udaranya 1500 ml.
3. Udara suplementer yaitu udara yang masih dapat dikeluarkan setelah

melakukan ekspirasi biasa. Besar volume udaranya sekitar 1500 ml.
4. Kapasitas

Vital

paru-paru

yaitu

kemampuan

paru-paru

untuk

melakukan respirasi sekuat-kuatnya atau merupakan jumlah udara
tidal, udara komplementer dan udara suplementer. Jadi besarnya
volume kapasitas vital paru-paru kurang lebih 4000 ml.
5. Kapasitas Total paru-paru yaitu seluruh udara yang dapat ditampung oleh
paru-paru.

Dari pernyataan di atas, maka dalam sekali bernafas manusia menghirup
sebanyak 500 ml udara. Namun, tak semua udara tersebut terdiri dari oksigen.
Hanya 20% dari udara tersebut yang berupa oksigen. Sedangkan sisanya, yaitu
sekitar 79% berupa nitrogen. Selama 1 menit manusia menghirup udara sekitar

Universitas Sumatera Utara

20 kali (dalam keadaan normal atau tidak melakukan aktivitas berat). Berikut
perhitungan yang dilakukan Jumlah udara oksigen yang dihirup dalam sekali
bernafas = 20% X 500 ml = 100 ml. Jumlah O2 yang dihirup dalam 1 menit =
100 ml X 20 kali = 2000 ml = 2 l.
1 jam = 60 menit.
1 hari = 24 jam = 24 X 60 menit = 1440 menit.
Jadi dalam sehari manusia menghirup O2 sebanyak = 2 l X 1440 = 2880 l.

2.2. Gs Oxygen Sensor
Sensor yang digunakan adalah sensor gas oksigen jenis KE buatan Figaro
Sensor yang dikhususkan dirancang hanya untuk mendeteksi keberadaan gas O2
saja. Sensor jenis ini mempunyai struktur yang sama dengan baterai yang terdiri
dari elektroda dan eletrolit. Sensor ini memiliki 2 tipe, yaitu KE-25 dan KE-50.

Elektroda dibagi menjadi anoda berupa Pb (timbal) dan katoda yang terbuat dari
emas (Ag) serta elektrolit berupa asam lemah atau alkaline. Dibawah ini adalah
gambar tampilan fisik Gs Oxygen.

Gmbar 2.1 Tampilan fisik Gs Oxygen
Dari gambar diatas dapat kita ketahui bahwa oksigen yang masuk melalui
mulut bawah yang terdapat pada sensor. Dan sensor mengalamai reaksi
elektroda. Elektroda emas merupakan sebuah padatan yang berupa selaput yang
tidak berongga. Oksigen yang masuk ke dalam sensor, direduksi pada elektroda
emas dengan reaksi elektrokimia. Anoda dan katoda dihubungkan dengan
sebuah termistor dan resistor. Resistansi dua resistor ini mengubah arus yang
terjadi akibat reaksi elektrokimia menjadi tegangan. Besar arus yang mengalir
pada dua resistor dipengaruhi oleh banyak oksigen yang tertangkap oleh

Universitas Sumatera Utara

membran elektroda. Tegangan resistansi ini digunakan sebagai keluaran sensor
oksigen.

2.3. Mikrokontroller

Mikrokontroller adalah piranti elektronik berupa IC (Integrated Circuit)
yang memiliki kemampuan manipulasi data (informasi) berdasarkan suatu
urutan instruksi (program) yang dibuat oleh programmer. Chip tunggal yang
dirancang secara spesifik untuk aplikasi-aplikasi kontrol dan bukan untuk
aplikasi serbaguna. Perangkat ini seringkali digunakan untuk memenuhui seuatu
kebutuhan kontrol tertentu seperti mengendalikan sebuah penggerak melalui


progremmer.
Sistem Mikrokontroller
Besaran yang diraba kuantitas yang diukur dari perubahannya; misalnya,
suhu, posisi, dll) dikonversi menjadi sinyal listrik yang sesuai dengan
mengguanakan sensor dan Output dari sensor. Dilewatkan sebagai sinyal input
pada mikrokontroller. Mikrokontroller juga dapat menerima input dari
pengguna. Pillihan-pilihan yang ditetapkan pengguna ini tipikalnya meliputi
nilai–nilai sasaran bagi berbagi variabel (seperti suhu ruangan yang diinginkan),
nilai batas (seperti kecepatan putaran poros maksimum), atau batasan–batasan
waktu (seperti waktu ‘hidup’ dan waktu ‘mati’ waktu tunda (delay), dan lainlain. Pengoperasian mikrokontroller dikendalikan oleh rangkaian instruksi
software yang dikenal oleh sebagai program kontrol. Program kontrol bekerja
secara terus menerus, memeriksa input dari sensor–sensor, setting–setting

pengguna, dan data waktu sebelum mengadakan perubahan pada sinyal–sinyal
output yang dikirmkan ke satu atau perangkat terkontrol.
Besaran–besaran terkontrol dihasilkan oleh perangkat-perangkat terkontrol
sebagai tanggapan atas sinyal-sinyal output dari mikrokontroller. Perangkat
terkontrol biasanya mengkonversi energi dari satu bentuk ke bentuk lainnya.
Sebagai contoh, peangkat terkontrol mungkin saja merupakan sebuah pemanas
listrik yang merubah energi listrik dari sumber a.c. menjadi energi panas
sehingga menghasilkan suatu suhu tertentu (besaran terkontrol). Dalam sebagian
besar sistem yang ada, salah pesyaratan yang diperlukan adalah sistem harus

Universitas Sumatera Utara

otomatis atau mengatur-sendiri. Segera setelah diset, sistem semacam ini akan
terus bekerja tanpa membutuhkan intervensi operator yang terus-menerus.
Output dari sebuah sistem yang mengatur sendiri diumpankan kembali ke
inputnya untuk menghasilkan apa yang dikenal sebagai sistem loop-tertutup.
Salah satu contoh dari sistem loop-tertutup adalah sistem kontrol pemanasan
yang dirancang untuk mempertahankan suhu dan kelembahan ruanganyang
konstan dalam sebuah gedung terlepas dari berbagai perubahan kondisi di luar
gedung tersebut.

Dalam bahasa yang lebih sederhana, sebuah mikrokontroller harus mampu
menghasilkan suatu kondisi yang spesifik pada setiap saluran yang terhubung ke
port-port outputnya sebagai tanggapan atas suatu kombinasi tertentu dari
kondisi-kondisi yang ada pada masing-masing saluran yang terhubung ke portport inputnya. Mikrokontroller juga harus memiliki sebuah unit pengelolaan
pusat yang mampu melaksanakan operasi-operasi aritmatika, logika, dan
pewaktuan sederhana. Sinyal-sinyal port input dapat diturunkan dari sejumlah
sumber, di antarnya:
a) Saklar-saklar (termasuk tombol-tombol tekan yang memberikan reaksi
dalam sekejap);
b) Sensor-sensor (menghasilkan output-output yang kompatibel dengan levellogika);
c) Keyboard (baik tipe yang dikodekan maupun yang tidak dikodekan).
Sinyal-sinyal port output dapat disambungkan ke sejumlah perangkat di
antaranya:
a) Saklar-saklar (termasuk tombol-tombol tekan yang memberikan reaksi
dalam sekejap);
b) Sensor-sensor (menghasilkan output-output yang kompatibel dengan levellogika);
c) Keyboard (baik tipe yang dikodekan maupun yang tidak dikodekan).
Perangakt-perangkat input

memberikan informasi kepada sistem


komputer dari lingkungan di luarnya. Mikrokontroller menggunakan perangkat
perangkat input yang jauh lebih sederhana. Perangkat-perangkat ini tidak jauh
lebih dari sekedar saklar-saklar atau kontak-kontak yang melaksanakan

Universitas Sumatera Utara

penyambungan dan pemutusan namun terdapat banyak jenis perangkat lainnya
yang juga banyak digunakan termasuk diantaranya berbagai jenis sensor yang
menyediakan output-ouput level-logika (seperti saklar float, detektor jarak,
sensor cahaya,dll).
Penting untuk diperlihatkan bahwa, untuk dapat disambungkan secara
langsung ke sebuah port input mikrokontroler, suatu perangkat input harus
menyediakan sinyal yang kompertibel logika. Ini disebabkan karena input-input
mikrokontroler hanya dapat menerima sinyal-sinyal input digital dengan level
tegangan yang sama sebagaimana pada sumber daya logika. Level pertahanan
bahwa, 0 V (seringkali disebut dengan Vss dalam kasus mikrokontroller CMOS)
dan catu positif (Vdd dalam kasus mikrokontroller CMOS) adalah 5V lebih
kurang 5%. Level tegangan pada sekitar 0V mengindikasikan sinyal logika 0 dan
tegangan pada level yang kurang lebih sama dengan catu daya positif

mengindikasikan sinyal logika1.
Perangkat-perangkat input lainnya dapat meraba besaran-besaran analog
(seperti misalnya kecepatan) namun memanfaatkan suatu kode digital untuk
mempresentasikan nilai besaran-besaran tersebut sebagai input ke suatu sistem
mikrokontroller.

Beberapa

mikrokontroller

menyediakan

perangkat

pengkonversi analog ke digital (ADC) internal untuk menyederhanakan
penyambungan sensor-sensor analog sebagai perangkat input.
Perangkat-perangkat output digunakan untuk mengkomunikasikan
informasi atau tindakan-tindakan dari sebuah sistem komputer kepada dunia
luar. Pada sistem personal computer, perangkat output yang paling umum adalah
perangkat tampilan atau display dll. Sebagaimana perangkat input, sistem

mikrokontroller seringkali menggunakan perangkat perangkat output yang jauh
lebih sederhana. Perangkat ini bisa jadi tidak hanya sekedar LED, pembangkit
suatu piezeolektrik, relay, dan motor. Untuk dapat tersambung langsung ke port
output sebuah mikrokontroller, perrangkat output harus karena mampu untuk
menerima sinyal kompertibel-logika.
Jika besaran-besaran analog (bukannya operasi ‘mati/hidup’ digital
sederhana) dibutuhkan pada output, sebuah perangkat pengkonversi digital ke
analog (DAC) akan dibutuhkan. Jika sinyal-sinyal input dan output tidak

Universitas Sumatera Utara

kompatibel-logika (yaitu ketika sinyal-sinyal tersebut berada di luar jangkauan
sinyal-sinyal yang dapat disambungkan secara langsung kepada mikrokontroller)
sejumlah rangkaian anatrmuka dibutuhkan sebagai tambahan akan dibutuhkan
untuk menggeser level tegangan atau menyediakan level penggerak arus
tambahan. Sebagai contoh, tersedia sejumlah rangkaian antarmuka yang umum
digunakan (relay solid-state) yang akan memungkinkan mikrokontroller untuk
berhubungan dengan suatu beban yang tersambung ke sumber a.c. setelah itu
adalah mungkin bagi sebuah mikrokontroller kecil ( yang bekerja hanya dengan
sumber d.c. 5V ) untuk mengontrol suatu sistem pemanasan terpusat yang
beroperasi dengan sumber a.c. 240V.


Pemrograman Mikrokontroller AVR
Pemrograman mikrokontroller AVR dapat menggunakan low level
language (assembly) dan high language (C, Basic, Pascal, java dll) tergantung
compiler yang digunakan. Bahasa assembler mikrokontroller AVR memiliki
kesamaan instruksi, sehingga jika pemrograman satu jenis mikrokontroller AVR
sudah dikuasai, maka dengan mudah akan menguasai pemrograman keseluruhan
mikrokontroller jenis AVR. Namun bahasa assembler relatif lebih sulit dipelajari
daripada bahasa C, untuk pembuatan satu proyek yang besar akan memakan
waktu yang sangat lama. Serta penulisan programnya akan panjang. Sedangkan
bahasa C memiliki keunggulan dibanding bahasa assembler yaitu indepedent
terhadap hardware serta lebih mudah untuk menangani project yang besar.
Basaha C mempunyai keuntungan-keungtungan yang dipunyai oleh bahasa mein
(asemmbly). Hampir semua opersi yang dapat dilakukan oleh bahasa mesin,
dapat dilakukan

dengan bahsa C dengan penyusunan program yang lebih

sederhana dan mudah. Bahasa C sendiri sebanarnya terletak diantara bahasa
pemrograman tingkat tinggi dan assembly.

2.4

Mikrokontroler Atmega16
Fitur-fitur yang dimiliki oleh Atmega 16 adalah mikrokontroller 8 bit yang
memiliki kemampuan tinggi dengan daya rendah. arsitektur RISC dengan
throughput mencapai 16 MIP pada frekuensi 16MHz, memiliki kapasitas flash

Universitas Sumatera Utara

memory 16Kbyte EEPROM 512 byte dan SRAM 1Kbyte, sluran I/O sebanyak
32 buah yaitu port A, B, C dan D. CPU yang terdiri dari 32 register, unit
interupsi intrnal dan eksternal, port USART untuk komunikasi serial, fitur
peripheral dengan 3 buah timer/counter dengan kemampuan pembandingan dua
(2) buah timer/counter 8 bit dengan prescaler terpisah dan mode compare dan
satu (1) buah timer/counter 16 bit dengan precaler terpisah mode campare, dan
mode capture, real time counter dengan oscillator tersendiri, 4 chanel PWM, 8
channel 10 bit-ADC, 8 singel-ended channel, 7 differential channel hanya pada
kemasan TQFP, 2 differential channel dengan programmable gain 1x, 10x, atau
200x, antarmuka SPI, on-chip analog comparator.


Konfigurasi Pin AVR Atmega16
Gambar berikut ini merupakan susunan kaki standart 40 pin DIP
mikrokontroller AVR Atmega16.

Gambar 2.2 Tampilan Fisik Atmega16
Terlihat pada gambar diatas terdapat 4 port yaitu A B C dan D. Keempat
porrt tersebut merupakan jalur bi-derectoinal yang semuanya dapat diprogram
sebagai input maupun output dengan pilihan intrnal pull-up. Tiap port tersebut
mempunyai 3 register bit, yaitu DDxn, PORTxn, PINxn. Huruf x mewakili nama
port sedangkan n mewakili nama bit. Bit DDxn terdapat pada I/O address DDRx
sedangkan PORTxn terdapat pada I/O address PORTx dn bit PINxn terdapat
pada I/O address PINx. Deskripsi untuk port A port B port C dan port D sama

Universitas Sumatera Utara

yaitu PORTxn dan PINxn. Port I/O pada mikrokontroller AVR dapat
dikonfigurasi sebagai input atau ouput dengan mengubah isi I/O register. Bit
data DDxn dalam register DDRx (data derictoin register) menentukan arah pin.
Arsitektur AVR mepunyai dua memori utama yaitu memori data dan
memori program selain itu, Atmega16 memiliki meliki memori EPROM untuk
menyimpan

data.

Atmega16

memiliki

16Kbyte

on-chip

in-system

reproggrammable flash memory untuk mennyimpan program. Karena instruktur
Atmega16 memiliki 16 atau 32 bit. Flash diatur dalam 18K x 16 bit. Untuk
keamanan program, memori program, flash dibagi menjadi dua bagian yaitu
bagian program bot dan aplikasi. Boot loader adalah program kecil yang bekerja
pada saat up time yang dapat memasukkan ke program aplikasi ke dalam
mikroposessor.
Memori AVR Atmega16 terbagi menjadi 3 bagian yaitu 32 buah register
umum,64 buah register I/O dan 1Kbyte SRAM internal. General purpose register
menempati data alamat terbawah yaitu S00 sampai S1F. Sedangkan memory I/O
menempati 64 alamatnnya berikutnya mulai dari $20 hingga $5F. Memory I/O
merupakan register yang khusus digunakan mengatur fungsi yang khusus
terhadap berbagai pheriperal mikrokontroller seperti control register, timer atau
counter fungsi I/O dan sebagainya.1024 alamat memory berikutnya mulai alamat
$45F digunakan untuk SRAM internal. Atmega 16 terdiri dari 512 byte memori
data EEPROM 8 bit, data dapat ditulis atau dibacadari memori, ini ketika catu
daya yang dimatikan, data yang terakhir ditulis pada memori EEPROM masi
tersimpan pada memori ini, atau kata lain EEPROM bersifat nonvolatile alamat
EEPROM dari $000 hingga $1FF.

2.5

Codvision AVR
CodeVision AVR merupakan sebuah software yang digunakan untuk
memprogram mikrokontroler yang sekarang ini telah umum. Mulai dari
penggunaan untuk kontrol sederhana sampai kontrol yang cukup kompleks,
mikrokontroler dapat berfungsi jika telah diisi sebuah program, pengisian
program ini dapat dilakukan menggunakan compiler yang selanjutnya diprogram
ke dalam mikrokontroler menggunakan fasilitas yang sudah di sediakan oleh

Universitas Sumatera Utara

program tersebut. Salah satu compiler program yang umum digunakan sekarang
ini adalah CodeVision AVR yang menggunakan bahasa pemrograman C.
CodeVision AVR mempunyai suatu keunggulan dari compiler lain, yaitu adanya
codewizard, fasilitas ini memudahkan kita dalam inisialisasi mikrokontroler
yang akan kita gunakan. Dibawah ini adalah gambar Tampilan Software Code
VisionAVR

Gambar 2.3 Tampilan Software CodeVisionAVR


Program Codvision AVR
Untuk megaktifkan micro sistem akusisi data, penerima sinyal control dan
sistem transmisi data maka terlebih dahulu mikrokontroller tersebut diberi
program dengan cara mendownload program yang terlebih dahulu kita buat
dengan bahasa C pada Code Vision AVR.

Software Code Vision AVR

merupakan C Compiler untuk mikrokontroller AVR. Pada Code Vision telah
disediakan editor yang berfungsi untuk membuat program dalam bahasa C,
setelah melakukan proses kompilasi kita dapat mengisikan program yang telah
dibuat kedalam memori mikrokontroller menggunakan programmer yang telah
disediakan oleh Code Vision AVR. Programmer yang didukung oleh Code

Universitas Sumatera Utara

Vision Programmer Cable dapat diintegrasik dengan Code Vision AVR, terlebih
dahulu harus dilakukan konfigurasi sebagai berikut :




Jalankan software Code Vision AVR.



Pilih tipe programmer.



Pilih menu setting. Programmer.

Lalu klik tombol OK.

Catatan: Proses ini hanya dapat dilakukan pada saat ada project yang
telah dibuat atau dibuka.


Bahasa Pemrograman CodeVisionAVR
Akar dari bahasa C adalah bahasa BCPL yang dikembangkan. Bahasa C
pertama kali digunakan pada komputer Digital Equipment Corporation PDP-11
yang menggunakan sistem operasi UNIX. Standar bahasa C yang asli adalah
standar dari UNIX. Sistem operasi, kompiler C dan seluruh program aplikasi
UNIX yang esensial ditulis dalam bahasa C. Kepopuleran bahasa C membuat
versi-versi dari bahasa ini banyak dibuat untuk komputer mikro. Untuk membuat
versi-versi tersebut menjadi standar, ANSI (American National Standard
Institutes) membentuk suatu komite (ANSI Committee X3J11) pada tahun 1983
yang kemudian menetapkan standar ANSI untuk bahasa C. Standar ANSI ini
didasarkan kepada standar UNIX yang diperluas. Bahasa C mempunyai
kemampuan lebih dibanding dengan bahasa pemrograman yang lain. Bahasa C
merupakan bahasa pemrograman yang bersifat portabel, yaitu suatu program
yang dibuat dengan bahasa C pada suatu komputer akan dapat dijalankan pada
komputer lain dengan sedikit (atau tanpa) ada perubahan yang berarti. Bahasa C
merupakan bahasa yang biasa digunakan untuk keperluan pemrograman sistem,
antara lain untuk membuat:
1. Assembler
2. Interpreter
3. Compiler
4. Sistem Operasi
5. Program bantu (utility)
6. Editor

Universitas Sumatera Utara

7. Paket program aplikasi
Beberapa program paket yang beredar seperti dBase dibuat dengan
menggunakan bahasa C, bahkan sistem operasi UNIX juga dibuat dengan
menggunakan bahasa C. Dalam beberapa literatur, bahasa C digolongkan
sebagai bahasa tingkat menengah (medium level language). Penggolongan ini
bukan berarti bahasa C kurang ampuh atau lebih sulit dibandingkan dengan
bahasa tingkat tinggi (high level language - seperti Pascal, Basic, Fortran, Java,
dan lain-lain), namun untuk menegaskan bahwa bahasa C bukanlah bahasa yang
berorientasi pada pada mesin yang merupakan ciri dari bahasa tingkat rendah
(low level language), yaitu bahasa mesin dan assembly. Pada kenyataannya,
bahasa C mengkombinasikan elemen dalam bahasa tingkat tinggi dan bahasa
tingkat rendah, yaitu kemudahan dalam membuat program yang ditawarkan pada
bahasa tingkat tinggi dan kecepatan eksekusi dari bahasa tingkat rendah.

2.5

Bahasa C
Bahasa yang digunakan dalam Code VisionAVR adalah bahasa C,
Bahasa pemrograman C merupakan salah satu bahasa pemrograman komputer.
Dibuat pada tahun 1972 oleh Dennis Ritchie untuk Sistem Operasi Unix di Bell
Telephone Laboratories. Meskipun C dibuat untuk memprogram sistem dan
jaringan

komputer

namun

bahasa

ini

juga

sering

digunakan

dalam

mengembangkan software aplikasi. C juga banyak dipakai oleh berbagai jenis
platform sistem operasi dan arsitektur komputer, bahkan terdapat beberepa
compiler yang sangat populer telah tersedia. C secara luar biasa memengaruhi
bahasa populer lainnya, terutama C++ yang merupakan extensi dari C. Dibawah
ini adalah berupa gambar tampilan software bahasa C.

Universitas Sumatera Utara

Gambar 2.4 Tampilan Software Bahasa C
Bahasa

C

merupakan

pengembangan

dari

bahasa

pemrograman

B.

Kepopuleran C ini pada mulanya tidak dilepaskan dari kepopuleran dari sistem operasi
UNIX yang meupakan induk dan aplikasi utama pertamanya. Dalam waktu yang
singkat Ctelah menggantikan pemrograman assembler dalam lingkungan UNIX.
Tetapi selanjutnya C berkembang ke arah status yang mandiri dan digunakan dalam
perusahaan – perusahaan lainyang mengembangkan kompiler – kompiler C untuk
lingkunngan nonUNIX. Hingga awal tahun 80-an berbagai versi C untuk
mikrokomputer telah banyak banyak beredar di perngkat lunak.
2.5.1

Kerangka Dasar Bahasa Pemrograman C
Bahasa pemrograman C sama seperti bahasa pemrograman lainnya yang



memiliki kerangka dasar. Kerangka Dasar Bahasa C adalah sebagai berikut:
Fungsi main ( )
Fungsi main merupakan fungsi utama yang wajib ada pada saat kita
membuat program dengan bahasa C. Dalam sebuah project hanya boleh ada 1
buah fungsi main() saja. Namun dalam bahasa C, tidak membatasi hanya boleh 1
fungsi saja, melainkan kita juga diperbolehkan untuk membuat fungsi-fungsi
lain selain fungsi main ( ) yang bisa mempermudah kita dalam membuat sebuah



program.
Deklarasi variabel
Pendeklarasian variabel ini dilakukan untuk mendaftarkan variabel apa
saja yang akan kita gunakan dalam program yang kita buat. Pendeklarasian

Universitas Sumatera Utara

variabel ini biasanya sekaligus dengan mencantumkan tipe data dari variabel


tersebut.
Perintah (statement)
Perintah merupakan deretan program yang kita buat dalam sebuah



project.
Akses library
Digunakan untuk mengakses library apa saja yang kita perlukan dalam



pembuatan sebuah program.
Komentar
Komentar merupakan sebuah kalimat yang biasanya dicantumkan oleh
seorang programer sebagai sebuah catatan kecil yang mana komentar ini tidak
akan ikut di compile atau diproses.

2.5.2

Kelebihan dan Kekurangan Bahasa Pemrograman C
Bahasa C mempunyai beberapa kelebihan dibanding dengan bahasa
pemrograman yang lain, yaitu:



Kelebihan
1. C mempunyai operator yang lengkap untuk memanipulasi data.
2. Berbagai struktur data dan pengendalian proses disediakan dalam C,
sehingga memungkinkan dibuat program yang terstruktur, bahkan program
yang berorientasi pada objek (OOP = Object Orientied Programming).
3. Dibanding dengan bahasa mesin atau rakitan (assembly), C jauh lebih mudah
dipahami dan pemrogram tidak perlu tahu detail mesin komputer yang
digunakan sehingga tidak menyita waktu dalam menyelesaikan masalah ke
dalam bentuk program. C merupakan bahasa yang berorientasi pada
permasalahan (objek), dan bukan berorientasi pada mesin.
4. Kecepatan eksekusi C mendekati kecepatan eksekusi program yang dibuat
dengan bahasa tingkat rendah, namum kemudahan dalam memprogram
setara dengan bahasa tingkat tinggi.

Universitas Sumatera Utara

5. C memungkinkan memanipulasi data dalam bentuk bit maupun byte secara
efisien. Disamping itu juga memungkinkan untuk melakukan manipulasi
alamat dari suatu data yang dalam C dinamakan pointer.


Kekurangan
Adapun kelemahan --atau lebih tepatnya kesulitan bahasa pemrograman
C terutama yang dirasakan oleh pemrogram pemula diantaranya adalah:
1. Banyaknya operator serta fleksibilitas penulisan program kadang-kadang
membingungkan pemakai, yang jika belum familiar akan menimbulkan
masalah.
2. Para pemrogram C tingkat pemula umumnya belum pernah mengenal
pointer dan tidak terbiasa menggunakannya, padahal keampuhan bahasa
C justru terletak pada pointer.

2.6

LCD (Liquid Crystal Display)
Berikut adalah tampilan bentuk fisik LCD yang digunakan pada
perancangan alat,

Gambar 2.5. Bentuk Fisik LCD
LCD

adalah

suatu

display

dari

bahan

cairan

kristal

yang

pengoperasiannya menggunakan sistem dot matriks. LCD banyak digunakan
sebagai display dari alat alat elektronika seperti kalkulator, multimeter digital,
jam digital dan sebagainya. LCD dapat dengan mudah dihubungkan dengan
mikrokontroller AVR Atmega16. LCD yang digunakan dalam percobaan ini
adalah 2x16 lebar display 2 baris 6 kolom. Yang mempunyai 16 pin konektor.

Universitas Sumatera Utara

Gambar dibawah ini adalah gambar tampilan knfigurasi pin LCD 16 Karakter x
2 Baris.

Gambar 2.6. Konfigurasi Pin LCD 16 Karakter x 2 Baris

Dengan gambar diatas dapt digunakan untuk keperluan antar muka suatu
komponen elektronika dengan mikrokontroler perlu diketahui fungsi dari setiap
pin yang ada pada komponen tersebut. Adapun konfigurasi pin LCD sebagai
berikut:
a.

Pin 1 (VSS)

:

Ground voltage

b.

Pin 2 (VCC)

:

+5V

c.

Pin 3 (VEE)

d.

Pin 4 (RS)

:
:

Contrast Voltage
Register Select,
0; intruction register
1; data register

e.

Pin 5 (R/W)

:

Read/Write to choose write or read mode
0; write mode
1; read

f.

Pin 6 (E)

:

Enable
0; start to lacht data to LCD character
1; disable

g.

Pin 7 (D0)

:

Data bit ke-0 (LSB)

h.

Pin 8 (D1)

:

Data bit ke-1

i.

Pin 9 (D2)

:

Data bit ke-2

j.

Pin 10 (D3)

:

Data bit ke-3

Universitas Sumatera Utara

k.

Pin 11 (D4)

:

Data bit ke-4

l.

Pin 12 (D5)

:

Data bit ke-5

m. Pin 13 (D6)

:

Data bit ke-6

n.

Pin 14 (D7)

:

Data bit ke-7 (MSB)

o.

Pin 15 (BPL)

:

Back plane light

p.

Pin 16 (GND)

:

Ground Voltage

LCD (Liquid Crystal Display) mempunyai 3 jalur kontrol dan 8 jalur I/O
untuk data bus. Tiga jalur kontrol adalah EN, RS dan RW. Jalur EN (enable)
digunakan untuk menyatakan pada LCD terjadi pengiriman data. Untuk
mengirim data ke LCD jalur ini harus low (0) dan kedua jalur lainnya diset dan
data diletakkan pada data bus. Ketika kedua jalur lainnya benarbenar suadah
siap, EN dibuat high (1) dan ditunggu untuk beberapa saat dan kemudian di
kembalikan ke low (0). Jalur Rs (Register Select) digunakan untuk menyatakan
bahwa data dianggap sebagai perintah bila RS low (0). Ketika RS high (1)
kondisi ini menyatakan bahwa data yang sedang dikirim adalah data text yang
hendak ditampilkan pada layar LCD. Jadi jika untuk menampilkan huruf ‘T’
pada layar, RS harus di set high (1). Jalur RW (read/write) adalah jalur kontrol
yang dalam keadaan low (0) memberi informasi bahwa bus data sedang ditulis di
LCD. Bila RS high (1) menyatakan bahwa data sedang dibaca dari LCD. Pada
data bus delapan data dinyatakn dengan DB0, DB1, DB2, DB3, DB4, DB5,
DB6, DB7.

Universitas Sumatera Utara