BAB II LANDASAN TEORI 2.1. AQUASCAPE Aquascape merupakan kegiatan membuat pemandangan taman air di dalam tank/akuarium yang berisi air berbentuk taman, hutan, gunung/bukit, atau pun kombinasi dari semuanya dalam membuat ekosistem. Dimana tumbuhan sebagai komponen utamanya yang di dukung oleh perlengkapan-perlengkapan guna menghasilkan tumbuhan yang tumbuh subur serta pemandangan berseni tinggi sehingga enak dipandang dan dinikmati keindahannya. Seni menata atau mengatur tanaman di dalam air sehingga menjadi sebuah landskap yang indah yang dilengkapi dengan hadirnya fauna yang cantik [4]. Seni becocok tanam dalam air ini dikenalkan pertama kali oleh Takashi Amano pada tahun 1990. Takashi Amano adalah seorang pecinta aquarium (aquarist). Beliaulah yang membuat seni aquascape menjadi terkenal di seluruh dunia. Ia juga menjadi seorang Aquascaper yang paling berpengaruh di dunia. Dimana karya-karyanya menjadi inspirasi bagi banyak aquarist di seluruh dunia. Teknik Aquascape dari Takashi Amano adalah berdasarkan teknik berkebun di Jepang yang meniru pemandangan alam dengan pengaturan asimetris. Teknik dan gaya Aquascape seperti ini menjadi teknik yang disukai dan banyak digunakan oleh para aquarist yang lain. Beberapa spesies tanaman yang unik, batu yang dipilih dengan cermat, kayu apung (driftwood) dijadikan perpaduan yang menarik oleh Takashi Amano, biasanya dengan satu titik fokus. Tujuannya adalah untuk membentuk miniatur dari pemandangan alam, bukan sebuah taman yang berwarna warni. Penggambaran gaya aquascape Amano ini berasal dari konsep estetika Jepang yang disebut Wabi-sabi, yang berfokus pada kefanaan dan gaya minimalis sebagai sumber keindahan. 8 http://digilib.mercubuana.ac.id/ 9 2.2. SUHU (Temperature) Suhu adalah besaran fisis yang menyatakan derajat panas suatu benda/zat, atau dengan kata lain semakin tinggi suhu suatu benda, semakin panas benda tersebut. Secara mikroskopis, suhu menunjukkan energi yang dimiliki oleh suatu benda. Setiap atom dalam suatu benda masing-masing bergerak, baik itu dalam bentuk perpindahan maupun gerakan di tempat getaran. Makin tingginya energi atom-atom penyusun benda, makin tinggi suhu benda tersebut. Energi yang diperlukan untuk menaikan suhu suatu benda/zat adalah kalor. Para ilmuan fisika menyepakati bahwa kalor merupakan suatu bentuk energi yang dipindahkan oleh benda/zat bersuhu tinggi ke benda/zat bersuhu lebih rendah. Besarnya energi kalor (Q) yang diserap atau dilepas suatu zat tergantung pada kalor jenis benda/zat (c), massa benda/zat tersebut (m), dan perubahan suhu yang diinginkan (ΔT). Secara matematis dapat ditulis dalam Persamaan (2.1). Q = m x c x ΔT (2.1) Kalor jenis suatu zat adalah banyaknya kalor yang diperlukan untuk menaikkan suhu 1 kilogram zat sebesar 1° C. Semakin besar kalor jenis suatu benda/zat maka semakin besar pula energi kalor yang dibutuhkan untuk menaikan suhu benda/zat tersebut. Setiap benda/zat memiliki kalor jenis yang berbeda. Tabel 2.1 menunjukkan kalor jenis beberapa benda/zat [5] Tabel 2.1 Kalor Jenis beberapa Benda/Zat No. Jenis Benda / Zat Kalor Jenis (Joule/Kg.oC) 1. Air Laut 3.900 2. Aluminium 900 3. Tembaga 390 4. Udara 1000 http://digilib.mercubuana.ac.id/ 10 2.3. ARDUINO Arduino adalah pengendali mikro single-board yang bersifat open-source dirancang untuk memudahkan penggunaan elektronik dalam berbagai bidang. Hardwarenya memiliki prosesor Atmel AVR dan softwarenya memiliki bahasa pemrograman sendiri. Arduino juga merupakan platform hardware terbuka yang ditujukan kepada siapa saja yang ingin membuat bermacam peralatan elektronik interaktif berdasarkan hardware dan software yang fleksibel dan mudah digunakan. Mikrokontroler diprogram menggunakan bahasa pemrograman arduino yang memiliki kemiripan syntax dengan bahasa pemrograman C. Karena sifatnya yang terbuka maka siapa saja dapat mengunduh skema hardware arduino dan membangunnya. Arduino menggunakan keluarga mikrokontroler ATMega yang dirilis oleh Atmel sebagai basis, namun ada individu/perusahaan yang membuat clone arduino dengan menggunakan mikrokontroler lain dan tetap kompatibel dengan arduino pada level hardware. Untuk fleksibilitas, program dimasukkan melalui bootloader meskipun ada opsi untuk membypass bootloader dan menggunakan downloader untuk memprogram mikrokontroler secara langsung melalui port ISP [6]. 2.4. ARDUINO MEGA 2560 Arduino Mega 2560 adalah papan Microkontroller berbasiskan ATmega2560, mempunyai 54 pin input/output (15 pin dapat digunakan sebagai PWM output) 4 UARTs (hardware serial ports), 16 MHz crystal oscillator, penghubung USB, power jack, an ICSP header, dan tombol reset [7]. http://digilib.mercubuana.ac.id/ 11 Table 2.2 Spesifikasi Arduino Mega 2560 Microcontroller ATmega2560 Operating Voltage 5V Input Voltage (recommended) 7-12V Input Voltage (limit) 6-20V Digital I/O Pins 54 (15 menyediakan PWM output) Analog Input Pins 16 DC Current per I/O Pin 20 mA DC Current for 3.3V Pin 50 mA Memori Flash 256 KB, 8 KB digunakan oleh bootloader SRAM 8 KB EEPROM 4 KB Clock Speed 16 MHz Panjang 101.52 mm Lebar 53.3 mm Berat 37 g http://digilib.mercubuana.ac.id/ 12 Gambar 2.1 Peta Pin Arduino Mega 2560 2.4.1. Pin Power Arduino dapat diberikan power melalui koneksi USB atau power supply. Powernya diselek secara otomatis. PIN power terdapat pada kaki 1 sampai kaki 6. Power supply dapat menggunakan adaptor DC atau baterai. Adaptor dapat dikoneksikan dengan memasang jack adaptor pada koneksi port input supply. Board Arduino dapat dioperasikan menggunakan supply dari luar sebesar 6 - 20 volt. Jika supply kurang dari 7V, kadangkala pin 5V akan menyuplai kurang dari 5 volt dan board bisa menjadi tidak stabil. Jika menggunakan lebih dari 12 V, tegangan di regulator bisa menjadi sangat panas dan menyebabkan kerusakan pada board. Rekomendasi tegangan ada pada 7 sampai 12 volt. Penjelasan pada pin power adalah sebagai berikut : VIN Tegangan input ke Board Arduino ketika menggunakan tegangan dari luar (seperti yang disebutkan 5 volt dari koneksi USB atau tegangan yang diregulasikan). Pengguna dapat memberikan tegangan melalui pin ini, atau jika tegangan suplai menggunakan power jack, aksesnya menggunakan pin ini. 5V http://digilib.mercubuana.ac.id/ 13 Regulasi power supply digunakan untuk power mikrokontroller dan komponen lainnya pada board. 5V dapat melalui Vin menggunakan regulator pada board, atau supply oleh USB atau supply regulasi 5V lainnya. 3.3V Suplai 3.3 volt didapat oleh FTDI chip yang ada di board. Arus maximumnya adalah 50mA. Pin Ground Berfungsi sebagai jalur ground pada arduino. Memori ATmega328 memiliki 32 KB flash memori untuk menyimpan kode, juga 2 KB yang digunakan untuk bootloader. ATmega328 memiliki 2 KB untuk SRAM dan 1 KB untuk EEPROM. Input dan Output Setiap 14 pin digital pada arduino dapat digunakan sebagai input atau output, menggunakan fungsi pinMode(), digitalWrite(), dan digitalRead(). Input/output dioperasikan pada 5 volt. Setiap pin dapat menghasilkan atau menerima maximum 40 mA dan memiliki internal pullup resistor (disconnected oleh default) 20- 50 KOhms. Beberapa pin memiliki fungsi sebagai berikut : o Serial : 0 (RX) dan 1 (TX). Digunakan untuk menerima (RX) dan mengirim (TX) TTL data serial. Pin ini terhubung pada pin yang koresponding dari USB FTDI ke TTL chip serial. o Interupt eksternal : 2 dan 3. Pin ini dapat dikonfigurasikan untuk trigger sebuah interap pada low value, rising atau falling edge, atau perubahan nilai. o PWM : 3, 5, 6, 9, 10, dan 11. Mendukung 8-bit output PWM dengan fungsi analogWrite(). o LED : 13. Ini adalah dibuat untuk koneksi LED ke digital pin 13. Ketika pin bernilai HIGH, LED hidup, ketika pin LOW, LED mati. Konektor USB Konektor USB adalah soket untuk kabel USB yang disambungkan ke komputer atau laptop. Berfungsi untuk mengirimkan program ke Arduino dan juga sebagai port komunikasi serial. Input / Output Digital http://digilib.mercubuana.ac.id/ 14 Input/Output Digital atau digital pin adalah pin-pin untuk menghubungkan Arduino dengan komponen atau rangkaian digital. Input/Output digital pada KIT arduino terdapat pada kaki 1 samapai kaki 13. Misalnya kalau ingin membuat LED berkedip, LED tersebut bisa dipasang pada salah satu pin I/O digital dan ground. Komponen lain yang menghasilkan output digital atau menerima input digital bisa disambungkan ke pin-pin ini. Input Analog Input Analog atau analog pin adalah pin-pin yang berfungsi untuk menerima sinyal dari komponen atau rangkaian analog. Misalnya dari potensiometer, sensor suhu, sensor cahaya, dsb. Baterai / Adaptor Soket baterai atau adaptor digunakan untuk menyuplai Arduino dengan tegangan dari baterai/adaptor 9V pada saat Arduino sedang tidak disambungkan ke komputer. Kalau Arduino sedang disambungkan ke komputer melalui USB, Arduino mendapatkan suplai tegangan dari USB, jadi tidak perlu memasang baterai/adaptor saat memprogram Arduino. 2.5. TERMO ELEKTRIK (THERMO ELECTRIC COOLING/TEC) Termo Elektrik (Thermo Electric Cooling/TEC) merupakan proses konversi energi langsung akibat perbedaan temperatur atau setelah diberi tegangan listrik. Tegangan listrik akan dihasilkan oleh sebuah modul termoelektrik jika kedua sisi permukaan memiliki temperatur yang berbeda dan sebaliknya perbedaan temperatur akan dihasilkan jika modul termoelektrik diberikan tegangan listrik [8]. Sebuah modul termoelektrik terdiri dari dua pelat keramik dengan elemenelemen dari bahan semikonduktor tipe P dan tipe N (paduan bismuth telluride) diantara kedua pelat. Gambar 2.2 menunjukkan sebuah modul TEC yang memindahkan kalor setelah diberi arus listrik (efek peltier). Kebanyakan modul TEC dibuat dari semikonduktor tipe P dan tipe N dengan jumlah yang sama dimana satu elemen tipe P dan satu elemen tipe N merupakan satu pasangan (couple) yang membentuk elemen termoelektrik, Ketika suatu arus listrik DC positif diberikan untuk elemen termal tipe N, elektron akan bergerak dari elemen http://digilib.mercubuana.ac.id/ 15 termal tipe P ke elemen termal tipe N dan temperatur sisi yang dingin akan berkurang karena kalor di sisi tersebut diserap (QL). [9] Gambar 2.2 Komponen Termo Elektrik http://digilib.mercubuana.ac.id/ 16 Table 2.3 Spesifikasi Modul Thermo Electric Cooler 2.6. Model number TEC1-12706 Tegangan 12V Arus 6A Daya Max 50 Watt Panjan 40 mm Lebar 40 mm Tebal 3.8 mm HEATSHINK FAN Penyerapan kalor pada sisi dingin dan kalor yang dibuang pada sisi panas menggunakan heat sink yang digabungkan dengan fan pendingin untuk mempercepat proses penyerapan atau pembuangan kalor (konveksi paksa). Sketsa siklus pendingin ditunjukkan pada Gambar 4, dan gambar potongan 3D kotak pendingin yang digunakan dalam penelitian ini ditunjukkan pada Gambar 2.2 [10] Gambar 2.3 Komponen Heatshink Fan http://digilib.mercubuana.ac.id/ 17 2.7. SENSOR TEMPERATUR SUHU AIR DS 18B20 Banyak sesnor sushu yang dipakai dalam implementasi sistem instrumentasi, salah satu contohnya adalah DS18B20. Sensor suhu DS18B20 ini telah memiliki keluaran digital meskipun bentuk kecil (TO-92), cara untuk mengaksesnya adalah dengan metode serial 1 wire. Sensor ini sangat menghemat pin port Arduino, karena 1 pin port arduino dapat digunakan untuk berkomunikasi dengan berbagai device lainnya. Sensor ini juga memiliki tingkat akurasi cukup tinggi yaitu 0,5o celcius pada rentang suhu -10o celcius hingga +85o celcius, sehingga banyak diapakai untuk aplikasi sistem pemonitoringan suhu, aplikaisaplikasi yang berhubungan dengan sensor seringkali membutuhkan ADC dan beberapa pin port arduino namun pada DS18B20 ini tidak dibutuhkan ADC agar dapat berkomunikasi dengan arduino, ADC itu sendiri adalah sebuah piranti yang dirancang untuk mengubah sinyal-sinyal analog menjadi bentuk sinyal digital. bentuk fisik DS18B20 ditunjukan oleh gambar 2.4 sementara deskripsi pin dan blok diagram DS18B20 ditunjukan pada tabel 2.2. [11] Spesifikasi lain dari DS18B20 adalah sebagai berikut : Memiliki kode serial 64-bit yang unik Dapat beroperasi tanpa power supply dari luar Power Supply 3-5,5 V dapat diperoleh dari aliran data Pengukuran temperatur dari -55o celcius - +125o celcius Resoluis ADC : 9-bit Waktu konversi : maks 750 ms Gambar 2.4 Bentuk Fisik DS18B20 Tabel 2.4 Deskripsi Pin DS18B20 http://digilib.mercubuana.ac.id/ 18 2.8. PIN Nama 1 GND 2 VQ 3 VDD Fungsi Ground Data Input/Output Vdd (cadangan). Saat menggunakan mode parasit power Vdd harus dihubungkan terhadap ground LCD (lyquid crystal display) Liquid Crystal Display (LCD) merupakan suatu jenis media tampilan yang menggunakan kristal cair sebagai penampil utama, telah memberikan demarkasi baru ke perangkat layar. Kristal cair yang digunakan untuk menampilkan output dalam bentuk tipis [12]. LCD (Liquid Crystal Display) adalah suatu jenis media tampilan yang menggunakan kristal cair sebagai penampilan utama. LCD terdiri dari lapisan – lapisan tipis cairan kristal diantara dua pelat kaca. Film transparan yang dapat menghantarkan listrik atau back plane, diletakkan pada lembaran belakang kaca. Bagian transparan dari film yang bersifat konduktif (menghantarkan arus listrik) pada bagian luar dari karakter yang diinginkan dilapiskan pada bagian pelat bagian depan. Pada saat terdapat tegangan antara segment dan back plane, bagian yang berarus listrik dibentuk pada bagian bawah segment bagian. Bagian yang berarus listrik ini mengubah transmisi cahaya melalui daerah dibawah segment film. LCD sudah digunakan di berbagai bidang misalnya dalam alat – alat elektronika seperti televisi, kalkulator, layar komputer. 2.7.1. Spesifikasi Fisik dan Konfigurasi Pin LCD yang digunakan dapat diakses dengan 16 buah pin. Berikut dibawah ini dijelaskan mengenai nama dan keterangan tiap pin. http://digilib.mercubuana.ac.id/ 19 Gambar 2.5 Pin LCD 2.9. SAKLAR ELEKTROMAGNETIKAL / RELAY Dalam dunia elektronika, relay dikenal sebagai komponen yang dapat mengimplementasikan logika switching. Sebelum tahun 70an, relay merupakan “otak” dari rangkaian pengendali. Baru setelah itu muncul PLC yang mulai menggantikan posisi relay. Relay yang paling sederhana ialah relay elektromekanis yang memberikan pergerakan mekanis saat mendapatkan energi listrik [13]. 2.10. 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 system dan jaringan computer namun bahasa ini juga sering digunakan dalam mengembangkan software aplikasi. C juga banyak dipakai oleh berbagai jenis platform system operasi dan arsitektur komputer, bahkan terdapat beberepa compiler yang sangat popular telah tersedia. C secara luar biasa mempengaruhi bahasa popular lainnya, terutama C++ yang merupakan extensi dari C. Pada tahun 1978, Dennis Ritchie dan Brian Kernighan menerbitkan edisi pertama dari buku yang berjudul The C Programming Language. Buku ini hingga sekarang diakui sebagai kitab suci bahasa C dan merupakan referensi utama seorang pemrogram yang ingin mengetahui tentang bahasa C, terutama karena http://digilib.mercubuana.ac.id/ 20 begitu lengkapnya cakupan buku ini tentang bahasa C dan mudahnya program yang dicontohkan dalam buku ini. Versi bahasa C yang ditampilkan dalam buku ini kemudian dikenal dalam kalangan pemrogram sebagai C K&R. Pada buku The C Programming Language edisi keduakemudian melingkupi ANSI C yang diperkenalkan belakangan. Pada perkembangannya, muncul versi-versi C lain yang pada akhirnya membuat kebingungan dikalangan pemrogram. Karena itu, pada tahun 1983, American National Standards Institute (ANSI) membuat sebuah komite untuk membuat sebuah versi standar dari bahasa C. Setelah melalui proses yang panjang dan sengit, pada tahun 1989, telah berhasil disahkan standar yang dinamakan ANSI X3.159-1989, versi ini sering kali dinamakan ANSI C, atau kadang-kadang C89. Pada 1990, versi ANSI C diadopsi oleh Organization for Standardization (ISO) dengan sedikit perubahan dengan nama ISO/IEC 9899:1990. Versi ini seringkali dinamakan ISO C atau C90. Karenaversi ANSI C dan ISO C hanya memiliki sedikit perbedaan, pemanggilan C90 dan C89 merujuk pada bahasa yang sama. 2.11. ARDUINO IDE Arduino IDE merupakan Open-source Arduino Software (IDE), memudahkan untuk menulis kode dan meng-upload ke papan arduino. Berjalan pada Windows, Mac OS X, dan Linux. dibuat dengan menggunakan Java dan berdasarkan Pengolahan dan perangkat lunak open source lainnya. Perangkat lunak ini dapat digunakan dengan papan Arduino. [14] IDE Arduino adalah software yang dibuat dengan menggunakan Java. IDE Arduino terdiri dari: o Editor program, sebuah window yang memungkinkan pengguna menulis dan mengedit program dalam bahasa Processing. o Compiler, sebuah modul yang mengubah kode program (bahasa Processing) menjadi kode biner. Bagaimanapun sebuah microcontroller tidak akan bisa memahami bahasa Processing. Yang bisa dipahami oleh microcontroller adalah kode biner. Itulah sebabnya compiler diperlukan dalam hal ini. http://digilib.mercubuana.ac.id/ 21 o Uploader, sebuah modul yang memuat kode biner dari Jomputer ke dalam memory di dalam papan Arduino. 2.12. PEMROGRAMAN DASAR ARDUINO Struktur dasar arduino hanya terjadi dalam dua bagian: Void setup() { // Statement; di eksekusi satu kali } Void loop() { // Statement; di eksekusi terus menerus } 2.11.1. Setup Fungsi setup() hanya dipanggil satu kali ketika program pertama kali di jalankan. Ini digunakan untuk mendifinisikan mode pin atau memulai komunikasi serial. Fungsi setup() harus di ikut sertakan dalam program ,walaupun tidak ada statement yang di jalankan. Contoh pemrograman yang menggunakan fungsi setup sebagai berikut: Void setup () { pinMode(3,OUTPUT) ; // men-set “pin” 3 sebagai Output pinMode(6, INPUT); // men-set pin 6 sebagai Input Serial.begin(9600); } Keterangan: o pinMode() = berfungsi untuk mengatur fungsi sebuah pin sebagai INPUT atau OUTPUT. o Serial.begin(9600) = digunakan untuk mengaktifkan fitur UART dan menginisialisasinya. http://digilib.mercubuana.ac.id/ 22 2.11.2. Loop Setelah melakukan fungsi setup() maka secara langsung akan melakukan fungsi loop() secara berurutan dan melakukan instruksi-instruksi ayang ada dalam fungsi loop(). void loop() { If (digitalRead(6)==HIGH) // membaca input digital pin 6 { xstart = millis(); //aktifkan timer digitalWrite(3, HIGH); // nyalakan pin 3 delay(1000); // pause 1detik digitalWrite(3, LOW); // matikan pin 3 } } Keterangan: o digitalWrite : Untuk memberikan nilai LOW dan HIGH pada sebuah pin output. o Delay : Untuk memberikan waktu tunda dalam satuan millisekon. o digitalRead : Untuk membaca logika LOW dan HIGH. 2.11.3. Struktur Pengaturan Program Program sangat tergantung pada pengaturan apa yang akan dijalankan berikutnya, berikut ini adalah elemen dasar pengaturan program: if..else, dengan format seperti berikut ini: if (kondisi) { } else if (kondisi) { } else { } Dengan struktur seperti diatas program akan menjalankan kode yang ada di dalam kurung kurawal jika kondisinya TRUE, dan jika tidak (FALSE) maka akan diperiksa apakah kondisi pada else if dan jika kondisinya FALSE maka kode pada else yang akan dijalankan. for, dengan format seperti berikut ini: http://digilib.mercubuana.ac.id/ 23 for (int i = 0; i < #pengulangan; i++) { } Digunakan bila anda ingin melakukan pengulangan kode di dalam kurung kurawal beberapa kali, ganti #pengulangan dengan jumlah pengulangan yang diinginkan. Melakukan penghitungan ke atas dengan i++ atau ke bawah dengan i–. 2.11.4. Input/Output Digital a. pinMode(pin, mode) Digunakan untuk menetapkan mode dari suatu pin, pin adalah nomor pin yang akan digunakan dari 0-19 (pin analog 0-5 adalah 14-19). Mode yang bisa digunakan adalah INPUT atau OUTPUT. b. digitalWrite(pin, value) Ketika sebuah pin ditetapkan sebagai OUTPUT, pin tersebut dapat dijadikan HIGH (ditarik menjadi 5 volts) atau LOW (diturunkan menjadi ground). c. digitalRead(pin) Ketika sebuah pin ditetapkan sebagai INPUT maka anda dapat menggunakan kode ini untuk mendapatkan nilai pin tersebut apakah HIGH (ditarik menjadi 5 volts) atau LOW (diturunkan menjadi ground). 2.11.5. Input/Output Analog Arduino adalah mesin digital tetapi mempunyai kemampuan untuk beroperasi di dalam alam analog (menggunakan trik). Berikut ini cara untuk menghadapi hal yang bukan digital. a. analogWrite(pin, value) Beberapa pin pada Arduino mendukung PWM (pulse width modulation) yaitu pin 3, 5, 6, 9, 10, 11. Ini dapat merubah pin hidup (on) atau mati (off) dengan sangat cepat sehingga membuatnya dapat berfungsi layaknya keluaran analog. Value (nilai) pada format kode tersebut adalah angka antara 0 ( 0% duty cycle ~ 0V) dan 255 (100% duty cycle ~ 5V). b. analogRead(pin) Ketika pin analog ditetapkan sebagai INPUT anda dapat membaca keluaran voltase-nya. Keluarannya berupa angka antara 0 (untuk 0 volts) dan 1024 (untuk 5 volts). http://digilib.mercubuana.ac.id/ 24 2.13. FLOWCHART Flowchart adalah bagan- bagan yang mempunyai arus yang menggambarkan langkah- langkah penyelesaian suatu masalah.Bagan alir program (program flowchart) adalah suatu bagan yang menggambarkan arus logika dari data yangkan diproses dalam suatu program dari awal sampai akhri.Bagan alir terdiri dari simbol-simbol yang mewakili fungsi-fungsi langkah program dan garis alir (flowlines) menujukan urutan dari simbol-simbol yang akan dikerjakan. Flowchart dalam Bahasa Indonesia diterjemahkan sebagai Diagram Alir. Dari dua kata ini, maka dapat kita bayangkan bahwa flowchart itu berbentuk diagram yang bentuknya dapat mengalirkan sesuatu. Hal ini memang benar, flowchart memang melukiskan suatu aliran kegiatan dari awal hingga akhir mengenai suatu langkah-langkah dalam penyelesaian suatu masalah. Masalah tersebut bisa bermacam-macam, mulai dari masalah yang sederhana sampai yang kompleks. Masalah yang kita pelajari tentu saja masalah pemrograman dengan menggunakan komputer, tetapi secara logika dapat kita awali dengan mengamati permasalahan dalam kehidupan sehari-hari kita. Contoh sederhananya adalah masalah membuat secangkir kopi. Dalam membuat secangkir kopi, tentu saja diperlukan langkah-langkah yang berurutan agar hasilnya dapat sesuai dengan apa yang kita inginkan, yaitu secangkir kopi. Demikian halnya dalam memprogram, diperlukan suatu algoritma (urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis) agar program yang kita buat dapat berjalan dan memberikan hasil yang valid.Nah, untuk merepresentasikan algoritma itulah kita gunakan flowchart [15]. http://digilib.mercubuana.ac.id/ 25 Tabel 2.5 Diagram FlowChart Nama Bentuk Bentuk Keterangan Menggambarkan suatu proses pengerjaan pada suatu fungsi. Proces Menunjukan awal dan akhri dari diagram alir Terminator Mempresentasikan pilihan kondisi dimana dari tempat ini diagram alir dapat bercabang menjadi dua atau lebih alur berbeda. Decision Mempresentasikan data input atau output Data Connector Mempresentasikan sambungan dari bagan alir yang terputus dihalaman lainnya. Connector Mempresentasikan sambungan dari bagan alir yang terputus dihalaman yang sama. Predifined prosess Mempresentasikan suatu operasi yang rinciannya ditunjukan ditempat lain. http://digilib.mercubuana.ac.id/ 26 Menunjukan arah alur dan menghubungkan setiap bagian diagram alir. Flow line http://digilib.mercubuana.ac.id/