BAB II LANDASAN TEORI 2.1 Tinjauan Pustaka - AHMAD AZHAR BASYIR BAB II

BAB II LANDASAN TEORI

2.1 Tinjauan Pustaka

  Pengoptimalan penjejak arah matahari untuk panel surya adalah sangat dibutuhkan yaitu untuk memaksimalkan panas sinar matahari yang terserap pada panel surya tersebut sehingga akan mendapatkan panas yang maksimal. Apabila panas maksimal maka yang terjadi panel surya akan menghasilkan tegangan yang lebih besar.

  Feri Tri Jatmiko (2006) telah melakukan penelitian tentang ― Alat Penjejak

  Matahari Sebagai Pengarah Sel Surya Berbasis Mikrokontroler ‖ dalam penelitian tersebut ditentukan tiga sudut arah matahari yaitu timur, tengah, dan barat.

  Sehingga dalam penelitian yang akan dilakukan akan ditentukan arah matahari yang lebih presisi.

  Emanuel Budi Raharjo (2011) telah melakukan penelitian tentang ―Sistem Kendali Penjejak Sinar Matahari Menggunakan Mikrokontroler Atmega8535‖ dalam penelitian tersebut digunakan dua sensor Light Dependent Resistor (LDR) yang memberikan informasi besar intensitas cahaya yang diterima masing-masing sensor. Informasi dari kedua sensor tersebut kemudian diproses dan digunakan sebagai penentu arah putaran penampang dan juga menentukan nilai data untuk periode hidup Pulse Width Modulation (PWM).

  Pengolahan data-data intensitas, penentuan arah putaran penampang dan penentuan data untuk periode hidup PWM dilakukan oleh mikrokontroler ATMEGA8535. Metode yang digunakan dalam pengendalian motor DC adalah pertimbangan bersyarat berdasar selisih data intensitas yang diterima oleh kedua

  6 sensor LDR untuk menentukan data PWM. Jika ada perbedaan data intensitas pada kedua sensor (LDR1 dan LDR2), maka nilai selisih data dihitung sehingga dapat digunakan sebagai penentu arah putaran motor DC berikut nilai data PWM. Pembangkitan PWM terus dilakukan hingga tidak ada lagi perbedaan intensitas pada kedua LDR, yang menghasilkan kondisi permukaan penampang menghadap kearah datangnya sinar matahari. Sistem kendali penjejak sinar matahari ini mampu menjejak sinar dengan kesalahan rata-rata 2,4% pada saat dilakukan pengujian menggunakan sumber cahaya lampu.

  Asep Najmurrokhman dan Muhammad Fajrin (2017) ―Perancangan Prototipe

  Sistem Penjejak Matahari Untuk Mengoptimalkan Penyerapan Energi Surya Pada utama penyusun sistem ini adalah Solar Cell‖ dalam penelitian ini komponen sensor LDR, mikrokontroler, sel surya, diode, dan baterai. Saat cahaya matahari mengenai sensor LDR, motor DC akan aktif. Sensor memberi input pada mikrokontroler dan dari mikrokontroler langsung memberi perintah pada motor DC yang akan menggerakkan panel solar cell agar selalu tegak lurus terhadap arah datangnya sinar matahari. Kemudian solar cell menerima sinar matahari lalu dikonversi menjadi energi listrik oleh solar cell. Energi listrik yang dihasilkan kemudian masuk ke dioda dan dioda ini yang kemudian memberikan suplay kepada baterai. Setelah listrik masuk ke baterai hingga penuh maka baterai siap digunakan.

  Masyhuri Aliansyah Arif (2011) ―Penjejak Sinar Matahari Otomatis Untuk Panel Surya Berbasis Mikrokontroler AT98S5‖ penjejak sinar matahari ini menggunakan sensor sebagai penerima sinar matahari. Komponen-komponen yang digunakan adalah mikrokontroler, sensor LDR, motor servo dan ADC 0809. Prinsip kerja alat ini yaitu sensor menerima cahaya matahari, keluaran berupa besaran analog akan diubah oleh ADC menjadi besar digital yang akan diolah oleh mikrokontroler, sehingga akan menggerakan motor servo. Motor bekerja sesuai dengan cahaya yang diterima oleh sensor cahaya, sehingga alat ini akan mengikuti arah datangnya sinar matahari.

  Penjejak sinar matahari otomatis ini memiliki sistem otomatisasi reset. Ketika posisi matahari berada disebelah barat maka penjejak ini akan melakukan reset sesuai dengan batas sudut yang telah ditentukan melalui program.

  M. C. Cavalcanti, G. M. S. Azevedo, B. A. Amaral, K. C. de Oliveira, F. A. S. Neves, Z. D. Lins (2015) ―Efficiency Evaluation in Grid Connected Photovoltaic Energy Con version Systems‖ Abstract—This paper introduces a comparative study ofefficiency for topologies in photovoltaic energy conversion systems. In special, a study of losses is presented and the methodology is used to compare different topologies for grid connected photovoltaic systems in such a way that can be chosen the option of best efficiency. The systems are also tested with photovoltaic generation as well as current harmonic and reactive power compensation simultaneously. The system that uses only inverters presents increased efficiency when compared to the conventional system. The synchronous reference frame method is used to control the three-phase inverter for all topologies. The proposed design is used to test efficiency for different pulse width-modulation techniques and different loads in an electric system and simulation results.

  Mehmet Ali Ozcelik, Ahmet Serdar Yilmaz, Selahattin Kucuk, Mehmet

  

Bayrak (2015 ) ― Efficiency in Centralized DC Systems Compared with Distributed

1 DC Systems in Photovoltaic Energy Conversion Abstract

  ‖ Photovoltaic (PV) systems produce a significant amount of electrical energy used around the world.

  The performance of a PV array is affected by temperature, solar insolation, shading and array configuration. Obtainable maximum power generation from PV based energy production systems is only possible with Maximum Power Point Tracking (MPPT) methods. In order to maximize the efficiency of PV energy conversion systems, solar panels and arrays should be operated at maximum power points. At maximum power point, solar arrays generate the electric energy at maximum efficiency and minimum losses. This paper discusses the following issues: (1) what is the effect of MPPT unit in PV systems, (2) two connection methods between solar arrays and buck-boost DC/DC converter with MPPT unit, (3) determine behaviours of PV power generation systems in cloudy and sunny conditions.

2.2 LDR (Light dependent resistor)

  LDR (Light dependent resistor) atau disebut juga fotokonduktor merupakan salah satu jenis sensor optik yang digunakan dalam rangkaian elektronika. Seperti fotodioda, LDR, juga memanfaatkan intensitas cahaya. LDR disusun menggunakan 2 buah pin yang dapat dipasang secara bolak-balik. LDR berfungsi untuk mengubah intensitas cahaya menjadi tahanan listrik (resistansi) pada rangkaian elektronika. Resistansi yang dihasilkan LDR berubah sesuai perubahan intensitas cahaya masuk. Semakin terang atau semakin banyak intensitas cahaya yang masuk, resistansi keluaran LDR semakin kecil. Semakin gelap atau semakin sedikit intensitas cahaya yang masuk, resistansi keluaran LDR semakin besar. (Franky Chandra dan Deni Arifianto. 2010)

  LDR terbuat dari bahan semikonduktor seperti cadmium sulfida. Dengan bahan ini energi dari cahaya yang jatuh menyebabkan lebih banyak muatan yang dilepas atau arus listrik meningkat. Artinya resistansi bahan telah mengalami penurunan. Namun perlu jugadiingat bahwa respon dari rangkaian transistor akan sangat tergantung pada nilai LDR yang digunakan. Lebih tinggi nilai tahanannya akan lebih cepat respon rangkaian.Akan lebih mudah mengatur respon rangkaian bila menggunakan OP AMP sebagai penguat atau saklar pada rangkaian LDR. Rangkaian tergantung pada aplikasi rangkaian. Tergantung pada aplikasi rangkaian yang kita rakit. Apakah keluaran OP AMP akan tinggi saat LDR tidak mendapatkan cahaya atau keluaran OP-Amp akan mencapai tegangan supply pada saat LDR mendapatkan cahaya. Gunakan rangkaian dasar OP AMP Inverse atau Non-inverse. Dengan sifat LDR yang demikian, maka LDR (Light Dependent

  

Resistor ) biasa digunakan sebagai sensor cahaya. Contoh penggunaannya adalah

  pada lampu taman dan lampu di jalan yang bisa menyala dimalam hari dan padam disiang hari secara otomatis. Pada saat gelap atau cahaya redup, bahan dari cakram tersebut menghasilkan elektron bebas dengan jumlah yang relatif kecil. Sehingga hanya sedikit elektron untuk mengangkut elektrik. Artinya pada saat cahaya redup LDR menjadi konduktor yang buruk, atau bisa disebut juga LDR memiliki resistansi yang besar pada saat gelap atau cahaya redup. Pada saat cahaya terang ada lebih banyak elektron yang lepas dari atom bahan semi konduktor tersebut. Sehingga akan ada lebih banyak elektron untuk mengangkut muatan elektrik. Artinya pada saat cahaya terang LDR menjadi konduktor yang baik, atau bisa disebut juga LDR memiliki resistansi yang kecil pada saat cahaya terang.

  (blogspot.com/2008/).

  Gambar 2. 1 Bentuk fisik LDR (www.edukasielektronika.com) Gambar 2. 2 Simbol LDR (www.edukasielektronika.com)

2.3 Motor Steper

  Motor steper adalah perangkat elektromekanis yang bekerja dengan mengubah pulsa elektronis menjadi gerakan mekanis diskrit. Motor steper berputar berdasarkan urutan pulsa yang diberikan kepada motor. Karena itu, untuk menggerakkan motor steper diperlukan pengendali motor steper yang membangkitkan pulsa-pulsa periodik.

  Pada dasarnya motor steper dibagi menjadi beberapa macam tipe anataranya yaitu sebagai berikut :

  2.3.1 Motor steper tipe Variable reluctance (VR)

  Motor steper jenis ini telah lama ada dan merupakan jenis motor yang secara struktural paling mudah untuk dipahami. Motor ini terdiri atas sebuah rotor besi lunak dengan beberapa gerigi dan sebuah lilitan stator. Ketika lilitan stator diberi energi dengan arus DC, kutub-kutubnya menjadi termagnetasi. Perputaran terjadi ketika gigi-gigi rotor tertarik oleh kutub-kutub stator. Berikut ini adalah penampang melintang dari motor steper tipe variable reluctance (VR): Gambar 2. 3 Penampang melintang dari motor steper tipe variable reluctance (VR)

  (zona elektro.net/motor-stepper/)

  2.3.2 Motor Steper Tipe Permanen Magnet

  Motor steper jenis ini memiliki rotor yang berbentuk seperti kaleng bundar (tincan) yang terdiri atas lapisan magnet permanen yang diselang-seling dengan kutub yang berlawanan (perhatikan Gambar 2.4). Dengan adanya magnet permanen, maka intensitas fluks magnet dalam motor ini akan meningkat sehingga dapat menghasilkan torsi yang lebih besar. Motor jenis ini biasanya memiliki resolusi langkah (step) yang rendah yaitu antara 7,5 hingga 15 per langkah atau 48 hingga 24 langkah setiap putarannya. Berikut ini adalah ilustrasi sederhana dari motor steper tipe permanent magnet:

  Gambar 2. 4 Ilustrasi sederhana dari motor steper tipe permanen magnet (zonaelektro.net/motor-stepper/)

2.3.3 Motor Steper Tipe Unipolar Motor steper unipolar terdiri dari dua lilitan yang memiliki center tap.

  Center tap dari masing masing lilitan ada yang berupa kabel terpisah ada juga yang sudah terhubung didalamnya sehingga center tap yang keluar hanya satu kabel.

  Untuk motor steper yang center tapnya ada pada masing

  • – masing lilitan kabel inputnya ada 6 kabel. Namun jika center tapnya sudah terhubung di dalam kabel inputannya hanya 5 kabel. Center tap dari motor steper dapat dihubungkan ke groun atau ada juga yang menghubungkannya ke +VCC hal ini sangat dipengaruhi oleh driver yang digunakan.
Gambar 2. 5 Konstruksi motor langkah tipe Unipolar (zonaelektro.net/motor- stepper)

2.3.4 Motor Steper Tipe Hybrid

  Motor steper tipe hibrid memiliki struktur yang merupakan kombinasi dari kedua tipe motor steper sebelumnya. Motor steper tipe hibrid memiliki gigi-gigi seperti pada motor tipe VR dan juga memiliki magnet permanen yang tersusun secara aksial pada batang porosnya seperti motor tipe PM. Motor tipe ini paling banyak digunkan dalam berbagai aplikasi karena kinerja lebih baik. Motor tipe hibrid dapat menghasilkan resolusi langkah yang tinggi yaitu antara 3,6 - 0,9 per langkah atau 100-400 langkah setiap putarannya. Berikut ini adalah penampang melintang dari motor steper tipe hibrid:

  Gambar 2. 6 Penampang melintang dari motor stepper tipe Hybrid (HB) (zonaelektro.net/motor-stepper)

2.3.5 Motor Steper Tipe Bipolar

  Motor steper bipolar memiliki dua lilitan perbedaaan dari tipe unipolar adalah bahwa pada tipe bipolar lilitannya tidak memiliki center tap. Keunggulan tipe bipolar yaitu memiliki torsi yang lebih besar jika dibandingkan dengan tipe unipolar untuk ukuran yang sama. Pada motor steper tipe ini hanya memiliki empat kabel masukan. Namun untuk menggerakan motor steper tipe ini lebih rumit jika dibandingkan dengan menggerakan motor steper tipe unipolar.

  Gambar 2. 7 Konstruksi motor langkah tipe bipolar (zonaelektro.net/motor-stepper)

2.4 Mikrokontroler

  Mikrokontroler adalah sebuah sistem komputer lengkap dalam satu chip. Mikrokontroler lebih dari sekedar sebuah mikroprosesor karena sudah terdapat atau berisikan ROM (Read-Only Memory), RAM (Read-Write Memory), beberapa port masukan maupun keluaran, dan beberapa peripheral seperti pencacah/pewaktu, ADC (Analog to Digital converter), DAC (Digital to Analog converter) dan serial komunikasi.

  Mikrokontroler bisa juga disebut komputer hanya saja mikrokontroler lebih kecil, Tidak seperti sistem komputer, yang mampu menangani berbagai macam program aplikasi (misalnya pengolah kata, pengolah angka dan lain sebagainya), mikrokontroler hanya bisa digunakan untuk suatu aplikasi tertentu saja (hanya satu program saja yang bisa disimpan). Perbedaan lainnya terletak pada perbandingan RAM dan ROM. Pada sistem komputer perbandingan RAM dan ROM-nya besar, Sedangkan pada Mikrokontroler, perbandingan ROM dan RAM-nya yang kecil.

  Sebuah mikrokontroler tidak dapat bekerja bila di dalam mikrokontroler belum terisi program. Program tersebut akan memerintahkan suatu mikro apa yang harus di kerjakan. Sebuah mikrokontroler yang sudah bekerja dengan suatu program tidak dapat bekerja lagi sesuai keinginan apabila program yang lama belum di ganti dengan program yang baru.

2.4.1 Mikrokontroler AT-Mega 16

  Mikrokontroler adalah sebuah sistem komputer lengkap dalam satu serpih(chip). Mikrokontroler lebih dari sekedar sebuah mikroprosesor karena sudah terdapat atau berisikan ROM (Read-Only Memory), RAM (Read-Write Memory), beberapa bandar masukan maupun keluaran, dan beberapa peripheral seperti pencacah/pewaktu, ADC (Analog to Digital converter), DAC (Digital to Analog ) dan serial komunikasi.

  converter

  AVR adalah mikrokontroler RISC (Reduce Instuction Set Compute) 8 bit berdasarkan arsitektur Harvard. Secara umum mikrokontroler AVR dapat dapat dikelompokkan menjadi 3 kelompok, yaitu keluarga AT90Sxx, ATMega dan ATtiny. Pada dasarnya yang membedakan masing-masing kelas adalah memori, peripheral , dan fiturnya.

  Seperti mikroprosesor pada umumnya, secara internal mikrokontroler

  ATMega16 terdiri atas unit-unit fungsionalnya Arithmetic and Logical Unit (ALU), himpunan register kerja, register dan dekoder instruksi, dan pewaktu beserta komponen kendali lainnya. Berbeda dengan mikroprosesor, mikrokontroler menyediakan memori dalam serpih yang sama dengen prosesornya (in chip).

2.4.2 Fitur Mikrokontroler AT-Mega 16

  Mikrokontroler AT-Mega 16 ini memiliki fitur sebaga berikut :

  1. Memiliki 131 macam instruksi yang mana hampir semuanya dieksekusi dalamsatu siklus clock.

  2. 32x8 bit register serba guna

  3. Kecepatan mencapai 16 MIPS dengan clock 16 MHz 4. 16 KB flash memory

  5. Memiliki EEPROM (Electrically Erasable Programmable Read Only

  Memory ) sebesar 512 Bytes sebagai tempat penyimpanan data semi

  permanent karena EEPROM tetap dapat menyimpan data meskipun catu daya dimatikan.

  6. Memiliki SRAM (Static Random Access Memory) sebesar 1 KB

  7. Memiliki 32 pin I/O Gambar 2. 8 Konfigurasi pin mikrokontrolerAT-Mega 16 (www.alldatasheet.com)

2.5 Catu Daya

  Catu daya atau power supply merupakan suatu rangkaian elektronik yang mengubaharus listrik bolak-balik menjadi arus listrik searah. Catu daya menjadi bagian yang penting dalam elektonika. Catu daya (Power Supply) juga dapat digunakan sebagai perangkatyang memasok listrik energi untuk satu atau lebih beban listrik. Baterai atau accu adalah sumber catu daya DC yang paling baik. Namun untuk aplikasi yang membutuhkan catu daya lebih besar, sumber dari baterai tidak cukup.

  Sumber tegangan arus DC juga dapat diperoleh dari baterai, dengan penggunaan baterai ditawarkan sumber tegangan DC yang stabil dan portable namun sumber tegangan dari baterai bisa mengalami kekosongan, besarnya tegangan pada baterai tergantung kapasitas baterai tersebut. Tegangan yang tersedia dari suatu sumber tegangan yang ada biasanya tidak sesuai dengan kebutuhan. Untuk itu diperlukan suatu regulator tegangan yang berfungsi untuk menjaga agar tegangan bernilai konstan pada nilai tertentu. Regulator tegangan ini biasanya berupa IC dengan kode 78xx atau 79xx. Untuk seri 78xx digunakan untuk regulator tegangan DC positif, sedangkan 79xx digunakan untuk regulator DC negatif. Nilai xx menandakan tegangan yang akan diregulasikan.Misalnya kebutuhan sistem adalah positif 5 volt, maka regulator yang digunakanadalah 7805.

  IC regulator ini biasanya terdiri dari tiga pin yaitu input, ground dan output. Dalam menggunakan IC ini tegangan input harus lebih besar beberapa persen(tergantung pada data sheet) dari tegangan yang akan diregulasikan. Berikut adalah macam- macam power supply:

  1. Catu daya gelombang penuh dengan sistem jembatan.

  Gambar 2. 9 Catu daya gelombang penuh dengan sistem jembatan (teknikelektronika.com) 2. Catu daya gelombang penuh dengan 2 buah diode.

  Gambar 2. 10 Catu daya gelombang penuh dengan 2 dioda (teknikelektronika.com)

  3. Catu daya setengah gelombang

  Gambar 2. 11 Catu daya setengah gelombang (zonaelektro.net) Adapun sumber catu daya besar adalah sumber arus bolak-balik AC

  (Alternating Current) dari pembangkit tenaga listrik. Untuk itu diperlukan suatu perangkat catu daya yang dapat mengubah daya masukan AC menjadi daya DC.

  Komponen Utama dan Pendukung Catu Daya:

  1. Trafo atau transformator merupakan komponen utama dalam membuat rangkaian catu daya yang berfungsi untuk mengubah tegangan listrik. Trafo dapat menaikkan dan menurunkan tegangan.

  Gambar 2. 12 Gambar trafo (ilmuelektronic.blogspot.co.id/2012/) Berdasarkan tegangan yang dikeluarkan dari belitan sekunder trafo dibagi menjadi 2 jenis yaitu: a. Step up (penaik tegangan) apabila tegangan belitan sekunderr yang kita butuhkan lebih tinggi dari tegangan primer ( jala listrik). Gambar 2. 13 Gambar skema rangkaian step up (www.skemaku.com)

  b. Step down (penurun tegangan) apabila tegangan belitan sekunder yang kita butuhkan lebih rendah dari tegangan primer (jala listrik).

  Gambar 2. 14 Gambar skema rangkaian step down (www.skemaku.com)

  2. Dioda Rectifier (Penyearah) Peranan rectifier dalam rangkaian catu daya adalah untuk mengubah tegangan listrik AC yang berasal dari trafo step- down atau trafo adaptor menjadi tegangan listrik arus searah DC.

  Gambar 2. 15 Dioda (zefrone.blogspot.co.id/2015/)

  3. Regulator tegangan berfungsi sebagai penyaring tegangan agar sesuai dengan keinginan. Oleh karena itu biasanya dalam rangkaian power supplai maka

  IC Regulator tegangan ini selalu dipakai untuk menstabilkan keluaran tegangan.

  Gambar 2. 16 Regulator IC (electronicsjmbh.blogspot.co.id)

2.5.1 Karakteristik Catu Daya

  Mutu catu daya tergantung dari tegangan beban, arus beban, pengaturan tegangan, dan faktor-faktor lainnya. Karakteristik catu daya yang diatur adalah: a. Regulasi Beban

  Regulasi beban/efek beban ditentukan sebagai perubahan tegangan keluar yang diatur bila arus beban berubah dari harga minimum ke harga maksimum.

  LRVNL FL ……………………………………………………..(2.11)

  V Keterangan :

  = regulasi beban (load regulation)

  LR V = tegangan beban tanpa arus beban NL

  V FL = tegangan beban dengan arus beban penuh

  Regulasi beban sering diungkapkan dalam persen dengan membagi perubahan pada tegangan beban dengan tegangan tanpa beban:

  VNL FL

  V LRx 100

  ……………………………………………(2.12)

  V NL

  Keterangan :

  %LR = persen regulasi beban V = tegangan beban tanpa arus beban NL

  V FL = tegangan beban dengan arus beban penuh

  b. Regulasi Sumber Regulasi sumber disebut juga efek sumber atau regulasi jala-jala adalah perubahan pada tegangan beban yang diatur untuk jangkauan tegangan jala-jala tertentu, khasnya 115 V  10%, yaitu jangkauan sekitar 103 V sampai 127 V.

  SRVAwal Akhir ……………………………..………………..(2.13)

  V Catu daya yang bermutu baik seperti Hewlett Packard 6214 A mempunyai regulasi

  sumber 4 mV. Persen regulasi sumber adalah

  SR SRx 100

  ………………………..……………………..(2.14)

  V nom

  Keterangan :

  %SR = persen regulasi sumber

  SR = perubahan tegangan beban pada perubahan penuh jala-jala V = tegangan beban nominal nom

  c. Impedansi Keluar Catu daya yang diatur adalah sumber tegangan DC yang amat kaku. Ini berarti bahwa impedansi keluar pada frekuensi rendah amat kecil. Penggunaan umpan balik tegangan mengurangi impedansi keluar lebih jauh lagi karena

  r out rout ( t ) ………………………………………………………(2.15)AB

1 Catu daya yang diatur mempunyai impedansi keluar yang khas dalam besaran miliohm (m  ).

2.6 Bahasa C

  Akar dari bahasa C adalah bahasa BCPL yang dikembangkan oleh Martin Richards ada tahun 1967, Bahasa ini memberikan ide kepada Ken Thompson yang kemudian mengembangkan bahasa yang disebut dengan B pada tahun 1970, Perkembangan selanjutnya dari bahasa B adalah bahasa C 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 PDP-11 yang menggunakan sistem operasi UNIX.

  Equipment Corporation

  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 Standards Institute) membentuk suatu komite (ANSI

committee X3J11) ada tahun 1983 yang kemudian menetapkan standar ANSI untuk

  bahasa C. Standar ANSI ini didasarkan kepada standar UNIX yang diperluas.

  2.6.1 Struktur Penulisan Program C

  Program C ada 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 ( }). Di antara 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.

  2.6.2 Struktur program C

  Untuk dapat memahami bagaimana suatu program ditulis, maka struktur dari program harus dimengerti terlebih dahulu. Tiap bahasa komputer mempunyai struktur program yang berbeda. Jika struktur dari program tidak diketahui, maka akan sulit bagi pemula untuk memulai menulis suatu program dengan bahasa yang bersangkutan.

  Struktur dari program C terdiri dari koleksi satu atau lebih fungsi-fungsi. Fungsi pertama yang harus ada di program C sudah ditentukan namanya, yaitu bernama main(). Suatu fungsi di dalam program C dibuka dengan kurung kurawal buka ―{‖ dan ditutup dengan kurung kurawal tutup ―}‖. Di antara kurung kurawal dapat dituliskan statemen-statemen program C dan pada setiap statemen diakhiri dengan tanda titik koma ―;‖.

2.6.3 Pengenalan Fungsi-Fungsi dasar

  a. Fungsi main() Fungsi main() harus pada program, sebab fungsi inilah yang menjadi titik awal dan titik akhir eksekusi program. Tanda { di awal fungsi menyatakan awal tubuh fungsi dan sekaligus awal eksekusi program, sedangkan tanda } di akhir 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. Tujuannya untuk memudahkan pencarian terhadap program utama bagi pemrogram.

  b. Fungsi printf() Fungsi printf() merupakan fungsi yang umum dipakai untuk menampilkan suatu keluaran pada layar peraga. Untuk menampilkan tulisan ―Selamat belajar‖ bahasa C misalnya, pernyataan yang diperlukan berupa: printf("Selamat belajar bahasa C");

  Pernyataan di atas berupa memanggilan fungsi printf() dengan argumen atau parameter berupa string. Dalam C suatu konstanta string ditulis dengan diawali dan diakhiri tanda etik ganda ("). Perlu juga diketahui pernyataan dalam C selalu diakhiri dengan tanda titik koma (;). Tanda titik koma diakai sebagai tanda pemberhentian sebuah pernyataan dan bukanlah sebagai pemisah antara dua pernyataan. Tanda \ ada 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 penampilan dari argumen yang terletak pada daftar argumen. Mengenai penentu format di antaranya berupa:

  %d untuk menampilkan bilangan bulat (integer) %f untuk menampilkan bilangan titik-mengambang (pecahan) %c untuk menampilkan sebuah karakter %s untuk menampilkan sebuah string

2.6.4 Pengenalan Praprosesor #Include

  #include merupakan salah satu jenis pengarah praprosesor (preprocessor

directive), Pengarah praprosesor ini dipakai untuk membaca file yang di antaranya

  berisi deklarasi fungsi dan definisi konstanta. Beberapa file judul disediakan dalam C, file-file ini mempunyai ciri 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 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 dilanjutkan pada direktori lainnya yang sesuai dengan perintah pada sistem operasi.

  Kebanyakan program melibatkan file stdio.h (file-judul I/O standard, yang disediakan dalam C). Program yang melibatkan file ini yaitu program yang menggunakan pustaka I/O (input-output) standar seperti printf().

2.6.5 Komentar dalam Program

  Untuk keperluan dokumentasi dengan maksud agar program mudah dipahami , biasanya pada program disertakan komentar atau keterangan mengenai program dalam bahasa C, suatu komentar ditulis dengan diawali tanda /* dan diakhiri dengan tanda */.