BAB II LANDASAN TEORI

dokumen-dokumen yang mirip
BAB I SEKILAS TENTANG C

BAB II TINJAUAN PUSTAKA

BAB III PERANCANGAN SISTEM

BAB II LANDASAN TEORI

BAB II TINJAUAN PUSTAKA. Atmel AVR adalah jenis mikrokontroler yang paling sering dipakai dalam

Sistem Minimum Mikrokontroler. TTH2D3 Mikroprosesor

BAB II LANDASAN TEORI. pada itu dapat juga dijadikan sebagai bahan acuan didalam merencanakan suatu system.

KONSEP DASAR PROGRAM BAHASA C

MICROCONTROLER AVR AT MEGA 8535

Sekilas Tentang C. Dasar Pemrograman & Algoritma

II. TINJAUAN PUSTAKA. Mikrokontroler ATmega8535 merupakan salah satu jenis mikrokontroler keluarga AVR

Objectives Menjelaskan sejarah dan ruang lingkup pemakaian bahasa C Menjelaskan kelebihan dan kekurangan bahasa C Menjelaskan proses kompilasi dan lin

MICROCONTROLER AVR AT MEGA 8535

PENGENALAN BAHASA C. Praktikum 3

Objectives Menjelaskan sejarah dan ruang lingkup pemakaian bahasa C Menjelaskan kelebihan dan kekurangan bahasa C Menjelaskan proses kompilasi dan lin

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI. ATMega 8535 adalah mikrokontroller kelas AVR (Alf and Vegard s Risc

BAB II METODE PERANCANGAN APLIKASI

MIKROKONTROLER Yoyo Somantri dan Egi Jul Kurnia

BAB III PERANCANGAN SISTEM. sebuah alat pemroses data yang sama, ruang kerja yang sama sehingga

II. TINJAUAN PUSTAKA. kondisi cuaca pada suatu daerah. Banyak hal yang sangat bergantung pada kondisi

BAB II KONSEP DASAR SISTEM MONITORING TEKANAN BAN

BAB III PERANCANGAN SISTEM

II. TINJAUAN PUSTAKA. menjadi sumber tegangan arus searah yang bersifat variable. Pengubah daya DC-

PRAKTIKUM 2 SEKILAS TENTANG C

BAB II TINJAUAN PUSTAKA

BAB III TEORI PENUNJANG. Microcontroller adalah sebuah sistem fungsional dalam sebuah chip. Di

BAB II TINJAUAN PUSTAKA. alat monitoring tekanan oksigen pada gas sentral dengan sistem digital yang lebih

BAB II LANDASAN TEORI

BAB I PENGENALAN BAHASA C

Oleh Ilmin Syarif Hidayatullah ( ) Pembimbing : Andi Rahmadiansah, ST, MT

BAB II TINJAUAN PUSTAKA. [10]. Dengan pengujian hanya terbatas pada remaja dan didapatkan hasil rata-rata

BAB III PERANCANGAN SISTEM

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI. Remote TV adalah suatu pengontrol, yang fungsinya untuk merubah dan

BAB II KONSEP DASAR SISTEM PENGONTROL PARTITUR OTOMATIS

TAKARIR. Akumulator Register yang digunakan untuk menyimpan semua proses aritmatika

BAB II DASAR TEORI. 2.1 Ethanol

Sistem Mikrokontroler FE UDINUS

Teknik Pemrograman Terstruktur 1 PENGENALAN BAHASA C

Gambar 2.1 Mikrokontroler ATMega 8535 (sumber :Mikrokontroler Belajar AVR Mulai dari Nol)

Mikrokontroler AVR. Hendawan Soebhakti 2009

BAB II TINJAUAN PUSTAKA

BAB II. PENJELASAN MENGENAI System-on-a-Chip (SoC) C8051F Pengenalan Mikrokontroler

BAB II LANDASAN TEORI. mahluk hidup diantaranya sebagai air minum atau keperluan rumah tangga

BAB II TINJAUAN PUSTAKA

DASAR PEMROGRAMAN. PENGANTAR BAHASA C ( Sejarah, Struktur Pemrograman, Tipe Data, Operator ) Djoko Soerjanto, M.Kom

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

BAB II TINJAUAN PUSTAKA

BAB II Tinjauan Pustaka

BAB II DASAR TEORI Bentuk Fisik Sensor Gas LPG TGS 2610 Bentuk fisik sensor TGS 2610 terlihat pada gambar berikut :

BAB IV HASIL DAN PEMBAHASAN. Setelah pembuatan modul maka perlu dilakukan pendataan melalui proses

BAB III PERENCANAAN DAN REALISASI

BAB II LANDASAN TEORI

DAFTAR ISI. Daftar Pustaka P a g e

RANCANGAN SISTEM PARKIR TERPADU BERBASIS SENSOR INFRA MERAH DAN MIKROKONTROLER ATMega8535

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA

BAB II LANDASAN TEORI

Bab 1. Pengenalan Pemrograman C

BAB II KONSEP DASAR PERANCANGAN

BAB II LANDASAN TEORI

BAB 2 DASAR TEORI. Gambar 2.1 Sensor SHT-11

BAB 2 LANDASAN TEORI

III. METODOLOGI PENELITIAN. Penelitian dan perancangan tugas akhir ini telah dimulai sejak bulan Juli 2009

BAB III RANCANG BANGUN SISTEM KARAKTERISASI LED. Rancangan sistem karakterisasi LED diperlihatkan pada blok diagram Gambar

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA

BAB II DASAR TEORI 2.1. Mikrokontroler AVR ATmega32

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI. Selain dari pada itu dapat juga dijadikan sebagai bahan acuan didalam

BAB II DASAR TEORI. AVR(Alf and Vegard s Risc processor) ATMega32 merupakan 8 bit mikrokontroler berteknologi RISC (Reduce Instruction Set Computer).

BAB II TINJAUAN PUSTAKA

MIKROKONTROLER Arsitektur Mikrokontroler AT89S51

BAB II DASAR TEORI. open-source, diturunkan dari Wiring platform, dirancang untuk. software arduino memiliki bahasa pemrograman C.

BAB II LANDASAN TEORI

BAB III PERANCANGAN DAN REALISASI PERANGKAT KERAS DAN PERANGKAT LUNAK SISTEM. Dari diagram sistem dapat diuraikan metode kerja sistem secara global.

BAB II DASAR TEORI. Gambar 2.1 Sensor MLX 90614[5]

BAB II TINJAUAN PUSTAKA

BAB 2 TINJAUAN TEORITIS. Sensor TGS 2610 merupakan sensor yang umum digunakan untuk mendeteksi adanya

Percobaan 2 I. Judul Percobaan Sistem Kendali Digital Berbasis Mikrokontroler

BAB II LANDASAN TEORI. Model Markov Tersembunyi atau lebih dikenal sebagai Hidden Markov

BAB II TINJAUAN PUSTAKA

MODUL 1 STANDAR INPUT DAN OUTPUT

BAB III MIKROKONTROLER

BAB IV PERANCANGAN DAN PEMBUATAN ALAT UKUR TEMPERATUR BERBASIS MIKROKONTROLER

BAB II TEORI DASAR. beberapa komponen utama yang digunakan pada simulasi Pengendali Lampu. Jarak Jauh dan Dekat pada Kendaraan Secara Otomatis.

BAB 2 LANDASAN TEORI. Temperatur merupakan salah satu informasi yang sangat penting dalam menentukan

BAB III PERANCANGAN DAN PEMBUATAN PERANGKAT KERAS

BAB 2 LANDASAN TEORI. Mikrokontroler AVR (Alf and Vegard s RISC Processor) dari Atmel ini

Blok sistem mikrokontroler MCS-51 adalah sebagai berikut.

BAB III PERANCANGAN DAN PEMBUATAN ALAT

BAB II DASAR TEORI. Transducer Signal Conditioning Display. Gambar 2.1 Diagram sistem pengukuran[measurement17.com] Kontroler Aktuator Plant.

BAB III PERANCANGAN SISTEM

BAB II TINJAUAN PUSTAKA

PROCEEDING. sepeti program untuk mengaktifkan dan PENERAPAN AUTOMATIC BUILDING SYSTEM DI PPNS. menonaktifkan AC, program untuk counter

Pengaturan suhu dan kelembaban dilakukan dengan memasang satu buah sensor SHT11, kipas dan hairdryer dengan program bahasa C berbasis mikrokontroler A

dilakukan oleh bahasa mesin dapat dilakukan oleh C dengan penyusunan program yang lebih sederhana dan mudah. Bahasa C dalam pemakainnya memerlukan

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI. dikembangkan pada tahun 1996 oleh dua orang mahasiswa Norwegian Institute of

Transkripsi:

BAB II LANDASAN TEORI 2.1 Teori Umum Pressure (tekanan) adalah gaya yang diberikan pada per unit area. Bisa juga dijelaskan bahwa pressure adalah ukuran intensitas gaya yang diberikan pada suatu titik permukaan. Satuan tekanan untuk hasil pengukuran tekanan biasanya berupa psi, psf, mmhg, inhg, bar, dan atmosphere (atm). Namun satuan yang digunakan dalam hasil pengukuran tekanan ini adalah satuan psi. Besarnya tekanan udara disuatu tempat sangat bergantung pada jumlah udara diatasnya. Semakin tinggi suatu tempat maka semakin sedikit jumlah udara diatasnya, semakin sedikit berat udara yang ditahan wilayah tersebut sehingga tekanannya semakin sedikit. Berbanding terbalik dengan daerah atau dataran rendah, mereka mempunyai tekanan udara yang lebih besar. Jadi tekanan udara di suatu wilayah sangat ditentukan oleh ketinggian tempat atau wilayah tersebut dari permukaan air laut. Dalam pembahasan kali ini, tekanan yang diukur adalah tekanan diruang tertutup. Udara di dalam ruang tertutup memiliki ciri yang berbeda dengan udara di ruang terbuka (atmosfer). Ciri-ciri tersebut menyangkut volume, tekanan, dan suhu. Alat pengukur tekanan udara dalam ruang tertutup disebut manometer. Perbedaan tekanan udara di dalam dan di luar ruang ditunjukkan oleh perbedaan ketinggian permukaan zat cair tersebut. Semakin besar tekanan udara di dalam ruang, perbedaan ketinggian ini juga semakin besar. 4

2.2 Sensor Pressure Gauge MPX5700 Pressure gauge adalah alat yang digunakan untuk mengukur tekanan fluida (gas atau liquid) dalam tabung tertutup. Satuan dari alat ukur tekanan ini berupa psi (pound per square inch), psf (pound per square foot), mmhg (millimeter of mercury), inhg (inch of mercury), bar, atm (atmosphere). Gambar 2.1 Konfigurasi Sensor Pressure Gauge MPX5700 Gambar 2.1 merupakan konfigurasi sensor pressure gauge seri MPX5700DPCASE 867C-05. Sensor ini memiliki daerah ukur untuk tekanan dari 0-700 kpa, dengan tingkat akurasi ±2,5%. Idealnya cocok untuk sistem Microprosessor atau Microcontroller. Untuk mengkonversi terhadap hasil pengukuran tekanan udara tertutup, sensor ini memerlukan suatu sirkuit listrik tambahan. Kelebihan dari sensor ini adalah memiliki kepekaan yang baik terhadap tekanan yang dihasilkan, masa aktif yang lama, dan membutuhkan biaya yang lebih rendah. Sensor ini juga memiliki tingkat sensitivitas yang rendah sehingga mudah dibawa kemana-mana, karena sensor ini akan bekerja jika ada tekanan udara yang diberikan. Dengan memanfaatkan prinsip kerja dari sensor MPX5700 ini, tekanan didalam ruang tertutup dapat diukur. 2.3 Mikrokontroler ATMega8535 Mikrokontroler adalah otak dari suatu sistem elektronika seperti halnya mikroprosesor sebagai otak komputer. Namun mikrokontroler memiliki nilai tambah 5

karena didalamnya sudah terdapat memori dan sistem input/output dalam suatu kemasan IC. Mikrokontroler AVR (Alf and Vegard s RISC processor) standar memiliki arsitektur 8-bit, dimana semua instruksi dikemas dalam kode 16- bit dan sebagian besar instruksi dieksekusi dalam satu siklus clock. Berbeda dengan instruksi MCS-51 yang membutuhkan 12 siklus clock karena memiliki arsitektur CISC (seperti komputer). Teknologi yang digunakan pada mikrokontroler AVR berbeda dengan mikrokontroler seri MCS-51. AVR berteknologi RISC (Reduced Instruction Set Computer), sedangkan seri MCS-51 berteknologi CISC (Complex Instruction Set Computer). Mikrokontroler AVR dapat dikelompokkan menjadi empat kelas, yaitu keluarga ATtiny, keluarga AT90Sxx, Keluarga ATMega, dan AT89RFxx. Pada dasarnya yang membedakan masing-masing kelas adalah memori, kelengkapan periferal dan fungsi-fungsi tambahan yang dimiliki. ATMega8535 adalah mikrokontroler CMOS 8-bit daya rendah berbasis arsitektur RISC. Kebanyakan instruksi dikerjakan pada satu siklus clock, ATMega8535 mempunyai throughput mendekati 1 MIPS per MHz, hal ini membuat ATMega8535 dapat bekerja dengan kecepatan tinggi walaupun dengan penggunaan daya rendah. Mikrokontroler ATMega8535 memiliki beberapa fitur atau spesifikasi yang menjadikannya sebuah solusi pengendali yang efektif untuk berbagai keperluan. Fiturfitur tersebut antara lain: - Saluran I/O sebanyak 32 buah, yang terdiri atas Port A, B, C dan D - ADC (Analog to Digital Converter) dengan resolusi 10-bit sebanyak 8 saluran melalui Port A - Tiga buah Timer atau Counter dengan kemampuan perbandingan 6

- CPU yang terdiri atas 32 register - Watchdog Timer dengan osilator internal - SRAM sebesar 512 byte - Memori Flash sebesar 8 kb dengan kemampuan Read While Write - Unit Interupsi Internal dan Eksternal - Port antarmuka SPI untuk mendownload program ke flash - EEPROM sebesar 512 byte yang dapat diprogram saat operasi - Antarmuka komparator analog - Port USART untuk komunikasi serial Gambar 2.2 Blok Diagram ATMega8535 Dari segi arsitektur dan instruksi yang digunakan, mereka bisa dikatakan hampir sama. Oleh karena itu, dipergunakan salah satu AVR produk Atmel, yaitu ATMega8535. Selain mudah didapatkan dan lebih murah Atmega8535 juga memiliki fasilitas yang lengkap. 7

2.3.1 Konfigurasi PIN ATMega8535 Gambar 2.33 Konfigurasi Pin ATMega8535 Berikut ini adalah susunan pin-pinn dari ATMega8535: VCC merupakan pin yang berfungsi sebagai pin masukkan catu daya GND merupakan pin ground Port A (PA0..PA7) merupakan pin I/O dua arah dan pin masukan ADC Port B (PB0..PB7) merupakan pin I/O duaa arah dan pin fungsi khusus, yaitu Timer/Counter, Komparatorr Analog, dan SPI Port C (PC0..PC7) merupakan pin I/O duaa arah dan pin fungsi khusus, yaitu TWI, Komparator Analog, dan Timer Oscilator O Port D (PD0..PD7) merupakan pin I/O duaa arah dan pin fungsi khusus, yaitu Komparator Analog, Interupsi Iksternal dan komunikasi serial USART Reset merupakan pin yang digunakan untuk mereset m mikrokontroler XTAL1 dan XTAL2 merupakan pin masukkan clock k eksternal (osilator menggunakan kristal, biasanya dengan frekuensi 11,0592 MHz) 8

2.3.2 Port-Port Pada ATMega853 35 Dan Fungsinya - Port A - Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakann internal pull-upp resistor (dapat diatur per bit). Output bufferr Port A dapat memberi arus 20 ma dan dapat mengendalikan display d LEDD secara langsung. Data Direction Register port A (DDRA) harus disetting terlebih dahuluu sebelum Port A digunakan. Bit-bit DDRA diisi 0 jika ingin memfungsikan pin- Selain itu, kedelapan pin port A juga digunakan untuk u masukan sinyal analog pin port A yang bersesuaian sebagai input, atau diisi d 1 jika sebagai output. bagi A/D converter. - Port B Merupakan 8-bit directional port I/O. Setiapp pinnya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer Port B dapat memberi arus 20 ma dan n dapat mengendalikan display LED secara langsung. Data Direction Register port B (DDRB) harus disetting terlebih dahulu pin port B juga memilikii untuk fungsi-fungsi sebelum Port B digunakan. Bit-bit DDRB diisi 0 jika ingin memfungsikan pin- pin port B yang bersesuaian sebagai input, atau diisi d 1 jika sebagai output. Pin- alternatif khusus seperti yang dapat dilihat dalam tabel berikut. Tabel 2.1 Fungsi Pin-pin Port B 9

- Port C Merupakan 8-bit directional port I/O. Setiapp pinnya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer Port C dapat memberi arus 20 ma dan n dapat mengendalikan display LED secara langsung. Data Direction Register port C (DDRC) harus disetting terlebih dahulu pin sebelum Port C digunakan. Bit-bit DDRC diisi 0 jika ingin memfungsikan pin- port C yang bersesuaian sebagai input, atau diisi 1 jika sebagaii output. Selain itu, dua pin port C (PC6 dan PC7) juga memiliki fungsi alternatif sebagai oscillator untuk timer/counter 2. - Port D Merupakan 8-bit directional port I/O. Setiapp pinnya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer Port D dapat memberi arus 20 ma dan n dapat mengendalikan display LED secara langsung. Data Direction Register port D (DDRD) harus disetting terlebih dahulu pin sebelum Port D digunakan. Bit-bit DDRD diisi 0 jika ingin memfungsikan pin- port D yang bersesuaian sebagai input, atau diisi 1 jika sebagaii output. juga memiliki untuk fungsi-fungsi alternatif khusus Selain itu, pin-pin port D seperti yang dapat dilihat dalam tabel berikut. Tabel 2.2 Fungsi Pin-pin Port D 10

2.4 LCD (Liquid Crystal Display) LCD (Liquid Crystal Display) adalah satu alat untuk display berbagai character. Antaranya LCD yang mempunyai dot matrix controller HD44780. HD44780 boleh beroperasi pada 5X8 atau 5X10 dot matrix. LCD ini mempunyai beberapa ukuran mengikut bilangan character. Antaranya 16X2 atau 20X4 character. 16X2 character bermakna LCD itu mempunyai 16 character pada line dengan 2 lines. LCD ini mempunyai 16 pin. Gambar 2.4 LCD Character 16x2 LCD adalah LCD yang tampilannya terbatas pada tampilan karakter, khususnya karakter ASCII (seperti karakter-karakter yang tercetak pada keyboard komputer). Sedangkan LCD Graphics = LCD Grafik, adalah LCD yang tampilannya tidak terbatas, bahkan dapat menampilkan foto. LCD Grafik inilah yang terus berkembang seperti layar LCD yang biasa dilihat di notebook atau laptop. Dalam pembahasan kali ini akan dikonsentrasikan pada LCD karakter. Jenis LCD karakter yang beredar di pasaran biasa dituliskan dengan bilangan matriks dari jumlah karakter yang dapat dituliskan pada LCD tersebut, yaitu jumlah kolom karakter dikali jumlah baris karakter. Sebagai contoh, LCD 16X2, artinya terdapat 16 kolom dalam 2 baris ruang karakter, yang berarti total karakter yang dapat dituliskan adalah 32 karakter. 11

Gambar 2.5 Penunjukkan Kolom dan Baris Pada LCD 16x2 LCD Karakter dalam pengendaliannya cenderung lebih mudah dibandingkan dengan LCD Grafik. Namun ada kesamaan diantara keduanya, yaitu inisialisasi. Inisialisasi adalah prosedur awal yang perlu dilakukan dan dikondisikan kepada LCD agar LCD dapat bekerja dengan baik. Hal yang sangat penting yang ditentukan dalam proses inisialisasi adalah jenis interface (antarmuka) antara LCD dengan controller (pengendali). Pada umumnya terdapat dua jenis antarmuka yang dapat digunakan dalam pengendalian LCD karakter: Untuk dapat mengendalikan LCD karakter dengan baik, tentu perlu koneksi yang benar. Dan koneksi yang benar dapat diwujudkan dengan cara mengetahui pinpin antarmuka yang dimiliki oleh LCD karakter tersebut. LCD karakter yang beredar di pasaran memiliki 16 pin antarmuka: Keterangan: Gambar 2.6 Spesifikasi LCD 16x2 1. VSS = GND 2. VDD = Positif 5 Volt 3. Vo = Tegangan untuk mengatur kontras dari tampilan karakter 12

4. RS 5. R/W 6. E = pin 4 (RS) pin 6 (E) digunakan untuk aktivasi LCD 7. DB0 8. DB1 9. DB2 10. DB3 11. DB4 12. DB5 13. DB6 14. DB7 = pin 7 (DB0) pin 14 (DB7) digunakan untuk komunikasi data paralel dengan pengendali 15. Anoda LED Backlight LCD 16. Katoda LED Backlight LCD Seperti yang dipaparkan di paragraph sebelumnya, bahwa ada dua jenis antarmuka yang dapat digunakan dalam mengendalikan LCD karakter: 4 Bit, 8 Bit. Dalam 4 BitAntarmuka hanya membutuhkan empat pin data komunikasi data parallel, DB4 (pin 11) DB7 (pin14), yang dikoneksikan dengan pengendali. Langkah-langkah inisialisasi haruslah bersesuaian dengan apa yang telah dituliskan pada datasheet LCD karakter yang digunakan. Tiap jenis antarmuka memiliki langkah inisialisasi yang unik, dan langkah-langkah pemrograman biasa dituliskan dalam bentuk diagram-alir (flowchart): 13

Gambar 2.7 Diagram-alir 4 Bit Antarmuka Gambar 2.8 Diagram-alir 8 Bit Antarmuka 14

2.5 Pemrograman C Akar dari bahasa C adalah bahasa BCPL yang dikembangkan oleh Martin Richards pada tahun 1967. Bahasa ini memberikan ide pada Ken Thompson yang kemudian mengembangkan bahasa yang disebut dengan B pada tahun 1970. Perkembangan selanjutnya dari bahasa B adalah bahasa C yang ditulis oleh Dennis Ritchie sekitar tahun 1970-an di Bell Telephone Laboratories Inc. (sekarang adalah AT&T Bell Laboratories). 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 15

4. Sistem Operasi 5. Program bantu(utility) 6. Editor 7. Paket program aplikasi 2.5.1 Kelebihan dan Kelemahan Bahasa C Bahasa C mempunyai beberapa kelebihan dibanding dengan bahasa pemrograman yang lain, yaitu: - KelebihanBahasa C 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. 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. - Kelemahan Bahasa C 16

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. Namun kesulitan di atas biasanya hanya bersifat sementara saja. 2.5.2 Fungsi Penyusun Bahasa C - Fungsi main() Pada program bahasa C, main() merupakan fungsi yang istimewa, karena fungsi main harus selalu ada dalam program, sebab fungsi inilah yang menjadi titik awal dan titik akhir eksekusi program. Tanda { di awal fungsi menyatakan awal tubuh fungsi dan sekaligus awal program, sedangkan tanda } di akhir tubuh fungsi menyatakan akhir dari tubuh fungsi sekaligus akhir eksekusi program. Jika program lebih dari satu fungsi, fungsi main() biasa ditempatkan pada posisi yang paling atas dalam pendefinisian fungsi, untuk memudahkan pencarian program utama. - Fungsi printf() Fungsi printf() merupakan fungsi yang umum digunakan untuk menampilkan suatu keluaran program pada layar penampil (monitor). Untuk menampilkan tulisan Selamat Datang maka pernyataan yang diperlukan berupa: printf("selamat Datang"); Pernyataan di atas berupa pemanggilan fungsi printf() dengan argumen/parameter berupa string "Selamat Datang". Dalam C suatu konstanta string ditulis dengan diawali dan diakhiri tanda petik ganda ("). Pernyataan dalam bahasa C 17

selalu diakhiri dengan titik koma ( ; ), yang dipakai sebagai pemberhentian pernyataan dan bukanlah sebagai pemisah antara dua pernyataan. Contoh berikut adalah contoh program yang agak lengkap: #include main() { printf("selamat datang di program bahasa C"); } Jika program dieksekusi maka akan menghasilkan keluaran string Selamat darang di program bahasa C. - Praprosesor #include Pada contoh program sebelumnya terdapat baris yang berisi #include : 1. #include merupakan salah satu jenis pengarah praprosesor yang digunakan untuk memberitahu kompiler agar dalam proses linking membaca file yang dinamakan file judul (header file), yaitu file yang diantaranya berisi deklarasi fungsi dan definisi konstanta. 2. Bahasa C menyediakan beberapa file judul yang ditandai dengan ekstensi.h. Misal, pada program di atas, #include menyatakan pada kompiler agar membaca file bernama stdio.h saat melakukan kompilasi. 3. Bentuk umum #include: #include atau #include "namafile" 4. Bentuk pertama ( #include ) mengisyaratkan bahwa pencarian file dilakukan pada direktori khusus (direktori file include), yang merupakan default direktori file-file judul yang disediakan oleh bahasa pemrograman. 5. Bentuk kedua ( #include "namafile" ) menyatakan bahwa pencarian file dilakukan pertama kali pada direktori aktif tempat program sumber, dan 18

seandainya tidak ditemukan pencarian akan dilanjutkan pada direktori lainnya sesuai dengan perintah pada sistem operasi (yaitu path). 6. Kebanyakan program melibatkan file stdio.h, yaitu file judul I/O standar yang disediakan dalam C, yang diperlukan untuk program-program yang menggunakan pustaka fungsi I/O standar seperti printf(). 2.5.3 Kondisi di bahasa C Kondisi dalam bahasa C ada dua macam yaitu if dan switch pernyataan if mempunyai bentuk : if(kondisi) pernyataan; Bentuk ini menyatakan : Jika kondisi yang di seleksi adalah benar (bernilai logika = 1), maka pernyataan yang mengikutinya akan di proses. Sebaliknya, jika kondisi yang di seleksi tidak benar (bernilai logika = 0), maka pernyataan yang mengikutinya tidak akan di proses. 19