BAB II LANDASAN TEORI 2.1
Mikrokontroller
2.1.1
Pengenalan Mikrokontroller
Mikrokontroler adalah sebuah system mikroprosesor dimana di dalamnya sudah terdapat CPU, ROM, RAM, I/O, Clock dan Peralatan internal lainya yang sudah saling terhubung dan terorganisasi (teralamati) dengan baik oleh pabrik pembuatnya dan dikemas dalam satu chip yang siap pakai. Sehingga kita tinggal memprogram isi ROM sesuai aturan penggunaan oleh pabrik yang membuatnya. Pada saat ini penggunaan mikrokontroler dapat kita temui pada berbagai peralatan, misalnya peralatan yang terdapat di rumah, seperti telepon digital, microwave open, televisi, mesin cuci, system keamanan rumah, PDA, dll. Mikrokontroler dapat kita gunakan untuk berbagai aplikasi misalnya untuk pengendalian, otomasi industri, akuisisi data, telekomunikasi dan lain-lain. Keuntungan menggunakan mikrokontroler yaitu harganya murah, dapat diprogram berulang kali, dan dapat kita program sesuai dengan keinginan kita. Saat ini keluarga mikrokontroler yang ada dipasaran yaitu Intel 8084 dan 8051 (MCS51), Motorola 68HC11, Microchip PIC, Hitachi H8, Atmel AVR, dan Arduino.
5
Computer Evaluation Kit
Perangkat Lunak Editor
Assembler (avrasm32.hex )
Compiler C *.c
*.asm
Donggle (Kompatibel Kanda)
ISP
Target Akhir (Chip MC)
*.hex Port USB
Saluran SPI
Gambar 2.1 Alur program mikrokontroler 2.1.2
Arsitektur Mikrokontroler
Gambar 2.2 Arsitektur mikrokontroler
6
Dari gambar 2.2 di atas yaitu arsitektur Harvard dengan memisahkan antara memori dan bus untuk program data untuk memaksimalkan kemampuan dan kecepatan. Instruksi dalam memori program dieksekusi dengan pipelining single level. Dimana ketika satu instruksi dieksekusi, instruksi berikutnya diambil dari memori program. Konsep ini mengakibatkan instruksi dieksekusi setiap clock cycle. CPU terdiri dari 32x8-bit general purpose register yang dapat diakses dengan cepat dalam satu clock cycle, yang mengakibatkan operasi Arithmatic Logic Unit (ALU) dapat dilakukan dalam satu cycle. Pada operasi ALU, dua operand berasal dari register, kemudian operasi dieksekusi dan hasilnya disimpan kembali pada register dalam satu clock cycle. Operasi Arithmetic dan Logic pada ALU akan mengubah bit-bit yang terdapat pada Status Register (SREG). Proses pengambilan instruksi dan pengeksekusian instruksi berjalan secara parallel. (Heri Andrianto, Pemrograman Mikrokontroler AVR ATMEGA16 Menggunakan Bahasa C (CodeVisionAVR), 2008, Hal 1-10). 2.2
Arduino Mega 2560
Arduino adalah pengendali mikro single-board yang bersifat open-source, diturunkan dari Wiring platform, dirancang untuk memudahkan penggunaan elektronik dalam berbagai bidang. Hardwarenya memiliki prosesor Atmel AVR dan softwarenya memiliki bahasa pemrograman sendiri.
Arduino dikatakan sebagai sebuah platform dari physical computing. Physical computing adalah sebuah sistem atau perangkat fisik dengan menggunakan software dan hardware yang sifatnya interaktif yaitu dapat menerima rangsangan dari lingkungan dan merespon balik. Pada prakteknya konsep ini diaplikasikan
7
dalam desain-desain alat atau projek-projek yang menggunakan sensor dan mikrokontroler untuk menerjemahkan input analog ke dalam sistem software untuk mengontrol gerakan alat-alat elektro-mekanik seperti lampu, motor dan sebagainya.
Arduino juga disebut sebagai platform pembuatan prototype. Prototyping adalah kegiatan yang sangat penting di dalam proses physical computing karena pada tahap seorang perancang melakukan eksperimen dari berbagai jenis komponen, ukuran, parameter, program komputer dan sebagainya berulang-ulang kali sampai diperoleh kombinasi yang paling tepat. Prototyping merupakan gabungan antara akurasi perhitungan dan seni.
Secara umum Arduino terdiri dari dua bagian, yaitu: 1. Hardware papan input/output (I/O) 2. Software Software Arduino meliputi IDE untuk menulis program, driver untuk koneksi dengan komputer, contoh program dan library untuk pengembangan program.
Gambar 2.3 Arduino Mega 2560 8
Untuk gambaran mengenai mikrokontroler, pada gambar berikut diperlihatkan contoh diagram blok sederhana dari mikrokontroler ATmega328.
Gambar 2.4 Diagram blok mikrokontroler ATmega328
Blok-blok di atas dijelaskan sebagai berikut:
Universal Asynchronous Receiver/Transmitter (UART) adalah antar muka yang digunakan untuk komunikasi serial.
2KB RAM pada memory kerja bersifat volatile (hilang saat daya dimatikan), digunakan oleh variable-variabel di dalam program.
32KB RAM flash memory bersifat non-volatile, digunakan untuk menyimpan program yang dimuat dari komputer.
1KB EEPROM bersifat non-volatile, digunakan untuk menyimpan data yang tidak boleh hilang saat daya dimatikan.
Central Processing Unit (CPU), bagian dari mikrokontroler untuk menjalankan setiap instruksi dari program.
Port input/output, pin-pin untuk menerima data (input) digital atau analog, dan mengeluarkan data (output) digital atau analog. 9
2.2.1 Konfigurasi Pin ATmega 2560
Gambar 2.5 Konfigurasi pin ATmega 2560 Konfigurasi pin ATmega 2560 dengan kemasan 100-pin TQFP (Thin Quad Flat Package) dapat dilihat pada gambar 2.5. Dari gambar 2.5 di atas dapat dijelaskan fungsi dari masing-masing pin ATmega 2560 sebagai berikut:
10
Tabel 2.1 Mapping Pin Arduino Mega 2560 No. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
Nama Pin PG5 ( OC0B ) PE0 ( RXD0/PCINT8 ) PE1 ( TXD0 ) PE2 ( XCK0/AIN0 ) PE3 ( OC3A/AIN1 ) PE4 ( OC3B/INT4 ) PE5 ( OC3C/INT5 ) PE6 ( T3/INT6 ) PE7 ( CLKO/ICP3/INT7 ) VCC GND PH0 ( RXD2 ) PH1 ( TXD2 ) PH2 ( XCK2 ) PH3 ( OC4A ) PH4 ( OC4B ) PH5 ( OC4C ) PH6 ( OC2B ) PB0 ( SS/PCINT0 ) PB1 ( SCK/PCINT1 ) PB2 ( MOSI/PCINT2 ) PB3 ( MISO/PCINT3 ) PB4 ( OC2A/PCINT4 ) PB5 ( OC1A/PCINT5 ) PB6 ( OC1B/PCINT6 ) PB7 ( OC0A/OC1C/PCINT7 ) PH7 ( T4 ) PG3 ( TOSC2 ) PG4 ( TOSC1 ) RESET VCC GND XTAL2 XTAL1 PL0 ( ICP4 ) PL1 ( ICP5 ) PL2 ( T5 ) PL3 ( OC5A ) PL4 ( OC5B ) PL5 ( OC5C )
Nama Pin di Map Digital pin 4 (PWM) Digital pin 0 (RX0) Digital pin 1 (TX0) Digital pin 5 (PWM) Digital pin 2 (PWM) Digital pin 3 (PWM)
VCC GND Digital pin 17 (RX2) Digital pin 16 (TX2) Digital pin 6 (PWM) Digital pin 7 (PWM) Digital pin 8 (PWM) Digital pin 9 (PWM) Digital pin 53 (SS) Digital pin 52 (SCK) Digital pin 51 (MOSI) Digital pin 50 (MISO) Digital pin 10 (PWM) Digital pin 11 (PWM) Digital pin 12 (PWM) Digital pin 13 (PWM)
RESET VCC GND XTAL2 XTAL1 Digital pin 49 Digital pin 48 Digital pin 47 Digital pin 46 (PWM) Digital pin 45 (PWM) Digital pin 44 (PWM)
11
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
PL6 PL7 PD0 ( SCL/INT0 ) PD1 ( SDA/INT1 ) PD2 ( RXDI/INT2 ) PD3 ( TXD1/INT3 ) PD4 ( ICP1 ) PD5 ( XCK1 ) PD6 ( T1 ) PD7 ( T0 ) PG0 ( WR ) PG1 ( RD ) PC0 ( A8 ) PC1 ( A9 ) PC2 ( A10 ) PC3 ( A11 ) PC4 ( A12 ) PC5 ( A13 ) PC6 ( A14 ) PC7 ( A15 ) VCC GND PJ0 ( RXD3/PCINT9 ) PJ1 ( TXD3/PCINT10 ) PJ2 ( XCK3/PCINT11 ) PJ3 ( PCINT12 ) PJ4 ( PCINT13 ) PJ5 ( PCINT14 ) PJ6 ( PCINT 15 ) PG2 ( ALE ) PA7 ( AD7 ) PA6 ( AD6 ) PA5 ( AD5 ) PA4 ( AD4 ) PA3 ( AD3 ) PA2 ( AD2 ) PA1 ( AD1 ) PA0 ( AD0 ) PJ7 VCC GND PK7 ( ADC15/PCINT23 ) PK6 ( ADC14/PCINT22 )
Digital pin 43 Digital pin 42 Digital pin 21 (SCL) Digital pin 20 (SDA) Digital pin 19 (RX1) Digital pin 18 (TX1)
Digital pin 38 Digital pin 41 Digital pin 40 Digital pin 37 Digital pin 36 Digital pin 35 Digital pin 34 Digital pin 33 Digital pin 32 Digital pin 31 Digital pin 30 VCC GND Digital pin 15 (RX3) Digital pin 14 (TX3)
Digital pin 39 Digital pin 29 Digital pin 28 Digital pin 27 Digital pin 26 Digital pin 25 Digital pin 24 Digital pin 23 Digital pin 22 VCC GND Analog pin 15 Analog pin 14
12
84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
PK5 ( ADC13/PCINT21 ) PK4 ( ADC12/PCINT20 ) PK3 ( ADC11/PCINT19 ) PK2 ( ADC10/PCINT18 ) PK1 ( ADC9/PCINT17 ) PK0 ( ADC8/PCINT16 ) PF7 ( ADC7 ) PF6 ( ADC6 ) PF5 ( ADC5/TMS ) PF4 ( ADC4/TMK ) PF3 ( ADC3 ) PF2 ( ADC2 ) PF1 ( ADC1 ) PF0 ( ADC0 ) AREF GND AVCC
Analog pin 13 Analog pin 12 Analog pin 11 Analog pin 10 Analog pin 9 Analog pin 8 Analog pin 7 Analog pin 6 Analog pin 5 Analog pin 4 Analog pin 3 Analog pin 2 Analog pin 1 Analog pin 0 Analog Reference GND VCC
1. VCC merupakan pin tegangan supply digital. 2. GND merupakan pin ground. 3. Port A (PA7..PA0) merupakan 8-bit bi-directional I/O port resistor pull-up internal. 4. Port B (PB7..PB0) merupakan 8-bit bi-directional I/O port resistor pull-up internal. Port B mempunyai kemampuan driving lebih bagus dibandingkan port yang lain. 5. Port C (PC7..PC0) merupakan 8-bit bi-directional I/O port resistor pull-up internal. 6. Port D (PD7..PD0) merupakan 8-bit bi-directional I/O port resistor pull-up internal. 7. Port E (PE7..PE0) merupakan 8-bit bi-directional I/O port resistor pull-up internal.
13
8. Port F (PF7..PF0) berfungsi sebagai input analog ke A/D Converter, juga merupakan sebuah 8-bit bi-directional I/O port resistor pull-up internal jika A/D Converter tidak digunakan. Jika interface JTAG aktif, resistor pull-up pada pin PF7(TDI), PF5(TMS), dan PF4(TCK) akan tetap aktif walaupun dalam keadaan reset. 9. Port G (PG5..PG0) merupakan 6-bit bi-directional I/O port resistor pull-up internal. 10. Port H (PH7..PH0) merupakan 8-bit bi-directional I/O port resistor pull-up internal. 11. Port J (PJ7..PJ0) merupakan 8-bit bi-directional I/O port resistor pull-up internal. 12. Port K (PK7..PK0) berfungsi sebagai input analog ke A/D Converter, juga merupakan sebuah 8-bit bi-directional I/O port resistor pull-up internal. 13. Port L (PL7..PL0) merupakan 8-bit bi-directional I/O port resistor pull-up internal. 14. RESET merupakan input reset. 15. XTAL1 merupakan input inverting Oscillator amplifier dan input ke clock internal rangkaian. 16. XTAL2 merupakan output dari inverting Oscillator amplifier. 17. AVCC merupakan tegangan supply pin untuk Port F dan A/D Converter. Pin ini harus dihubungkan dengan VCC external, meskipun ADC tidak digunakan. 18. AREF merupakan pin referensi analog untuk A/D Converter.
14
2.2.2 Blok Diagram ATmega 2560
Gambar 2.6 Blok diagram ATmega 2560 AVR menggabungkan sebuah instruksi set dengan 32 register umum.Semua register tersebut dihubungkan langsung dengan Arithmatic Logic Unit (ALU), yang memungkinkan dua register independent dapa diakses dalam satu instruksi single yang di eksekusi dalam satu cycle clock. Arsitektur yang dihasilkan banyak mengefesienkan kode sementara pencapaian troughput hingga sepuluh kali lebih cepat dari pada mikrokontroller CISC konvesional.
15
2.3
Timer/Counter0
Timer/counter0 adalah sebuah timer/counter yang dapat mencacah sumber pulsa/clock baik dari dalam chip (timer) ataupun dari luar chip (counter) dengan kapasitas 8-bit atau 256 cacahan. Dapat digunakan untuk: a. Timer/counter biasa b. Clear Timer on Compare Match c. Generator frekuensi d. Counter pulsa eksternal Mempunyai hingga 10-bit (1024) Clock prescaler (pemilih clock yang masuk ke timer/counter). Clock Prescaler
ClockMux
76543210
TCNT0
Compare = T0 76543210 TCCR0
OCR0 76543210
COM01 0C0
COM00 76543210 TIFR
Gambar 2.7 Blok diagram timer/counter0
16
Pulsa yang masuk ke dalam TCNT0 diseleksi oleh aturan clock select register TCCR0. Pada clock select ada dua sumber clock dari luar dan dari dalam chip. Untuk clock dari dalam melewati prescaler yang bertindak sebagai timer, dan untuk clock dari luar melewati edge select detector untuk menentukan kondisi clock yang akan masuk falling atau rising dalam hal ini bertindak sebagai counter. Jika kondisi TCNT0 sudah maksimal kemudian kembali ke nol maka aka nada sinyal overflow berupa flag/bit-TOV0 yang mengindikasikan permintaan interrupsi. Untuk interrupsi compare match (TCNT0==OCR0), nilai TCNT0 akan selalu dibandingkan oleh CPU dengan isi register OCR0. Jika terjadi compare match maka akan menyebabkan sinyal sinyal permintaan interrupsi ditandai dengan setnya flag OCF0, sinyal interrupsi dapat kita salurkan ke luar melalui pin OC0 dengan perlakuan tertentu yang didefenisikan oleh bit COM01 dan COM00. 2.4
Timer2
Timer2 adalah sebuah timer yang dapat mencacah sumber pulsa/clock dari dalam chip (timer) dengan kapasitas 8-bit atau 256 cacahan. Timer/counter2 mirip dengan Timer/counter0. Dapat digunakan untuk: a. Timer biasa b. Clear Timer on Campare March c. Generator frekuensi Mempunyai hingga 10-bit (1024) clock prescaler (pemilih clock yang masuk ke timer/counter). Untuk gambar dan cara kerja sama dengan timer0 hanya beda
17
nama register yang mempunyai sisipan/akhiran 0 yang menunuju sebagai identitas timer0 diganti dengan 2. Perbedaan lainnya yaitu timer 2 tidak dapat digunakan sebagai counter. 2.4.1
Register-register Pengendali Timer2
Timer/Counter Control Register – TCCR2 7
FOC2
6
5
4
3
WGM20 COM21 COM20 WGM21
2
CS22
1
CS21
0
CS20
1. Bit7 – FOC2: Force Output Compare Bit ini akan aktif hanya jika bit WGM dibuat untuk mode operasi nonPWM. Pege-set-an bit-FOC2 akan memaksa compare match (register pembanding = register pencacah). Bit ini selalu dibaca nol. 2. Bit6,3 – WGM21,20: Waveform Generation Mode Kedua bit digunakan untuk memilih mode operasi. 3. Bit5,4 – COM21,20: Compare Match Output Mode Kedua bit ini digunakan untuk mengendalikan sifat pin OC2 berkaitan mode operasi yang digunakan. Compare Match adalah saat keadaan dimana nilai register pencacah TCNT2 sama dengan register pembanding OCR2. 4. Bit2,0 – CS22,20: Clock Select Bit-bit ini digunakan untuk memilih/mendefinisikan/prescaler sumber clock yang masuk ke register pencacah TCNT2.
18
Tabel 2.2 Prescaler Timer2 CS22 CS21 CS20
Keterangan
0
0
0
Stop/berhenti
0
0
1
Clk (sama dengan frekuensi CPU)
0
1
0
Clock/8 (8 clock CPU=1 clock timer/counter2)
0
1
1
Clk/32 (32 clock CPU=1 clock timer/counter2)
1
0
0
Clk/64 (64 clock CPU=1 clock timer/counter2)
1
0
1
Clk/128 (128 clock CPU=1 clock timer/counter2)
1
1
0
Clk/256 (256 clock CPU=1 clock timer/counter2)
1
1
1
Clk/1024 (1024 clock CPU=1 clock timer/counter2)
Timer/Counter Register – TCNT2 Register ini bertugas mencacah/menghitung clock yang masuk ke timer/counter2 yang telah didefinisikan oleh bit-bit clock select (CS22, CS24, CS20). Lebar register ini 8-bit yang artinya hanya bisa menghitung dari 0-255 atau (0b00000000-0b11111111). Output Compare Register – OCR2 Register ini bertugas sebagai register pembanding yang bisa kita tentukan besarnya sesuai dengan kebutuhan. Dalam praktiknya pada saat TCNT2 mencacah maka otomatis oleh CPU akan dibandingkan dengan isi OCR2 secara kontinyu dan jika isi TCNT2 sama dengan isi OCR2 maka akan terjadi compare match yang dapat dimanfaatkan untuk mode CTC dan PWM.
19
2.4.2
Mode Operasi
Pemilihan mode operasi timer2 ditentukan oleh bit-WGM21 dan bit-WGM20 pada register TCCR2. a. Normal Normal Overflow: Dalam mode ini register pencacah TCNT2 bekerja secara normal salalu mencacah/menghitung ke-atas atau counting-up hingga mencapai nilai maksimal 0xFF lalu 0x00 lagi atau yang disebut overflow yang menyebabkan flag-TOV2 secara otomatis set yang menandakan terjadinya interupsi jika interupsi timer/counter2 overflow diaktifkan. Nilai awal TCNT2 tidak harus selalu 0x00 namun bisa kita tentukan misalnya 0x0F atau berapa pun sesuai dengan kebutuhan. Normal Compare Match: Dalam mode ini register TCNT2 bekerja seperti mode normal overflow, hanya jika kita isi register OCR2 maka ketika TCNT2==OCR2 maka akan terjadi compare match yang menyebabkan flag OCF2 secara otomatis set yang menandakan terjadinya interupsi jika interupsi timer2 compare match diaktifkan. Ketika compare match dalam mode ini TCNT2 akan terus menghitung hingga overflow dan mulai dari nol lagi. Kita dapat mengaktifkan kedua interupsi ini secara bersamaan. b. CTC (Clear Timer on Compare match) Dalam mode ini register pencacah TCNT2 mencacah naik (counting-up) hingga mencapai TOP nilai TCNT2 sama dengan nilai OCR2 yang kita tentukan) lalu
20
kemudian TCNT2 nol lagi yang akan otomatis menge-set flag OCF2 dan akan membangkitkan interupsi timer/counter2 compare match jika diaktifkan, dan begitu seterusnya. Frekuensi CTC dihitung dengan menggunakan persamaan berikut: fclk_I/O fOCn = 2 . N . (1 + OCRn)
Dimana Fclk_i/o adalah frekuensi clock chip yang digunakan. N adalah prescaler sumber clock yang digunakan (1, 8, 32, 64, 128, 256, 1024). 2.5
Pemrograman Mikrokontroler Arduino Mega 2560 Menggunakan Bahasa C
2.5.1 Identifier Identifier adalah nama yang diberikan pada variabel, fungsi, label atau objek lain. Identifier dapat mengandung huruf (A…Z, a-z) dan angka (0…9) dan karakter ( _ ). Identifier bersifat case sensitive. Identifier dapat mencapai maksimal 32 karakter. 2.5.2 Tipe Data Tabel 2.3 Tipe Data Tipe
Ukuran
Range
Bit
1
Char
8
0, 1 (Tipe data bit hanya dapat digunakan untuk variabel global) -128 to 127
Unsigned char
8
0 to 255
21
Signed char
8
-128 to 127
Int
16
-32768 to 32767
Short int
16
-32768 to 32767
Unsigned int
16
0 to 65535
Signed int
16
-32768 to 32767
Long int
32
-2147483648 to 2147483647
Unsigned long int
32
0 to 4294967295
Signed long int
32
-2147483648 to 2147483647
Float
32
± 1.175e-38 to ± 3.402e38
Double
32
± 1.175e-38 to ± 3.402e38
2.5.3 Array Array adalah deretan variabel yang berjenis sama dan mempunyai nama yang sama. Setiap anggota deretan (elemen) diberi nomor yang disebut indeks, dimulai dari indeks nol. Array diatur agar mempunyai lokasi memori yang bersebelahan dengan alamat terkecil menunjuk elemen array pertama dan alamat terbesar menunjukkan elemen terakhir. Elemen array dapat diakses dengan menggunakan indeksnya. Bentuk deklarasi array adalah: Tipe nama_array[ukuran] int nilai[100]; nilai[1]=10; nilai[2]=3;
2.5.4 Fungsi Sebuah program yang besar dapat dipecah menjadi beberapa subprogram yang terpisah yang melakukan fungsi tertentu. Subprogram yang yang seperti itu
22
disebut fungsi. Sebagai contoh, sebuah program yang melakukan proses pengisian data berulang kali dapat dilengkapi dengan sebuah fungsi yang bertugas untuk melakukan proses pengisian data. Apabila program hendak melakukan proses pengisian data, program dapat melakukan pemanggilan fungsi tersebut. Fungsi adalah sebuah blok yang melingkupi beberapa perintah. Deklarasi fungsi dapat dilakukan dengan cara: Tipe nama_fungsi(argument)
Parameter dalam fungsi dijelaskan sebagai berikut: Tipe
adalah nilai yang dihasilkan oleh fungsi, jika tidak dinyatakan, hasil fungsi dianggap bertipe integer. Deklarasi tipe void dapat dimanfaatkan untuk menghindari terjadinya nilai balik.
Argumen
adalah deklarasi variabel apa saja yang dibutuhkan fungsi dan bersifat optional.
2.6
Proteus
Gambar 2.8 Proteus 23
Proteus adalah sebuah software untuk mendesain PCB yang juga dilengkapi dengan simulasi pspice pada level skematik sebelum rangkaian skematik diupgrade ke PCB sehingga sebelum PCBnya di cetak kita akan tahu apakah PCB yang akan kita cetak sudah benar atau tidak. Proteus mengkombinasikan program ISIS untuk membuat skematik desain rangkaian dengan program ARES untuk membuat layout PCB dari skematik yang kita buat. Software ini bagus digunakan untuk desain rangkaian mikrokontroller. Proteus juga bagus untuk aplikasi mikrokontroller. Fitur-fitur dari PROTEUS adalah sebagai berikut : 1. Memiliki kemampuan untuk mensimulasikan hasil rancangan baik digital maupun analog maupun gabungan keduanya,Mendukung simulasi yang menarik dan simulasi secara grafis. 2. Mendukung simulasi berbagai jenis mikrokontroler seperti ATmega, PIC, 8051 series. 3. Memiliki model-model peripheral yang interactive seperti LED, tampilan LCD, RS232, dan berbagai jenis library lainnya. 4. Mendukung instrument-instrument virtual seperti voltmeter, ammeter, oscciloscope, logic analyser, dll. 5. Memiliki kemampuan menampilkan berbagi jenis analisis secara grafis seperti transient, frekuensi, noise, distorsi, AC dan DC, dll. 6. Mendukung berbagai jenis komponen-komponen analog. 7. Mendukung open architecture sehingga kita bisa memasukkan program seperti C++ untuk keperluan simulasi.
24
8. Mendukung pembuatan PCB yang di-update secara langsung dari program ISIS ke program pembuat PCB-ARES. 2.7
Solidworks
Gambar 2.9 Solidworks 2013 SOLIDWORKS adalah salah satu CAD (Computer Aided Design) software yang dibuat oleh DASSAULT SYSTEMES SOLIDWORKS CORP digunakan untuk merancang part permesinan atau susunan part permesinan yang berupa assembling dengan tampilan 3D untuk merepresentasikan part sebelum real part nya dibuat atau tampilan 2D (drawing ) untuk gambar proses permesinan. 2.8
EAGLE
Gambar 2.10 EAGLE
25
EAGLE (Easily Applicable Graphical Layout Editor) yang di kembangkan oleh Cadsoft Computer, Jerman sejak 1988. Aplikasi eagle ini dapat mengedit skematik diagram, layout PCB, auto-router dan lain sebagainya. Schematic capture berfungsi untuk mendesain rangkaian. Komponen-komponen diletakkan dilembar kerja dan dihubungkan satu sama lain melalui port-port komponen tersebut. Aplikasi ini juga dapat mendesain PCB layout berdasarkan koneksi dari skematik yang dibuat, print out dari aplikasi ini sesuai dengan komponen standard. 2.9
Produksi
Gambar 2.11 Produksi barang dalam sebuah pabrik Produksi merupakan suatu kegiatan yang dikerjakan untuk menambah nilai guna suatu benda atau menciptakan benda baru sehingga lebih bermanfaat dalam memenuhi kebutuhan. Kegiatan menambah daya guna suatu benda tanpa mengubah bentuknya dinamakan produksi jasa. Sedangkan kegiatan menambah 26
daya guna suatu benda dengan mengubah sifat dan bentuknya dinamakan produksi barang. Produksi bertujuan untuk memenuhi kebutuhan manusia untuk mencapai kemakmuran. Peningkatan produktivitas sangatlah penting bagi perusahaan untuk memperoleh keberhasilan pada proses usahanya. Salah satu contoh peningkatan produktivitas adalah dengan mengevaluasi kinerja fasilitas produksi pada perusahaan. Pada umumnya, masalah dari fasilitas produksi yang menyebabkan produksi terganggu atau terhenti sama sekali dapat dikategorikan menjadi tiga, yaitu dikarenakan oleh faktor manusia, mesin dan lingkungan. Ketiga hal tersebut dapat berpengaruh antara satu dengan yang lainnya. Loss Time adalah jumlah waktu produksi yang hilang (pabrik tidak dapat beroperasi) akibat adanya salah satu equipment yang kritis mengalami kerusakan. Salah satu cara untuk menyelesaikan permasalahan fasilitas produksi dan untuk mendukung peningkatan produktivitas adalah harus dilakukan evaluasi dan pemeliharaan secara intensif dari peralatan-peralatan (mesin) produksi, sehingga dapat digunakan seoptimal mungkin. Tetapi sering dijumpai tindakan perbaikan atau pemeliharaan yang dilakukan tidak tepat sasaran terhadap permasalahan yang sebenarnya, misalnya seperti pemeliharaan pada bagian yang tidak terjadi masalah atau melakukan pemeliharaan setelah terjadi masalah. Akibatnya, banyak ditemukan permasalahan pada suatu perusahaan bahwa kontribusi terbesar dari total biaya produksi adalah bersumber dari biaya pelaksanaan pemeliharaan peralatan, baik secara langsung maupun tidak langsung (Blanchard, 1997).
27