BAB III PERANCANGAN DAN PEMBUATAN ALAT KENDALI 3.1 Umum Alat kendali yang sempurna adalah hubungan antara perangkat input dan output yang akurat dengan media penghubung yang stabil. Untuk dapat memperoleh output yang sesuai dengan input maka dibutuhkan sebuah proses, pemrosesan pada umumnya menggunakan microcontroller dengan bahasa yang sesuai dengan microcontroller yang digunakan. Kemudian alur bahasa (Program) di download ke microcontroller dengan cara tertentu. Gambar 3.1 Prototipe Pengandali Wireless 33 34 3.2 Blok Diagram Perancangan Merupakan sebuah gambaran dari sistem, sirkuit atau program yang masing-masing fungsinya diwakili oleh gambar kotak berlabel dan hubungan diantaranya digambarkan dengan garis penghubung, garis penghubung mewakili bagaimana cara tiap piranti dapat saling berinteraksi sehingga menghasilkan kesatuan alat kendali. 3.2.1 Cara Kerja Sistem Gambar 3.2 Block Diagram Sistem Kendali Dasar sistem diatas adalah mengendalikan sebuah lampu (output) tanpa kabel (wireless). Smartphone (input) dimanfaatkan untuk mengendalikan lampu untuk dapat on dan off. Untuk menghubungkan antara lampu dengan smartphone supaya dapat bersesuaian dibutuhkan koneksi data, koneksi data bisa didapatkan dari mobile data ataupun dari jaringan wifi yang tersebar di area tertentu. Kemudian kedua hubungan antara input dan output tersebut diproses dengan 35 Raspberry. Langkah pemrosesan yaitu dengan memasukkan bahasa yang sesuai dengan Raspberry dan menuliskan alur program yang diinginkan. Dalam pemograman Raspberry bahasa pemograman yang digunakan adalah bahasa python. 3.3 Wiring Diagram Berikut merupakan perancangan elektrikal dalam bentuk wiring diagram dimana terdapat Raspberry pi 2 model B, proto header pi-shield, relay dan lampu. Gambar 3.3 Wiring Diagram Alat pengendali Hubungan antar modul adalah sebagai berikut : Tabel 3.1 Hubungan USB Wireless Adapter Dan Raspberry Dengan DT-Proto Header PiShield 36 Tabel 3.2 Hubungan DT-Poto Header PiShield dan DT-I/O Quad Relay Board, Lampu Pijar dan Kabel Sumber AC 220V 3.4 Perangkat Keras (Hardware) Adalah semua bagian fisik dalam satu kesatuan sistem yang berfungsi untuk memberi masukan, mengolah dan menampilkan keluaran, dan digunakan oleh sistem untuk menjalankan perintah yang telah diprogramkan. Jadi perangkat keras bukan hanya bagian fisik dalam sebuah sistem tetapi juga harus memiliki keterkaitan dengan sistem komputer melalui perangkat lunak. Gambar 3.4 Bentuk Fisik Alat 37 3.4.1 Raspberry Pi 2 Model B Adalah Single Board Computer (SBC). Fungsinya untuk memproses apa yang diinteraksikan oleh input dan bersesuaian dengan output. Berikut adalah dimensi raspberry pi 2 model B : Gambar 3.5 Dimensi Raspberry Pi 2 Model B 3.4.2 Relay Piranti ini mempunyai fungsi sebagai penggerak (Driver) dari arus lemah dan menggerakkan arus kuat. Gambar 3.6 Dimensi Dari Relay Dengan Satuan MiliMeter 38 3.4.3 DT-Proto Header Pi-Shield Merupakan modul adapter untuk mengubah tata letak pin input/output Raspberry agar kompatibel dengan produk-produk lain yang menggunakan antarmuka melalui header 5x2. Gambar 3.7 Dimensi Proto Header Pi-shield 3.4.4 Wireless N USB Adapter Berfungsi untuk menghubungkan komputer ke jaringan nirkabel yang terdapat di area tersebut. Gambar 3.8 Dimensi TL-WN727N Wireless Adapter 39 3.4.5 Fitting Lampu Tempat untuk lampu yang berfungsi sebagai isolator antara fasa dengan ground yang dijembatani oleh sebuah lampu. Gambar 3.9 Dimensi Fitting lampu 3.5 Perangkat Lunak Sistem Operasi Operating system software merupakan perangkat lunak yang berfungsi untuk mengkonfigurasikan komputer agar dapat menerima berbagai perintah dasar yang diberikan sebagai masukan (Input) dengan bahasa tertentu. Perangkat lunak sistem juga merupakan sekumpulan program yang ditulis untuk melayani program-program yang lain. 3.5.1 Operating System Raspbian Raspbian (Raspberry Debian Optimazed) merupakan gabungan dari 2 sistem operasi. Salah satu sistem operasi yang pada umumnya digunakan pada raspberry, sistem operasi ini berbasis linux. Didalam operasi sistem ini terdapat menu pemograman yang berfungsi untuk menjembatani interaksi pengguna dengan komputer dengan bahasa tertentu. 40 3.5.1.1 Instalasi Operasi Sistem Raspbian Untuk dapat menginstal os raspbian (Raspberry Debian Dptimazed) membutuhkan beberapa software, software tersebut adalah : 1. Raspbian Software ini merupakan yang paling banyak digunakan untuk operasi sistem raspberry. Software ini dapat didownload dari https://www.raspberrypi.org/downloads/. 2. SDFormatter Software ini berfungsi untuk membersihkan SDCard, agar hanya software raspbian yang terdapat pada SDCard tersebut. Software ini dapat didownload dari google dengan keyword SDFormatter. 3. Win32DiskImager Merupakan software open source yang dapat digunakan untuk menginstalasikan sebuah image usb dan sd card ke dalam UFD dan SDCard. Image tersebut bisa berupa sistem operasi tertentu, seperti Raspbian, Ubuntu Netbook Remix dan lain-lain. Hardware digunakan untuk mendukung proses instalasi, hardware meliputi: 1. Keyboard Berfungsi untuk mengirimkan berbagai macam fungsi perintah ke CPU 2. Mouse berfungsi untuk mengarahkan dan juga mengatur posisi kursor (pointer) sebagai penunjuk tombol atau objek perintah pada desktop di monitor. 41 3. Monitor digunakan sebagai alat output data secara grafis pada sebuah CPU. 4. Kabel VGA To HDMI Berfungsi untuk mengkonvert input VGA dengan output HDMI pada monitor. 5. SDCard Slot Disk Card merupakan kartu penyimapanan yang berbentuk micro portable. Berfungsi untuk menyimpan sistem operasi untuk raspberry. Setelah semua persiapan hardware dan software, berikut adalah langkah langkah penginstalan : 1. Buka file SDFormater Gambar 3.10 Tampilan SDFormatter Klik option, pilih format size adjustment kemudian pilih on lalu klik format. Maka akan muncul tampilan seperti berikut : 42 Gambar 3.11 Tampilan SDFormatter Memulai Format Klik ok, maka proses formatting akan berjalan. Setelah proses formatting selesai klik ok kemudian exit. Dan berikut adalah tampilan setelah proses formatting selesai : Gambar 3.12 Tampilan Formatting Selesai 2. Memasukkan Image CD Raspbian Ke SDCard Buka file Win32DiskManager, kemudian browse file image raspbian. Pastikan instalasi image ke SDCard. Gambar 3.13 Tampilan Win32DiskManager Kemudia klik write dan yes ketika muncul pop up berikutnya. Instalasi image ke SDCard membutuhkan waktu sedikit lama, tergantung size dari image tersebut. 43 Setelah muncul pemberitahuan “Write Succesfull” kemudian klik exit. Lepaskan SDCard dari komputer atau laptop. Dan pasangkan ke slot SDCard Raspberry. Langkah selanjutnya adalah instalasi sistem operasi pada Raspberry. Hubungkan hardware ke slot-slot yang terdapat pada Raspberry. Pastikan terhubung dengan baik dan benar. Berikan tegangan DC 5 Volt dengan arus minimal 0,7 Ampere pada slot untuk masukan tegangan pada raspberry, maka proses booting akan otomatis berjalan. Gambar 3.14 Raspberry sedang melakukan proses booting Setelah proses booting selesai, maka akan muncul menu “Raspberry Pi Software Configuration” Gambar 3.15 Tampilan Raspberry Pi Software Configuration 44 Tekan enter pada keyboard pada expand fileystem untuk memastikan sistem operasi raspbian pada SDCard. Setelah itu pilih nomer 3 (enable boot to desktop/scratch) pada menu, tekan enter. Kemudian pilih opsi kedua (Desktop Log in as user ‘pi’ at the graphical desktop) tekan enter. Pilih finish dan tekan enter maka akan muncul opsi reboot, pilih yes maka proses booting ulang akan berjalan. Setelah proses booting berhenti berjalan masukkan user “pi” dan password “raspberry”. Dengan mengetikan “startx” maka jendela awal raspberry akan muncul. Ini menandakan instalasi sistem operasi raspberry telah berhasil. Gambar 3.16 Tampilan Awal Sistem Operasi Raspbian 3.5.2 Phyton IDE Phyton merupakan nama aplikasi untuk pemograman dan bahasa pemograman. Berfungsi untuk menjembatani interaksi pengguna dengan komputer dengan bahasa tertentu. Aplikasi phyton sudah secara default terpasang pada sistem operasi Raspbian pada sub menu programming. 45 3.5.3 Instalasi USB Wireless Adapter Berikut adalah proses instalasi USB Wireless Adapter. Pada pembuatan alat ini USB Wireless Adapter yang digunakan adalah merek TP-LINK dengan seri TL-WN727N. Note : hubungkan raspberry dengan koneksi data. sebelum proses penginstalan driver lakukan update, dengan cara mengetikkan “sudo apt-get update” pada LXTerminal. 1. Ketahui chipset yang terpasang pada USB Wireless Adapter. Dengan mengetikan “dmesg | grep ‘Product:\|Manufacturer:” pada LXTerminal di Raspberry. Gambar 3.17 Tampilan Ketika mengetikan dmesg | grep ‘Product:\|Manufacturer Tertulis “Product: 802.11 n WLAN” adalah piranti wireless adapter dengan “Manufacturer: Mediatek” maka piranti tersebut menggunakan chipset mediatek. 2. Pasang mediatek wireless adapter dengan cara mengetikkan “sudo updateusbids” pada LXTerminal. Pastikan wireless adapter terpasang dengan mengeceknya dengan mengetikkan “lsusb” pada LXTerminal. 46 Gambar 3.18 Tampilan Piranti Pada Raspberry Yang Melekat Pada Raspberry Terdapat tulisan “Corp. MT7601U Wireless Adapter” menendakan mediatek wireless adapter telah terpasang pada piranti. Setelah terpasang install firmware driver tersebut dengan cara mengetikkan “sudo apt-get install firmware-ralink”. 3. Download dan install driver. Sebelum mengunduh driver ketahui terlebih dahulu ketahui terlebih dahulu versi kernel. Dengan mengetikkan “uname –a” pada LXTerminal Untuk dapat mengetahui versi kernel. Gambar 3.19 Tampilan Versi Kernel Linux Raspberrypi Tiap versi kernel memliki versi driver chipset yang berbeda juga. Maka download driver chipset akan berbeda jika versi kernel linux berbeda. Setelah mengetahui versi kernel linux lakukan proses download dan install, dengan cara mengetikkan source code pada LXTerminal sebagai berikut: 47 cd /tmp wget https://dl.dropboxusercontent.com/u/67643651/mt7601_3.18.7v7.tar.gz sudo tar xf mt7601_3.18.7-v7.tar.gz -C / sudo depmod 3.18.7-v7+ sudo reboot pastikan driver sudah terinstal, cek dengan cara mengetik “iwconfig” pada LXTerminal. USB Wireless Adapter TP-LINK TL-WN727N didefinisikan sebagai “ra0” dan tidak sebagai Wlan0. Dapat dirubah dengan cara mengetikkan “sudo LXTerminal, maka nano akan /etc/udev/rules.d/95-ralink.rules” berada pada interface pada udev/rules.d/95- ralink.rules, kemudian masukkan beberapa value “ACTION=="add", SUBSYSTEM=="net", ATTR{type}=="1", KERNEL=="ra*", NAME="wlan0"” seperti gambar berikut: Gambar 3.20 Tampilan Interface dari sudo nano /etc/udev/rules.d/95ralink.rules 48 3.5.4 Instalasi Library WiringPi v2 WiringPi adalah library untuk akses GPIO ditulis dalam bahasa C untuk BCM2836 yang digunakan dalam Raspberry Pi. Berikut adalah langkah-langkah instalasi WiringPi v2 melalui LXTerminal : Note : koneksikan raspberry dengan jaringan data. 1. Pertama update terlebih dahulu, dengan cara mengetikkan “sudo apt-get update” pada LXTerminal. 2. Instalasi PythonDev dan PythonPip, dengan cara mengetikkan “sudo apt-get install python-dev python-pip” pada LXTerminal. 3. Instalasi WiringPi2, dengan cara mengetikkan “sudo pip install wiringpi2” pada LXTerminal. 3.6 Pemograman Setelah perangkat lunak (software) dan perangkat keras (hardware) terpasang dan berjalan dengan baik maka selanjutnya dalam sistem adalah proses. Membuat kesesuain antara hardware dengan software, yang berjalan sesuai rencana (plan). Melakukan penulisan alur code dan disimpan pada Raspberry kemudian mengoprasikannya. 3.6.1 Pemograman Raspberry Banyak aplikasi untuk pemograman Raspberry, untuk sistem ini penulis menggunakan aplikasi python. Program yang penulis tulis dinamai dengan inshaaallah.py, Dengan flowchart sistem sebagai berikut : 49 Gambar 3.21 Alur Program inshaallah.py Penjelasan untuk alur program inshaallah.py : Pertama, melakukan deklarasi modul-modul dan library yang akan digunakan pada pada sub program berikutnya. Kedua, melakukan pemograman antarmuka antara jaringan data (wifi) dan GPIO pada Raspberry. Program ini dilakukan agar wifi dapat menginstruksi GPIO. Setelah itu, melakukan koneksi TCP_IP dan TCP_PORT. Pemograman ini dilakukan untuk melakukan proses koneksi dengan jaringan data yang ada disekitar. Ketiga, proses menunggu TCP_IP dan TCP_PORT berinteraksi. Jika terjadi interaksi maka program akan masuk ke while 1, dimana program ini akan terus mengulang semua program yang ada di while 1. 50 Gambar 3.22 Screen Shot pemograman inshaallah.py 3.6.2 Pemograman Android Pada langkah ini, penulis membuat aplikasi pengendali dengan memanfaatkan smartphone dengan sistem operasi android. Aplikasi yang dibuat dengan software eclipse. Terdapat 3 bagian penting dalam program eclipse yaitu file yang berkestensi .java pada folder src, file yang berkestensi .xml pada folder layout dan android manifest (sebagai pendukung module seperti launcher, koneksi Bluetooth dan lainnya). R.java adalah file Penghubung antara file yang yang berekstensi .java (pada folder src) dengan file yang berekstensi .xml (pada folder layout). R.java yang terdapat pada folder gen. apabila R.java tidak ada maka aplikasi yang dibuat tidak akan berjalan karena penghubung antara file .java dengan file.xml tidak ada. Semua interface yang telah dibuat pada folder .xml akan dipanggil pada file .java. Dengan flowchart sebagai berikut : 51 Gambar 3.23 Alur Diagram Pemograman Aplikasi Pengendali Pada pembuatan aplikasi dan pemograman pada eclipse dibuat 2 buah file .java yaitu : MainActifity.java dan configActifity.java. MainActifity.java memanggil file actifity_main.xml sebagai menu utama yang ditampilkan sebagai berikut : Gambar 3.24 Screen Shoot MainActifity.java 52 File MainActifity.java akan memanggil actifity_main.xml sebagai interface Gambar 3.25 Screen Shoot actifity_main.xml Disertai dengan pembuatan grafis sebagai interface dari actifity_main, untuk tampilan aplikasi pada smartphone android. Gambar 3.26 Screen Shoot Interface Dari actifity_main.xml AndroidManifest.xml merupakan file pendukung dari beberapa file yang telah disebutkan diatas. Didalamnya akan memanggil class java yang sudah terhubung dengan file xml yang kemudian akan dijalankan dalam launcher. Untuk koneksi Bluetooth juga diatur dalam android manifest. Android manifest mengatur segala 53 apa yang diutuhkan dalam aplikasi yang dibuat seperti logo, icon, screen mode, pemilihan class dan lain sebagainya. Dibawah ini adalah screen shoot dari AndroidManifest.xml yang dibuat dalam aplikasi pengendali. Gambar 3.27 Screen Shoot AndroidManifest.xml Setelah tahap pembuatan selesai maka diperlukan export program tersebut menjadi file .apk sehingga dapat di install dan digunakan dengan smartphone android dengan klasifikasi sistem operasi sesuai dengan format pada awal pembuatan. Gambar 3.28 menampilkan sub menu untuk menampilkan tab export file to .apk. Gambar 3.28 Screen Shoot Menu Export 54 Setelah itu muncul menu tujuan export, pilih android kemudian pilih Export Android Application dan klik next untuk melanjutkan ke pengaturan aplikasi. Gambar 3.29 Screen Shoot Tab Export Tahap selanjutnya yaitu dengan mengisikan nama project yang sudah dibuat, untuk selanjutnya di export. Gambar 3.30 Screen Shoot Tab Include Project Tahap selanjutnya adalah pengaturan keystore, yaitu pengaturan keamanan jika aplikasi tersebut ingin di sebarluaskan melalui Google Play Store. Pilih Create New Keystore kemudian masukkan kode sandi pengaman. 55 Gambar 3.31 Screen Shoot Pembuatan Keystore Jika terdapat pemberitahuan merah berarti aplikasi tersebut sudah ada didalam penyimpanan komputer. Jika tidak terdapat pemberitahuan berwarna merah maka akan ke tahap pengaturan kadaluarsa aplikasi tersebut. Setelah itu memilih tempat penyimpanan untuk menyimpan aplikasi yang sudah siap dipasang di smartphone dengan operasi sistem android.