BAB II LANDASAN TEORI 2.1 Simulasi 2.1.1 Pengertian Simulasi Simulasi merupakan salah satu cara untuk memecahkan berbagai persoalan yang dihadapi di dunia nyata (real world). Banyak metode yang dibangun dalam Operations Research dan System Analyst untuk kepentingan pengambilan keputusan dengan menggunakan berbagai analisis data. Pendekatan yang digunakan untuk memecahkan berbagai masalah yang tidak pasti dan kemungkinan jangka panjang yang tidak dapat diperhitungkan dengan seksama adalah dengan simulasi. Simulasi adalah suatu peniruan sesuatu yang nyata, keadaan sekelilingnya (state of affairs), atau proses. Aksi melakukan simulasi sesuatu secara umum mewakilkan suatu karakteristik kunci atau kelakuan dari sistemsistem fisik atau abstrak.(Wikipedia, 2013)1. 2.1.2 Struktur Dasar Model Simulasi Setiap model umumnya akan memiliki unsur-unsur berikut ini: 1 http://id.wikipedia.org/wiki/Simulasi 11 12 1. Komponen-komponen model, yakni entitas yang membentuk model, didefinisikan sebagai objek sistem yang menjadi perhatian pokok. 2. Variabel, yakni nilai yang selalu berubah. 3. Parameter, yakni nilai yang tetap pada suatu saat, tapi bisa berubah pada waktu yang berbeda. 4. Hubungan fungsional, yakni hubungan antar komponen-komponen model. 5. Konstrain, yakni batasan dari permasalahan yang dihadapi. 2.1.3 Keuntungan dan Kerugian Simulasi Dalam membuat simulasi pasti ada keuntungan dan kerugian disini penulis ingin menjabarkannya : 2.1.3.1 Keuntungan Simulasi Keuntungan dari uji coba dengan menggunakan simulasi adalah sebagai berikut: 1. Mengantisipasi kemungkinan-kemungkinan adanya kesalahan atau kegagalan sebelum dilakukan implementasi ke dalam sistem yang sesungguhnya. 2. Dengan simulasi penulis dapat memberikan gambaran yang jelas tentang sistem yang akan dibuat. 3. Dengan simulasi penulis dapat melakukan evaluasi sistem dalam jangka waktu yang singkat. Contohnya, jika dalam sistem yang sebenarnya diperlukan waktu beberapa hari untuk mengetahui hasil 13 dari sistem tersebut namun dengan simulasi penulis dapat mempercepatnya hanya dalam beberapa menit saja. 2.1.3.2 Kerugian Simulasi Kerugian dari uji coba dengan menggunakan simulasi adalah sebagai berikut: 1. Hasil dari simulasi kadang-kadang tidak sepenuhnya sesuai dengan keadaan yang sebenarnya. 2. Untuk melakukan suatu simulasi kadang-kadang membutuhkan biaya yang mahal dan waktu. 2.2 Mikrokontroler Atmega32 Mikrokontroler Atmega32 merupakan mikrokomputer 8 bit buatan ATMEL terintegrasi dalam satu buah keping IC (single chip microcomputer) dan salah satu bagian dari keluarga AVR. AVR merupakan mikrokontroler produksi ATMEL yang menggunakan arsitektur RISC(Reduced Instruction Set Computing) 8 bit. AVR pertama kali diperkenalkan pada tahun 1996. AVR mengkombinasikan arsitektur RISC, memori flash internal dan jumlah register yang banyak (32 buah) untuk memperoleh ukuran kode program, kinerja, dan konsumsi daya yang optimal. Sebagian besar instruksi AVR dieksekusi dalam satu siklus clock, berkemampuan 12 kali lebih cepat daripada arsitektur CISC(Complex Instruction Set Computing) konvensional yang ada. Kelebihan lainnya, arsitektur AVR 14 dirancang untuk bekerja secara efisien menggunakan bahasa tingkat tinggi seperti contohnya bahasa C. Mikrokontroler ini terdiri atas CPU, on chip clock, timer, paralel dan serial I/O, PEROM (Programable and Erasable Read Only Memory), RAM(Random Acesses Memory), EEPROM(Electrical Erasable Programable Read Only Memory) ( http://www.atmel.com/) Gambar 2.1 Blok diagram mikrokontroler Atmega32 15 Mikrokontroler Atmega32 memiliki kelengkapan sebagai berikut: 32x8 bit register serbaguna; 32K bytes of In-System Self-programmable Flash program memory; 1024 bytes EEPROM; 2K bytes SRAM internal; 8 buah ADC (Analog to Digital Converter) 10 bit; 4 buah PWM; 32 pin yang berfungsi sebagai port I/O; 1 buah timer/counter 16 bit; 2 buah timer/counter 8 bit; programmable UART (serial port); SPI serial interface; Programmable watchdog timer; Internal osilator; Frekuensi kerja 0 sampai 16 MHz; dan Tegangan operasi antara 4,5 volt sampai 5,5 volt. (http://www.atmel.com/) Gambar 2.2 Konfigurasi PIN mikrokontroler Atmega322 Fitur-fitur yang dimiliki ATmega32 sebagai berikut: 1. Frekuensi clock maksimum 16 MHz 2 http:// www.alldatasheet.com/datasheet/pdf/77378/ATMEL/ATMEGA32.html 16 2. Jalur I/O 32 buah, yang terbagi dalam PortA, PortB, PortC dan PortD 3. Analog to Digital Converter 10 bit sebanyak 8 input, 4 chanel PWM 4. Timer/Counter sebanyak 3 buah 5. CPU 8 bit yang terdiri dari 32 register 6. Watchdog Timer dengan osilator internal 7. SRAM sebesar 2K Byte 8. Memori Flash sebesar 32K Byte dengan kemampuan read while write 9. Interrupt internal maupun eksternal 10. Port komunikasi SPI 11. EEPROM sebesar 512 byte yang dapat diprogram saat operasi 12. Analog Comparator 13. Komunikasi serial standar USART dengan kecepatan maksimal 2,5 Mbps. 2.2.1. Arsitektur AVR ATmega32 Untuk meningkatkan kemampuan, mikrokontroler AVR ATmega32 menggunakan teknologi RISC(Reduced Instruction Set Computer) di mana set instruksi dikurangi lebarnya sehingga semua instruksi mempunyai panjang 16 bit dan sebagian besar instruksi dieksekusi dalam single clock,serta pengurangan kompleksitas pengalamatan. Mikrokontroler AVR menggunakan arsitektur harvard dengan memisahkan memori dan jalur bus untuk program dan data agar meningkatkan kemampuan karena dapat mengakses program memori dan data memori secara bersamaan. Mikrokontroler AVR memiliki fast accessregister file dengan 32 register x 8 bit.Dengan 32 register AVR dapat mengeksekusi beberapa instruksi sekali jalan (single cycle).6 dari 32 register yang ada dapat di gunakan 17 sebagai indirect address register pointer 16 bit untuk pengalamatan data space,yang memungkinkan penghitungan alamat yang efisien. 2.2.2. Konfigurasi AVR ATmega32 Mikrokontroler merupakan suatu device yang di dalamnya sudah terintegrasi dengan I/O port, RAM, ROM, sehingga dapat digunakan untuk berbagai keperluan kontroler. Mikrokontroler AVR ATmega32 merupakan low power CMOS mikrokontroler 8 bit yang di kembangkan oleh atmel dengan arsitektur RISC(Reduced Instruction SET Computer) sehingga dapat mencapai troughput eksekusi instruksi 1 MIPS(Million Instruction Per Second). Mikrokontroler AVR dapat dikelompokkan menjadi 4 kelas yaitu kelas ATtiny,kelas AT90xx, keluarga ATmega, dan kelas AT86RFxx. Pada dasarnya yang membedakan masing-masing kelas adalah memori, peripheral, spedd. Operasi tegangan dan fungsinya sedangkan dari segi arsitektur dan instruksi yang di gunakan bisa di katakan hampir sama. 2.2.2.1 Keterangan Konfigurasi AVR ATmega32 Penjelasan konfigurasi pin pada mikrokontroler AVR ATmega32 secara umum: a. Pin 1 sampai 8 (port B) merupakan port paralel 8 bit dua arah (bidirectional),yang dapat di gunakan untuk general purpose dan special feature. b. Pin 9 (riset) jika terdapat minimum pulse pada saat active low. c. Pin 10 (VCC) di hubungkan ke Vcc (2,7-5,5 Volt). 18 d. Pin 11 dan 31 (GND di hubungkan ke Vssatau ground. e. Pin 12 (XTAL 2) adalah pin masukan ke rangkaian osilator internal.sebuah osilator kristal atau sumber osilator luar dapat di gunakan. f. Pin 13 (XTAL 1) adalah pin keluaran ke rangkaian osilator internal.pin ini di pakai bila menggunakan osilator kristal. g. Pin 14 sampai 21 (port D) adalah 8 bit dua arah (bi-directional I/O) port dengan internal pull-up resistors di gunaka untuk general purpose dan special feature. h. Pin 22 sampai 29 (port C) adalah 8 bit dua arah (bi-directional I/O) port dengan internal pull-up resistors di gunaka untuk general purpose dan special feature. i. Pin 30 adalah A vcc pin penyuplai daya untuk port A dan A/D converter dan di hubungkan ke Vcc. Jika ADC di gunakan maka pin ini di hubungkan ke Vcc. j. Pin 32 adalah A REF pin yang berfungsi sebagai referensi untuk pin analog jika A/D converter di gunakan. k. Pin 33 sampai 40 (port A) adalah 8 bit dua arah arah (bi-directional I/O) port dengan internal pull-up resistors di gunaka untuk general purpose. Penjelasan konfigurasi pin pada mikrokontroler AVR ATmega32 yang mempunyai fungsi khusu yaitu: a. Port A (PA7 – PA0) Port A adalah 8-bit port I/O yang bersifat bi-directional dan setiap pin memilki internal pull-up resistor. Output buffer port A dapat mengalirkan arus 19 sebesar 20 mA. Ketika port A digunakan sebagai input dan di pull-up secara langsung, maka port A akan mengeluarkan arus jika internal pull-up resistor diaktifkan. Pin-pin dari port A memiliki fungsi khusus yaitu dapat berfungsi sebagai channel ADC (Analog to Digital Converter) sebesar 10 bit. Tabel 2.1 Fungsi khusus port A b. PA0 Input ADC PA0 PA1 Input ADC PA1 PA2 Input ADC PA2 PA3 Input ADC PA3 PA4 Input ADC PA4 PA5 Input ADC PA5 PA6 Input ADC PA6 PA7 Input ADC PA7 Port B (PB7 – PB0) Port B adalah 8-bit port I/O yang bersifat bi-directional dan setiap pin mengandung internal pull-up resistor. Output buffer port B dapat mengalirkan arus sebesar 20 mA. Ketika port B digunakan sebagai input dan di pull-down secara external, port B akan mengalirkan arus jika internal pull-up resistor diaktifkan. Pin-pin port B memiliki fungsi-fungsi khusus, diantaranya : SCK port B, bit 7 Input pin clock untuk up/downloading memory. 20 MISO port B, bit 6 Pin output data untuk uploading memory. MOSI port B, bit 5 Pin input data untuk downloading memory. Tabel 2.2 Fungsi khusus port B PB7 SCK (SPI Bus Serial Clock) PB6 MISO (SPI Bus Master Input /Slave Output) PB5 MOSI (SPI Bus Master Output /Slave Input) PB4 SS (SPI Slave Select Input) PB3 AIN1(Analog Comparator Negative Input),OC0(Timer/Counter0 Output Compare Match Output). PB2 AIN0 (Analog Comparator Positive Input),INT2(External Interrup 2 Input) PB1 TI (Timer/Counter 1 External Counter Input) PB0 T0 (Timer/Counter0 External Counter Input),XCK(USART External Clock Input/Output). c. Port C (PC7 – PC0) Port C adalah 8-bit port I/O yang berfungsi bi-directional dan setiap pin memiliki internal pull-up resistor. Output buffer port C dapat mengalirkan arus sebesar 20 mA. Ketika port C digunakan sebagai input dan di pull-down secara langsung, maka port C akan mengeluarkan arus jika internal pull-up resistor 21 diaktifkan. Fungsi-fungsi khusus pin-pin port C dapat ditabelkan seperti yang tertera pada tabel dibawah ini. Tabel 2.3 Fungsi khusus port C D. PC7 TOSC2 (Timer Oscillator Pin 2) PC6 TOSC1 (Timer Oscillator Pin 1) PC5 TDI (JTAG Test Data In) PC4 TDO (JTAG Test Data Out) PC3 TMS (JTAG Test Mode Select) PC2 TCK (JTAG Test Clock) PC1 SDA (Two-Wire Serial Bus Data Input/Output Line) PC0 SCL (Two-Wire Serial Bus Clock Line) Port D (PD7 – PD0) Port D adalah 8-bit port I/O yang berfungsi bi-directional dan setiap pin memiliki internal pull-up resistor. Output buffer port D dapat mengalirkan arus sebesar 20 mA. Ketika port D digunakan sebagai input dan di pull-down secara langsung, maka port D akan mengeluarkan arus jika internal pull-up resistor diaktifkan. Fungsi-fungsi khusus pin-pin port D dapat ditabelkan seperti yang tertera pada tabel dibawah ini. Tabel 2.4 Fungsi khusus port D PD7 OC2 (Timer/Counter2 Output Compare Match Output) PD6 ICPI (Timer/Couter1 Input Capture Pin) PD5 OC1A (Timer/Counter1 Output Compare A Match Output ) 22 PD4 OC1B (Timer/Counter1 Output Compare A Match Output) PD3 INT1 (External Interrupt 1 Input) PD2 INT0 (External Interrupt 0 Input) PD1 TXD (USART Output pin) PD0 RXD (USART Input pin) 2.3 LDR (Light Dependent Resistor) LDR merupakan satu komponen elektronika yang memiliki hambatan yang dapat berubah sesuai perubahan intensitas cahaya. LDR singkatan dari Light Dependent Resistor atau Resistor yang terpengaruh cahaya. Gambar 2.3 LDR (Light Dependent Resistor) Resistansi LDR berubah seiring dengan perubahan intensitas cahaya yang mengenainya. Dalam keadaan gelap, resistansi sekitar 10MΩ dan dalam keadaan terang sebesar 1KΩ atau kurang. LDR terbuat dari bahan semikonduktor seperti kadmium sulfida. Dangan bahan ini energi dari cahaya yang jatuh menyebabkan lebih banyak muatan yang dilepas atau arus listrik meningkat. Artinya resistansi bahan mengalami penurunan. 23 Sensor cahaya berfungsi untuk menditeksi cahaya yang ada disekitar kita. Sensor yang terkenal untuk menditeksi cahaya adalah LDR. Sensor ini akan berubah nilai hambatannya apabila ada perubahan tingakat kecerahan cahaya. Prinsip inilah yang akan kita gunakan untuk mengaktifkan transistor agar dapat menggerakan motor DC (mirip dengan dinamo pada mainan mobil-mobilan anakanak). Perubahan nilai hambatan pada LDR tersebut akan menyebabkan perubahan beda tegangan pada input basis transistor yang pada gilirannya akan mengaktifkan/menonaktifkan transistor. (Budiharto, Widodo.2006)3 Kelebihan dari sensor cahaya LDR (Light Dependent Resistor) adalah : 1. Sensor cahaya relatif sederhana 2. Harganya relatif murah 3. Mudah didapatkan dipasaran 4. Mudah pemasangannya 5. Tidak merusak komponen saat pemasangannya Prinsip kerja rangkaian sensor cahaya ini adalah dengan memperkuat perubahan tegangan pada rangkaian seri LDR dengan 2 transistor yang dirangkai dengan pola Darlington (seperti gambar di bawah). Hasil penguatan transistor tersebut langsung diumpankan ke Coil Relay. Relay inilah yang berfungsi sebagai saklar untuk diteruskan ke rangkaian beban. Anda bisa memberikan beban berupa lampu, alarm, atau rangkaian lain yang bertegangan 12 V. 3 Budiharto Widodo, 10 Proyek Robot Spektakuler, 2006 hal 4-5 24 Gambar 2.4 Rangkaian sensor cahaya dengan LDR 2.4 LED (Light Emitting Diode) LED atau singkatan dari Light Emitting Diode merupakan suatu semikonduktor yang memancarkan cahaya monokromatik yang tidak koheren ketika diberi tegangan maju. Gejala ini termasuk bentuk elektroluminesensi. Warna yang dihasilkan bergantung pada bahan semikonduktor yang dipakai, dan bisa juga ultraviolet dekat atau inframerah dekat.(wikipedia,2013)4 . LED saat ini sudah banyak dipakai, seperti untuk penggunaan lampu permainan anak-anak, untuk rambu-rambu lalu lintas, lampu indikator peralatan elektronik hingga ke industri, untuk lampu emergency, untuk televisi, komputer, pengeras suara (speaker), LCD, dan berbagai perangkat elektronik lainnya sebagai indikator bahwa sistem sedang berada dalam proses kerja, dan biasanya berwarna merah atau kuning. LED ini banyak digunakan karena komsumsi daya yang dibutuhkan tidak terlalu besar dan beragam warna yang ada dapat memperjelas bentuk atau huruf yang akan ditampilkan dan banyak lagi. 4 https://id.wikipedia.org/wiki/Diode_pancaran_cahaya 25 LED merupakan produk temuan lain setelah dioda. Untuk mendapatkna emisi cahaya pada semi konduktor, doping yang pakai adalah galium, arsenic dan phosporus. Jenis doping yang berbeda menghasilkan warna cahaya yang berbeda pula. Gambar 2.5 LED(Light Emitting Diode) 2.5 Motor Servo Motor servo standart dilengkapi dengan motor DC untuk mengendalikan posisi sebuah robot. Rotor motor dapat diputar/diposisikan hingga 180 derajat. Motor servo bisa digunakan untuk mengendalikan gerak dari toys (mainan) seperti model mobil, pesawat, perahu, dan helikopter. Karena servo secara luas digunakan untuk hobi-hobi seperti yang telah disebutkan diatas tentunya variasinya pun sangat banyak dijual. Dan alat penggerak ini banyak tersedia dan murah. Servo motor ialah DC motor kualitas tinggi yang memenuhi syarat untuk digunakan pada aplikasi servo seperti close control loop. Motor tersebut harus dapat menangani perubahan yang cepat pada posisi, kecepatan dan percepatan, serta harus mampu menangani intermittent torque. 26 Sedangkan servo ialah DC motor dengan tambahan elektronika untuk kontrol PW dan digunakan untuk tujuan hobi, pada pesawat terbang model, mobil atau kapal. Servo mempunyai 3 kabel, yaitu Vcc, ground dan PW input. Tidak seperti PWM pada DC motor, input sinyal untuk servo tidak digunakan untuk mengatur kecepatan, tetapi digunakan untuk mengatur posisi dari putaran servo. Sinyal PW digunakan untuk servo mempunyai frekuensi 50Hz, sehingga pulsa dibuat seperti 20ms. Sebagai contoh, sebuah pulsa 0.7ms akan memutarkan disk servo keposisi kiri (-120 derajat), dan pulsa 1.7ms akan memutarkan disk keposisi kanan (+120 derajat). Kekurangan servo ialah ia tidak menyediakan feedback . Umumnya kita membeli sevo continuous karena dapat berputar 360 derajat, namun anehnya harganya lebih murah dibandingkan servo standart yang derajat putarannya terbatas. (Budiharto, Widodo.2006)5 Di dalam motor servo terdapat potensiometer yang digunakan sebagai sensor posisi. Potensiometer tersebut dihubungkan dengan output shatf untuk mengetahui posisi aktual shaft. Ketika motor dc berputar, maka output shaft juga berputar dan sekaligus memutar potensiometer. Rangakaian kontrol kemudian dapat membaca kondisi potensiometer tersebut untuk mengetahui posisi aktual sahft. Jika posisinya dengan yang diinginkan, maka motor dc akan berhenti. Sudut operasi motor servo (operating angle) bervariasi tergantung jenis motor servo. Ada 2 jenis motor servo yaitu: 5 Budiharto Widodo, Belajar Sendiri Membuat Robot Cerdas, 2006 hal 7 27 a. Motor Servo Standart Yaitu motor servo dilengkapi dengan motor DC untuk mengendalikan posisi sebuah robot yang mampu bergerak CW dan CCW dengan sudut operasi tertentu, misal 600, 900, atau 1800. Rotor robot dapat diputar 180 derajat. Servo motor standar sering dipakai pada sistem robotika misalnya untuk membuat “Robot Arm” (robot lengan). b. Motor Servo Continuous Yaitu motor servo yang mampu bergerak CW dan CCW tanpa batasan sudut operasi (berputar secara kontinyu). Sering dipakai untuk mobile robot Rotor robot dapat diputar 360 derajat. (Andrianto, Heri. 2008). Motor servo biasanya menggunakan tegangan supply 4.8 hingga 7.2 volt. Berikut bentuk fisik motor servo terlihat pada Gambar 2.6 Gambar 2.6 Motor Servo 28 Alasan penggunaan motor servo untuk bidang robotika adalah pertama, motor servo memiliki putaran yang lambat dan torsi yang kuat (berkat adanya sistim gear). Hal ini cocok dengan bidang robotika, bandingkan misalnya dengan motor DC biasa yang memiliki putaran cepat namun torsi rendah. Poros motor DC yang dihubungkan langsung dengan roda, tidak Akan kuat untuk menggerakkan mobile robot tersebut, demikian juga dengan motor stepper. Kedua jenis motor ini harus dihubungkan terlebih dahulu dengan sistim gear agar dapat dipergunakan. Namun poros servo dapat dihubungkan langsung dengan roda. Kedua, sistim kontrol untuk motor servo relatif sedikit (dipergunakan hanya 1 jalur data saja). Hal ini tentu berbeda misalnya jika kita menggunakan motor stepper yang memerlukan jalur kontrol lebih dari 1 jalur. Oleh karena itu tantangannya adalah bagaimana mengontrol motor servo yang hanya menggunakan 1 jalur tersebut. Oleh karena hanya digunakan 1 jalur data untuk mengontrol motor servo, maka digunakan teknik PWM. 2.5.1 Driver motor DC Servo Bentuk motor servo dapat dilihat pada gambar 2.6 Terdapat tiga utas kabel dengan warna merah, hitam, dan putih. Kabel merah dan hitam harus dihubungkan dengan sumber tegangan 4-6 volt dc agar motor servo dapat bekerja normal. Sedangkan kabel berwarna putih adalah kabel data yang dipakai untuk mengatur arah gerak dan posisi servo. Pergerakan motor servo terhadap perubahan lebar pulsa tampak pada gambar 2.7. 29 Gambar 2.7 Pergerakan motor servo terhadap perubahan lebar pulsa 2.6 Resistor Resistor merupakan salah satu komponen pasif dimana memiliki fungsi untuk mengatur dan menghambat arus listrik. Resistor di beri lambing huruf R dengan satuannya yaitu Ohm (Ω). Resistor ini terdiri dari 2 macam, yaitu resistor tetap dan resistor dan resistor tidak tetap. 2.6.1 Resistor Tetap Resistor tetap yaitu resistor yang memiliki nilai resistansi atau nilai hambatannya tetap. Gambar 2.8 Bentuk Fisik Resistor 30 Gambar 2.9 Simbol Resistor Pada badan resistor terdapat gelang warna yang menyatakan nilai resistansi suatu resistor, ketentuannya sebagai berikut : 1. Gelang ke-1 dan gelang ke-2 menyatakan nilai resistor. 2. Gelang ke-3 menyatakan faktor pengali. 3. Gelang ke-4 menyatakan toleransi. Contohnya adalah : Jingga : Gelang ke-1, memiliki nilai = 3 Hitam : Gelang ke-2, memiliki nilai = 0 Merah : Gelang ke-3, memiliki faktor pengali = 102 Emas : Gelang ke-4, memiliki nilai toleransi 5 % Yang berarti nilai dari resistor di atas adalah 3000 Ω ± 5 %. Jika resistor memiliki 5 gelang warna, maka nilai gelang ke-1, 2 dan 3 menyatakan nilai resistor, gelang ke-4 merupakan faktor pengali, dan gelang ke-5 merupakan nilai toleransi. Untuk mengetahaui nilai dari warna gelang resistor, dapat kita lihat pada tabel berikut ini : 31 Tabel 2.5 Tabel kode warna resistor Warna Gelang ke 1 dan 2 2.6.2 3 4 Hitam 0 X1 Coklat 1 X 10 1% Merah 2 X 100 2% Orange/Jingga 3 X 1000 Kuning 4 X 10000 Hijau 5 X 100000 Biru 6 X 1000000 Ungu 7 X 10000000 Abu-abu 8 X 100000000 Putih 9 X1000000000 Emas - X 0.1 5% Perak - X 0.1 10% Tidak Berwarna - - 20% Resistor Tidak Tetap Resistor tidak tetap yaitu resistor yang nilai resistansi atau hambatannya dapat diubah-ubah. Jenis dari resistor ini adalah potensiometer. Di dalam alat ini, tidak menggunakan potensiometer, tapi sekedar ingin tahu bahwa potensiometer adalah resistor yang nilai resistansinya dapat berubah-ubah dengan memutar porosnya dengan menggunakan tangan. 32 2.7 Kapasitor Kapasitor yaitu komponen elektronika yang dapat menyimpan dan melepaskan muatan listrik. Kapasitor berfungsi sebagai filter dan penyimpan muatan listrik. Kapasitor tetap merupakan kapasitor yang nilai kapasitansinya tetap atau tidak dapat diubah-ubah. Kapasitor tetap ini terdiri dari dua jenis, yaitu: 2.7.1 Kapasitor Polar Kapasitor Polar yaitu kapasitor yang memiliki kutub positif dan kutub negative. Contoh dari kapasitor polar adalah Elco. Gambar 2.10 Simbol Elco 2.7.2 Kapasitor Non Polar Kapasitor Non Polar merupakan kapasitor yang tidak memiliki kutub. Yang merupakan contoh dari kapasitor non polar ini adalah kapasitor keramik. Gambar 2.11 Simbol Kapasitor nonpolar 33 2.8 Transistor Transistor merupakan komponen elektronika yang mempunyai tiga buah terminal. Terminal itu disebut emitor, basis, dan kolektor. Transistor seakan-akan dibentuk dari penggabungan dua buah dioda. Dioda satu dengan yang lain saling digabungkan dengan cara menyambungkan salah satu sisi dioda yang senama. Dengan cara penggabungan seperti ini dapat diperoleh satu buah transistor. Transistor mempunyai 3 kaki. Anak panah yang terdapat di dalam simbol menunjukkan arah arus yang melalui transistor. Simbol tipe transistor dapat dilihat pada gambar 2.12: Gambar 2.12 Simbol tipe transistor Keterangan : C = kolektor E = emitter B = basis Pada alat ini digunakan transistor 2N3904 yang tipenya NPN dan transistor 2N3906 yang tipenya PNP. Gambar 2.13 menunjukan bentuk fisik transistor 2N3904 dan 2N3906: 34 Gambar 2.13 Transistor 2N3904 (kiri) dan 2N3906 (kanan) 2.9 Buzzer Buzzer merupakan suatu alat yang dapat mengubah sinyal listrik menjadi sinyal suara. Pada umumnya buzzer digunakan untuk alarm, karena penggunaannya cukup mudah yaitu dengan memberikan tegangan input maka buzzer akan mengeluarkan bunyi. Frekuensi suara yang di keluarkan oleh buzzer yaitu antara 1-5 KHz.( Albert Paul, 1989)6. Gambar 2.14 Simbol Buzzer 2.10 Codevision AVR Codevision AVR C Compiler, Pemrograman mikrokontroller AVR lebih mudah dilakukan dengan bahasa pemrograman C. Salah satu software pemrograman AVR mikrokontroller adalah CodevisionAVR C Compiler versi 1. 6 Albert Paul, Prinsip-prinsip Elektronika, 1989 hal: 134 35 253 yang selanjutnya dalam pembahasan disebut cvAVR7. Pada cvAVR terdapar code wizard yang sangat membantu dalam proses inisaialisasi register dalam mikrokontroller dan untuk membentuk fungsi-fungsi interupt. Pada code wizard untuk membuat inisialisasi cukup dengan meng click atau memberi tanda check sesuai property dari desain yang dikehendaki setelah itu register yang ter inisislisasi dapat dilihat melalui program preview atau melalui generate and save. Dengan menggunakan pemrograman bahasa-C diharapkan waktu disain (deleloping time) akan menjadi lebih singkat. Setelah program dalam bahasa-C ditulis dan dilakukan kompilasi tidak terdapat kesalahan (error) maka proses download dapat dilakukan. Mikrokontroller AVR mendukung sistem download secara ISP (In-System Programming).Gambar Tampilan CodeVisionAVR adalah sebagai berikut : Gambar 2.15 Tampilan CodeVision AVR Untuk memulai bekerja dengan CodeVisionAVR pilih pada menu File -> New. Maka akan muncul kotak dialog sebagai berikut : 7 http://www.musbikhin.com/codevision-avr-c-compiler 36 Gambar 2.16 Tampilan project baru Pilih Project kemudian tekan OK, maka akan muncul kotak dialog berikut. Gambar 2.17 Tampilan code wizard AVR Pilih Yes untuk menggunakan CodeWizardAVR. CodeWizardAVR digunakan untuk membantu dalam men-generate program, terutama dalam konfigurasi chip mikrokontroller, baik itu konfigurasi Port, Timer, penggunaan fasilitas-fasilitas seperti LCD, interrupt, dan sebagainya. CodeWizardAVR ini sangat membantu programmer untuk setting chip sesuai keinginan 2.10.1 Pemilihan Chip dan Frekwensi Xtall Langkah pertama dalam menggunakan cvAVR adalah membentuk sebuah project baru, dengan click create new project maka akan muncul pertanyaan apakah anda ingin memanfaatkan bantuan code wizard, pilih saja ok 37 maka anda akan masuk pada code wizard. Langkah pertama yang harus dilakukan pada code wizard adalah memilih jenis chip mikrokontroller yang digunakan dalam project dan frekwensi xtall yang digunakan. Pemilihan chip dan frekwensi xtall dapat dilihat seperti pada gambar berikut. Gambar 2.18 Tampilan pemilihan chip dan frekuensi X tall 2.11 Software Menggambar Rangkaian Untuk membuat rangkaian pada papan pcb harus digunakan software buat merancang jalur dipapan pcb disini penulis menggunakan software eagle. 38 2.11.1. Pengertian Eagle Software yang di buat untuk membantu manusia dalam membuat skema sebuah rangkaian listrik yang komplek beserta PCB nya .( Mufid, Fahrudin. 2011)8 2.11.2 Libraries Libraries berfungsi menyimpan semua daftar komponen yang akan digunakan saat menggambar skema. Ada banyak sekali komponen yang tersedia pada libraries ini. Mulai dari komponen pasif sampai komponen aktif sudah tersedia. Gambar 2.19 Libraries terletak dalam control panel. 8 Fahrudin Mufid, Tutorial Eagle 4.16, 2011 hal:2-17 39 Gambar 2.20 Terdapat banyak komponen dalam libraries. Gambar 2.21 Gambar tampilan Libraries Pada tampilan jendela di atas, tanda bulatan hijau kecil ( ) disisi kanan berarti komponen tersebut aktif. Jika bulatan tersebut menjadi kecil ( ) berarti tidak aktif. Aktif tidaknya library ini nanti berpengaruh saat kita ingin menambah komponen saat menggambar skematik maupun board PCB. Kolom sebelah kiri 40 adalah daftar nama-nama komponen. Sedangkan kolom di sebelah kanan adalah gambar simbol serta bentuk fisik dari komponennya. Pada penulisan komponen pasif sering di tulis angka pada sisi belakang nama komponen, itu berarti angka itu adalah panjang atau jarak kaki komponen dengan satuan mm (milimeter). Contoh diatas adalah diode dengan jarak kaki 10 mm atau 1cm. 2.11.3 Membuka Jendela Skematik Untuk memulai menggambar skematik, langkah pertama yang harus dilakukan yaitu pilih menu ”Project” kemudian pilih ”New Project. Setelah project jadi, langkah berikutnya yaitu klik kanan pada project, pilih ”New Schematic”. Maka akan muncul jendela seperti gambar berikut: wire command Gambar 2.22 Jendela Skematik Editor 41 Pada jendela Skematik Editor terdiri dari Toolbar, Menu-menu, dan Edit Area. Masing-masing mempunyai sub menu sendiri-sendiri 2.11.4 Menu Di dalam kelompok Menu terdapat beberapa icon seperti: Gambar 2.23 Menu 2.11.4.1 Toolbar Pada jendela skematik, di sebelah kiri terdapat kolom yang disebut toolbar. Pada kolom ini terdapat kumpulan icon yang berfungsi dalam penggambaran skematik. Icon tersebut antara lain: Gambar 2.24 Toolbar 42 1. Add Berfungsi untuk menambahkan komponen dalam gambar. Untuk menambahkan komponen dalam gambar, klik icon ADD. Setelah itu, akan muncul jendela yang berisi daftar komponen. Pilih komponen yang akan digunakan, kemudian tekan OK. Letakkan komponen dengan klik kiri pada area gambar. Klik kanan untuk memutar posisi gambar. Tekan ESC untuk membatalkan. Gambar 2.25 Add Lalu tekan ok apabila sudah menemukan symbol yang ingin kita pakai: 43 Gambar 2.26 Memasukan Symbol 2. Net Berfungsi untuk menghubungkan antar kaki komponen, BUS, dan lain-lain. Mempunyai property model-model sudut dan lebar kawat. Cara menggunakannya yaitu klik icon NET kemudian arahkan mouse pada kaki komponen. Klik kiri, tarik mouse sambil di klik kanan untuk mencari model sudut yang bagus. Selanjutnya klik pada kaki komponen yang akan disambung. Gambar 2.27 Net 44 3. Info Berfungsi menampilkan informasi dari komponen yang kita pilih. Informasi ini berisi Value, Name, tempat komponen dalam library dan lain-lain. Gambar 2.28 Info Gambar di atas menampilkan symbol IC 7408. Cara menggunakannya adalah klick icon INFO kemudian klick simbol komponen yang di inginkan maka akan tampil informasinya. 4. Show Gambar 2.29 Show 45 Icon ini berfungsi menampilkan dengan mencolok komponen yang di klick. Biasanya di gunakan untuk memudahkan pencarian kawat sambungan, apakah sudah tersambung atau belum. Jika kawat tersebut di klick maka akan menyala lebih terang jika masih dalam satu jalur sambungan daripada kawat yang lain. 5. Display Icon ini berfungsi menampilkan sebagian atau seluruhnya layer-layer (lapisan) pada saat menggambar. Layer ini dapat di aktifkan sesuai kebutuhan kita. Tanda biru berarti aktif, dan jika berwarna putih berarti tidak aktif. Misal: mematikan Simbol, klick saja pada daerah simbol kemudian OK. Maka semua simbol komponen akan menghilang. 6.move Untuk mengubah tempat symbul yang kita klik ke tempat yang akan kita tuju. Resistor Package 7. untuk membuat membuat package yang baru. 8. untuk memunculkan grid , penting karna dapat memudahkan dalam membuat skema 9. digunakan untuk mengubah nomer pada suatu symbol 46 10. untuk memnghubungkan komponen satu dengan yang lain. 11. digunakan untuk membuat text di dalam lembar kerja 12. Cara memunculkan grid pada lembar kerja jadi untuk memunculkan grid pada lembar kerja , dengan cara mengklik icon pada resistor package ini. Memanfatkankanya sebagai alat bantu agar mudah dalam membuat skema. 2.11.4.2 Cara Membuat Daftar Komponen Gambar 2.30 Daftar Komponen Langkah langkah membuat daftar komponen seperti diatas 47 1. Pertama buat lembar skematik Gambar 2.31 Membuka Lembar Skematik 2. Add komponen yang akan di pakai Gambar 2.32 Add Komponen 3. Tentukan komponen yang diperlukan lalu double klik untuk di masukkan ke skematik 48 Gambar 2.33 Add simbol 4. Letakkan komponen dengan klik satu kali Gambar 2.34 Meletakan simbol 49 5. Lalu add komponen yang masih dibutuhkan 6. Setelah terdapat banyak komponen lalu beri nama dengan mengklik dan di tata dengan rapi. 7. Lalu buat sebuah tabel dengan mengklik icon wire karena pada eagle tidak disediakan fasilitas untuk membuat tabel. 2.10.4.3 Cara Membuat Rangkaian 1. Seperti contoh no 1, jadi langkah pertama membuat lembar schematik yang baru. (file->>new->>schematic) 2. Add semua komponen yang dibutuhkan dengan cara mengklik icon 3. Letakkan komponen sesuai pada tempatnya. 4. Hubungkan komponen-komponen dengan wire sehingga membentuk sebuah rangnkaian listrik 5. Setelah disambung dengan wire, kita butuh junction untuk mengkoneksikan komponen- komponen tersebut 6. Lalu tambahkan semua komponen yang masih kurang. Lalu sambung dan koneksikan. 7. Jangan lupa menyimpan data yang telah dilakukan. 2.12 UML (Unified modeling language ) Unified Modelling Language (UML) merupakan sebuah "bahasa" yg telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem. 50 Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasa-bahasa berorientasi objek seperti C++, Java, C# atau VB.NET. Walaupun demikian, UML tetap apat digunakan untuk modeling aplikasi prosedural dalam VB atau C. Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax/semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada belumnya: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar Jacobson OOSE (Object-Oriented Software Engineering). Sejarah UML sendiri cukup panjang. Sampai era tahun 1990 seperti kita ketahui puluhan metodologi pemodelan berorientasi objek telah bermunculan di dunia. Diantaranya adalah: metodologi booch [1], metodologi coad [2], metodologi OOSE [3], metodologi OMT [4], metodologi shlaer-mellor [5], metodologi wirfs-brock [6], dsb. Masa itu terkenal dengan masa perang metodologi (method war) dalam pendesainan berorientasi objek. Masing-masing 51 metodologi membawa notasi sendiri-sendiri, yang mengakibatkan timbul masalah baru apabila kita bekerjasama dengan group/perusahaan lain yang menggunakan metodologi yang berlainan. (Sri Dharwiyanti dan Romi Satria Wahono.2003)9 2.12.1 Konsepsi Dasar UML Dari berbagai penjelasan rumit yang terdapat di dokumen dan buku-buku UML. Sebenarnya konsepsi dasar UML bisa kita rangkumkan dalam gambar dibawah Gambar 2.35 Konsep dasar UML Abstraksi konsep dasar UML yang terdiri dari structural classification, dynamic behavior, dan model management, bisa kita pahami dengan mudah apabila kita melihat gambar diatas dari Diagrams. Main concepts bisa kita pandang sebagai term yang akan muncul pada saat kita membuat diagram. Dan view adalah kategori dari diagaram tersebut. Lalu darimana kita mulai ? Untuk menguasai UML, sebenarnya cukup dua hal yang perhatikan: 9 Sri Dharwiyanti dan Romi Satria Wahono, Pengantar Unified Modeling Language (UML), 2003 hal 2-9 52 1. Menguasai pembuatan diagram UML 2. Menguasai langkah-langkah dalam analisa dan pengembangan dengan UML Tulisan ini pada intinya akan mengupas kedua hal tersebut. Penulis mengunakan diagram-diagram berikut ini : a. use case diagram b. activity diagram c. sequence diagram 2.12.2 Use Case Diagram Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja, dan sebagainya. Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu. Use case diagram dapat sangat membantu bila penulis sedang menyusun requirement sebuah sistem, mengkomunikasikan rancangan dengan klien, dan merancang test case untuk semua feature yang ada pada sistem. Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case yang di-include akan 53 dipanggil setiap kali use case yang melakukan include dan dieksekusi secara normal. Sebuah use case dapat di lakukan include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common. Sebuah use case juga dapat extend use case lain dengan behaviour use case itu sendiri. Sementara hubungan generalisasi antar use case menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain. Contoh use case diagram : Gambar 2.36 Use case diagram 2.12.3 Activity Diagram Activity diagrams menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Activity diagram merupakan state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state 54 sebelumnya (internal processing). Oleh arena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum. Contoh activity diagram tanpa swimlane: Gambar 2.37 Activity Diagram 2.12.4 Sequence Diagram Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasukpengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequencediagram terdiri atar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait).Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkahlangkahyang dilakukan sebagai respons dari sebuah event untuk menghasilkan 55 output tertentu. Diawali berapa yang trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internadan output apa yang dihasilkan. Gambar 2.38 Sequence Diagram