BAB II
TINJAUAN PUSTAKA
2.1. Bahasa Pemograman
Bahasa pemrograman (programming language) adalah sebuah instruksi standar untuk memerintah komputer agar mempunyai fungsi tertentu. Bahasa ini memungkinkan seseorang dapat menentukan secara persis data mana yang akan diolah oleh komputer, bagaimana data ini akan disimpan atau diteruskan dan jenis langkah apa secara persis yang akan diambil dalam berbagai situasi. Fungsi bahasa pemrograman yaitu memerintah komputer untuk mengolah data sesuai dengan alur berpikir yang kita inginkan. Keluaran dari bahasa pemrograman tersebut berupa program atau aplikasi.
Bahasa pemrograman komputer yang kita kenal antara lain adalah Basic Compiler (BASCOM), Java, Visual Basic, C++, C, Cobol, PHP, Net, dan ratusan bahasa lainnya. Namun tentu saja kebutuhan bahasa ini harus disesuaikan dengan fungsi dan perangkat yang menggunakannya.
Secara umum bahasa pemrograman terbagi menjadi 4 kelompok, yaitu :
Object Oriented Language (Visual dBase, Visual FoxPro, Delphi, Visual C) High Level Language (seperti Pascal dan Basic)
Middle Level Language (seperti bahasa C), dan Low Level Language (seperti bahasa Assembly)
2.2. BASCOM – AVR
Pemograman menggunakan BASCOM – AVR adalah salah satu dari sekian banyak Bahasa Basic untuk pemograman mikrokontroler, misalnya Bahasa Assembly, Bahasa C, dan lain – lain. Menggunakan Bahasa BASIC BASCOM – AVR ini penggunaannya mudah dalam penulisannya, ringkas, cepat dimengerti bagi pemula, dan tidak kalah dengan bahasa BASIC lainnya. (Afrie.S, 2011 : 51)
pemrograman handal, cepat, mudah dan tergolong kedalam bahasa pemprograman tingkat tinggi. Bahasa BASIC adalah salah satu bahasa pemprograman yang banyak digunakan untuk aplikasi mikrokontroler karena kemudahan dan kompatibel terhadap mikrokontroler jenis AVR dan didikung oleh compiler software berupa BASCOM-AVR. (Fahmizaleeits, 2010 : 35)
2.2.1. Dasar Pemograman Basic Compiler (BASCOM – AVR) 1. Tipe Data
Tipe data adalah jangkauan dari suatu variable atau konstanta. Tipe data tersebut adalah :
Tabel 2.1. Tipe Data Pada BASCOM - AVR
Tipe Data Kapasitas (Byte) Jangkauan Nilai
Bit 1/8 0 dan 1 Byte 1 0 s.d 255 Integer 2 -32.768 s.d 32.767 Word 2 0 s.d 65.535 Long 4 -2.147.483.648 s.d 2.147.483.647 Single 4 1,5x10-45 s.d 3,4x1038 Double 8 4x10-324 s.d 1,7x10308 String 254 - (Afrie.S, 2011 : 55) 2. Variabel
Variabel ditulis dengan text program untuk menyimpan suatu pemrosesan data. Variabel dideklarasikan jika akan digunakan dengan mengacu pada aturan sebagai berikut :
Dimulai dengan huruf
Nama variable tidak boleh lebih dari satu
Maksimum 32 karakter, dan
Tidak menggunakan karakter khusus yang digunakan oleh program BASCOM – AVR.
Variable dideklarasikan dengan cara : Dim <NamaVariabel> As <TipeData> Contohnya :
Dim Putaran As Single Dim Kecepatan As Integer 3. Konstanta
Konstanta adalah pendeklarasian suatu nama tetapi bernilai tetap. Konstanta dideklarasikan dengan cara :
Dim <NamaKonstanta> As Const <NilaiKonstanta> Contohnya :
Dim Penjumlah AS Const 14 ‘Penjumlah bernilai 14
4. Alias
Alias digunakan untuk mempermudah penulisan program. Contoh :
Relay_Alias PORTA.1 ‘Nama dari PORTA.1 adalah Relay_1 (Sumber : Afrie Setiawan : 55 – 57 : 2011)
5. Aritmatik dan Rasional
Tipe Aritmatik
Tabel 2.2 Tipe Aritmatik
Operasional Keterangan
+ Penjumlahan
- Pengurangan
/ Pembagian
* Perkalian
% Hasil sisa pembagian (Afrie.S, 2011 : 56)
Tabel 2.3. Data Rasional
Operasi Contoh Keterangan
= x=y Sama dengan
< > x< >y Tidak sama dengan
> x>y Lebih besar dari …
< x<y Lebih kecil dari …
>= x>=y Lebih besar atau sama dengan <= X<=y Lebih kecil atau sama dengan
(Afrie.S, 2011 : 57)
6. Pengolahan Bilangan Logika
Tabel 2.4. Pengolahan Bilangan Logika
Operasi Contoh Keterangan
AND &B10 AND &b01 = &B10 Operasi AND OR &B100 OR &B011 = &B1111 Operasi OR
NOT NOT &B11 = &B00 Operasi NOT
(Afrie.S, 2011 : 57)
2.2.2. Macam – Macam Perintah Pada BASCOM – AVR 1. IF – THEN
Perintah IF – THEN digunakan untuk menguji suatu keadaan benar atau salah dan menentukan tindakan yang sesuai dengan keinginan.
Perintahnya:
IF <Keadaan> Then <Perintah> ‘1 baris perintah End If
IF <Keadaan> Then ‘lebih dari 1 baris perintah <Perintah_1>
<Perintah_n> End If
1. IF – THEN – ELSE
Perintah IF – THEN – ELSE digunakan untuk menguji dua keadaan (benar ataupun salah) dan menentukan tindakan yang sesuai dengan keinginan.
Perintahnya : If <Keadaan> Then <Perintah_1> Else <Perintah_2> End If 2. IF – THEN – ELSEIF
Perintah IF – THEN – ELSEIF digunakan untuk menguji lebih dari satu keadaan dan menentukan tindakan yang sesuai dengan keinginan.
Perintahnya :
If <Keadaan_1> Then <Perintah_1> Elseif <Keadaan_2> Then
<Perintah_2> Elseif <Keadaan_3> Then
<Perintah_3> ……….
………. End If
3. SELECT – CASE
Perintah SELECT – CASE digunakan untuk pengujian keadaan yang banyak sehingga penulisan program menjadi lebih sederhana.
Select case <Nama_variabel> Case 1 : <Perintah_1> Case 2 : <Perintah_2> Case_3 : <Perintah_3> ……….. ……….. End Select 4. DO – LOOP
Perintah DO – LOOP merupakan perintah untuk perulangan yang digunakan untuk melakukan perulangan program selama suatu kondisi telah terpenuhi. Perintahnya : Do <Pernyataan> Loop 5. FOR – NEXT
Perintah FOR – NEXT merupakan perintah untuk perulangan yang digunakan untuk melakukan perulangan program sesuai dengan jumlah dan tingkat perulangannya.
Perintahnya :
For <Variabel=Nilai_awal> To <Nilai_Akhir> < Selisih_pertambahan> <Pernyataan>
Next
6. WHILE – WEND
Perintah WHILE – WEND merupakan perintah untuk perulangan yang akan melakukan perulangan apabila keadaan yang diminta telah terpenuhi.
Perintahnya :
While <Keadaan> <Perintah> Wend
7. GOSUB
Perintah GOSUB merupakan perintah untuk lompatan yang akan melakukan lompatan ke label yang ditunjuk dan kembali ke tempat semula setelah melakukan perintah pembacaan program dengan menambahkan “Return” Perintahnya : Gosub <Nama_label> <Pernyataan> <Nama_label>: <Pernyataan> Return 8. GOTO
Perintah GOTO merupakan perintah untuk lompatan yang akan melakukan lompatan ke label yang ditunjuk tampa kembali lagi ke tempat semlua setelah melakukan perintah pembacaan program sehingga tidak menggunakan “Return”. Perintahnya : Goto<Nama_label> <Pernyataan> <Nama_label>: <Pernyataan> 9. EXIT
Perintah EXIT merupakan perintah untuk mengakhiri perulangan DO – LOOP, FOR – NEXT, WHILE – WEND.
<Pernyataan> EXIT
(Afrie.S, 2011 : 57 – 63)
2.3. Mikrokontroler
2.3.1. Gambaran Umum Mikrokontroler
Mikrokontroler merupakan suatu alat elektonika digital yang mempunyai masukan dan keluaran serta kendali dengan program yang bisa ditulis dan dihapus dengan cara khusus, cara kerja mikrokontroler sebenarnya membaca dan menulis data. Mikrokontroler merupakan kompoter didalan chip yang digunakan untuk mengontrol peralatan elektronik, yang menekankan efisiensi dan efektifitas biaya. Secara harfiahnya bisa disebut “pengendali kecil” dimana sebuah sistem elektronik yang sebelumnya banyak memerlukan komponen – komponen pendukung seperti IC TTL dan CMOS dapat direduksi atau diperkecil dan akhirnya terpusat serta dikendalikan oleh mikrokontroler ini. dengan penggunaan mikrokontroler ini maka :
1. Sistem elektronik akan menjadi lebih ringkas
2. Rancang bangun sistem elektronik akan lebih cepat karena sebagian besar dari sistem adalah perangkat lunak yang mudah dimodifikasi
3. Pencarian gangguan lebih mudah ditelusuri karena sistemnya yang sama. Namun demikian tidak sepenuhnya mikrokontroler bisa mereduksi komponen IC TTL dan CMOS yang seringkali masih diperlukan untuk aplikasi kecepatan tinggi atau sekedar menambah jumlah saluran masukan dan keluaran (I/O). dengan kata lain, mikrokontroler adalah versi mini atau mikro dari sebuah komputer karena mikrokontroler sudah mengandung beberapa peripheral yang langsung bisa dimanfaatkan, misalnya port paralel, port serial, komparator, konversi digital ke analog (DAC), konversi analog ke digital dan sebagainya hanya menggunakan sistem minimum yang tidak rumit atau kompleks.
Mikrokontroler AVR telah menjadi mikrokontroler yang paling banyak digukanan saat ini karena berbagai kelebihan yang dimilikinya, mikrokontroler ini
memiliki fitur-fitur yang lengkap, selain itu harganya juga murah. Pemilihan mikrokontroler AVR untuk berbagai aplikasi elektronika merupakan keputusan yang tepat. Buku pemrograman mikrokontroler menggunakan bahasa C, merupakan buku yang paling lengkap membahas teori dan praktek mengenai mikrokontroler AVR dan aplikasinya pada berbagai perangkat input output serta robot.
Mikrokontroler juga merupakan suatu chip yang dibuat dengan cirri – cirri kekhasannya,
biasanya adalah :
1. Memiliki memory internal relatif sedikit 2. Memiliki unit I/O langsung
3. Pemrosesan bit, selain byte
4. Memiliki perintah atau program yang langsung berhubungan dengan I/O 5. Program relatif sederhana
6. Beberapa varian memiliki memori yang tidak hilang bila catu didalamnya untuk menyimpan program.
Sedangkan dalam hal aplikasi, sistem mikrokontroler memiliki karakteristik sebagai berikut :
Memiliki program khusus yang disimpan dalam memori untuk aplikasi tertentu, tidak seperti PC yang multifungsi karena mudahnya memasukan program. Program mikrokontroler relatif lebih kecil daripada program – program pada PC
Konsumsi daya kecil
Rangkaian sederhana dan sama
Murah, karena komponen sedikit
Unit I/O yang sederhana, misalnya keypad, LCD, LED, Latch
Lebih tahan terhadap kondisi lingkungan ekstrem
Secara teknis hanya ada 2 macam dari mikrokontroler yaitu RISC dan CISC dan masing – masing mempunyai keturunan atau keluarga sendiri,
1. RISC (Reduced Instruction Set Computer), instruksi terbatas tapi memiliki fasilitas yang lebih banyak.
2. CISC (Complex Instruction Set Computer), instruksi bisa dikatakan lebih lengkap tapi dengan fasilitas secukupnya.
(Sumardi, 2013 : 1 – 4)
2.3.3. Mikrokontroler ATMega 16
Teknologi mikroprosesor telah mengalami perkembangan. Hal sama terjadi pada teknologi mikrokontroler. Jika pada mikroprosesor terdahulu menggunakan teknologi CISC seperti prosesor Intel 386/486 maka pada mikrokontroler produksi ATMEL adalah jenis MCS (AT89C51, AT89S51, dan AT89S52). Setelah mengalami perkembangan, teknologi mikroprosesor dan mikrokontroler mengalami peningkatan yang terjadi pada kisaran tahun 1996 s/d 1998 ATMEL mengeluarkan teknologi mikrokontroler terbaru berjenis AVR (Alf and Vegard’s Risc processor) yang menggunakan teknologi RISC (Reduce Intruction Set Computer) dengan keunggulan lebih banyak dibandingkan pendahulunya, yaitu mikrokontroler jenis MSC.
Mikrokontroler jenis MCS memiliki kecepatan frekuensi kerja 1/12 kali frekuensi osilator yang digunakan sedangkan pada keecepatan frekuensi kerja AVR sama dengan kecepatan frekuensi kerja osilator yang digunakan. Jadi apabila menggunakan frekuensi osilator yang sama, maka AVR mempunyai kecepatan kerja 12 kali lebih cepat dibandingkan dengan MCS. (Afrie.S, 2015 : 1) ATMega16 mempunyai throughput mendekati 1 MIPS per MHz membuat disainer sistem untuk mengoptimasi konsumsi daya versus kecepatan proses. Beberapa keistimewaan dari AVR ATMega16 antara lain:
1. Advanced RISC Architecture
32 x 8 General Purpose Fully Static Operation
Up to 16 MIPS Throughput at 16 MHz
On-chip 2-cycle Multiplier
2. Nonvolatile Program and Data Memories
8K Bytes of In-System Self-Programmable Flash
Optional Boot Code Section with Independent Lock Bits
512 Bytes EEPROM
512 Bytes Internal SRAM
Programming Lock for Software Security 3. Peripheral Features
Two 8-bit Timer/Counters with Separate Prescalers and Compare Mode
Two 8-bit Timer/Counters with Separate Prescalers and Compare Modes
One 16-bit Timer/Counter with Separate Prescaler, Compare
Mode, and Capture Mode
Real Time Counter with Separate Oscillator
Four PWM Channels
8-channel, 10-bit ADC
Byte-oriented Two-wire Serial Interface
Programmable Serial USART
4.
Special Microcontroller Features Power-on Reset and Programmable Brown-out Detection
Internal Calibrated RC Oscillator
External and Internal Interrupt Sources
Six Sleep Modes: Idle, ADC Noise Reduction, Power-save, Power-
down, Standby and Extended Standby 5. I/O and Package
32 Programmable I/O Lines
2.7 - 5.5V for Atmega16L
4.5 - 5.5V for Atmega16 (Sholihul, 2008 : 21)
2.3.4. Fitur ATMega 16
Fitur ATMega 16 yang merupakan produksi ATMEL yang berjenis AVR adalah sebagai berikut:
32 Saluran I/O yang terdiri dari 4 port (Port A, Port B, Port C dan Port D) yang masing-masing terdiri dari 8 bit.
ADC 10 bit (8 pin di Port A.0 sampai dengan PortA.7).
2 buah Timer/Counter (8 bit).
1 buah Timer/Counter (16 bit).
4 channlel PWM.
6 Sleep Modes : Idle, ADC Noise Reduction, Power-save, Power-down, Standby and Extended Standby.
Komparator analog.
Watchdog timer dengan osilator internal 1 MHz.
Memori 16 KB Flash.
Memori 1 Kbyte SRAM .
Memori 512 byte EEPROM yang dapat di program saat operasi.
Kecepatan maksimal 16 MHz.
Tegangan operasi 4,5V DC sampai dengan 5,5V DC
32 jalur I/O yang dapat deprogram.
Interupsi Internal dan Eksternal.
Komunikasi serial menggunakan Port USART dengan kecepatan maksimal 2,5 Mbps.
Pemrograman langsung dari port parallel computer. (Afrie.S, 2011 : 2 – 3)
2.3.5. Arsitektur ATMEGA16
Mikrokontroler ini menggunakan arsitektur Harvard yang memisahkan memori program dari memori data, baik bus alamat maupun bus data, sehingga pengaksesan program dan data dapat dilakukan secara bersamaan (concurrent). Secara garis besar mikrokontroler ATMega16 terdiri dari :
1. Arsitektur RISC dengan throughput mencapai 16 MIPS pada frekuensi 16Mhz. 2. Memiliki kapasitas Flash memori 16Kbyte, EEPROM 512 Byte, dan SRAM 1Kbyte
3. Saluran I/O 32 buah, yaitu Port A, Port B, Port C, dan Port D. 4. CPU yang terdiri dari 32 buah register.
5. User interupsi internal dan eksternal
6. Port antarmuka SPI dan Port USART sebagai komunikasi serial 7. Fitur Peripheral
Dua buah 8-bit timer/counter dengan prescaler terpisah dan mode compare
Satu buah 16-bit timer/counter dengan prescaler terpisah, mode compare, dan mode capture
Real time counter dengan osilator tersendiri
Empat kanal PWM dan Antarmuka komparator analog
8 kanal, 10 bit ADC
Byte-oriented Two-wire Serial Interface
Gambar 2.1 Blok diagram ATMega16 (Fismandor, 2013 : 43)
2.3.6. Konfigurasi Pena (Pin) ATMega16
Konfigurasi pena (pin) mikrokontroler Atmega16 dengan kemasan 40-pin dapat dilihat pada Gambar 2.2. Dari gambar tersebut dapat terlihat ATMega16 memiliki 8 pin untuk masing-masing Gerbang A (Port A), Gerbang B (Port B), Gerbang C (Port C), dan Gerbang D (Port D).
Gambar 2.2 Bentuk Fisik ATMega16 (Ardi.W, 2010 : 42)
Gambar 2.3. Pin – Pin Pada ATMega 16 (Ardi.W, 2010 : 42)
2.3.7. Deskripsi Mikrokontroler ATMega16
VCC (Power Supply) dan GND(Ground)
Port A (PA7..PA0)
Port A berfungsi sebagai input analog pada konverter A/D. Port A juga sebagai suatu Port I/O 8-bit dua arah, jika A/D konverter tidak digunakan. Pin - pin Port dapat menyediakan resistor internal pull-up (yang dipilih untuk masing-masing bit). Port A output buffer mempunyai karakteristik gerakan simetris
digunakan sebagai input dan secara eksternal ditarik rendah, pin–pin akan memungkinkan arus sumber jika resistor internal pull-up diaktifkan. Pin Port A adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis.
Port B (PB7..PB0)
Port B adalah suatu port I/O 8-bit dua arah dengan resistor internal pull-up (yang dipilih untuk beberapa bit). Port B output buffer mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuan sumber. Sebagai input, pena Port B yang secara eksternal ditarik rendah akan arus sumber jika resistor pull-up diaktifkan. Pena Port B adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis.
Port C (PC7..PC0)
Port C adalah suatu Port I/O 8-bit dua arah dengan resistor internal pull-up (yang dipilih untuk beberapa bit). Port C output buffer mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuan sumber. Sebagai input, pena Port C yang secara eksternal ditarik rendah akan arus sumber jika resistor pull-up diaktifkan. Pena Port C adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis.
Port D (PD7..PD0)
Port D adalah suatu Port I/O 8-bit dua arah dengan resistor internal pull-up (yang dipilih untuk beberapa bit). Port D output buffer mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuan sumber. Sebagai input, pena Port D yang secara eksternal ditarik rendah akan arus sumber jika resistor pull-up diaktifkan. Pena Port D adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis.
RESET (Reset input)
XTAL1 (Input Oscillator)
XTAL2 (Output Oscillator)
AVCC adalah pena penyedia tegangan untuk Port A dan Konverter A/D.
2.4. IC L293D (Driver Motor L293D)
IC L293D adalah IC yang didesain khusus untuk driver motor dc dan dapat dikendalikan dengan rangkaian TTL (Transistor – transistor logic) maupun mikrokontroler. Motor dc yang dikontrol dengan driver IC L293D dapat dihubungkan ke ground maupun ke sumber tegangan positif karena di dalam driver L293D sistem driver yang digunakan adalah totem pool. Dalam 1 unit chip IC L293D terdiri dari 4 buah driver motor DC yang berdiri sendiri sendiri dengan kemampuan mengalirkan arus 1 Ampere tiap drivernya. Sehingga dapat digunakan untuk membuat driver H-bridge untuk 2 buah motor DC. Driver motor digunakan untuk mengontrol arah putaran dan kecepatan motor DC yang merupakan penggerak utama dari rangkaian ini. IC driver motor L293D yang didalamnya terdapat rangkaian H-Bridge akan mengontrol putaran motor sesuai data masukan digital yang berasal dari PLC Zelio SR2 B201 BD, dan pada IC L293D ini juga terdapat pin untuk pengaturan aplikasi PWM (Pulse Width Modulator). L293 memiliki rangkaian dual H-Bridge, sehingga mampu mengendalikan dua buah motor DC sekaligus.
(Sumber : http://elektronika-dasar.web.id)
Bentuk fisik dan konstruksi pin IC l293D adalah sebagai berikut :
Gambar 2.4. Bentuk Fisik IC L293D (Ardi.W, 2010 : 31)
Gambar 2.4. Konstruksi Pin IC L293D Gambar 2.5. Konstruksi Pin IC L293D
(Ardi.W, 2010 : 33) Karakteristik dari driver motor L293D adalah:
1. Tegangan operasi supply sampai dengan 36 Volt.
2. Total arus DC sampai dengan 1A.
3. Tegangan logic ”0” sampai dengan 1,5 Volt.
4. Memiliki dua Enable input.
Fungsi dari tiap-tiap pin driver motor L293D adalah sebagai berikut: 1. Output 1 dan Output 2 (pin 3 dan pin 6)
Pin ini merupakan output untuk bridge A. 2. Vs (pin 8)
Merupakan pin supply tegangan untuk output. 3. Input 1 dan Input 2 (pin 2 dan pin 7)
Pin ini digunakan untuk mengontrol bridge A. 4. Enable 1 dan Enable 2 (pin 1 dan pin 9)
Pin ini berfungsi untuk mengaktifkan dan menonaktifkan bridge A dan bridge B.
5. Ground (pin 4, 5, 12, dan 13)
Berfungsi sebagai grounding rangkaian driver. 6. Vss (pin 16)
Pin ini berfungsi sebagai supply logic untuk driver. 7. Input 3 dan Input 4 (pin 10 dan 15)
Berfungsi sebagai masukan pada bridge B. 8. Output 3 dan Output 4 (11 dan 14)
Merupakan pin output untuk bridge B.
IC L293D memiliki fitur yang lengkap untuk sebuah driver motor dc sehingga dapat diaplikasikan untuk mengendalikan beberapa jenis motor dc. Fitu yang dimiliki IC L293D sesuai dengan datasheet adalah sebagai berikut :
1) Wide Supply-Voltage Range : 4.5 V to 36 V. 2) Separate Input-Logic Supply.
3) Internal ESD Protection. 4) Thermal Shutdown.
5) High-Noise-Immunity Inputs.
6) Functionally Similar to SGS L293 and SGS L293D. 7) Output Current 1 A Per Channel (600 mA for L293D). 8) Peak Output Current 2 A Per Channel (1.2 A for L293D).
9) Output Clamp Diodes for Inductive Transient Suppression (L293D).
2.5. Downloader USBASP Untuk Mikrokontroler AVR
Downloader adalah suatu rangkaian elektronik (hardware) yang berfungsi untuk mengirim, menulis, mendownload program dari komputer ke mikrokontroler, biasanya ada 5 buah pin yang digunakan untuk memasukkan program kedalam mikrokontroler yaitu; mosi, miso, sck, reset dan gnd.
Terdapat tiga macam jenis downloader yaitu: 1. Paralel
Downloader jenis ini mungkin sudah mulai jarang digunakan karena downloader ini membutuhkan port paralel (LPT) sebagai jalur komunikasinya.
2. Serial
Downloder jenis ini juga sudah mulai jarang digunakan dan hanya digunakan oleh beberapa orang saja. Downloader ini membutuhkan port serial (com) sebagai jalur komunikasinya.
Ini dia downloader jenis terbaru yang banyak dipakai oleh para penggemar uC. Downloader ini dibuat dengan menggunakan uC yang diisi dengan sebuah firmware. Kelebihan dari downloader ini yaitu proses menulisnya lebih cepat dan dapat dipake di laptop.
2.6. Flowchart
Flowchart adalah adalah suatu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses secara mendetail dan hubungan antara suatu proses (instruksi) dengan proses lainnya dalam suatu program.
(Cybernur, 2010 : 30 )
Berikut ini adalah beberapa simbol yang digunakan dalam menggambar suatu flowchart :
Tabel 2.5. Simbol – Simbol Pada Flowchart Program
Simbol Nama Fungsi
Terminator Permulaan / akhir program Garis Alir (Flow Line) Arah aliran program
Preparation
Proses inisialisasi / pemberian harga awal
Proses
Proses perhitungan / proses pengolahan data Input / output data
Proses input / output data, parameter, dan informasi
Tabel 2.5. Simbol – Simbol Pada Flowchart Program (Lanjutan) Predefined process
(sub program)
Permulaan sub program / proses menjalankan sub program
Decision
Perbandingan pernyataan, penyeleksian data yang memberikan
pilihan untuk langkah selanjutnya
On page connector
Perhubungan bagian – bagian flowchart yang berada pada satu
halaman
Off page connector
Penghubung bagian – bagian flowchart yang berada pada halaman
berbeda (Cybernur, 2010 : 32)
Flowchart terbagi atas lima jenis, yaitu :
Flowchart Sistem (System Flowchart)
Flowchart Flowchart Dokumen (Document Flowchart)
Flowchart Skematik (Schematic Flowchart)
Flowchart Program (Program Flowchart)
Flowchart Proses (Process Flowchart)
Berikut ini adalah penjelasan dari lima jenis flowchart, yaitu sebagai berikut :
Flowchart Sistem
Flowchart Sistem merupakan bagan yang menunjukkan alur kerja atau apa yang sedang dikerjakan di dalam sistem secara keseluruhan dan menjelaskan urutan dari prosedur-prosedur yang ada di dalam sistem. Dengan kata lain, flowchart ini merupakan dekripsi secara grafik dari urutan prosedur-prosedur yang terkombinasi yang membentuk suatu sistem. Flowchart Sistem terdiri dari data yang mengalir melalui sistem dan proses yang mentransformasikan data itu. Data dan proses dalam flowchart sistem dapat digambarkan secara online (dihubungkan langsung dengan komputer) atau offline (tidak dihubungkan langsung dengan komputer, misalnya mesin tik, cash register atau kalkulator).
Bagan alir dokumen (document flowchart) atau disebut juga bagan alir formulir (form flowchart) atau paperwork flowchart merupakan bagan alir yang menunjukkan arus dari laporan dan formulir termasuk tembusan-tembusannya. Bagan alir dokumen ini menggunakan simbol-simbol yang sama dengan yang digunakan di dalam bagan alir sistem.
Flowchart Skematik
Bagan alir skematik merupakan bagan alir yang mirip dengan bagan alir sistem, yaitu untuk menggambarkan prosedur di dalam sistem. Perbedaannya adalah, bagan alir skematik selain menggunakan simbol-simbol bagan alir sistem, juga menggunakan gambar-gambar komputer dan peralatan lainnya yang digunakan. Maksud penggunaan gambar-gambar ini adalah untuk memudahkan komunikasi kepada orang yang kurang paham dengan simbol-simbol bagan alir. Penggunaan gambar-gambar ini memudahkan untuk dipahami, tetapi sulit dan lama menggambarnya.
Flowchart Program
Bagan alir program (program flowchart) merupakan bagan yang menjelaskan secara rinci langkah-langkah dari proses program. Bagan alir program dibuat dari derivikasi bagan alir sistem.
Bagan alir program dapat terdiri dari dua macam, yaitu bagan alir logika program (program logic flowchart) dan bagan alir program komputer terinci (detailed computer program flowchart). Bagan alir logika program digunakan untuk menggambarkan tiap-tiap langkah di dalam program komputer secara logika. Bagan alir logika program ini dipersiapkan oleh analis sistem.
Flowchart Proses
Flowchart Proses merupakan teknik penggambaran rekayasa industrial yang memecah dan menganalisis langkah-langkah selanjutnya dalam suatu prosedur atau sistem. Bagan alir proses menggunakan lima buah simbol tersendiri seperti terlihat pada tabel di bawah ini.
Tabel 2.6. Simbol Pada Flowchart Proses
Simbol Keterangan
Menunjukkan suatu operasi (operation) Menunjukkan suatu pemindahan (movement)
Menunjukkan suatu simpangan (storage) Menunjukkan suatu inspeksi (inspection) Menunjukkan suatu penundaan (delay)