BAB II LANDASAN TEORI
2.1. Mikrokontroler Mikrokontroler merupakan suatu IC yang di dalamnya berisi CPU, ROM, RAM, dan I/O. Dengan adanya CPU tersebut maka mikrokontroler dapat melakukan proses berfikir berdasarkan program yang telah diberikan kepadanya. Mikrokontroler banyak terdapat pada peralatan elektronik yang serba otomatis, mesin fax, dan peralatan elektronik lainnya. Mikrokontroler dapat disebut pula sebagai komputer yang berukuran kecil yang berdaya rendah sehingga sebuah baterai dapat memberikan daya. Mikrokontroler terdiri dari beberapa bagian seperti yang terlihat pada gambar di bawah ini :
Gambar 2.1.
Bagian Mikrokontroler
5
http://digilib.mercubuana.ac.id/
6
Pada Gambar 2.1. di atas tampak suatu mikrokontroler standar yang tersusun atas komponen-komponen sebagai berikut : A. Central Processing Unit (CPU) CPU merupakan bagian utama dalam suatu mikrokontroler. CPU pada mikrokontroler ada yang berukuran 8 bit ada pula yang berukuran 16 bit. CPU ini akan membaca program yang tersimpan di dalam ROM dan melaksanakannya. B. Read Only Memory (ROM) ROM merupakan suatu memori (alat untuk mengingat) yang sifatnya hanya dibaca saja. Dengan demikian ROM tidak dapat ditulisi. Dalam dunia mikrokontroler ROM digunakan untuk menyimpan program bagi mikrokontroler
biner tersebut bila telah terbaca oleh mikrokontroler akan memiliki arti tersendiri. C. Random Acces Memory (RAM) Berbeda dengan ROM, RAM adalah jenis memori selain dapat dibaca juga dapat ditulis berulang kali. Tentunya dalam pemakaian mikrokontroler ada semacam data yang bisa berubah pada saat mikrokontroler tersebut bekerja. Perubahan data tersebut tentunya juga akan tersimpan ke dalam memori. Isi pada RAM akan hilang jika catu daya listrik hilang. D. Input / Output (I/O) Untuk
berkomunikasi
dengan
dunia
luar,
maka
mikrokontroler
menggunakan terminal I/O (port I/O), yang digunakan untuk masukan atau keluaran.
http://digilib.mercubuana.ac.id/
7
E. Komponen lainnya Beberapa mikrokontroler memiliki timer/counter, ADC (Analog to Digital Converter), dan komponen lainnya. Pemilihan komponen tambahan yang sesuai dengan tugas mikrokontr oler akan sangat membantu perancangan sehingga dapat mempertahankan ukuran yang kecil. Apabila komponen komponen tersebut belum ada pada suatu mikrokontroler, umumnya komponen tersebut masih dapat ditambahkan pada sistem mikrokontroler melalui port-portnya.
2.2. Arduino 2.2.1. Pengenalan Arduino didefinisikan sebagai sebuah platform elektronik yang open source, berbasis pada software dan hardware yang fleksibel dan mudah digunakan, yang ditujukan untuk seniman, desainer, hobbies dan setiap orang yang tertarik dalam membuat objek atau lingkungan yang interaktif (Artanto, 2012:1). Arduino sebagai sebuah platform komputasi fisik (Physical Computing) yang open source pada board input ouput sederhana, yang dimaksud dengan platform komputasi fisik disini adalah sebuah sistem fisik hyang interaktif dengan penggunaan software dan hardware yang dapat mendeteksi dan merespons situasi dan kondisi. Menurut Artanto (2012:2), kelebihan arduino dari platform hardware mikrokontroler lain adalah: 1. IDE Arduino merupakan multiplatform, yang dapat dijalankan di berbagai sistem operasi, seperti Windows, Macintosh dan Linux.
http://digilib.mercubuana.ac.id/
8
2. IDE Arduino dibuat berdasarkan pada IDE Processing, yang sederhana sehingga mudah digunakan. 3. Pemrograman arduino menggunakan kabel yang terhubung dengan port USB, bukan port serial. Fitur ini berguna karena banyak komputer yang sekarang ini tidak memiliki port serial. 4. Arduino adalah hardware dan software open source pembaca bisa mendownload software dan gambar rangkaian arduino tanpa harus membayar ke pembuat arduino. 5. Biaya hardware cukup murah, sehingga tidak terlalu menakutkan untuk membuat kesalahan. 6. Proyek arduino ini dikembangkan dalam lingkungan pendidikan sehingga bagi pemula akan lebih cepat dan mudah mempelajarinya. 7. Memiliki begitu banyak pengguna dan komunitas di internet dapat membantu setiap kesulitan yang dihadapi.
2.2.2. Sejarah Arduino Proyek Arduino dimulai pertama kali di Ovre, Italy pada tahun 2005. Tujuan proyek ini awalnya untuk membuat peralatan control interaktif dan modul pembelajaran bagi siswa yang lebih murah dibandingkan dengan prototype yang lain. Pada tahun 2010 telah terjual dari 120 unit Arduino. Arduino yang berbasis open source melibatkan tim pengembang. Pendiri arduino itu Massimo Banzi dan David Cuartielles, awalnya mereka memberi nama proyek itu dengan sebutan arduino dari ivrea tetapi seturut perkembangan zaman nama proyek itu diubah menjadi Arduino.
http://digilib.mercubuana.ac.id/
9
Arduino dikembangkan dari thesis hernando Barragan di desain interaksi institute Ivrea. Arduino dapat menerima masukan dari berbagai macam sensor dan juga dapat mengontrol lampu, motor dan aktuator lainnya. Mikrokontroler pada board arduino di program dengan menggunkan bahasa pemrograman arduino (based on wiring) dan IDE arduino (based on processing). Proyek arduino dapat berjalan sendiri atau juga bisa berkomunikasi dengan software yang berjalan pada komputer.
2.2.3. Hardware Papan Arduino merupakan papan mikrokontroler yang berukuran kecil atau dapat diartikan juga dengan suatu rangkaian berukuran kecil yang didalamnya terdapat komputer berbentuk suatu chip yang kecil. Pada Gambar 2.2. dapat dilihat sebuah papan Arduino dengan beberapa bagian komponen didalamnya.
Gambar 2.2.
Hardware Arduino
Pada hardware arduino terdiri dari 20 pin yang meliputi: a. 14 pin IO Digital (pin 0 13) Sejumlah pin digital dengan nomor 0 13 yang dapat dijadikan input atau output yang diatur dengan cara membuat program IDE.
http://digilib.mercubuana.ac.id/
10
b. 6 pin Input Analog (pin 0 5) Sejumlah pin analog bernomor 0 5 yang dapat digunakan untuk membaca nilai input yang memiliki nilai analog dan mengubahnya ke dalam angka antara 0 dan 1023. c. 6 pin Output Analog (pin 3, 5, 6, 9, 10 dan 11) Sejumlah pin yang sebenarnya merupakan pin digital tetapi sejumlah pin tersebut dapat diprogram kembali menjadi pin output analog dengan cara membuat programnya pada IDE. Papan Arduino Uno dapat mengambil daya dari USB port pada komputer dengan menggunakan USB charger atau dapat pula mengambil daya dengan menggunakan suatu AC adapter dengan tegangan 9 volt.
Jika tidak terdapat
power supply yang melalui AC adapter, maka papan Arduino akan mengambil daya dari USB port. Tetapi apabila diberikan daya melalui AC adapter secara bersamaan dengan USB port maka papan Arduino akan mengambil daya melalui AC adapter secara otomatis.
2.2.4. Software Arduino Software arduino yang digunakan adalah driver dan IDE, walaupun masih ada beberapa software lain yang sangat berguna selama pengembangan arduino. IDE atau Integrated Development Environment suatu program khusus untuk suatu komputer agar dapat membuat suatu rancangan atau sketsa program untuk papan Arduino. IDE arduino merupakan software yang sangat canggih ditulis dengan menggunakan java. IDE arduino terdiri dari:
http://digilib.mercubuana.ac.id/
11
1.
Editor Program Sebuah window yang memungkinkan pengguna menulis dan mengedit program dalam bahasa processing
2.
Compiler Sebuah modul yang mengubah kode program menjadi kode biner bagaimanapun sebuah mikrokontroler tidak akan bisa memahami bahasa processing.
3.
Uploader Sebuah modul yang memuat kode biner dari komputer ke dalam memory di dalam papan arduino Dalam bahasa pemrograman arduino ada tiga bagian utama yaitu struktur,
variabel dan fungsi (Artanto, 2012:27): 1. Struktur Program Arduino a. Kerangka Program Kerangka program arduino sangat sederhana, yaitu terdiri atas dua blok. Blok pertama adalah void setup() dan blok kedua adalah void loop. 1). Blok Void setup () Berisi kode program yang hanya dijalankan sekali sesaat setelah arduino dihidupkan atau di-reset. Merupakan bagian persiapan atau instalasi program. 2). Blok void loop() Berisi kode program yang akan dijalankan terus menerus. Merupakan tempat untuk program utama.
http://digilib.mercubuana.ac.id/
12
b. Sintaks Program Baik blok void setup loop () maupun blok function harus diberi tanda
2. Variabel Sebuah program secara garis besar dapat didefinisikan sebagai instruksi untuk memindahkan angka dengan cara yang cerdas dengan menggunakan sebuah varibel. 3. Fungsi Pada bagian ini meliputi fungsi input output digital, input output analog, advanced I/O, fungsi waktu, fungsi matematika serta fungsi komunikasi. Pada proses Uploader dimana pada proses ini mengubah bahasa pemrograman yang nantinya dicompile oleh avr-gcc (avr-gcc compiler) yang hasilnya akan disimpan kedalam papan arduino. Avr-gcc compiler merupakan suatu bagian penting untuk software bersifat open source. Dengan adanya avr-gcc compiler, maka akan membuat bahasa pemrogaman dapat dimengerti oleh mikrokontroler. Proses terakhir ini sangat penting, karena dengan adanya proses ini maka akan membuat proses pemrogaman mikrokontroler menjadi sangat mudah.
2.2.5. Melakukan Penginstalan Arduino Ke Komputer Untuk melakukan pemrogaman pada papan Arduino, disarankan untuk men-download IDE Arduino terlebih dahulu yang dapat diperoleh dari situs:
http://digilib.mercubuana.ac.id/
13
www.arduino.cc/en/Main/Software. Dan kemudian pilih versi yang tepat untuk sistem operasi komputer yang digunakan. Setelah melakukan download, lakukanlah proses uncompress dengan cara melakukan double-click pada file tersebut. Proses ini secara otomatis akan membuat suatu folder yang bernama arduino-[version], contohnya seperti arduino-0012. Setelah melakukan penginstalan IDE Arduino pada komputer, tahap selanjutnya adalah harus melakukan penginstalan untuk driver. Fungsi utama penginstalan driver ini adalah agar komputer dapat melakukan komunikasi dengan papan Arduino melalui USB port.
2.2.6. Melakukan Penginstalan Driver Untuk Windows Koneksikan papan Arduino dengan komputer dan ketika Found New Hardware Wizard pada layar muncul, Windows secara otomatis akan mencoba menemukan terlebih dahulu driver tersebut pada halaman Windows Update. Windows XP akan meminta untuk memeriksa Windows Update, dan jika tidak ingin menggunakan Windows Update pilih menu
dan
tekan tombol Next. Dan pada layar selanjutnya, pilih menu dan tekan tombol Next. Periksa layar berjudul
dan tekan
tombol Browse. Kemudian pilih folder dimana Arduino sudah terinstal dan pilih folder Drivers\FTDIUSB Drivers untuk menetukan lokasinya dan tekan tombol OK dan Next pada layar tesebut.
http://digilib.mercubuana.ac.id/
14
Windows Vista akan berusaha menemukan driver tersebut pada Windows Update, dan jika terjadi kegagalan dalam melakukan pencarian driver, maka lakukan pencarian secara manual pada folder Drivers\FTDIUSB Drivers. Proses pencarian driver secara manual memiliki dua prosedur yang harus dilewati, yang pertama komputer harus menginstal driver low-level terlebih dahulu dan yang kedua adalah menginstal bagian kode yang membuat papan Arduino terlihat seperti suatu serial port untuk komputer. Apabila driver telah terinstal, maka Arduino IDE dapat diaktifkan dan papan Arduino dapat digunakan pada komputer. Untuk tahap selanjutnya adalah harus selalu mengingat serial port komputer yang telah ditandai untuk papan Arduino.
2.2.7. Identifikasi Port Pada Windows Pada Windows, proses untuk melakukan identifikasi port sedikit lebih rumit dibandingkan dengan Machintosh. Pertama, buka layar Device Manager dengan cara memilih menu Start, lakukan right-clicking pada Computer (Vista) atau My Computer (XP), dan pilih Properties. Pada Windows XP, pilih Hardware dan kemudian pilih Device Manager. Sedangkan untuk Windows Vista, pilih Device Manager yang telah ada didalam daftar pada sebelah kiri layar. Cari Arduino device yang berada dibawah daftar
.
Arduino akan muncul sebagai suatu USB serial port dan akan memiliki suatu nama seperti COM3, hal ini dapat dilihat pada Gambar 2.3.
http://digilib.mercubuana.ac.id/
15
Gambar 2.3.
Device Manager pada Windows menampilkan semua terminal serial.
2.2.8. Pull Up Resistor Pada sistem pengaktivan PIN Arduino, kita membutuhkan pull Up Resistor. Dalam kasus ini anggap saja kita memiliki MCU dengan salah satu pin dikonfigurasi sebagai input. Jika tidak ada yang terhubung ke pin tersebut dan program membaca keadaan pin ini, apakah pin ini ada pada posisi HIGH (mendekati ke VCC) atau pada posisi LOW (mendekati ke Ground). Hal ini merupakan keadaan yang sulit untuk tebak. Fenomena seperti ini disebut sebagai floating (mengambang). Untuk mencegah keadaan yang tidak diketahui ini, pullup atau pull-down resistor akan memastikan bahwa pin tersebut dalam keadaan high
atau
low,
dan
itu
menggunakan
sejumlah
(http://www.hendriono.com/20/2016)
http://digilib.mercubuana.ac.id/
arus
yang
rendah.
16
Untuk mempermudah pemahaman, kita akan memfokuskan pada pembahasan pull-up resistor karena hal ini lebih umum dan lebih sering digunakan daripada pull-down resistor. Pull-up dan pull-down resistor beroperasi dengan menggunakan konsep yang sama, perbedaannya pull-up resistor terhubung ke sumber tegangan (biasanya 3.3V atau 5V yang sering digunakan sebagai VCC) dan pull-down resistor terhubung ke ground. Pull-up resistor sering digunakan bersama dengan tombol atau saklar (switch).
Gambar 2.4.
Gambar Skema Pull-Up
Dengan pull-up resistor, pin input akan terbaca high saat tombol tidak ditekan. Dengan kata lain, sejumlah kecil arus mengalir antara VCC dan pin input (tidak ke ground), sehingga pin input dibaca mendekati VCC. Ketika tombol ditekan, maka akan menghubungkan pin input langsung ke ground. Arus mengalir melalui resistor ke ground, sehingga pin input akan terbaca dalam keadaan low. Perlu diingat, jika resistor itu tidak ada, tombol akan menghubungkan VCC ke ground, keadaan ini sangat buruk dan juga sering disebut short (hubungan singkat). Jadi berapa nilai resistor yang harus pilih? Jawaban singkat dan mudah bahwa nilai untuk pull-
http://digilib.mercubuana.ac.id/
17
strong pull-up (banyak mengalirkan arus), nilai resistor yang tinggi disebut weak pull-up (sedikit mengalirkan arus). Nilai dari pull-up resistor harus dipilih untuk memenuhi dua kondisi:
Kondisi 1: Ketika tombol ditekan, pin input ditarik ke kondisi low (rendah). Nilai resistor R1 mengontrol tegangan yang mengalir dari VCC ke tombol, dan kemudian ke ground. Kondisi 2: Ketika tombol tidak ditekan, pin input ditarik ke kondisi high (tinggi). Nilai pull-up resistor mengontrol tegangan pada pin input. Pada kondisi 1, kita tidak ingin nilai resistor terlalu rendah. Semakin rendah resistensinya, semakin besar daya yang akan digunakan ketika tombol
mungkin saja dapat bekerja sebagai pull-up, tetapi resistansi yang terlalu besar tidak mungkin menjalankan tugasnya 100% sepanjang waktu. Pada kondisi 2 kita harus menggunakan resistor pull-up (R1) yang urutan besarnya (1/10) kurang dari impedansi input R2 pada pin input. Sebuah pin input Jadi, ketika tombol tidak ditekan, arus dengan jumlah yang sangat kecil mengalir dari VCC melalui R1 ke pin input. Pull-up resistor (R1) dan impedansi pin input (R2) membagi tegangan, dan tegangan yang dibutuhkan cukup tinggi untuk pin input agar terbaca pada kondisi high (tinggi). -up R1 dan
http://digilib.mercubuana.ac.id/
18
tegangan pada pin input akan menjadi sekitar setengah dari VCC, dan mikrokontroler mungkin tidak akan me-register pin berada dalam keadaan high. Jika pada sistem 5V, apakah MCU akan membaca input pin jika tegangan 2.5V? Apakah high atau low? MCU tidak tahu dan kita juga mungkin akan membaca
menghindari sebagian besar masalah ini. Karena pull-up resistor sering dibutuhkan, banyak MCU, seperti mikrokontroler ATmega328 pada platform Arduino, telah memiliki internal pullup yang dapat diaktifkan dan dinonaktifkan. Untuk mengaktifkan internal pull-up pada Arduino, kita dapat menggunakan kode berikut pada fungsi setup():
Gambar 2.5.
Gambar Code Fungsi Set Up Apin di Arduino
Hal ini menunjukan bahwa semakin besar resistansi untuk pull-up, semakin lambat pin ini merespon perubahan tegangan. Hal ini karena sistem pasokan pin input pada dasarnya adalah sebuah kapasitor ditambah dengan pullup resistor, sehingga membentuk filter RC, dan filter RC membutuhkan beberapa saat untuk melakukan pengisian (charge) dan pengosongan (discharge). Jika kita memiliki sinyal yang mengalami perubahan sangat cepat (seperti USB), nilai pullup resistor yang besar dapat membatasi kecepatan sehingga pin dapat melakukan perubahan dengan baik. Inilah sebabnya kita sering menemukan resistor sebesar
mengambil keputusan tentang nilai pull-up resistor yang akan digunakan.
http://digilib.mercubuana.ac.id/
19
2.2.9. Menghitung Nilai Pull-up Resistor Untuk menghitung nilai kapasitor yang di perlukan, Anggaplah bahwa kita ingin membatasi arus sekitar 1mA saat tombol ditekan pada rangkaian diatas, sedangkan tegangan yang digunakan pada rangkaian adalah 5 Volt (VCC = 5V). Berapa nilai pull-up resistor yang akan kita gunakan? Untuk menghitung nilai pull-up resistor ini sangatlah mudah menggunakan Hukum Ohm sebagai berikut: V = I.R
Mengacu pada rumus diatas maka rumus yang kita gunakan adalah:
VCC = (arus yang mengalir pada R1).R1
Atur ulang persamaan diatas dengan aljabar sederhana untuk mengetahui nilai resistor:
R1 = VCC/(arus yang mengalir pada R1)
Sehingga hasilnya seperti dibawah ini:
Ingatlah bahwa kita harus selalu mengkonversi semua unit satuan tegangan ke Volt, arus ke Ampere dan tahanan ke Ohm sebelum melakukan -up
http://digilib.mercubuana.ac.id/
20
2.2.10. Masalah Dengan IDE Pada beberapa kasus terutama pada Windows, mungkin memiliki masalah yang berhubungan dengan penggunaan IDE Arduino. Jika terdapat kesalahan saat membuka Arduino, gunakan metode alternatif dengan cara membuka file run.bat. Biasanya pemakai Windows juga sering mendapatkan masalah jika sistem operasi memberikan nomor COM10 atau yang benomor lebih untuk papan Arduino. Untuk mengatasi masalah ini, kita dapat menentukan nomor yang lebih rendah untuk Arduino dengan cara sebagai berikut: 1. Buka layar Device Manager pada Windows dengan membuka menu Start. Lakukan klik kanan (right-click) pada layar komputer untuk Vista atau My Computer dan pilih menu Properties untuk XP. Kemudian pilih menu Device Manager. 2. Cari serial device di dalam daftar
. Dan pilih serial
device bernomor COM9 atau bernomor lebih rendah yang tidak digunakan dengan cara pilih menu Properties (right-click). Kemudian pada tab Port Setting, pilih menu Advanced dan lakukan pengaturan nomor pada COM10 atau yang bernomor lebih besar. 3. Lakukan hal yang sama pada serial terminal USB yang digunakan untuk mengoperasikan Arduino. Jika beberapa saran tersebut masih tidak dapat membantu, atau jika mengalami permasalahan yang belum dijelaskan pada laporan ini, untuk troubleshooting Arduino yang lebih lengkap dapat dilihat dari halaman situs: www.arduino.cc/en/Guide/Troubleshooting.
http://digilib.mercubuana.ac.id/
21
2.2.11. Troubleshooting Arduino Dalam membuat suatu eksperimen atau percobaan dengan Arduino, memungkinkan sekali terjadinya kegagalan dalam melakukan pengoperasiannya. Sedangkan kita dituntut harus dapat memperbaiki kegagalan yang terjadi agar Arduino dapat beroperasi dengan benar. Troubleshooting dan debugging merupakan seni yang sudah ada dari dulu. Dan agar didapatkan suatu hasil yang diinginkan oleh kita, maka kita harus memenuhi peraturan yang dimiliknya terlebih dahulu. Semakin sering kita menggunakan komponen elektronik dan Arduino dalam membuat suatu percobaan, maka kita akan semakin banyak belajar dan semakin banyak mendapatkan pengalaman. Oleh karena itu, jangan putus asa dengan permasalahan yang akan muncul dalam melakukan suatu percobaan karena semuanya akan menjadi lebih mudah apabila sudah dihadapi. Seperti semua percobaan Arduino yang telah dibuat, jika terdapat kesalahan baik yang berasal dari hardware maupun software maka disana kemungkinan akan ada lebih dari satu hal yang perlu dicari penyebab dari kesalahan tersebut. Ketika mencari suatu bug atau akar dari suatu masalah yang muncul seharusnya kita mengoperasikan Arduino meliputi tiga langkah berikut: 1. Pemahaman (understanding) Mencoba untuk memahami sebanyak mungkin bagaimana cara kerja dari setiap bagian komponen yang digunakan dan bagaimana bagian dari komponen tersebut telah memberikan pengaruh terhadap percobaan yang dibuat.
http://digilib.mercubuana.ac.id/
22
2. Penyederhanaan dan pembagian (simplification and segmentation) Orang Romawi kuno mengatakan devide et impera: divide and rule, atau dalam bahasa Indonesia berarti pembagi dan peraturan. Oleh karena itu, untuk membuat percobaan Arduino cobalah lakukan perincian (break down) terhadap percobaan ke dalam setiap komponennya dengan pemahaman yang kita miliki dan memperhitungkan dimana tanggung jawab dari setiap komponen tersebut. 3. Pemisahan dan kepastian (exclusion and certainty) Ketika melakukan investigasi, melakukan pengujian secara terpisah pada setiap komponen sangat dibutuhkan untuk memastikan bahwa setiap komponen bekerja dengan benar. Dengan melakukan tahap ini akan membangun rasa keyakinan pada diri kita sendiri terhadap bagian percobaan mana yang bekerja dengan benar maupun yang tidak. Debugging adalah istilah yang telah digunakan software komputer untuk menggambarkan suatu proses tidak bekerja dengan benar. Konon dikatakan bahwa istilah tersebut dipakai untuk pertama kalinya oleh Garce Hopper pada sekitar tahun 1940-an. Dimana pada waktu itu, komputer yang sebagian besarnya merupakan peralatan elektromekanis, ada yang berhenti beroperasi karena ada serangga yang terjebak di dalam sistem mekaniknya. Tetapi pada saat ini, bug bukan berbentuk fisik lagi, melainkan suatu virtual yang tidak dapat dilihat. Oleh karena itu, terkadang dibutuhkannya suatu proses indentifikasi yang panjang dan membosankan dalam menemukan bug.
http://digilib.mercubuana.ac.id/
23
2.3. Phyton Python adalah salah satu bahasa pemrograman terkenal di dunia bahasa pemrogramman yang dinamis, termasuk di favoritkan oleh programerprogrammer kelas dunia. Dengan dasar gratis (open source), hal tersebut mulai digunakan di dunia industri waktunya
pada
di uji oleh orang orang yang memfokuskan
pengembangan
bahasa
ini
serta
(www.pysqlite.org/10/2016).
Gambar 2.6.
Contoh Program Phyton
http://digilib.mercubuana.ac.id/
pengaplikasiannya.
24
2.4. Basis Data (Database) Basis data (bahasa Inggris: database), atau sering pula dieja basisdata, adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Perangkat lunak yang digunakan untuk mengelola dan memanggil kueri (query) basis data disebut sistem manajemen basis data (database management system, DBMS). Sistem basis data dipelajari dalam ilmu informasi. (id.wikipedia.org/wiki/Basis_data/01/16)
Istilah "basis data" berawal dari ilmu komputer. Meskipun kemudian artinya semakin luas, memasukkan hal-hal di luar bidang elektronika, artikel ini mengenai basis data komputer. Catatan yang mirip dengan basis data sebenarnya sudah ada sebelum revolusi industri yaitu dalam bentuk buku besar, kuitansi dan kumpulan data yang berhubungan dengan bisnis.
Konsep dasar dari basis data adalah kumpulan dari catatan-catatan, atau potongan dari pengetahuan. Sebuah basis data memiliki penjelasan terstruktur dari jenis fakta yang tersimpan di dalamnya: penjelasan ini disebut skema. Skema menggambarkan obyek yang diwakili suatu basis data, dan hubungan di antara obyek tersebut. Ada banyak cara untuk mengorganisasi skema, atau memodelkan struktur basis data: ini dikenal sebagai model basis data atau model data. Model yang umum digunakan sekarang adalah model relasional, yang menurut istilah layman mewakili semua informasi dalam bentuk tabel-tabel yang saling berhubungan di mana setiap tabel terdiri dari baris dan kolom (definisi yang sebenarnya menggunakan terminologi matematika). Dalam model ini, hubungan
http://digilib.mercubuana.ac.id/
25
antar tabel diwakili denga menggunakan nilai yang sama antar tabel. Model yang lain seperti model hierarkis dan model jaringan menggunakan cara yang lebih eksplisit untuk mewakili hubungan antar tabel.
Istilah basis data mengacu pada koleksi dari data-data yang saling berhubungan, dan perangkat lunaknya seharusnya mengacu sebagai sistem manajemen basis data (database management system/DBMS). Jika konteksnya sudah jelas, banyak administrator dan programer menggunakan istilah basis data untuk kedua arti tersebut.
Perangkat lunak basis data yang banyak digunakan dalam pemrograman dan merupakan perangkat basis data aras tinggi (high level) SQL.
2.7.1. SQL Lite Merupakan sebuah sistem manajemen basisdata relasional yang bersifat ACID-compliant dan memiliki ukuran pustaka kode yang relatif kecil, ditulis dalam bahasa C. SQLite merupakan proyek yang bersifat public domain yang dikerjakan oleh D. Richard Hipp. Modul Python juga tersedia (PySQLite) yang diimplementasikan
pada
DB
API
Python
versi
2.0
(PEP
249).
(id.wikipedia.org/wiki/SQLite/10/2016) Tidak seperti pada paradigma client-server umumnya, Inti SQLite bukanlah sebuah sistem yang mandiri yang berkomunikasi dengan sebuah program, melainkan sebagai bagian integral dari sebuah program secara keseluruhan. Sehingga protokol komunikasi utama yang digunakan adalah melalui pemanggilan API secara langsung melalui bahasa pemrograman. Mekanisme seperti ini tentunya membawa keuntungan karena dapat mereduksi overhead,
http://digilib.mercubuana.ac.id/
26
latency times, dan secara keseluruhan lebih sederhana. Seluruh elemen basisdata (definisi data, tabel, indeks, dan data) disimpan sebagai sebuah file. Kesederhanaan dari sisi disain tersebut bisa diraih dengan cara mengunci keseluruhan file basis data pada saat sebuah transaksi dimulai. 2.5. Motor AC Motor listrik merupakan perangkat elektromagnetis yang mengubah energi listrik menjadi energi mekanik. Motor AC satu fasa berbeda cara kerjanya dengan motor AC tiga fasa, dimana pada motor AC tiga fasa untuk belitan statornya terdapat tiga belitan yang menghasilkan medan putar dan pada rotor sangkar terjadi induksi dan interaksi torsi yang menghasilkan putaran. Sedangkan pada motor satu fasa memiliki dua belitan stator, yaitu belitan fasa utama (belitan U1U2) dan belitan fasa bantu (belitan Z1-Z2), lihat gambar1.
Gambar 2.7.
Prinsip Medan Magnet Utama dan Medan magnet Bantu Motor Satu fasa
http://digilib.mercubuana.ac.id/
27
Belitan utama menggunakan penampang kawat tembaga lebih besar sehingga memiliki impedansi lebih kecil. Sedangkan belitan bantu dibuat dari tembaga berpenampang kecil dan jumlah belitannya lebih banyak, sehingga impedansinya lebih besar dibanding impedansi belitan utama. Grafik arus belitan
disebabkan karena perbedaan besarnya impedansi kedua belitan tersebut. Perbedaan arus beda fasa ini menyebabkan arus total, merupakan penjumlahan vektor arus utama dan arus bantu. Medan magnet utama yang dihasilkan belitan
Gambar 2.8.
Grafik Gelombang arus medan bantu dan arus medan utama
http://digilib.mercubuana.ac.id/
28
Gambar 2.9.
Medan magnet pada Stator Motor satu fasa
Belitan bantu Z1-Z2 pertama dialiri arus Ibantu menghasilkan fluks magnet -U2 dialiri arus utama Iutama. yang bernilai positip. Hasilnya adalah medan magnet yang bergeser sebesar 45° dengan arah berlawanan jarum jam. Kejadian ini berlangsung terus sampai satu siklus sinusoida, sehingga menghasilkan medan magnet yang berputar pada belitan statornya. Rotor motor satu fasa sama dengan rotor motor tiga fasa yaitu berbentuk batang-batang kawat yang ujung-ujungnya dihubung singkatkan dan menyerupai bentuk sangkar tupai, maka sering disebut rotor sangkar.
Gambar 2.10. Rotor Sangkar
Belitan rotor yang dipotong oleh medan putar stator, menghasilkan tegangan induksi, interaksi antara medan putar stator dan medan magnet rotor akan menghasilkan torsi putar pada rotor.
http://digilib.mercubuana.ac.id/
29
2.5.1. Motor kapasitor Motor Kapasitor satu phasa banyak digunakan dalam peralatan rumah tangga seperti motor pompa air, motor mesin cuci, motor lemari es, motor air conditioning. Konstruksinya sederhana dengan daya kecil dan bekerja dengan tegangan suplai PLN 220 V, oleh karena itu menjadikan motor kapasitor ini banyak dipakai pada peralatan rumah tangga.
Gambar 2.11. Skema Rangkaian Pembalik Putaran Pembalik putaran digunakan kontaktor dengan posisi normal Off (Normally open), S-R/L adalah saklar utama. Yang berfungsi memilih puran K1 atau K2 dengan bantuan C (kapasitor) Sebagai pengeser fasanya.
Gambar 2.12. Gambar Motor AC Mesin Cuci
http://digilib.mercubuana.ac.id/
30
2.5.2. Kapasitor Kapasitor dimaksud adalah kapasitor motor atau yang biasa juga disebut kapasitor motor AC 1 phasa. Fungsinya sendiri sebagai torsi awal untuk menggerakkan motor namun setelah berputar (inisiasi) maka kapasitor tersebut tidak lagi bekerja. Atau dengan bahasa yang lebih teknis sebagai penyuplai daya reaktif (VAR) untuk beban induktif. Jenis kapasitor ini biasanya berkapasitas rendah namun tegangannya lebih tinggi dari voltase arus bolak balik PLN yaitu 300V ke atas. Bentuk umumnya seperti pada gambar di bawah ini.
Gambar 2.13. Kapasitor Motor AC 2.6. Limit Switch Limit Switch Dan Saklar Push ON Limit Switch Dan Saklar Push ON Limit switch merupakan jenis saklar yang dilengkapi dengan katup yang berfungsi menggantikan tombol. Prinsip kerja limit switch sama seperti saklar Push ON yaitu hanya akan menghubung pada saat katupnya ditekan pada batas penekanan tertentu yang telah ditentukan dan akan memutus saat saat katup tidak ditekan. Limit switch termasuk dalam kategori sensor mekanis yaitu sensor yang akan memberikan perubahan elektrik saat terjadi perubahan mekanik pada sensor tersebut. Penerapan dari limit switch adalah sebagai sensor posisi suatu benda
http://digilib.mercubuana.ac.id/
31
(objek) yang bergerak. Simbol limit switch ditunjukan pada gambar berikut. (elektronika-dasar.web.id/10.2016)
Gambar 2.14. Sombol dan Bentuk Limit Switch 2.4.1. Karakteristik Sensor Limit Switch Hanyoung Pada Tugas akhir kali ini yang digunakan adalah limit swith Hanyoung Nux dengan Type L802 / L802C / L803 / L804 / L807 / L808 / L809 yang memiliki keunggulan : - Bentuk yang ringkas - Terbuat dari besi cor dan terdapat bagian dari plastik yang melindungi dari kebocoran listrik - 4 tipe aktuator yang dapat dipilih menyesuaikan kebutuhan - Dapat di pasang menghadap ke depan dan kebelakang - Dapat dengan mudah di pasang dengan kabel karena bukaan mudah tercapai di bagian depan - Dapat di aplikasikan di berbagai bidang industri
Gambar 2.15. Gambar Limit Switch Hanyoung Nux
http://digilib.mercubuana.ac.id/
32
2.4.2. Prinsip Kerja Limit Switch Limit switch merupakan jenis saklar yang dilengkapi dengan katup yang berfungsi menggantikan tombol. Prinsip kerja limit switch sama seperti saklar Push ON yaitu hanya akan menghubung pada saat katupnya ditekan pada batas penekanan tertentu yang telah ditentukan dan akan memutus saat saat katup tidak ditekan. Limit switch termasuk dalam kategori sensor mekanis yaitu sensor yang akan memberikan perubahan elektrik saat terjadi perubahan mekanik pada sensor tersebut. Penerapan dari limit switch adalah sebagai sensor posisi suatu benda (objek) yang bergerak. Limit
switch
umumnya
digunakan
untuk
:
Memutuskan
dan
menghubungkan rangkaian menggunakan objek atau benda lain. Menghidupkan daya yang besar, dengan sarana yang kecil. Sebagai sensor posisi atau kondisi suatu objek. Prinsip kerja limit switch diaktifkan dengan penekanan pada tombolnya pada batas/daerah yang telah ditentukan sebelumnya sehingga terjadi pemutusan atau penghubungan rangkaian dari rangkaian tersebut. Limit switch memiliki 2 kontak yaitu NO (Normally Open) dan kontak NC (Normally Close) dimana salah satu kontak akan aktif jika tombolnya tertekan.
2.7. Kontaktor Kontaktor adalah jenis saklar yang bekerja secara magnetik yaitu kontak bekerja apabila kumparan diberi energi. The National Manufacture Assosiation (NEMA) mendefinisikan kontaktor magnetis sebagai alat yang digerakan secara magnetis untuk menyambung dan membuka rangkaian daya listrik. Tidak seperti relay, kontaktor dirancang untuk menyambung dan membuka rangkaian daya
http://digilib.mercubuana.ac.id/
33
listrik tanpa merusak. Beban-beban tersebut meliputi lampu, pemanas, transformator, kapasitor, dan motor listrik. Adapun peralatan elektromekanis yang digunakan adaladari Schneider dengan maksimal amper 25 S, jenis kontaktor magnet yang digunakan dapat dilihat pada gambar berikut :
Gambar 2.16. Kontaktor 2.7.1. Prinsip Kerja Sebuah kontaktor terdiri dari koil, beberapa kontak Normally Open ( NO ) dan beberapa Normally Close ( NC ). Pada saat satu kontaktor normal, NO akan membuka dan pada saat kontaktor bekerja, NO akan menutup. Sedangkan kontak NC sebaliknya yaitu ketika dalam keadaan normal kontak NC akan menutup dan dalam keadaan bekerja kontak NC akan membuka. Koil adalah lilitan yang apabila diberi tegangan akan terjadi magnetisasi dan menarik kontak-kontaknya sehingga terjadi perubahan atau bekerja. Kontaktor yang dioperasikan secara elektromagnetis adalah salah satu mekanisme yang paling bermanfaat yang pernah dirancang untuk penutupan dan pembukaan rangkaian listrik maka gambar prinsip kerja kontaktor magnet dapat dilihat pada gambar berikut : Kontaktor termasuk jenis saklar motor yang digerakkan oleh magnet seperti yang telah dijelaskan di atas. Bila pada jepitan a dan b kumparan magnet diberi tegangan, maka magnet akan menarik jangkar sehingga kontak-kontak bergerak
http://digilib.mercubuana.ac.id/
34
yang berhubungan dengan jangkar tersebut ikut tertarik. Tegangan yang harus dipasangkan dapat tegangan bolak balik ( AC ) maupun tegangan searah ( DC ), tergantung dari bagaimana magnet tersebut dirancangkan. Untuk beberapa keperluan digunakan juga kumparan arus ( bukan tegangan ), akan tetapi dari segi produksi lebih disukai kumparan tegangan karena besarnya tegangan umumnya sudah dinormalisasi dan tidak tergantung dari keperluan alat pemakai tertentu. Spesifikasi kontaktor magnet yang harus diperhatikan adalah kemampuan daya kontaktor ditulis dalam ukuran Watt / KW, yang disesuaikan dengan beban yang dipikul, kemampuan menghantarkan arus dari kontak
kontaknya, ditulis
dalam satuan ampere, kemampuan tegangan dari kumparan magnet, apakah untuk tegangan 127 Volt atau 220 Volt, begitupun frekuensinya, kemampuan melindungi terhadap tegangan rendah, misalnya ditulis ± 20 % dari tegangan kerja. Dengan demikian dari segi keamanan dan kepraktisan, penggunaan kontaktor
magnet
jauh
lebih
baik
dari
pada
saklar
biasa.
Aplikasi Keuntungan penggunaan kontaktor magnetis sebagai pengganti peralatan kontrol yang dioperasikan secara manual meliputi hal : a. Pada penangan arus besar atau tegangan tinggi, sulit untuk membangun alat manual yang cocok. Lebih dari itu, alat seperti itu besar dan sulit mengoperasikannya. Sebaliknya, akan relatif sederhana untuk membangun kontaktor magnetis yang akan menangani arus yang besar atau tegangan yang tinggi, dan alat manual harus mengontrol hanya kumparan dari kontaktor.
http://digilib.mercubuana.ac.id/
35
b. Kontaktor memungkinkan operasi majemuk dilaksanakan dari satu operator (satu lokasi) dan diinterlocked untuk mencegah kesalahan dan bahaya operasi. c. Pengoperasian yang harus diulang beberapa kali dalam satu jam, dapat digunakan kontaktor untuk menghemat usaha. Operator secara sederhana harus menekan tombol dan kontaktor akan memulai urutan event yang benar secara otomatis. d. Kontaktor dapat dikontrol secara otomatis dengan alat pilot atau sensor yang sangat peka. e. Tegangan yang tinggi dapat diatasi oleh kontaktor dan menjauhkan seluruhnya dari operator, sehingga meningkatkan keselamatan / keamanan instalasi. f. Dengan menggunakan kontaktor peralatan kontrol dapat dipasangkan pada titik-titik yang jauh. Satu-satunya ruang yang diperlukan dekat mesin adalah ruangan untuk tombol tekan. g. Dengan kontaktor, kontrol otomatis dan semi otomatis mungkin dilakukan dengan peralatan seperti kontrol logika yang dapat diprogram seperti Programmable Logic Controller (PLC) atau Arduino.
2.8. RFID Reader Radio Frequency Identification (RFID) adalah teknologi wireless yang kompak. RFID berpotensi sangat besar untuk kemajuan perniagaan (commerce). RFID menggunakan chip yang dapat dideteksi pada range beberapa meter oleh pembaca RFID. Sebagai contoh RFID dapat menjadi barcode generasi berikutnya
http://digilib.mercubuana.ac.id/
36
yang dapat digunakan untuk otomatisasi inventory control akan memberikan banyak kemudahan dan dapat mengurangi biaya dari pabrik ke distributor. RFID merupakan teknologi yang masih baru, dan akan terus berkembang. Seiring dengan kemajuan teknologi rangkaian terintegrasi, maka dapat dipastikan bahwa tag RFID dapat diaplikasikan dalam berbagai bidang. Kebutuhan akan tag RFID juga akan bertambah di waktu yang akan datang, karena kebutuhan akan proses yang berhubungan dengan identifikasi dan keamanan yang lebih nyaman, efisien, dan hemat waktu.
Gambar 2.17. Jenis Jenis RFID
Sebuah label RFID dapat ditempelkan ke sebuah obyek dan digunakan untuk melacak dan mengelola inventaris, aset, orang, dan lain-lain. Sebagai contoh, label RFID bisa ditempelkan di mobil, peralatan komputer, buku-buku, ponsel, dan lain-lain. RFID menawarkan keunggulan dibandingkan sistem manual atau penggunaan kode batang. Label dapat dibaca jika melewati dekat pembaca label, bahkan jika pembaca tertutup oleh objek atau tidak terlihat. Label dapat dibaca di dalam sebuah wadah, karton, kotak atau lainnya. Label RFID dapat
http://digilib.mercubuana.ac.id/
37
membaca ratusan pada satu waktu, sedangkan kode batang hanya dapat dibaca satu per satu.
RFID dapat digunakan dalam berbagai aplikasi, seperti:
Manajement Akses Pelacakan barang Pengumpulan dan pembayaran toll tanpa kontak langsung
2.9. Raspberry Raspberry Pi, sering juga disingkat dengan nama Raspi, adalah komputer papan tunggal (Single Board Circuit /SBC)yang memiliki ukuran sebesar kartu kredit. Raspberry Pi bisa digunakan untuk berbagai keperluan, seperti spreadsheet, game, bahkan bisa digunakan sebagai media player karena kemampuannya dalam memutar video high definition. Raspberry Pi dikembangkan oleh yayasan nirlaba, Rasberry Pi Foundation yang digawangi sejumlah developer dan ahli komputer dari Universitas Cambridge, Inggris. Raspberry Pi memiliki dua model yaitu model A dan model B. Secara umum Raspberry Pi Model B, 512MB RAM. Perbedaan model A dan B terletak pada memory yang digunakan, Model A menggunakan memory 256 MB dan model B 512 MB. Selain itu model B juga sudah dilengkapai dengan ethernet port (kartu jaringan) yang tidak terdapat di model A. Desain Raspberry Pi didasarkan seputar SoC (System-on-a-chip) Broadcom BCM2835, yang telah menanamkan prosesor ARM1176JZF-S dengan 700 MHz, VideoCore IV GPU, dan 256 Megabyte RAM (model B). Penyimpanan data didisain tidak untuk menggunakan hard disk atau solid-state drive, melainkan mengandalkan kartu SD (SD memory
http://digilib.mercubuana.ac.id/
38
card) untuk booting dan penyimpanan jangka panjang. Raspberry Pi merupakan komputer mini yang sangat murah, harganya hanya 25 dollar AS untuk Model A adapun 35 dollar AS utuk Model B per unit
Gambar 2.18. Tampilan Raspberry ; Raspberry Pi1(B) tipe Bsampai raspbberry Pi2 (B+) Hardware Raspberry Pi tidak memiliki real-time clock, sehingga OS harus memanfaatkan timer jaringan server sebagai pengganti. Namun komputer yang mudah dikembangkan ini dapat ditambahkan dengan fungsi real-time (seperti DS1307) dan banyak lainnya, melalui saluran GPIO (General-purpose input/output) via antarmuka I²C (Inter-Integrated Circuit). Raspberry Pi bersifat open source (berbasis Linux), Raspberry Pi bisa dimodifikasi sesuai kebutuhan penggunanya. Sistem operasi utama Raspberry Pi menggunakan Debian GNU/Linux dan bahasa pemrograman Python. Salah satu pengembang OS untuk Raspberry Pi telah meluncurkan sistem operasi yang dinamai Raspbian, Raspbian diklaim mampu memaksimalkan perangkat Raspberry Pi. Sistem operasi tersebut dibuat berbasis Debian yang merupakan salah satu distribusi Linux OS. 2.7.1. Sejarah Ide dibalik komputer mungil ini diawali dari keinginan untuk mencetak generasi baru programer, pada 2006 lalu. Seperti disebutkan dalam situs resmi Raspberry Pi Foundation, waktu itu Eben Upton, Rob Mullins, Jack Lang, dan
http://digilib.mercubuana.ac.id/
39
Alan Mycroft, dari Laboratorium Komputer Universitas Cambridge memiliki kekhawatiran melihat kian turunnya keahlian dan jumlah siswa yang hendak belajar ilmu komputer. Mereka lantas mendirikan yayasan Raspberry Pi bersama dengan Pete Lomas dan David Braben pada 2009. Tiga tahun kemudian, Raspberry Pi Model B memasuki produksi masal. Dalam peluncuran pertamanya pada akhir Febuari 2012 dalam beberapa jam saja sudah terjual 100.000 unit. Kini, sekitar dua tahun kemudian, Rasberry Pi telah terjual lebih dari 2,5 juta unit ke seluruh dunia.
2.7.2. Spesifikasi Raspberry Pi Raspberry yang kami gunakan memiliki spesifikasi sebagai berikut : Chip : Broadcom BCM2835 (CPU, GPU, DSP, and SDRAM) CPU : 700 MHz ARM1176JZF-S core (ARM6 family) GPU : Broadcom VideoCore IV, OpenGL ES 2.0, 1080p30 h.264/MPEG Memory (SDRAM) : 512 MB (shared with GPU) USB 2.0 ports : 2 (via integrated USB hub) Video outputs : Composite RCA (PAL & NTSC), HDMI (rev 1.3 & 1.4), raw LCD Panels via DSI 14 HDMI resolutions from * 640×350 to 1920×1200 plus various PAL and NTSC standards. Audio outputs : 3.5 mm jack, HDMI Onboard storage : SD / MMC / SDIO card slot Onboard network : 10/100 Ethernet (RJ45)
http://digilib.mercubuana.ac.id/
40
Low-level peripherals: 8 × GPIO, UART, I²C bus, SPI bus with two chip selects, +3.3 V, +5 V, ground[58][63] Power ratings : 700 mA (3.5 W) Power source : 5 volt via MicroUSB or GPIO header Size : 85.60 × 53.98 mm (3.370 × 2.125 in) Operating systems : Debian GNU/Linux, Fedora, Arch Linux ARM, RISC OS
http://digilib.mercubuana.ac.id/