tugas akhir - sanata dharma universityrepository.usd.ac.id/9374/2/145114051_full.pdf · fi hotspot...
TRANSCRIPT
TUGAS AKHIR
MONITORING MESIN
PEMILAH BENDA BERBASIS ANDROID
Diajukan untuk memenuhi salah satu syarat
Memperoleh gelar Sarjana Teknik pada
Program Studi Teknik Elektro
Jurusan Teknik Elektro
Fakultas Sains dan Teknologi Universitas Sanata Dharma
Disusun oleh :
ALEXANDER KRISNA KURNIAWAN
NIM : 145114051
JURUSAN TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2017
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
FINAL PROJECT
MONITORING PROCESS SHORTING MACHINE
BASED ON ANDROID SYSTEM
In a partial fulfilment of the requirements
For the degree of Sarjana Teknik
Department of Electrical Engineering
Faculty of Science and Technology, Sanata Dharma University
ALEXANDER KRISNA KURNIAWAN
NIM : 145114051
DEPARTMENT OF ELECTRICAL ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2017
ii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP
MOTTO :
MAJU TERUS PANTANG MUDUR
Skripsi ini kupersembahkan untuk…..
Tuhan Yesus Kristus
Pak Susilo Sekeluarga
Sahabat
Teman-teman seperjuangan dan OMK
v
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
INTISARI
Sebuah system monitoring mesin pemilah benda yang dapat digunakan dengan
jarak jauh mampu mempermudah pengguna untuk memantau kinerja mesin tersebut tanpa
harus bertatap muka langsung dengan mesin. Sistem monitoring berbasis Android adalah
salah satu solusi alternative karena setiap orang saat ini menggunakan gadget tersebut
untuk kebutuhan sehari-hari.
Sistem monitoring berbasis Android sebagai layar monitor dan mikrokontroller
sebagai perantara dibuat dengan program Android Studio yang menghasilkan sebuah
aplikasi monitoring mesin pemilah benda. Informasi yang diperoleh dari mesin pemilah
benda akan diproses oleh mikrokontroller lalu informasi tersebut akan dikomunikasikan
dengan aplikasi mesin pemilah benda yang ada di ponsel android. Metode yang digunakan
untuk mengirimkan data adalah komunikasi melalui jaringan Wi-Fi dari ESP 8266 dan Wi-
Fi Hotspot ponsel android. Mikrokontroler akan mengirimkan data string, setelah diterima
oleh ponsel android, data akan diolah oleh aplikasi mesin pemilah benda dan data yang
akan ditampilkan berupa karakter angka atau karakter huruf kedalam layar aplikasi mesin
pemilah benda.
Hasil akhir dari aplikasi mesin pemilah sampah adalah sebuah aplikasi yang
mewakili tampilan dari mesin pemilah benda, dimana pada layar ponsel android akan
tertampil jumlah setiap benda yang telah tersortir berdasarkan jenisnya serta total dari
semua benda tersebut dan indikator yang mewakili setiap hardware yang ada pada mesin
pemilah benda. Data angka dari jumlah setiap benda dan total benda yang tersortir oleh
mesin pemilah benda dapat dilihat dalam aplikasi serial monitor yang terdapat dalam
aplikasi Arduino IDE sehingga pengguna dapat merekap data tersebut dengan mudah.
Kata kunci : Monitoring Mesin Pemilah Benda Berbasis Android, Aplikasi Android,
viii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ABSTRACT
A monitoring system of object-sorting machine that can be used for long-range
communication enables users to monitor the machine performance without having to watch
the machine directly. Android-based monitoring system is one of the alternative solutions
that is needed since every person uses gadgets for their daily needs nowadays.
Android-based monitoring system as a display monitor and a microcontroller as an
intermediary are created with Android Studio program that yields a monitoring application
of object-sorting machine. An information obtained from the object-sorting machine will
be processed by a microcontroller then the information will be communicated to the object-
sorting machine application in Android cellphone. The method that is used to transmit the
data is communication through Wi-Fi ESP 8266 and Wi-Fi Hotspot of Android cellphone.
The microcontroller will send data string, after being accepted by the Android cellphone,
the data will be processed by the object-sorting machine application and the data will be
displayed in the form of numeral or letter character(s) in an object-sorting machine
application's screen.
The final result of the garbage-sorting machine application is an application that
represents the display of the object-sorting machine, where the screen of the Android
cellphone will show the number of every object that has been sorted based-on the type,
total of all objects, and indicator that represents each hardware on the object-sorting
machine. The numeral data from each object and the total number of objects sorted by the
object-sorting machine can be seen in the *serial monitor application* within Arduino IDE
application so that users can recapitulate the data easily.
Keyword : A monitoring system of object-sorting machine, Android Aplication
ix
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Tuhan Yesus Kristus atas segala rahmat-
Nya. Berkat Kasih dan KaruniaNya selama menjalani proses pembuatan tugas akhir ini,
penulis dapat menyelesaikan tugas akhir dengan judul “Monitoring Mesin Pemilah Benda
Berbasis Android”.
Tugas akhir ini disusun untuk memenuhi salah satu syarat memperoleh gelar
Sarjana Teknik (S.T) bagi mahasiswa program S-1 Jurusan Teknik Elektro Universitas
Sanata Dharma Yogyakarta. Selama proses penyusunan proposal ini, penulis banyak
mendapat bantuan dan dukungan dari berbagai pihak, untuk itu penulis mengucapkan
terimakasih kepada:
1. Bapak Petrus Setyo Prabowo, S.T., M.T., selaku Ketua Program Studi Teknik Elektro
Universitas Sanata Dharma Yogyakarta.
2. Bapak Ir.Tjendro,M.Kom. selaku Dosen Pembimbing tugas akhir yang telah banyak
meluangkan waktu untuk memberikan bimbingan.
3. Bapak Martanto, M.T., dan Bapak Joko Untoro, S.Si., M.T., yang telah memberikan
saran dan kritik dalam menyelesaikan penulisan tugas akhir.
4. Seluruh dosen Teknik Elektro yang telah memberikan ilmu yang bermanfaat kepada
penulis selama kuliah.
5. Bapak, ibu, mbakku, dan masku yang telah memberikan perhatian dan dukungan.
6. Keluargaku tercinta Mbah Ti dan Mbah Kung yang selalu mendoakan dan terus
memberikan semangat dalam mengerjakan.
7. Seluruh teman-teman prodi Teknik Elektro atas kerjasama dan kebersamaannya
selama menjalani studi.
8. Kawan-kawan penggembira dan penyemangat kos 21 yang memberikan dukungan.
9. Semua pihak yang tidak bisa penulis sebutkan satu per satu atas bantuan, bimbingan,
kritik dan saran.
x
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR ISI
Halaman Sampul(Bahasa Indonesia) .............................................................................. i
Halaman Sampul(Bahasa Inggris) .................................................................................. ii
Lembar Persetujuan ........................................................................................................ iii
Lembar Pengesahan ........................................................................................................ iv
Halaman Persembahan ................................................................................................... v
Lembar Pernyataan Keaslian Karya ............................................................................... vi
Lembar Pernyataan Persetujuan Publikasi Karya Ilmiah ............................................... vii
Intisari ............................................................................................................................. viii
Abstract ........................................................................................................................... ix
Kata Pengantar ................................................................................................................ x
Daftar Isi ......................................................................................................................... xii
Daftar Gambar ................................................................................................................ xiv
Daftar Tabel .................................................................................................................... xvi
Lampiran ......................................................................................................................... xvii
BAB I PENDAHULUAN
1.1 Latar Belakang .............................................................................................. 1
1.2 Tujuan dan Manfaat ...................................................................................... 2
1.3 Batasan Masalah ........................................................................................... 2
1.4 Metodologi Penelitian ................................................................................... 3
BAB II DASAR TEORI
2.1 Android ......................................................................................................... 5
2.2 Pengertian Programmable Logic Controller (PLC) ..................................... 7
2.3 Arduino ESP 8266 ........................................................................................ 8
2.4 Perangkat Lunak Arduino ............................................................................. 9
2.5 Wi-Fi ............................................................................................................. 11
2.6 ESP 8266 ...................................................................................................... 11
2.7 Rangkaian Pembagi Tegangan ..................................................................... 13
2.8. EEPROM Arduino ....................................................................................... 15
BAB III RANCANGAN PENELITIAN
xii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3.1 Diagram Blok ............................................................................................... 16
3.2 Perancangan Hardware ................................................................................. 17
3.2.1 Perancangan Interface.......................................................................... 18
3.2.2 Perancangan Koneksi Pin PLC ke Arduino ESP8266 ......................... 19
3.3 Perancangan Perangkat Lunak...................................................................... 20
3.3.1 Pemrograman Arduino ESP8266 dengan Android .............................. 20
3.3.2 Penyimpanan Pada EEPROM ............................................................. 23
3.3.3 Setting Komunikasi Android dengan Arduino ESP8266 .................... 23
3.3.4 Tampilan pada Android ....................................................................... 24
BAB IV HASIL DAN PEMBAHASAN
4.1 Hasil Perancangan Hardware ........................................................................ 27
4.1.1 Arduino ESP 8266 ............................................................................... 28
4.1.2 Relay .................................................................................................... 29
4.1.3 Pengujian Sistem Rangkaian Interface ................................................ 31
4.2 Pengujian Sistem .......................................................................................... 32
4.2.1 Pengujian Data Utama ......................................................................... 33
4.2.2 Pengujian Jangkauan Wi-Fi ................................................................. 35
4.3 Analisa Perangkat Lunak .............................................................................. 36
4.3.1 Pemrograman Arduino ESP8266 ......................................................... 36
4.3.2 Pemrograman Pada Android ................................................................ 42
BAB V KESIMPULAN
5.1 Kesimpulan ................................................................................................... 48
5.2 Saran ............................................................................................................. 48
DAFTAR PUSTAKA ..................................................................................................... 49
LAMPIRAN
xiii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR GAMBAR
Halaman
Gambar 1.1 Gambar blok perancangan ........................................................................ 3
Gambar 2.1 Logo Android Studio ................................................................................ 5
Gambar 2.2 Tampilan Android Studi ........................................................................... 6
Gambar 2.3 Input-output PLC CP1E ............................................................................. 7
Gambar 2.4 Spesifikai output PLC CP1E ..................................................................... 7
Gambar 2.5 Arduino ..................................................................................................... 9
Gambar 2.6 Tampilan IDE Arduino ............................................................................. 10
Gambar 2.7 Tampilan ESP8266-12E ........................................................................... 12
Gambar 2.8 Arduino Uno ESP8266 ............................................................................. 13
Gambar 2.9 Rangkaian pembagi tegangan ................................................................... 13
Gambar 2.10 Aplikasi rangkaian pembagi tegangan ...................................................... 14
Gambar 3.1 Diagram blok besar sistem ........................................................................ 16
Gambar 3.2 Perancangan Koneksi Hardware ............................................................... 17
Gambar 3.3 Rancangan dasar rangkaian interface ....................................................... 18
Gambar 3.4 Flowchart perancangan perangkat lunak .................................................. 20
Gambar 3.5 Flowchart komunikasi PLC ke Arduino ................................................... 21
Gambar 3.6 Perancangan flowchart program ............................................................... 22
Gambar 3.7 Flowchart penyimpanan EEPROM .......................................................... 23
Gambar 3.8 Flowchart setting koneksi Wi-Fi dengan Android ................................... 24
Gambar 3.9 Tampilan Login ........................................................................................... 25
Gambar 3.10 Layout monitoring pada Android ............................................................. 25
Gambar 4.1 Hasil rangkaian interface ............................................................................ 27
Gambar 4.2 Arduino ESP8266 ....................................................................................... 29
Gambar 4.3 Simbol Relay............................................................................................... 30
Gambar 4.4 Kondisi saat relay switching ....................................................................... 30
Gambar 4.5 Hasil rangkaian interface ............................................................................ 32
Gambar 4.6 Layout Login Aplikasi Monitoring Mesin Pemilah Benda ......................... 36
Gambar 4.7 Layout Mesin Aplikasi Monitoring Mesin Pemilah Benda ........................ 36
Gambar 4.8 Inisialisasi nama input Arduino ESP8266 .................................................. 38
Gambar 4.9 Inisialisasi pin input Arduino ESP8266 ...................................................... 38
xiv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4.10 Pembacaan IP Address .............................................................................. 38
Gambar 4.11 Cara menampilkan IP di Serial Monitor ................................................... 39
Gambar 4.12 Contoh pembacaan counter kaca dan jumlah ........................................... 40
Gambar 4.13 Contoh pengiriman data On/Off ............................................................... 40
Gambar 4.14 Perintah pembacaan di alamat EEPROM ................................................. 41
Gambar 4.15 Perintah penulisan di alamat EEPROM .................................................... 41
Gambar 4.16 Membagi setiap karakter dalam kolom ..................................................... 42
Gambar 4.17 Pembacaan serial monitor ......................................................................... 42
Gambar 4.18 Setting SSID dan Password di Android .................................................... 43
Gambar 4.19 Membuat nama “Monitoring Mesin Pemilah Sampah” ............................ 44
Gambar 4.20 Membuat kolom penulisan username ....................................................... 45
Gambar 4.21 Perintah untuk membuat tombol Button ................................................... 46
Gambar 4.22 Pembagian area layout .............................................................................. 46
Gambar 4.23 Perintah membuat EditText “Kayu” ......................................................... 47
Gambar 4.24 Perintah membuat TextView “0” .............................................................. 47
xv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR TABEL
Halaman
Tabel 2.1 Keterangan Gambar Arduino Uno ................................................................. 9
Tabel 2.2 Keterangan tombol pada tampilan IDE Arduino ........................................... 10
Tabel 2.3 Spesifikasi Wi-Fi ........................................................................................... 11
Tabel 3.1 Perancangan koneksi pin PLC ke Arduino ..................................................... 19
Tabel 3.2 Inisialisasi nama layout monitoring pada Android ......................................... 26
Tabel 4.1 Keterangan rangkaian interface ...................................................................... 27
Tabel 4.2 Keterangan gambar Arduino ESP8266 ........................................................... 29
Tabel 4.3 Hasil pengujian rangkaian interface ............................................................... 32
Tabel 4.4 Hasil pengujian data utama............................................................................. 33
Tabel 4.5 Pengambilan data jangkauan Wi-Fi ................................................................ 35
Tabel 4.6 Tabel koneksi input Arduino .......................................................................... 37
xvi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LAMPIRAN
Halaman
L1 Langkah Penggunaan ........................................................................................... L2
L2 Data Sheet Arduino ESP8266 .............................................................................. L3
L3 Rangkaian Interface ............................................................................................. L4
L4 Pemrograman Arduino IDE ................................................................................. L5
L5 Program Android Studio halaman Layout Login.xml.......................................... L12
L6 Program Android Studio halaman Layout activity_main.xml ............................. L14
L7 Halaman login.java .............................................................................................. L22
L8 Halaman MainActivity.java ................................................................................. L24
L9 Halaman AndroidManifest.xml............................................................................ L28
L10 Hasil pengujian sub system program ................................................................. L29
L11 Langkah pembuatan aplikasi di Android Studio................................................ L37
xvii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB I
PENDAHULUAN
1. Latar Belakang
Perusahaan selalu berupaya untuk mengganti pekerjaan yang selama ini dilakukan
oleh manusia untuk digantikan dengan mesin-mesin dalam rangka efisiensi dan peningkatan
kualitas produksinya. Dengan kata lain banyak perusahaan melakukan otomasi produksinya.
Misalnya, proses produksi yang pada awalnya masih dilakukan secara manual seperti pada
proses packing. Pada proses industri manual dikerjakan oleh tenaga manusia dan
membutuhkan jumlah tenaga kerja yang tidak sedikit dan membuat waktu proses produksi
menjadi lebih lama. Selain itu sering terjadi human error pada industri manual ini karena
melakukan pekerjaan secara berulang-ulang. Untuk mengatasi masalah itu, perusahaan yang
menginginkan proses produksi yang lebih efektif dan efisien melakukan perubahan pola
produksi dengan mengaplikasikan sistem otomasi dalam produksinya[1].
Berdasarkan permasalahan tersebut, telah diciptakan sebuah mesin pemilah benda
untuk mempermudah pekerjaan memilah benda secara lebih efisien sehingga proses daur
ulang dapat berjalan lebih cepat. Dari pengamatan yang dilakukan mesin tersebut
menggunakan kontrol manual sehingga hanya dapat dimonitoring dari satu tempat dimana
mesin itu berada dan belum bisa dimonitoring dari jarak jauh.
Dengan kemajuan teknologi saat ini, sangat dimungkinkan sebuah telepon seluler
atau smartphone digunakan untuk mendukung pekerjaan suatu mesin. Android adalah salah
satu sistem operasi pada smartphone yang berbasis Linux dan bersifat open source
sehingga banyak developer yang berusaha untuk mengembangkan aplikasi yang dapat
digunakan untuk mempermudah kehidupan sehari-hari. Dengan memanfaatkan perangkat
keras yang sudah ada pada smartphone berupa pengaturan Wi-Fi maka developer dapat
membuat aplikasi tersendiri berdasarkan fungsi tersebut. Perkembangan mikrokontroler
yang semakin pesat membuat beberapa pengembang membuat suatu device bernama
Arduino sebagai desain sistem minimum mikrokontroler yang bersifat open source dengan
menggunakan mikrokontroler AVR dan menggunakan seri yang lebih canggih, sehingga
dapat digunakan untuk membangun sebuah sistem elektronika yang berukuran minimalis
namun handal dan cepat. Memanfaatkan teknologi tersebut, dapat digunak
1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
an untuk pengembangan mesin pemilah benda yang dimonitoring jarak jauh menggunakan
smartphone Android.
Ketika benda memasuki mesin pemilah benda, akan terdapat sebuah indikator pada
layar smartphone yang menandakan bahwa terdapat benda pada mesin pemilah benda.
Indikator tersebut berupa posisi dimana benda berada. Konveyor akan dibagi menjadi 4
posisi, setiap posisi akan diberi indikator untuk menandakan posisi benda pada mesin
pemilah. Posisi dari konveyor itu adalah posisi 1) merupakan posisi dimana benda masuk ke
konveyor mesin. 2) posisi konveyor dimana benda akan dideteksi untuk ditentukan jenis
bahannya. 3) posisi ketiga merupakan posisi dimana benda masuk ke tempatnya masing-
masing setelah dipilah terlebih dahulu. Pada posisi ini juga digunakan untuk mendata
banyaknya jumlah masing-masing benda yang masuk ke tempatnya. 4) bagian keempat
merupakan posisi dimana benda berbahan kaca ditempatkan. Selain posisi benda, terdapat
juga indikator untuk motor konveyor, solenoid pemilah benda. Jika terdapat kerusakan pada
aktuator, maka operator akan mengetahui kerusakan yang ada, karena akan adanya
pemberitahuan jika terdapat aktuator yang mengalami kerusakan. Layar monitoring juga
akan memberikan keterangan dari jumlah benda yang sudah dipilah. Setiap data banyaknya
sampah dari masing-masing jenis bahan akan disimpan pada EEPROM di Arduino [2].
2. Tujuan dan Manfaat
Tujuan pembuatan tugas akhir ini adalah untuk membuat sebuah sistem monitoring
yang dapat digunakan sebagai alat pengawas dari proses yang dilakukan oleh mesin pemilah
benda.
Manfaat penelitian ini adalah:
a. Sebagai alat bantu untuk memonitoring proses mesin pemilah benda.
b. Menjadi acuan, rujukan, dan bahan pertimbangan untuk proses monitoring
mesin.
c. Memberikan kemudahan untuk memilah benda berdasarkan bahan agar dapat
lebih cepat.
3. Batasan Masalah
Agar Tugas Akhir ini bisa mengarah pada tujuan dan untuk menghindari kesalah
pahaman, maka perlu adanya batasan-batasan masalah yang sesuai dengan judul dari tugas
akhir ini. Adapun batasan masalahnya adalah:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
a. Monitoring menggunakan smartphone Android.
b. Koneksi terdiri dari PLC yang terkoneksi dengan Arduino dengan memanfaatkan
kontak input output PLC dan koneksi antara Arduino dengan smartphone
menggunakan Wi-Fi module.
c. Proses monitoring hanya mengaktifkan indikator yang tertampil pada aplikasi di
smartphone pada sistem operasi Android 4.4+ (Kitkat).
d. Monitoring menunjukan posisi pada saat benda ada di konveyor, pendeteksi
benda, pemilahan benda, dan peletakan benda pada tempat yang sesuai.
e. Data benda yang dihitung berdasarkan jumlah dari masing-masing benda yang
sudah dipilah dan disimpan di database sederhana.
f. Jenis bahan yang dimonitoring sesuai dengan data hasil penelitian saudara
Antonio Prashad Priyanto.
4. Metodologi Penelitian
Berdasarkan tujuan yang ingin dicapai metode-metode yang digunakan adalah:
a. Studi literatur, yaitu dengan cara mendapatkan data dengan membaca buku-buku
dan jurnal-jurnal yang berkaitan dengan masalah yang dibahas pada tugas akhir
ini, khususnya buku tentang PLC, Arduino, dan Android.
b. Perancangan sub sistem hardware dan software yang bertujuan untuk mencari
bentuk model yang optimal dari sistem yang akan dibuat dengan
mempertimbangkan dari berbagai factor permasalahan dan kebutuhan. Gambar
perancangan dapat dilihat pada Gambar 1.1. Diagram blok perancangan.
Gambar 1.1. Diagram blok perancangan.
c. Eksperimen yaitu melakukan praktek langsung dengan dengan melakukan pengujian
terhadap hasil pembuatan alat.
d. Proses pengambilan data dilakukan dengan cara mengamati sistem apakah sudah
sesuai dengan proses monitoring dan melakukan pengambilan data dari jumlah
barang yang telah melewati proses pemilahan di masing-masing wadah.
Mesin Pemilah
Benda
Interface
Smartphone
Android
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
e. Analisa dan penyimpulan hasil percobaan dilakukan dengan cara melihat kesesuaian
proses monitoring dibandingkan dengan alat proses berjalannya mesin. Penyimpulan
hasil percobaan dilakukan dengan menghitung data error yang terjadi ketika proses
monitoring mesin dan perhitungan data dan jumlah benda yang telah masuk ke wadah
masing-masing.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB II
DASAR TEORI
2.1. Android
Android adalah sistem operasi berbasis Linux yang digunakan pada sistem operasi
smartphone. Android menyediakan platform terbuka bagi para pengembang untuk
menciptakan aplikasi sesuai keinginan mereka sendiri yang digunakan untuk berbagai
macam piranti bergerak. Awalnya Google Inc. membeli Android Inc., pendatang baru yang
membuat peranti lunak untuk ponsel. Kemudian untuk mengembangkan Android,
dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan peranti keras, peranti
lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile,
dan Nvidia.
Untuk keperluan pengambangan Android diperlukan alat yang bernama Android
Studio. Android Studio merupakan sebuah Integrated Development Environment (IDE)
untuk platform Android. Android Studio diumumkan pada tanggal 16 Mei 2013 pada
Konferensi Google I/O oleh Produk Manajer Google, Ellie Powers. Android Studio bersifat
free dibawah Apache License 2.0. Android Studio awalnya dimulai dengan versi 0.1 pada
bulan Mei 2013 dan hingga saat ini terdapat Android Studio versi 1.0. berbasiskan
JetBrainns’ Intellij IDEA, Android Studio didesain khusus untuk Android Development dan
bisa digunakan di Windows, Mac dan Linux [3].
Gambar 2.1. Logo Android Studio [3].
Untuk mengenal lebih dekat tentang Android Studio, kita perlu mempelajari fasilitas
yang diberikan sehingga mempermudah pengguna untuk development suatu program.
5
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
Gambar 2.2. Tampilan Android Studio [4].
Pada awal tampilan layout Android Studio, terdapat beberapa menu yang digunakan
untuk menunjang penggunaan. Dibagian atas terdapat Menu Bar yang terdiri menu File, Edit,
View, Navigate, Code, Analyze, Refactor, Build, Run, Tools, VCS, Window, dan Help.
Selain itu terdapat Tools Box yang memiliki berbagai macam fungsi. Burn Project
merupakan aplikasi yg digunakn untuk menjalankan aplikasi. AVD Manager atau Android
Virtual Device Manager adalah aplikasi yang digunakan untuk mencoba suatu project yang
kita buat dan menjalankannya dalam bentuk virtual. SDK Manager berfungsi untuk mem-
built project agar dapat digunakan pada Android dalam bentuk aplikasi. Project Files
merupakan tempat penyimpanan keseluruhan pembentuk aplikasi Android yang kita create.
Component merupakan segala peralatan yang terdapat pada Android Studio yang dapat kita
gunakan untuk membangun sebuah aplikasi yang sedang kita buat. Kita dapata juga
menentukan device yang kita gunakan agar sesuai dengan aplikasi yang kita create sehingga
akan muncul design view pada layar.dalam setiap komponen yang kita pilih, kita dapat
mengatur sesuai dengan kebutuhan dengan cara membuka menu Properties komponen
tersebut yang akan tertampil disebelah kanan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
2.2. Pengertian Programmable Logic Controller (PLC)
PLC (Programmable Logic Controller) adalah sebuah alat yang digunakan untuk
menggantikan rangkaian sederetan relay yang ada pada sistem kontrol konvensional. PLC
bekerja dengan cara mengamati masukan (melalui sensor), kemudian melakukan proses dan
melakukan tindakan sesuai yang dibutuhkan, berupa menghidupkan atau mematikan
keluaran. Program yang digunakan adalah berupa ladder diagram yang kemudian harus
dijalankan oleh PLC. Dengan kata lain PLC menentukan aksi apa yang harus dilakukan pada
instrument keluaran yang berkaitan dengan status suatu ukuran atau besaran yang diamati.[5]
Gambar 2.3 merupakan spesifikasi dari PLC dengan merk Omron model CP1E-
N20DR-D yang memiliki 20 I/O terdiri dari 12 Input dan 8 Output. PLC ini dibangkitkan
dengan power supply 24VDC. Gambar 2.4 merupakan spesifikasi output relay memiliki
maximum switching arus sebesar 2 A dengan tegangan 24 VDC. Untuk minimum switching
arus sebesar 10 mA dan tegangan minimal 5 VDC.
Gambar 2.3. Input-output PLC CP1E [6]
Gambar 2.4. Spesifikasi output PLC CP1E [6]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
2.3. Arduino [7]
Arduino adalah platform pembuatan prototip elektronik yang bersifat open-source
hardware yang berdasarkan pada perangkat keras dan perangkat lunak yang fleksibel dan
mudah digunakan. Arduino ditunjukan bagai para seniman, desainer, dan siapapun yang
tertarik dalam menciptakan objek atau lingkungan yang interaktif. Platform Arduino terdiri
dari Arduino board, shield, bahasa pemograman Arduino, dan Arduino development
environment. Arduino board biasanya memiliki sebuah chip dasar mikrokontroler Atmel
AVR ATmega8 berikut turunannya. Shield adalah sebuah papan yang dapat dipasang di atas
Arduino board untuk menambahkan kemampuan dari Arduino board. Bahasa pemrograman
Arduino adalah bahasa pemrograman yang umum digunakan untuk membuat perangkat
lunak yang ditanamkan pada Arduino board. Bahasa pemrograman Arduino mirip dengan
bahasa pemrograman C++. Arduino development environment adalah perangkat lunak yang
digunakan untuk menulis dengan meng-compile program untuk Arduino. Arduino
development environment juga digunakan untuk meng-upload program yang sudah di-
compile ke memori program Arduino.
Berikut adalah data teknis board Arduino Uno :
1. Mikrokontroler : ATmega328
2. Tegangan Operasi : 5V
3. Tegangan input yang dibutuhkan : 7-12V
4. Pin digital I/O : 14 (6 untuk PWM)
5. Pin input analog 6
6. Arus DC per pin I/O : 40 mA
7. Arus DC untuk pin 3.3V : 150 Ma
8. Flash Memory : 32 KB
9. SRAM : 2KB
10. EEPROM : 1KB
11. Kecepatan pewaktuan : 16 Mhz
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
Gambar 2. 5. Arduino Uno [7].
Tabel 2.1. Keterangan Pin Arduino Uno R3 [7].
No Parameter Keterangan
1 ATmega 328 IC mikrokontroler yang digunakan pada Arduino Uno R3
2 Jack USB Untuk komunikasi mikrokontroler dengan PC
3 Jack Adaptor Masukan power eksternal bila Arduino bekerja mandiri (tanpa
komunikasi dengan PC melalui kabel serial USB)
4 Tombol
Reset
Tombol reset internal yang digunakan untuk mereset modul Arduino
5 Pin Analog Menerima input dari perangkat analog lainnya
6 Pin Power 1. Vin = Masukan tegangan input bagi Arduino ketika
menggunakan sumber daya eksternal
2. 5V= Sumber tegangan yang dihasilkan regulator internal board
Arduino
3. 3,3V = Sumber tegangan yang dihasilkan regulator internal
board Arduino. Arus maksimal pada pin ini adalah 50Ma
4. GND = Pin ground dari regulator tegangan board Arduino
5. IOREF = Tegangan refrensi
6. AREF = Tegangan refrensi untuk input analog
7 Pin Digital Pin yang digunakan untuk menerima input digital dan memberi
output berbentuk digital (0 dan 1 atau low dan high)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
2.4. Perangkat Lunak Arduino
Area pemrograman Arduino dikenal dengan Integrated Development Environment
(IDE). Area pemrograman yang digunakan untuk menulis baris program dan
mengunggahnya kedalam board Arduino. Disamping itu juga dibuat lebih mudah dan dapat
berjalan pada beberapa sistem operasi seperti Windows, Macintosh, dan Linux.
Gambar 2.6. Tampilan IDE Arduino [8].
Tabel 2.2. Keterangan tombol pada tampilan IDE Arduino [8].
No Tombol Nama Fungsi
1
Verify Menguji apakah ada kesalahan pada program atau sketch.
Apabila sketch sudah besar, maka sketch tersebut akan
dikompilasi. Kompilasi adalah proses mengubah kode
program ke dalam kode mesin
2
Upload Menggunakan kode mesin hasil kompilasi ke board Arduino
3
New Membuat sketch yang baru
4
Open Membuka sketch yang sudah ada
5
Save Menyimpan sketch
6
Serial
Monitor
Menampilkan data
komunikasi serial
yang dikirim dan diterima melalui
IDE Arduino membutuhkan beberapa pengaturan yang digunakan untuk mendeteksi
board Arduino yang sudah dihubungkan ke komputer. Beberapa pengaturan tersebut adalah
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
mengatur jenis board yang digunakan sesuai dengan board yang terpasang dan mengatur
jalur komunikasi data melalui perintah Serial Port. Kedua pengaman tersebut dapat
ditemukan pada pull down menu Tools [8].
2.5. Wi-Fi [9]
Wi-Fi merupakan kependekan dari Wireless Fidelity, yang memiliki pengertian yaitu
sekumpulan standar yang digunakan untuk WLAN/ Wireless Local Area Networks yang
didasari pada spesifikasi IEEE 802.11 untuk dapat terhubung dengan internet menggunakan
titik akses atau yang dikenal dengan Hotspot terdekat. Wi-Fi dirancang berdasarkan
spesifikasi IEEE 802.11 yang terdiri dari 4 variasi, yaitu:
Tabel 2.3. Spesifikasi Wi-Fi [9]
No Spesifikasi Kecepatan Frekuensi Band
1 802.11a 11 Mb/s ~2.4 GHz
2 802.11b 54 Mb/s ~2.4 GHz
3 802.11g 54 Mb/s ~2.4 GHz
4 802.11n 100 Mb/s ~5 GHz
Terdapat beberapa parameter yang dikenal dalam Wi-Fi, parameter tersebut
diantaranya adalah:
1. Frekuensi adalah ukuran jumlah putaran ulang per peristiwa dalam selang waktu
yang diberikan.
2. Bandwidth adalah luas atau lebar cakupan frekuensi yang digunakan oleh sinyal
dalam medium transmisi.
3. Jangkauan Transmisi adalah untuk mengirimkan informasi dari suatu tempat ke
tempat lain.
2.6. ESP 8266
ESP 8266 adalah Wi-Fi module yang memilki output serial TTL dan GPIO yang
dapat digunakan secara standalone maupun dengan mikrokontroller sebagai sebuah
pengendali. ESP 8266 terintegrasi dan disempurnakan oleh Tensilica’s seri L106 Diamond
dengan prosesor 32-bit. Ada 3 cara menggunakan ESP8266 : sebagai Wi-Fi access
menggunakan AT command, dimana biasanya dimanfaatkan oleh Arduino untuk koneksi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
Wi-Fi, sebagai sistem yang berdiri sendiri menggunakan NodeMCU dan menggunakan
bahasa LUA, sebagai sistem yang berdiri sendiri dengan menggunakan Arduino IDE yang
sudah mensupport ESP8266. ESP 8266 dapat bertindak sebagai client ke suatu Wi-Fi router,
sehingga saat konfigurasi dibutuhkan setting nama access pointnya dan juga passwordnya,
selain itu ESP 8266 dapat digunakan sebagai Access Point dimana ESP 8266 dapat menerima
akses Wi-Fi [10].
Fitur yang dimiliki oleh ESP 8266 sebagai berikut :
1. Frekuensi 802.11 b/g/n
2. Prosesor 32 - bit MCU
3. Terintegrasi dengan 10 - bit ADC
4. Terintegrasi dengan TCP/ IP protocol stack
5. Terintegrasi dengan TR switch, balun , LNA , power amplifier dan jaringan
6. Terintegrasi dengan PLL , regulator , dan unit manajemen daya
7. Mendukung keragaman antena
8. Wi-Fi 2.4 GHz , mendukung WPA / WPA2
9. Dukungan STA mode operasi /AP / STA + AP
10. Dukungan Smart Link Fungsi untuk kedua perangkat Android dan iOS
11. SDIO 2.0 , ( H ) SPI , UART , I2C , I2S , IR Remote Control , PWM , GPIO
12. STBC , 1x1 MIMO , 2x1 MIMO
13. A - MPDU & A - MSDU agregasi & 0.4s guard interval
14. Deep sleep power <10Ua, down leakage current <5uA
15. Kemampuan mengirim data < 2ms
16. Standby konsumsi daya < 1.0mW ( DTIM3 )
17. Daya output +20 dBm dalam mode 802.11b
18. Operasi Kisaran suhu 40C ~ 125C
19. FCC , CE , TELEC , Wi-Fi Alliance , dan SRS bersertifikat
Gambar 2.7. Tampilan ESP8266- 12E [11].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
ESP 8266-12E ini dilengkapi dengan pendingin IC yang terpasang pada hardware
ESP 8266. ESP 8266-12E dapat terpasang langsung pada board Arduino Uno yang dapat
kita cari dipasaran.
Ada beberapa keuntungan menggunakan ESP 8266-12E ini, yaitu:
1. I/O Arduino menjadi lebih sederhana dam dapat digunakan untuk aplikasi lain
2. ESP 8266-12E dapat terpasang langsung pada board Arduino
3. ESP 8266-12E dilengkapi dengan pendingin yang terbuat dari alumunium yang
bertujuan untuk mendinginkan IC
Gambar 2.8. Arduino Uno beserta ESP8266-12E [12].
2.7. Rangkaian Pembagi Tegangan[13]
Gambar 2.9. Rangkaian pembagi tegangan [13]
Berdasarkan Hukum Ohm:
V I.R
(2.1)
Dan selanjutnya dikatakan bahwa nilai resistansi, R, tidak tergantung terhadap I atau
V. Dengan demikian nilai resistansi, R, adalah bergantung terhadap nilai resistansi, R, yang
diberikan. Jika dilihat dari rangkaian, nilai tegangan sumber, V, sudah ditetapkan. Dengan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
demikian, variabel yang berubah adalah besar arus, I. Sehingga hukum Ohm dituliskan
menjadi:
I V / .R (2.2)
Dan karena R1 dan R2 disusun secara seri, dan sistem di atas hanya terdiri atas satu
loop. Maka nilai R = R1 + R2. Sehingga:
I V /(R1 R2)
Dengan demikian, nilai VR1 dapat dipenuhi dengan persamaan:
VR1 I.R1
VR1 [V /(R1 R2)]R1
VR1 [R1/(R1 R2)]V
Dan dengan proses yang sama, VR2 dapat dipenuhi dengan persamaan:
VR2 [R2 /(R1 R2)]V
(2.3)
(2.4)
(2.5)
(2.6)
(2.7)
Rangkaian resistor seperti di atas disebut sebagai Voltage Divider / Rangkaian
Pembagi Tegangan. Hukum Kirchhoff Tegangan menyatakan bahwa jumlah tegangan
sumber adalah sama dengan jumlah tegangan-jatuh pada loop tertutup:
V VR1 VR2
V [R1/(R1 R2)].V [R2 /(R1 R2)].V
V [(R1 R2) /(R1 R2)].V
V V TERBUKTI
(2.8)
(2.9)
(2.10)
(2.11)
Untuk aplikasi rangkaian pembagi tegangan, rangkaian ini biasa digunakan untuk
mendeteksi perubahan nilai resistansi dari sensor-sensor yang bersifat resistif, sebagai
contoh pada rangkaian LDR:
Gambar 2.10. Aplikasi rangkaian pembagi tegangan [13]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
Dengan rangkaian pembagi tegangan seperti di atas, intesitas cahaya dapat diukur
dengan mengukur nilai tegangan VLDR (dalam volt). Karena intensitas cahaya akan
mempengaruhi nilai resistansi LDR yang dengan demikian akan mempengaruhi pula nilai
VLDR.
2.8. EEPROM Arduino[14]
Mikrokontroler pada Arduino memiliki EEPROM yaitu memori yang nilainya
disimpan ketika board dimatikan ( seperti hard drive kecil ). Penyimpanan ini
memungkinkan untuk membaca dan menulis data.
Mikrokontroler pada berbagai jenis Arduino memiliki jumlah yang berbeda, dari
EEPROM 1024 bytes pada ATmega328, 512 byte pada ATmega168 dan ATmega8, 4 KB (
4096 bytes ) pada ATmega1280 dan ATmega2560. Board Arduino memiliki kapasitas
EEPROM 1024 byte. EEPROM.write() merupakan perintah yang digunakan untuk
menuliskan perintah penyimpanan pada IDE Arduino. EEPROM.read() adalah perintah
yang digunakan untuk membaca data yang ada pada EEPROM. Dengan menuliskan
Serial.begin() pengguna dapat melihat data yang akan tertampil di Serial Monitor IDE
Arduino.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB III
RANCANGAN PENELITIAN
Bab ini akan menjelaskan tentang perbaikan alat yang sudah ada di lantai 4, yaitu
prototipe mesin pemilah benda berdasarkan jenis bahan. Alat yang sudah ada memang telah
memiliki sitem monitoring menggunakan Visual Basic. Namun akan dikembangkan
monitoring mesin pemilah benda dengan menggunaka Android agar dapat dimonitoring
dengan jarak jauh dengan terkoneksi jaringan Wi-Fi.
Perancangan ini meliputi diagram blok, perancangan hardware dan perancangan
sofware. Ada pula pembahasan sebagai berikut.
3.1. Diagram Blok
Gambar 3.1. adalah gambar diagram blok besar yang menggambarkan tentang alur
kerja seluruh sistem yang akan dikerjakan.
Gambar 3.1. Diagram blok besar sistem.
16
PC
INTERFACE
ARDUINO
HMI
PLC
EEPROM
WIFI
MODULE
ANDROID
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
Diagram blok besar meliputi 2 komunikasi besarr yaitu antara PC-PLC-HMI dan
PLC-ARDUINO-EEPROM-ANDROID. Dua komunikasi besar inilah yang dikerjakan
dengan berbeda. Blok yang diberi tanda kotak merah adalah fokus pengerjaan yaitu
komunikasi Arduino, Android dan EEPROM.
Dari gambar 3.1 Arduino mendapatkan input melalui wiring yang terhubung dengan
PLC. Output PLC ini akan menjadi inputan bagi Arduino untuk menjalankan setiap sistem.
Setelah data diolah oleh Arduino, output dari Arduino akan dibagi menjadi 2 bagian, yaitu
fokus utama adalah pengiriman data dari Arduino menuju Android dengan menggunakan
jaringan Wi-Fi dan penyimpanan database sederhana pada EEPROM Arduino.
Android berfungsi sebagai alat untuk memonitoring mesin pemilah benda. Pada layar
smartphone akan terdapat sebuah aplikasi yang berisikan display dari mesin pemilah benda.
Dari display tersebut dapat dilihat proses mesin pemilah benda itu bekerja dan menghitung
jumlah benda yang disortir oleh mesin pemilah benda tersebut.
3.2. Perancangan Hardware
Pada bagian perancangan hardware ini akan dibahas setiap pin input output yang akan
digunakan untuk menghubungkan PLC dengan Arduino ESP8266.
Gambar 3.2. Perancangan Koneksi Hardware.
PL
C
ON/OFF I 0.01
Inte
rfa
ce
Sensor 1 I 0.05
Sensor 2 I 0.06
Sensor 3
I 0.07
Magazine I 0.08
Motor DC
Q 100.00
Pos. Kayu Q 100.01
Pos. Logam
Q 100.02
Pos. Plastik Q 100.03
Pos. Kaca Q 100.04
Error
Q 100.05
Pin Digital 1
Inp
ut
Ard
uin
o E
SP
82
66
Ou
tpu
t
Pin Digital 2
Pin Digital 3
Pin Digital 4
Pin Digital 5
Pin Digital 6
Pin Digital 7
Pin Digital 8
Pin Digital 9
Pin Digital 10
Pin Digital 11
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
3.2.1. Perancangan Interface
Rangkain interface ini digunakan untuk menurunkan nilai tegangan yang berasal dari
output atau input PLC sebesar 24V ke 3.3 V supaya dapat digunakan sebagai input dari
Arduino. Output dari rangkaian ini akan dimasukkan kedalam pin digital Arduino.
Rangkaian interface ini menggunakan Relay 24V dan menggunakan resitor 10KΩ untuk
menghilangkan tegangan mengambang. Perancangan dasar dari rangkaian interface ini dapat
dilihat pada gambar 3.3 dan gambar rangkaian secara keseluruhan dapat dilihat pada
halaman lampiran dengan judul Rangkaian Interface.
Gambar 3.3. Rancangan dasar rangkaian interface
Berdasarkan gambar 3.3 dapat dilihat bahwa rangkaian interface merupakan rangkain
penurun tegangan dengan menggunakan relay 24 V. Coil relay terhubung dengan Input dan
salah satu kaki + atau - 24V . Untuk menentukan kaki + atau – 24V dapat dilihat dari input
rangkaian yang terhubung dengan kontak PLC yang digunakan. Jika input rangkaian
terhubung dengan kontak Input PLC maka salah satu kaki coil terhubung dengan kaki – 24V
untuk mengaktifkan coil, karena sumber tegangan input PLC adalah tegangan + 24V.
Sebaliknya, jika input rangkaian terhubung dengan output PLC, maka kaki koil terhubung
dengan kaki – 24V karena kontak output PLC mengeluarkan tegangan + 24V. Kaki NO relay
terhubung dengan output rangkaian interface, dan pada kaki NO tersebut diberikan resitor
10KΩ yang dihibingkan ke ground untuk menghilangkan tegangan mengambang saat relay
tidak aktif. Commond Relay terhubung dengan tegangan 3.3V Arduino ESP 8266.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
3.2.2. Perancangan Koneksi Pin PLC ke Arduino ESP8266
Berdasarkan gambar 3.2 tentang perancangan koneksi hardware, PLC terhubung
dengan Arduino ESP8266. Koneksi tersebut berupa wiring kabel yang terhubung dari PLC
dengan input Arduino. Koneksi ini merupakan masukan data yang nantinya akan diolah oleh
Arduino. Alamat yang terdapat pada PLC terdiri dari 2 kode, yaitu input dengan kode “I”
dan output dengan kode “Q”. Pada alamat yang berkode “I” merupakan wiring yang
terhubung dengan alamat input dari PLC. Hal itu dikarenakan alamat tersebut merupakan
alamat sensor yang terhubung dengan alamat input PLC. Salah satu contoh adalah alamat
PLC “I 0.05”, alamat tersebut merupakan alamat yang digunakan untuk menghubungkan
Sensor 1 dengan input PLC, dan nantinya alamat tersebut juga akan digunakan untuk
memberikan input terhadapat Arduino.
Pada alamat yang berkodekan “Q” merupakan wiring yang terhubung dengan alamat
PLC. Hal itu dikarenakan alamat tersebut merupakan alamat output yang digunakan PLC
untuk menampilkan data yang telah diolah. Salah satu contoh adalah alamat PLC “Q
100.03”, alamat tersebut merupakan alamat yang digunakan untuk menampilkan/
mengaktifkan posisi benda plastik, dan alamat tersebut juga akan digunakan untuk
memberikan input terhadap Arduino. Berikut adalah data tabel alamat PLC yang terhubung
dengan Arduino berdasarkan gambar 3.2 tentang perancangan koneksi hardware.
Tabel 3.1. Perancangan koneksi pin PLC ke Arduino.
NO NAMA ALAMAT PLC ALAMAT INPUT
ARDUINO ESP8266
1 ON/OFF I 0.01 PD 1
2 Sensor 1 I 0.05 PD 2
3 Sensor 2 I 0.06 PD 3
4 Sensor 3 I 0.07 PD 4
5 Magazine I 0.08 PD 5
6 Motor DC Q 100.00 PD 6
7 Posisi Kayu Q 100.01 PD 7
8 Posisi Logam Q 100.02 PD 8
9 Posisi Plastik Q 100.03 PD 9
10 Posisi Kaca Q 100.04 PD 10
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
3.3. Perancangan Perangkat Lunak
Perancangan perangkat lunak bertujuan untuk mempermudah dalam pembuatan
perangkat lunak. Perancangan perangkat lunak terdiri dari 2 bagian besar, yaitu program
pada Arduino ESP8266 dan Android.
ARDUINO ESP8266 ANDROID
Gambar 3.4. Flowchart perancangan perangkat lunak.
Dari gambar 3.4 tentang flowchart perangkat lunak, terdapat 2 bagian besar, yaitu
pemrograman pada Arduino dan pemrograman pada Android. Pada program Arduino
terdapat 2 sub program, yaitu program komunikasi Arduino dengan Android sebagai media
monitoring dan program Arduino dengan EEPROM sebagai tempat penyimpanan database
sederhana. Sedangkan pada bagian Android terdapat 2 sub program, yaitu program
komunikasi Arduino dengan Android dan program tampilan monitoring pada Android.
3.3.1. Pemrograman Arduino ESP8266 dengan Android
Agar informasi yang berasal dari mesin pemilah benda dapat diperlihatkan pada layar
Android, maka mikrokontroler Arduino harus mengetahui informasi apa saja yang diberikan
oleh mesin pemilah benda. Flowchart ini akan digunakan sebagai paduan dan pola pikir
Arduino mendapat
input dari wiring
dengan PLC
Komunikasi
Arduino dengan
Android sebagai
media monitoring
Penyimpanan
pada EEPROM
Mulai
Selesai
Arduino mendapat
input dari wiring
dengan PLC
Setting komunikasi
Arduino dengan
Android
Tampilan
monitoring alat
pada Android
Mulai
Selesai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
dalam membuat program Arduino supaya nanti Arduino dapat mengkomunikasikan
informasi yang didapat kedalam tampilan Android. Perlu dipahami bahwa dalam kondisi ini
Arduino mendapatkan data inputan dari wiring yang dilakukan dengan PLC. Berikut adalah
flowchart yang menggambarkan komunikasi antara PLC dengan Arduino.
Gambar 3.5. Flowchart komunikasi PLC ke Arduino.
Dari flowchart pada gambar 3.5 Arduino ESP8266 mendapatkan masukan dari
wiring yang terhubung dengan PLC. Pada saat PLC aktif dan mengirimkan data ke Arduino,
maka akan berlanjut ke siklus selanjutnya yaitu pada flowchart pada gambar 3.6. Gambar
3.6 menjelaskan tentang flowchart perancangan pemrograman yang dilakukan di Arduino
ESP8266.
Inputan Arduino
dari PLC
Proses pada
Arduino akan
berjalan
Mulai
Tidak
Apakah
Arduino
mendapat
inputan ?
Ya
Selesai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
Mulai
Lampi I/O menyala
dan sistem bekerja
Lampu Magazine
menyala
Lampu motor
menyala
mendapat input
dari PLC?
Ya
Apakah
Magazine Tidak mendapat input
dari PLC?
Ya
Apakah Motor
mendapat input
dari PLC?
Tidak
Ya
A
Lampu Indikator
Sensor 1 menyala
Lampu Indikator
Sensor 2 menyala
Lampu Indikator
Sensor 3 menyala
Proses perbandingan
(PLC)
Lampu Posisi
Kaca Menyala
Lampu Posisi
Kayu Menyala
Lampu Posisi
Logam Menyala
Lampu Posisi
Plastik Menyala
Apa
Indikato
1 mendapat input
dari PLC?
2 mendapat input
dari PLC?
3 mendapat input
dari PLC?
Ya Ya Ya
Apakah Apakah Apakah Apakah
Posisi Kayu Tidak Posisi Logam Tidak Posisi Plastik Tidak Posisi Kaca
mendapat input mendapat input mendapat input mendapat input
dari PLC? dari PLC? dari PLC? dari PLC? Tida
Ya Ya Ya Ya
k
k
Pada perhitungan
hasil Kayu +1
Pada perhitungan
hasil Logam +1
Pada perhitungan
hasil Plastik +1
Pada perhitungan
hasil Kaca +1
Gambar 3.6. Perancangan flowchart program.
Gambar 3.6 menjelaskan tentang flowchart perancangan pemrogram yang dilakukan
di Arduino ESP8266. Pada saat Arduino mendapatkan data masukan, maka proses akan
berjalan. Saat Arduino mendapat masukan data, Arduino terhubung dengan Android dan
aplikasi monitoring dibuka, maka Arduino akan mengirimkan perintah ke Android untuk
mengaktifkan lampu indikator ON/OFF. Pada kondisi magazine terdapat sebuah benda,
maka Arduino akan mengirimkan perintah ke Android untuk mengaktifkan lampu indikator
magazine. Saat motor mendapat mendapat inputan maka lampu indikator motor akan aktif.
Pada saat konveyor berjalan membawa benda, maka benda akan melewati 3 buah sensor.
Pada perhitungan
hasil Jumlah
Benda +1
Selesai
kah
r Sensor
Tidak
Apakah
Indikator Sensor
Tidak
Apakah
Indikator Sensor
Tidak
Arduino mendapat
input dari wiring
dengan PLC
Tidak
Apakah I/O
A
Sistem bekerja
Arduino mendapat
input dari wiring
dengan PLC
Terjadi Blink
Perhitungan
berhenti
Mulai
Apakah terjadi Error?
Tida
Ya
Selesai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
Saat sensor mendekati benda, maka Arduino akan mengirimkan perintah untuk
mengaktifkan lampu indikator sensor yang ada pada aplikasi monitoring. Setelah melewati
sensor maka akan terjadi proses pengolahan data/ perbandingan jenis benda apa yang disorti,
proses tersebut akan dilakukan oleh PLC. Saat PLC memberikan data hasil benda kepada
Arduino, maka akan terjadi proses pengaktifan indikator posisi benda dan dapat dilihat jenis
benda dan posisi benda itu berada.
3.3.2. Penyimpanan Pada EEPROM
Penyimpanan pada EEPROM berfungsi sebagai tempat penyimpanan hasil dari
Mesin Pemilah Benda Otomatis. Dari data EEPROM tersebut dapat dilihat jumlah masing-
masing benda yang telah dilakukan oleh mesin pemilah benda. Hal tersebut akan
mempermudah User untuk melakukan pengambilan data. Flowchart penyimpanan data pada
EEPROM dapat dilihat pada gambar 3.7.
Gambar 3.7. Flowchart penyimpanan EEPROM.
3.3.3. Setting Komunikasi Android dengan Arduino ESP8266
Untuk dapat mengkomunikasikan Android dengan ArduinoESP8266, maka yang
harus terlebih dahulu dilakukan adalah mengkomunikasikan Wi-Fi Arduino ESP8266 yang
Rincian benda
yang telah disortir
dari Arduino
Data dismpan
pada EEPROM
Data dilihat di
Serial Monitor
Mulai
Selesai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
berperan sebagai pemancar (TX) dengan Wi-Fi pada Android smartphone sebagai penerima
(RX). Langkah tersebut dapat dilakukan dengan membuka menu Setting dan melakukan
perintah berikut.
Gambar 3.8. Flowchart setting koneksi Wi-Fi dengan Android.
Gambar 3.8. menjelaskan langkah-langkah untuk mengkomunikasikan Android
dengan Wi-Fi Arduino ESP8266. Langkah pertama yang harus dilakukan adalah membuka
menu Setting pada Android dan selanjutnya pilih sub menu Nirkabel & Jaringan. Pada menu
tersebut akan ditemukan menu untuk mengaktifkan Hotspot Wi-Fi portabel. Setting nama
SSID dan password Hotspot portable sesuai dengan program yang ada di Arduino. Setelah
itu hidupkan Hotspot Wi-Fi portable dan IP Address Adroid dengan Arduino ESP8266 akan
saling terhubung. Untuk mengetahui apakah kedua pernagkat saling terhubung dapat dilihat
pada menu pengguna Hotspot Wi-Fi portable.
3.3.4. Tampilan pada Android
Tampilan layar monitoring mesin pemilah benda yang akan digunakan adalah
aplikasi pada smartphone Android yang saat ini begitu berkembang. Pada tampilan awal
Buka menu
Pengatura/ Setting
pada Android
Pilih menu
Nirkabel &
Jaringan
Pilih menu Hotspot
Wi-Fi Portabel
Atur SSID dan
Password
Mulai
A
Buka menu
Pengguna Hotspot
Wi-Fi
Android dan
Arduino ESP8266
akan terhubung
A
Aktifkan Hotspot Wi-Fi Portabel
Tidak
Apakah
ESP8266
terdeteksi?
Ya
Selesai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
aplikasi mesin pemilah sampah, akan terdapat sebuah login pasword yang harus dimasukan
seperti pada gambar 3.9. Password tersebut berfungsi untuk memastikan agar aplikasi
tersebut hanya dapat dilihat oleh user atau pihak terkait.
Gambar 3.9. Tampilan Login
Berikut adalah desain tampilan monitoring mesin pemilah benda pada Android. Pada
kondisi mati, semua lampu indikator akan berwarna merah, tetapi pada kondisi aktif lampu
indikator akan berwarna hijau.
Gambar 3.10. Layout monitoring pada Android.
Saat mesin pemilah samnpah aktif, Arduino mendapat inputan dari PLC dan koneksi
antara Arduino dengan smartphone aktif, maka lampu indikator I/O akan menyala. Pada
kondisi magazine terdapat sebuah benda, maka lampu indikator magazine akan menyala
diikuti dengan lampu indikator motor yang akan menyala yang menandakan konveyor telah
aktif. Saat benda melewati sensor dan mengaktifkan salah satu sensor, maka indikator sensor
akan menyala. Begitu benda disortir, maka posisi benda akan ditentukan dan dapat diketahui
LOGIN
PASSWORD
MPBO Mesin Pemilah Benda Otomatis
MGZ
PK
PL
PP
Pkc
S1 S2 S3
M
Kayu
Logam
Plastik
Kaca
0
0
0
0
Jumlah Benda
0 I/O
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
dimana posisi benda itu berada. Setalah posisi diketetahui maka indikator posisi benda akan
aktif. Berikut adalah tabel daftar nama inisial indikator benda berdasarkan gambar 3.10
tentang layout monitoring pada Android.
Tabel 3.2. Inisial nama layout monitoring pada Android.
NO NAMA INISIAL NAMA
1 Magazine MGZ
2 Motor M
3 Seonsor Optic 1 SI
4 Sensor Induktive S2
5 Sensor Optic 2 S3
6 Posisi Kayu PK
7 Posisi Logam PL
8 Posisi Plastik PP
9 Posisi Kaca PKc
10 On/Off I/O
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB IV
HASIL DAN PEMBAHASAN
Bab ini menjelaskan dan membahas hasil implementasi alat yang dibagi menjadi dua
bagian yaitu pengujian hasil perancangan pada perangkat keras dan hasil pengujian
perangkat lunak.
4.1. Hasil Perancangan Hardware
Hasil perancangan ini terdiri dari hardware elektrik. Hardware elektrik merupakan
rangkaian eletrik yang ada pada mesin pemilah benda. Hasil dari hardware rangkaian yang
digunakan untuk sistem monitoring ditunjukan pada gambar 4.1. Keterangan untuk setiap
bagian rangkaian hardware sistem monitoring pada gambar 4.1. akan dijelaskan pada tabel
Gambar 4.1. Hasil Rangkaian Interface
Tabel 4.1. Keterangan Rangkaian Interface
Berdasarkan tabel nomor 4.1 dapat dilihat hardware yang digunakan pada rangkaian
interface. Terdapat beberapa perubahan rancangan yang digunakan yaitu penggunaan relay
27
No Keterangan
1 Arduino ESP8266
2 Konektor 12 V
3 Relay 24V ke 3.3V Kanal Input
4 Relay 24V ke 3.3V Kanal Output
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
sebagai kontak untuk menurunkan tegangan dan penggunaan Arduino ESP8266 yang pada
bagian dasar teori belum dijelaskan dan akan dijelaskan pada bab 4 ini.
Berdasarkan keterangan gambar 4.1, nomor 2 adalah konektor tegangan 12V yang
terhubung dengan sumber tegangan mesin pemilah benda. Gambar no 1 adalah Arduino
ESP8266 dan gambar nomor 3 dan 4 adalah rangkaian interface yang berfungsi untuk
menurunkan tegangan input/output PLC sebesar 24V yang akan diturunkan tegangannya
menjadi 3,3V sebagai input Arduino. Nomor 3 merupakan penurun tegangan dimana relay
terhubung dengan bagian input PLC dan coil relay terhubung dengan +24V yang digunakan
untuk mengaktifkan sensor. Nomor 4 merupakan penurun tegangan dimana relay terhubung
dengan bagian output PLC dan sumber relay terhubung dengan -24V dikarenakan keluaran
dari PLC +24V.
Pada perangkat Arduino ESP8266 terdapat sebuah permasalahan yaitu kekuragan pin
input/output. ESP8266 ini hanya memiliki 9 pin GPIO yang dapat digunakan sebagai
input/output. Permasalahan ini menyebabkan perubahan perancagan. Perubahan
perancangan ini dapat dilihat pada table 4.4 berisikan koneksi input Arduino.
4.1.1 Arduino ESP 8266 [12]
Arduino ESP 8266 adalah sebuah perangkat mikrokontroler yang diproduksi oleh
Wemos Electronics. Arduino ESP 8266 terdiri dari 2 bagian, yaitu board Arduino Uno yang
compatible dengan board ESP 8266. Arduino Uno adalah mikrokontroler yang
menggunakan IC ATmega 328 dengan memory EEPROM 1KB. ESP 8266 adalah sebuah
board pemacar Wi-Fi yang digunakan untuk mendukung sebuah mikrokontroler untuk dapat
terhubung pada suatu jaringan nirkabel atau Wi-Fi. Pada gambar 4.2 dan tabel 4.1 akan
dijelaskan bagian yang ada pada boar Arduino ESP8266. Data konfigurasi pin Arduino
ESP8266 dapat dilihat pada halaman lampiran tentang Data Sheet Arduino ESP8266.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
2
Gambar 4.2. Arduino ESP8266 [12].
Tabel 4.2. Keterangan Gambar Arduino ESP8266 [12].
No Parameter Keterangan
1 ATmega 328 IC mikrokontroler yang digunakan pada Arduino ESP8266
2 Jack Mikro
USB
Untuk komunikasi mikrokontroler dengan PC
3 Jack Adaptor Masukan power eksternal bila Arduino bekerja mandiri (tanpa
komunikasi dengan PC melalui kabel serial USB)
4 Tombol
Reset
Tombol reset internal yang digunakan untuk mereset modul Arduino
5 Pin Analog Menerima input dari perangkat analog dan hanya memiliki 1 pin
analog.
6 Pin Power 1. Vin = Masukan tegangan input bagi Arduino ketika
menggunakan sumber daya eksternal
2. 5V= Sumber tegangan yang dihasilkan regulator internal board
Arduino
3. 3,3V = Sumber tegangan yang dihasilkan regulator internal
board Arduino. Arus maksimal pada pin ini adalah 50Ma
4. GND = Pin ground dari regulator tegangan board Arduino
7 Pin Digital Pin yang digunakan untuk menerima input digital dan memberi
output berbentuk digital (0 dan 1 atau low dan high). Semua pin pada
board ini bekerja pada tegangan 3.3V
8 ESP8266 Board pemancar jaringan Wi-Fi 802.11 b/g/n
4.1.2. Relay[15]
Relay adalah sebuah saklar magnetik yang menggunakan medan magnet dan sebuah
kumparan untuk membuka dan menutup satu atau beberapa kontak saklar pada saat relay
dialiri arus. Pada dasarnya relay terdiri dari sebuah lilitan kawat yang terlilit pada suatu besi
1
4 7
8
3
6 5
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
dari inti besi lunak yang selanjutnya berubah menjadi magnet yang menarik atau menolak
suatu pegas sehingga kontak pun menutup dan membuka. Relay bekerja berdasarkan
pembentukan elektromagnet yang menggerakkan elektromekanis penghubung dari dua atau
lebih titik penghubung (konektor) rangkaian sehingga dapat menghasilkan kondisi ON atau
kontak OFF atau kombinasi dari keduanya.
Gambar 4.3. Simbol Relay [15].
Pada keadaan awal, yaitu pada saat coil relay tidak diberi tegangan, maka yang
terhubung adalah contact Normally Close (NC). Sedangkan contact Normally Open (NO)
dalam keadaan terbuka. Standar tegangan untuk relay DC adalah 6V, 12V, 24V, 48V, dan
100V atau dengan mengatur tegangan tersebut sehingga didapat arus minimum untuk
menggerakkan relay. Tegangan dari relay tersebut dapat ditentukan oleh lilitan penguat yang
terdapat di dalam relay itu sendiri sehingga kita dapat mengetahui berapa tegangan dari suatu
relay. Jika sebuah relay 24 Volt DC diberi tegangan sebesar 24 Volt DC pada coil-nya , maka
relay tersebut akan mengalami switching seperti pada gambar 4.4.
Gambar 4.4. Kondisi Relay saat switching [15].
Pada keadaan ini, yang terhubung adalah contact Normally Open (NO), sementara
contact Normally Close (NC) dalam keadaan terbuka. Proses switching pada relay DC dapat
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
dijelaskan sebagai berikut. Coil pada relay merupakan sebuah kumparan yang berintikan
material batang yang sifat kemagnetannya mudah ditimbulkan dan mudah dihilangkan.
Ketika ada arus yang mengaliri kumparan, maka akan muncul medan magnet pada inti
batang dengan kutub magnet sesuai aturan tangan kanan (proses elektromagnetik).
Munculnya medan magnet pada inti batang kumparan ini menarik material magnetik (proses
mekanik akibat adanya medan magnet), tempat di mana contact-contact relay melekat.
Akibatnya contact mengalami perubahan posisi dari posisinya semula, NC yang semulanya
terhubung menjadi terbuka, NO yang semulanya terbuka menjadi terhubung.
Sifat – sifat dari relay adalah sebagai berikut :
1. Kuat arus yang diperlukan guna pengoperasian relay ditentukan oleh pabrik
pembuatnya. Relay dengan tahanan kecil memerlukan arus yang besar dan juga
sebaliknya, relay dengan tahanan besar memerlukan arus yang kecil.
2. Tegangan yang diperlukan untuk menggerakkan suatu relay akan sama dengan kuat
arus yang dikalikan dengan tahanan atau hambatan relay.
3. Daya yang diperlukan untuk menggerakkan relay sama dengan tegangan yang
dikalikan dengan arus.
4.1.3. Pengujian Sistem Rangkaian Interface
Setelah hardware elektrik terpasang pada mesin pemilah benda adanya pengujian dari
rangkaian yang membentuk sistem monitoring. Pengujian tersebut terdiri dari rangkaian
interface yang menghubungkan PLC dengan Arduino.
Hasil perancangan rangkaian elektrik dapat dilihat pada gambar 4.5. Berdasarkan
gambar tersebut, rangkaian interface menggunakan Relay 24V dimana coil relay terhubung
dengan tegangan 24V dari PLC. Kaki Command pada relay terhubung dengan ground 3,3V
Arduino. Pada kaki NO relay digunakan sebagai input Arduino, agar tidak terjadi tegangan
mengambang saat saat relay tidak aktif, maka diberikan resistor 10KΩ yang bertujuan untuk
membuat tegangan menjadi 0V.
Pengujian rangkaian ini dilakukan dengan mengukur langsung tegangan output dari
rangkaian relay. Input yang didapat dari kontak input/output PLC dengan tegangan 24V
diturunkan tegangannya menjadi 3,3V agar sesuai dengan tegangan kerja input Arduino.
Berdasarkan tabel 4.2, pada saat kontak NO dalam kondisi terbuka, tegangan terukur
dengan multimeter adalah 0,01 V dikarenakan coil tidak mendapatkan input tegangan dari
kontak PLC. Pada saat coil mendapatkan input tegangan dari kontak PLC, coil akan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
mendapatkan arus dan kumparan pada coil akan terjadi medan magnet yang membuat kontak
NO dalam kondisi tertutup. Pada kondisi tersebut kaki NO diukur dengan menggunakan
multimeter dan didapatkan hasil tegangan berada pada kisaran 3,3V. Tegangan tersebut
sesuai dengan tegangan operasi yang dibutuhkan Arduino ESP8266 yaitu 3,3V. Hasil
pengujian rangkaian interface secara keseluruhan dapat dilihat pada tabel nomor 4.3 berikut
dan gambar rangkaian interface secara lengkap dapat dilihat pada halaman lampiran dengan
judul Rangkaian Interface.
Gambar 4.5. Hasil rangkaian interface
Tabel 4.3. Hasil Pengujian Rangkaian Interface
4.2. Pengujian Sistem
Pengujian Sistem terdiri dari 2 bagian yaitu pengujian data utama yang berisikan
tentang tingkat kesesuaian hasil pengiriman data antara Arduino ESP8266 dengan aplikasi
monitoring mesin pemilah benda dan pengujian jarak jangkauan Wi-Fi dimana koneksi
Rangkaian
Relay
Saat Relay
Tidak Aktif (V)
Saat Relay
Aktif (V)
Power 0,01 3,3
Sensor 1 0,01 3,3
Sensor 2 0,01 3,3
Sensor 3 0,01 3,3
Magazine 0,01 3,3
Motor 0,01 3,3
Posisi Kayu 0,01 3,3
Posisi Logam 0,01 3,3
Posisi Plastik 0,01 3,3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
antara handphone dan Arduino ESP8266 dapat mengirimkan data dengan baik dan kedua
koneksi tertap terhubung.
4.2.1. Pengujian Data Utama
Pengujian sub system program bertujuan untuk menganalisis apakah hasil monitoring
aplikasi mesin pemilah benda telah sesuai dengan proses monitoring yang ada pada Serial
Monitor Arduino. Apabila hasil sortir yang didapat pada Serial Monitor Arduino sesuai
dengan aplikasi monitoring mesin pemilah benda, maka proses penerimaan data berhasil
dengan baik. Angka 1 pada tabel merupakan kondisi dimana sebuah posisi benda
mendapatkan input bernilai 1 dari Arduino ESP 8266, sedangkan angka 0 adalah kondisi
dimana sebuah posisi benda tidak mendapatkan input dari Arduino ESP8266. Percobaan
dilakukan sebanyak 30 kali percobaan, tetapi sebagai pembahasan akan diambil 8 sample
percobaan.
Tabel 4.4 adalah tabel yang berisikan pengujian data. Pada saat kayu mendapatkan
input, hasil sortir yang terdapat pada serial monitor bertambah 1, begitupula hasil yang
tertampil pada aplikasi monitoring mesin pemilah benda. Selanjutnya pada kondisi logam
diberikan input, pada serial monitor tertampil 1 dan pada aplikasi monitoring mesin pemilah
benda bertambah 1. Dari hasil tabel diatas dapat kita lihat kesesuaian pengiriman data. Data
lebih lengkap dapat dilihat pada halaman lampiran dengan judul pengujian data utama.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
Tabel 4.4. Hasil pengujian data utama
No
Masu
kanB
enda
Pos
Kayu
Pos
Log
am
Pos
Plas
tik
Pos
Ka
ca
Jumlah sortir di Serial Monitor Arduino IDE
Jumlah sortir di Aplikasi
Monitoring Mesin Pemilah Benda
1
Kayu
1
0
0
0
2
Loga
m
0
1
0
0
3
Plasti
k
0
0
1
0
4
Kaca
0
0
0
1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
No
Masu
kanB
enda
Pos
Kayu
Pos
Log
am
Pos
Plas
tik
Pos
Ka
ca
Jumlah sortir di Serial Monitor Arduino IDE
Jumlah sortir di Aplikasi
Monitoring Mesin Pemilah Benda
5
Kayu
1
0
0
0
6
Loga
m
0
1
0
0
7
Plasti
k
0
0
1
0
8
Kaca
0
0
0
1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
4.2.2. Pengujian Jangkauan Wi-Fi
Kemampuan Arduino ESP8266 untuk memancarkan Wi-Fi dan dapat diterima oleh
Handphone Android sangatlah penting. Jangkauan jarak pancar Wi-Fi dipengaruhi oleh
lokasi pengambilan data. Pada lokasi pengambilan data didalam ruangan yang dipenuhi
dengan meja, computer atau tersekat oleh suatu dinding, jangkauan Wi-Fi menjadi lebih
dekat dikarenakan gelombang yang terhalang oleh berbagai benda yang ada dalam ruangan.
Pada lokasi pengambilan data ruangan terbuka, didapat hasil jarak jangkauan yang lebih
maksimal. Data pengambilan data dapat dilihat dari tabel 4.4.
Pengambilan data dilakukan pada tempat terbuka untuk mendapatkan hasil yang
maksimal. Data yang dinilai adalah lama waktu aplikasi menerima data dan diukur dengan
seberapa jauh koneksi tetap tersebut dapat terhubung. Delay dapat dikategorikan cepat jika
nilai delay sesuai dengan default program aplikasi monitoring yaitu 2 detik. Jika delay telah
melampaui nilai yang telah ditetapkan maka dapat disimpulkan jarak jangkauan Wi-Fi
terlalu jauh. Berdasarkan tabel 4.4 dapat dilihat pada jarak 1-10 meter delay program masih
dalam kategori 2 detik , sehingga pengiriman data masih sesuai dengan. Pada jarak 15 meter
hingga 30 meter respon delay mulai bertambah lama sehingga dapat disimpulkan pada jarak
tersebut aplikasi tidak terkoneksi dengan baik.
Tabel 4.5. Pengambilan data jangkauan Wi-Fi.
No Jarak
(Meter) Waktu (Detik)
Rata- rata
1
1
2.35 2.52 2.7
2.5
2
2
2.54 2.62 2.89
2.43
3
3
2.48 2.6 2.77
2.55
4
4
2.78 2.87 2.94
2.88
5
5
2.67 2.89 2.88
3.12
No Jarak
(Meter) Waktu (Detik)
Rata- rata
6
6
2.88 2.94 2.68
3.25
7
10
3.12 3.1 3.33
2.84
8
15
3.27 3.38 3.54
3.33
9
20
3.55 3.8 4.08
3.77
10
30
4.25 4.39 4.33
4.58
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
4.3. Analisa Perangkat Lunak
Analisa perangkat lunak merupakan hasil dan pembahasan dari program yang telah
dibuat untuk mengkomunikasikan Arduino ESP8266 dengan Android. Pada bagian ini akan
dijelaskan bagaimana kedua device tersebut dapat terhubung.
Gambar 4.6. Layout Login Aplikasi Monitoring Mesin Pemilah Benda
Aplikasi Monitoring Mesin Pemilah Benda terdapat 2 layout, layout pertama gambar
4.6. yaitu untuk login pengguna aplikasi sedangkan gambar 4.7. adalah hasil layout yang
mewakili Mesin Pemilah Sampah.
Gambar 4.7. Layout Mesin Aplikasi Monitoring Mesin Pemilah Benda
4.3.1. Pemrograman Arduino ESP8266
A. Pemrograman Input Arduino ESP8266
Arduino ESP8266 adalah sebuah device mikrokontroller yang telah ditanamkan
ESP8266 sebagai device untuk memancarkan Wi-Fi. Arduino ESP8266 merupakan
perangkat mikrokontroler yang diproduksi oleh WEMOS Eletrics dengan jumlah pin I/O
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
yang dapat digunaka adalah 9 pin pada tegangan kerja 3,3V. Untuk menjalaknan sistem pada
mikrokontroler tersebut, perlu dimasukan program kedalam device tersebut melalui Arduino
IDE. Setiap input yang masuk ke Arduino ESP8266 terlebih dahulu di inisialisasi sesuai
dengan alamat dari tabel berikut.
Tabel 4.6. Tabel koneksi Input Arduino
No Nama
Alamat PLC
GPIO ESP8266
PIN Arduino
1 Kayu Q 100.01 15 D10
2 Logam Q 100.02 16 D2
3 Plastik Q 100.03 5 D3
4 Kaca Q 100.04 4 D4
5 Magazine I 0.08 14 D5
6 Motor Q 100.00 12 D6
7 S1 I 0.05 13 D7
8 S2 I 0.06 0 D8
9 S3 I 0.07 2 D9
10 Power I 0.01 12 D12
Tabel diatas adalah keterangan koneksi input Arduino yang terhubung dengan alamat
PLC. Berdasarkan tabel diatas, misal Kayu pada PLC menggunakan alamat Q 100.01
terhubung dengan GPIO ESP8266 pin 15 yang terdapat pada pin D10 di board Arduino.
Begitu pula pembacaan selanjutnya yang terdapat dalam tabel tersebut. Selanjutnya input
tersebut akan diinisialisai pada program Arduino IDE.
Seperti yang dijelaskan pada sub bab nomor 4.1 bahwa terjadi kekurangan pin input
dapat dilihat pada tabel 4.3. Pada tabel tersebut alamat GPIO motor dan power sama yaitu
GPIO pin 12. Hal tersebut dikarena jumlah GPIO yang terdapat pada ESP8266 hanya
berjumlah 9 yang dapat digunakan untuk menjalankan sistem ini. Untuk mengatasi
kekurangan pin tersebut maka alamat pin GPIO motor dan power disamakan dengan asumsi
jika mesin aktif maka indikator motor akan ikut aktif. Pada perancangan tabel 3.1 pada
perancangan koneksi pin dijelaskan terdapat indikator On/Off, namun pada pengaplikasian
dirubah menjadi indikator power dengan pertimbangan agar tidak ada kesamaan nama pada
saat indikator text info menampilkan karakter On/Off. Berikut adalah gambar yang berisikan
inisialisali pin pada progam Arduino.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
Gambar 4.8. Inisialisai nama input Arduino ESP8266
Gambar 4.9. Inisialisai pin input Arduino ESP8266
Inisialisasi berisi tentang pendefinisian dari fungsi dan variabel yang akan digunakan
dalam proses pengoperasian program. Gambar 4.8 dan gambar 4.9 adalah contoh inisialisai
yang terdapat pada pemrograman Arduino Mesin Pemilah Benda.
B. Pemrograman Koneksi Wi-Fi Arduino ESP8266
Arduino ESP8266 dapat terhubung dengan Android dengan menggunakan koneksi
Wi-Fi. Agar kedua device dapat terkoneksi maka perlu dilakukan pembacaan Wi-Fi yang
dilakukan oleh Arduino ESP8266.
Gambar 4.10. Pembacaan IP Address
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
Berdasarkan gambar 4.10, Arduino membaca SSID, SSID adalah nama untuk
jaringan wireless. Arduino akan membaca SSID dari Android dengan nama dan password
yang telah ditentukan. Pada gambar 4.10 SSID dari Android bernama “tugas” dengan
password “1234567890” dan jika IP Address terbaca maka ledPin pada arduino akan hidup.
Pengaturan SSID dan password dapat ditemukan pada pengaturan Hotspot portabel di
handphone android. Untuk dapat mengetahui apakah Arduino ESP8266 telah tersambung
dengan Android, dapat dituliskan perintah sesuai dengan gambar 4.11 dengan melihat hasil
koneksi tersebut di serial monitor. Berdasarkan pembacaan gambar 4.11 apabila koneksi
Arduino ESP8266 dengan Android berhasil maka akan muncul tampilan pada Serial Monitor
sesuai dengan gambar 4.11.
Gambar 4.11. Cara menampilkan IP di Serial Monitor
C. Pembacaan counter Arduino ESP8266
Setiap output yang dikirim oleh PLC diterima oleh Arduino untuk selajutnya diolah.
Data kayu, logam, plastic, kaca dan jumlah diolah oleh Arduino untuk selanjutnya dikirim
ke data Android. Gambar 4.12 adalah contoh pembacaan counter kaca dan jumlah pada
Arduino. Counter kaca mendapat inputan aktif high, apabila kaca medapat inputan maka
kaca akan bertambah setiap satu kali. Apabila jumlah telah mencapai 99 maka counter kaca
akan kembali ke nol.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
Gambar 4.12. Contoh pembacaan counter kaca dan jumlah.
Counter jumlah berisikan data dari kayu, logam, plastik dan kacayang dijumlahkan
menjadi satu. Apabila jumlah telah mencapai 999 maka counter akan kembali ke nol.
Pembacan icon pada magazine, motor, S1, S2 dan S3 dan power yang tidak membutuhkan
penjumlahan data menggunakan perintah sebagai berikut.
Gambar 4.13. Contoh pengiriman data On/Off
Icon magazine, motor, S1, S2 dan S3 dan power akan menampilkan data berupa
karakter ON dan OFF pada tampilan Android. Contoh pada buttonState6 yang merupakan
inisialisasi dari motor. Berdasarkan gambar 4.13 saat buttonState6 mendapat input aktif high,
maka client pada Android akan menampilkan karakter ON dan jika input low maka akan
menampilkan karakter OFF.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
D. Pemrograman Data Logger EEPROM Arduino ESP8266
Data yang dikirimkan pada menu kayu, logam, plastic dan kaca seharusnya dapat
disimpan dan dilihat pada memory EEPROM Arduino. Pembacaan EEPROM Arduino
dilakukann dengan menu Serial Monitor pada Arduino IDE. Berikut adalah berbagai macam
perintah untuk menuliskan EEPROM di Arduino.
Gambar 4.14. Perintah pembacaan di alamat EEPROM
Untuk dapat membaca atau menuliskan suatu data kealamat EEPROM terlebih
dahulu harus ditentukn alamat yang akan digunakan untuk menyimpan data tersebut. Dalam
gambar 4.14 alamat EEPROM kayu berapa pada alamat 0, logam berada pada alamat 1,
plastik berada pada alamat 2 dan kaca pada alamat 3. Setiap pembacaan yang akan dilakukan
akan diambil data dari alamat tersebut.
Gambar 4.15. Perintah penulisan di alamat EEPROM
Untuk menuliskan data pada alamat yang telah ditentukan dapat digunakan perintah
EEPROM.write(alamat,data) seperti pada gambar 4.15. Perintah tersebut ditambahkan pada
bagian perintah counter suatu data. Contoh pada perintah data counter plastik, setelah
perintah counter dituliskan EEPROM.write(2,plastik) dan perintah yang sama digunakan
pada setiap data yang akan ditampilkan. Untuk membuat data tertampil lebih teratur maka
dapat digunakan perintah pada gambar 4.16. Perintah tersebut digunakan untuk membagi
setiap karakter dalam setiap kolom .
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
Gambar 4.16. Membagi setiap karakter dalam kolom
Hasil dari berbagai perintah yang telah dituliskan menghasilkan contoh pembacaan
data pada serial monitor sesuai pada gambar 4.17 dimana setiap karakter terbagi dalam setiap
kolom.
Gambar 4.17. Pembacaan pada Serial Monitor
4.3.2. Pemrograman Pada Android
A. Koneksi antara Wi-Fi Android dengan Arduino ESP8266
Koneksi Wi-Fi antar Android dengan Arduino ESP8266 dapat terhubung dengan cara
menyamakan SSID dan Password yang ada pada fasilitas Hotspot di Android dengan
program Arduino ESP8266. Jika pada sub bab 4.3.1 point B telah dijelaskan bagaimana cara
menulis program untuk menyamakan SSID dan password pada Arduino ESP8266, maka
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
pada subbab ini akan dijelakan cara mensetting SSID dan Password pada Andorid
berdasarkan gambar 4.18.
Gambar 4.18. Setting SSID dan Password di Android
Pada menu setting hotspot Wi-Fi di Android, SSID diberikan nama “tugas” dan pada
menu sandi diberikan password “1234567890”. Nama SSID dan password tersebut akan
dibaca oleh Arduino ESP8266 dan apabila telah terhubung dapat dilihat pada fasilitas
pengguna hotspot Wi-Fi, IP Arduino ESP8266 telah terhubung dengan Android.
B. Pemrograman pada Android Studio
Pembuatan aplikasi Monitoring Mesin Pemilah Benda pada proses pembuatan
mengalami perubahan desain. Terdapat 2 halaman yang tertampil dalam aplikasi tersebut,
halaman pertama adalah halaman login dan halaman kedua adalah halaman yang mewakili
desain alat. Pada halaman login, jika dibandingkan antara gambar 3.10 tentang perancangan
halaman login dengan gambar 4.6 hasil dari perancangan halaman login, maka hasil yang
didapatkan telah sesuai. Namun untuk halaman desain mesin, jika dibandingkan gambar 3.11
dengan gambar 4.7 hasilnya kurang sesuai. Perbedaan kedua gambar tersebut terletak pada
data yang tertampil dalam layar. Jika gambar 3.11 desain halaman mewakili bentuk asli dari
mesin pemilah, dimana saat setiap Android mendapat inputan maka indikator akan berubah
warna. Namun dalam pengerjaan, penulis mengalami kesulitan dalam pembuatan margin
layout dan perintah untuk dapat merubah warna. Pada gambar 4.7 penulis menyajikan sebuah
halaman yang juga mewakili mesin pemilah benda namun bukan dengan mengganti warna
indikator, tetapi dengan memunculkan karakter kata “On/Off” dapa setiap indator yang
tertampil.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
Untuk membuat aplikasi di Android, dapat digunakan aplikasi Android Studio.
Terdapat 2 fokus pembuatan program, yaitu pembuatan layout dan pembuatan java. Layout
adalah pembuatan tampilan pada sebuah tampilan aplikasi android. Java adalah program
yang digunakan untuk menuliskan perintah agar sebuah aplikasi dapat berfungsi. Buka
aplikasi Android Studio yang ada di computer. Pembuatan layout dalam aplikasi mesin
pemilah sampah terdapat dua halaman. Halaman pertama adalah pembuatan login dan
halaman kedua adalah tampilan mesin. Halaman login mengharuskan pengguna aplikasi
untuk masukkan username dan password untuk masuk ke halaman taampilan mesin.
Sebelum membuat tampilan di android harus terlebih dahulu menyesuaikan system operasi
dan ukuran layer yang digunakan pada handphone yang dimiliki. Dalam hal ini penulis
menentukan sesuai pada batasan masalah yaitu Android 4.4+ (KitKat) dengan ukuran layar
kurang lebih 4,7” (768x1280 dpi). Hal tersebut perlu dilakukan agar ukuran pembuatan
layout sesuai. Selanjutnya buka menu project yang ada disebelah kiri dan buka menu res dan
pilih menu layout. Masuk ke lembar kerja layout yang telah disiapkan. Untuk memasukkan
fungsi kedalam layout dapat dilakukan dengan drag and drop dari palette yang telah
disediakan. Selanjutnya buka text layout untuk mengatur tampilan yang digunakan.
Gambar 4.19. Membuat Nama “Monitoring Mesin Pemilah Sampah”
Berdasarkan gambar 4.6, pada tampilan atas aplikasi terdapat nama “Monitoring
Mesin Pemilah Sampah”. Cara penulisan text tersebut dilakukan sesuai dengan gambar 4.19.
Perintah android:layout_width="match_parent" merupakan perintah untuk mengatur lebar
margin TextView agar melebar secara maksimal sesuai dengan ukuran layar. Perintah
android:layout_height="wrap_content" adalah perintah yang digunakan untuk membuat
tinggi margin TextView mengikuti ukuran text size yaitu 20dp. Untuk membuat tulisan
menjadi tebal dapat digunakan perintah android:textStyle="bold". Setiap komponen yang
digunakan dalam pembuatan layout harus diinisialisasi agar dapat diproses pada program
Java dengan menuliskan perintah android:id="@+id/textView".
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
Pada perintah android layout terdapat 2 perintah, match_parent adalah perintah untuk
membuat margin text dengan ukuran maksimal. Wrap_content adalah perintah untuk
membuat margin text sesuai dengan panjangnya text. Terjadi permasalahan setelah aplikasi
ini disatukan antara halaman login dan halaman mesin. Pada perintah
android:textAlignment=”center” seharusnya text menjadi rata tengah, namun setelah
aplikasi di Build perintah tersebut tidak dapat dieksekusi.
Untuk membuat kolom tempat penulisan username dan password dapat digunakan
komponen EditText. Karena perintah untuk kolom penulisan username dan password sama,
maka penulis membahas salah satu proses pembuatannya yaitu penulisan username. Untuk
mengetahui lebih lanjut perintah yang digunakan dapat dilihat pada gambar 4.20.
Gambar 4.20. Membuat kolom penulisan username
Berdasarkan gambar 4.20 adalah perintah yang digunakan untuk membuat kolom
penulisan username. Sebagian perintah telah dijelaskan pada penjelasan gambar 4.29 untuk
mengatur lebar dan tinggi margin text serta cara menginisialisasi sebuah komponen.
Bardasarkan gambar 4.20 perintah android:inputType="textPassword" digunakan untuk
menuliskan tipe penulisan komponen tersebut yaitu sebagai “textPassword”. Perintah
android:layout_marginTop="20dp adalah perintah untuk mengatur letak komponen yaitu
dengan jarak 20dp dari batas atas layar. Perintah android:hint="User Name" adalah perintah
yang digunakan untuk menampilkan karakter “User Name” namun dengan mode apabila
kolom EditText ditekan maka karakter “User Name” tersebut akan hilang dan berganti
dengan karakter sesuai dengan yag dituliskan pengguna.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
Gambar 4.21. Perintah untuk membuat tombol Button
Berdasarkan gambar 4.6 tentang layout login aplikasi monitoring mesin pemilah
benda, terdapat 2 buah tombol yang digunakan pada halaman tersebut yaitu tombol login
dan tombol cancel. Penulis akan membahas bagaimana cara membuat tombol login karena
cara membuat kedua tombol tersebut hampir sama. Berdasarkan gambar 4.21, perintah
android:text="Login"tersebut digunakan untuk menampilkan text yang muncul pada tombol
tersebut yaitu “Login”. Perintah lain yang digunakan pada gambar 4.17 telah dijelaskan pada
proses pembuatan komponen sebelumnya.
Setelah membuat halaman login, langkah selanjutnya adalah membuat layout
halaman moninotoring mesin pemilah benda sesuai dengan gambar nomor 4.7. Karena pada
proses pembuatan aplikasi mengalami perubahan rancangan dari semula merujuk pada
gambar 3.10 dengan sistem printah merubah lampu warna indikator, namun karena penulis
mengalami kesulitan sehingga pada realisainya halaman monitoring aplikasi tersebut
merujuk pada gambar 4.7 dengan sistem perintah menampilkan karakter ON atau OFF dan
menampilkan jumlah benda yang telah disortir.
Gambar 4.22. Pembagian Area Layout
Berdasarkan gambar 4.22 halaman layout margin terbagi menjadi 3 bagian besar,
yaitu area layout penampilan jumlah data, area layout tombol untuk memulai proses dan area
layout menampilkan indikator On/Off yang mewakili komponen pada mesin pemilah.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
Gambar 4.23. Perintah membuat EditText “KAYU”
Gambar 4.24. Perintah membuat TextView “00”
Langkah selanjutnya adalah memasukkan komponen kedalam setiap margin layout
tersebut. Gambar 4.23 dan gambar 4.24 adalah salah satu komponen yang digunakan pada
layout halaman tersebut. Seluruh komponen yang digunakan pada halan tersebut telah
dibahas pada gambar 4.19 dan gambar 4.20 dengan penjelasan yang sama. Untuk penulisan
program keseluruhan halaman layout Login dapat dilihat pada halaman lampiran dengan
judul Program Android Studio Halaman Layout Login.xml dan penulisan program
keseluruhan halaman monitoring mesin dapat dilihat pada halaman lampiran dengan judul
Program Android Studio Halaman Layout activity_main.xml.
Setelah semua layout halaman login dan halaman monitoring dibuat, langkah
selanjutnya adalah membuat program Java untuk menjalankan fungsi setiap komponen dan
menjalankan sistem aplikasi monitoring mesin pemilah benda. Untuk penjelasan setiap
penjelasan program Java yang digunakan dapat dilihat pada halaman lampiran. Progam Java
untuk halaman login dapat dilihan pada lapiran dengan judul Halaman login.java dan
program java untuk halaman monitoring mesin dapat dilihat pada lampiran dengan judul
Halaman MainActivity.java. Pada halaman lampiran program tersebut telah disertakan
penjelasan dari masing-masing setiap perintah yang ada pada program java.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB V
KESIMPULAN DAN SARAN
5.1. Kesimpulan
Setelah melakukan perancangan dan pengujian pada system monitoring mesin
pemilah benda, penelitidapat menarik kesimpulan sebagai berikut :
1. Telah dibuat aplikasi Monitoring Mesin Pemilah Benda berbasis Android yang
dapat digunakan untuk memonitoring mesin pemilah benda yang ada.
2. Sistem ini memantau setiap proses jalannya mesin pemilah benda .
3. Indikator yang ada pada aplikasi mewakili fungsi yang ada pada mesin dengan
menampilkan karakter ON/OFF.
4. Data jumlah benda yang tersortir dapat diketauhi dari aplikasi mesin pemilah benda.
5.2. Saran
Berdasarkan hasil implementasi yang diperoleh, untuk pengembangan lebih lanjut
ada beberapa saran agar aplikasi ini dapat bekerja dengan baik, yaitu :
1. Pada project yang dibuat saat ini terjadi kekurangan input, permasalahan ini
mungkin dapat diselesaikan dengan mengganti hardware yang digunakan
2. Aplikasi monitoring menampilkan karakter ON/OFF, semoga kedepannya dapat
dibuat sebuah aplikasi yang mampu menampilkan sebuah mesin dengan
indikator yang lebih baik
3. Pemilihan hardware pemancar Wi-Fi masih dalam jarak terbatas, smoga
kedepannya pancaran Wi-Fi dapat lebih jauh sehingga penggunaan aplikasi dapat
lebih maksimal.
4. Komunikasi antara PLC dengan Arduino ESP8266 dapat dikembangkan selain
menggunakan kabel sehingga didapat hasil komunikasi yang lebih maksimal.
48
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR PUSTAKA
[1] Hadi, Indra P., Nurhayati, Rancang Bangun Alat Pemilah Dan Penghitung Barang
Dengan Menggunakan Laser Berbasis Mikrokontroller,
ejournal.unesa.ac.id/article/4165/64/article.pdf diakes 12 Juli 2016 jam 6.00 WIB.
[2] Sunu, Yohanes Babtista A., 2015, Monitoring Prototip Mesin Pemilah Benda
Berdasarkan Jenis Bahan, Teknik Elektro, Universitas Sanata Dharma Yogyakarta,
Yogyakarta.
[3] Syaputra, Rizki., Modul Bahan Ajar Prograning Android Dengan Android Studio,
,SMK TI Madinatul Qur’an – Jonggol. http://www.madinatulquran.or.id diakes 12
Juli 2016 jam 6.40.
[4] -----, -----, Android Studio Basic, http://icyarena.com/android/android-studio-basic
diakses pada 12 Juli 2016 jam 6.55.
[5] Bolton, W., 2006, Programmable Logic Controllers, Fourth Edition, Elsevier
Newnes..
[6] -----, -----, User’s Manual CP1E CPU Unit Hardware, 2009, OMRON,
https://www.fa.omron.com.cn/data_pdf/mnu/w479-e1-09_cp1e.pdf?id=2064,
diakses pada 19 Juli 2016 jam 8.40 WIB.
[7] -----, -----, Arduino Products, https://www.arduino.cc/en/Main/Products diakes 12
Juli 2016 jam 7.30.
[8] -----, -----, Arduino Software, https://www.arduino.cc/en/Main/Software diakes 12
Juli 2016 jam 8.11.
[9] Nugroho, Hary., Aprilia, Sartika Siagian., Analisis Bandwidth Jaringan Wifi,
https://www.academia.edu/, Telkom, Jakarta, diakses pada 19 Juli 2016 jam 8.48
WIB.
[10] -----, -----, Esp8266ex Datasheet, 2015, Espressif Systems IOT Team,
http://bbs.espressif.com/, diakses pada 19 Juli 2016 jam 8.50 WIB.
[11] -----, -----, Adafruit Product, https://www.adafruit.com/product/2491, diakses 3 Juni
2016.
[12] -----, -----, Wemos Product, http://www.wemos.cc/Products/d1_r2.html, diakses 3
Juni 2016.
49
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
[13] -----, -----, Analisa Rangkaian Pembagi Tegangan,
https://depokinstruments.com/2011/08/02/rangkaian-pembagi-tegangan-analisa/,
diakses 11 Juli 2016.
[14] -----, -----, EEPROM Library, https://www.arduino.cc/en/Reference/EEPROM,
diakses pada 12 Juli 2016 jam 12.26.
[15] Pahmi, Parudin, 2014, Modul Teknik Elektro,
http://modul.mercubuana.ac.id/files/ft/TEKNIK%20ELEKTRO/, Teknik Elektro,
Universitas Mercu Buana, Jakarta.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LAMPIRAN
L1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L2
Langkah Penggunaan
Untuk menjalakan aplikasi monitoring Mesin Pemilah benda, dapat diikuti langkah
berikut untuk mensetting dan menjalankan aplikasi, yaitu :
1. Aktifkan Arduino ESP8266 dengan cara menghubungkan dengan sumber tegangan.
2. Buka pengaturan Hotspot Wi-Fi portabel dan setting SSID Jaringan dengan nama
“tugas” dan password “1234567890”.
3. Setelah melakukan setting, aktifkan Hotspot Wi-Fi portabel.
4. Buka menu pengguna hotspot Wi-Fi untuk mengetahui apakah handphone dan
Arduino ESP8266 telah terhubung.
5. Ubah layar monitor ke mode landscape.
6. Buka aplikasi monitoring Mesin Pemilah Benda pada handphone android.
7. Setelah masuk ke aplikasi, tampilan pertama yang muncul adalah halaman login.
Masukkan username “user” dan password “sijohn”.
8. Setlah melakukan login halaman yang akan muncul adalah halaman layout mesin.
Untuk memulai proses monitoring tekan tombol “MULAI BACA”.
Perhatikan :
1. Aplikasi ini sebaiknya menggunakan mode layar landscape.
2. Perhatikan jarak jangkauan Wi-Fi dan koneksi antara handphone android dengan
Arduino ESP8266.
3. Jika koneksi Wi-Fi terputus atau aplikasi tiba-tiba berhenti, sebaiknya tutup
aplikasi dan lakukan login ulang.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L3
Data Sheet Arduino ESP8266
Technical specs
Microcontroller ESP 8266EX
Operating
Voltage 3.3 V
Digital I/O Pins 11
Analog Input
Pins 1(Max input 3,2V)
Clock Speed 80MHz / 160MHz
Flash 4M bytes
Length 68.6mm
Width 53.4mm
Weight 25g
Pin
Pin Function ESP-8266 Pin
TX TXD TXD
RX RXD RXD
A0 Analog input max 3.3V A0
D0 IO GPIO16
D1 IO, SCL GPIO5
D2 IO, SDA GPIO4
D3 IO 10k Pull-up GPIO0
D4 IO 10k Pull-up, Builtin_LED GPIO2
D5 IO, SCK GPIO14
D6 IO, MISO GPIO12
D7 IO, MOSI GPIO13
D8 IO, 10k Pull-down, SS GPIO15
G Ground GND
5V 5V -
3V3 3.3V 3.3V
RST Reset RST
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L4
Rangkaian Interface
Komponen yang digunakan :
Nama Jumlah
Relay 24 V 6
Resistor 10K 6
T-Block 2 Pin 7
T-Block 1 Pin 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L5
Pemrograman Arduino IDE
#include <ESP8266WiFi.h>
#include <EEPROM.h>
//buttonPin
const int buttonPin1 = 15; // kayu
const int buttonPin2 = 16; // logam
const int buttonPin3 = 5; // plastik
const int buttonPin4 = 4; // kaca
const int buttonPin5 = 14; // magazine
const int buttonPin6 = 12; // motor
const int buttonPin7 = 13; // s1
const int buttonPin8 =0 ; // s2
const int buttonPin9 = 2; // s3
const int buttonPin10 = 12; // power
int kayu;
int logam;
int plastik;
int kaca;
int jumlah;
int selenoid;
int motor;
int s1;
int s2;
int s3;
int power;
int buttonState1 = 0; // variable for reading the pushbutton status
int buttonState2 = 0; // variable for reading the pushbutton status
int buttonState3 = 0; // variable for reading the pushbutton status
int buttonState4 = 0; // variable for reading the pushbutton status
int buttonState5 = 0; // variable for reading the pushbutton status
int buttonState6 = 0; // variable for reading the pushbutton status
int buttonState7 = 0; // variable for reading the pushbutton status
int buttonState8 = 1; // pin mempunyai karakter aktif low
int buttonState9 = 1; // pin mempunyai karakter aktif low
int buttonState10 = 0; // variable for reading the pushbutton status
// menyamakan ssid dan password dengan android
const char* ssid = "tugas";
const char* password = "1234567890";
//IPAddress ip(192,168,43,174);
int ledPin = 13;
WiFiServer server(80);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L6
void setup()
Serial.begin(115200);
delay(10);
EEPROM.begin(512);
pinMode(buttonPin1, INPUT);
pinMode(buttonPin2, INPUT);
pinMode(buttonPin3, INPUT);
pinMode(buttonPin4, INPUT);
pinMode(buttonPin5, INPUT);
pinMode(buttonPin6, INPUT);
pinMode(buttonPin7, INPUT);
pinMode(buttonPin8, INPUT);
pinMode(buttonPin9, INPUT);
pinMode(buttonPin10, INPUT);
pinMode(A0, INPUT); // pin untuk reset data EEPROM
pinMode(13, OUTPUT);
digitalWrite(ledPin, LOW);
// Tampilan pada serial monitor jika wifi terkoneksi
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.mode(WIFI_AP); // access point modus
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED)
delay(500);
Serial.print(".");
// tertampil di serial monitor Wifi connected
Serial.println("");
Serial.println("WiFi connected");
// tertampil di serial monitor Server started
server.begin();
Serial.println("Server started");
// tertampil di serial monitor ip address device
Serial.print("Use this URL : ");
Serial.print("http://");
Serial.print(WiFi.localIP());
Serial.println("/");
// pembacaan EEPROM
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L7
kayu = EEPROM.read(0);
logam = EEPROM.read(1);
plastik= EEPROM.read(2);
kaca = EEPROM.read(3);
void loop()
// Periksa apakah klien telah terhubung
buttonState1 = digitalRead(buttonPin1);
buttonState2 = digitalRead(buttonPin2);
buttonState3 = digitalRead(buttonPin3);
buttonState4 = digitalRead(buttonPin4);
buttonState5 = digitalRead(buttonPin5);
buttonState6 = digitalRead(buttonPin6);
buttonState7 = digitalRead(buttonPin7);
buttonState8 = digitalRead(buttonPin8);
buttonState9 = digitalRead(buttonPin9);
buttonState10 = digitalRead(buttonPin10);
//counter kayu
if (buttonState1 == HIGH)
kayu = kayu + 1;
//Serial.println(kayu);
delay(200);
if (kayu >= 99)
kayu = 0;
EEPROM.write(0,kayu);
//counter logam
if (buttonState2 == HIGH)
logam = logam + 1;
//Serial.println(logam);
delay(200);
if (logam >= 99)
logam = 0;
EEPROM.write(1,logam);
//counter plastik
if (buttonState3 == HIGH)
plastik = plastik + 1;
//Serial.println(plastik);
delay(200);
if (plastik >= 99)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L8
plastik = 0;
EEPROM.write(2,plastik);
// counter kaca
if (buttonState4 == HIGH)
kaca = kaca + 1;
//Serial.println(kaca);
delay(200);
if (kaca >= 99)
kaca = 0;
EEPROM.write(3,kaca);
// counter jumlah
jumlah = kayu + logam + plastik + kaca;
if (jumlah > 999)
jumlah = 0;
// menampilkan data pada serial monitor
Serial.println(" ");
Serial.print("kayu = ");
Serial.print(kayu);
Serial.print("\tlogam = ");
Serial.print(logam);
Serial.print("\tplastik = ");
Serial.print(plastik);
Serial.print("\tkaca = ");
Serial.print(kaca);
Serial.print("\tjumlah = ");
Serial.print(jumlah);
Serial.print("\ta0 = ");
Serial.print(analogRead(A0));
//mereset EEPROM
if(analogRead(A0)>=500)
kayu=0;
logam=0;
plastik=0;
kaca=0;
EEPROM.write(0,0);
EEPROM.write(1,0);
EEPROM.write(2,0);
EEPROM.write(3,0);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L9
delay(200);
WiFiClient client = server.available();
if (!client)
return;
// Wait until the client sends some data
Serial.println("new client");
while (!client.available())
delay(1);
// Read the first line of the request
String request = client.readStringUntil('\r');
Serial.println(request);
client.flush();
// Return the response
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("");
client.print("a");
if (kayu < 10)
client.print("0");
client.print(kayu);
if (logam < 10)
client.print("0");
client.print(logam);
if (plastik < 10)
client.print("0");
client.print(plastik);
if (kaca < 10)
client.print("0");
client.print(kaca);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L10
if (jumlah >= 0 && jumlah < 10)
client.print("00");
if (jumlah >= 10 && jumlah < 99)
client.print("0");
client.print(jumlah);
// mengirimkan perintah pada text info magazine
if (buttonState5 == HIGH)
client.print("ON ");
else
client.print("OFF");
// mengirimkan perintah pada text info motor
if (buttonState6 == HIGH)
client.print("ON ");
else
client.print("OFF");
// mengirimkan perintah pada text info s1
if (buttonState7 == HIGH)
client.print("ON "); // do not forget this one
else
client.print("OFF"); // do not forget this one
// mengirimkan perintah pada text info s2
if (buttonState8 == LOW)
client.print("ON ");
else
client.print("OFF");
// mengirimkan perintah pada text info s3
if (buttonState9 == LOW)
client.print("ON ");
else
client.print("OFF");
// mengirimkan perintah pada text info power
if (buttonState10 == HIGH)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L11
client.println("ON ");
else
client.println("OFF");
delay(1);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L12
Program Android Studio Halaman Layout Login.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_login"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.arduinoesp.login"
android:background="@drawable/cc"
android:screenOrientation="userLandscape"
>
<TextView
android:text="Monitoring Mesin Pemilah Benda"
android:textAlignment="center"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="20dp"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textStyle="bold"
android:id="@+id/textView" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:ems="10"
android:layout_marginTop="20dp"
android:hint="User Name"
android:id="@+id/editText2"
tools:layout_centerHorizontal="false"
android:textAlignment="center" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:ems="10"
android:textAlignment="center"
android:layout_marginTop="50dp"
android:hint="Password"
android:id="@+id/editText3" />
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L13
<Button
android:text="Login"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAlignment="center"
android:layout_marginLeft="0dp"
android:layout_marginTop="90dp"
android:onClick="login"
android:id="@+id/button" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAlignment="center"
android:textSize="15dp"
android:text="Cancel"
android:layout_marginLeft="0dp"
android:layout_marginTop="130dp"
android:id="@+id/btnCancel"
/>
<TextView
android:text="Universitas Sanata Dharma Yogyakarta"
android:textAlignment="center"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="20dp"
android:textAppearance="?android:attr/textAppearanceLarge"
android:layout_marginTop="225dp"
android:id="@+id/textView2"
android:textStyle="bold"
/>
<TextView
android:text="--"
android:textAlignment="center"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="18dp"
android:textAppearance="?android:attr/textAppearanceLarge"
android:layout_marginTop="180dp"
android:id="@+id/textView3"
android:textStyle="bold"
/>
</RelativeLayout>
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L14
Program Android Studio Halaman Layout activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:orientation="vertical"
tools:context=".MainActivity"
android:background="@drawable/cc"
android:weightSum="1">
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="right"
android:weightSum="1">
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="left|center_horizontal">
<LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:weightSum="1">
<LinearLayout
android:orientation="vertical"
android:layout_width="90dp"
android:layout_height="wrap_content"
android:layout_gravity="top">
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/editText"
android:text="KAYU"
android:layout_gravity="center_horizontal" />
<TextView
android:id="@+id/info2"
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L15
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:textSize="40dp"
android:text="00"
android:layout_gravity="center_horizontal" /> </LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="90dp"
android:layout_height="wrap_content"
android:layout_gravity="top|center_vertical">
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/editText2"
android:text="LOGAM"
android:layout_gravity="center_horizontal" />
<TextView
android:id="@+id/info3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:textSize="40dp"
android:text="00"
android:layout_gravity="center_horizontal" />
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="90dp"
android:layout_height="wrap_content"
android:layout_gravity="top|center_vertical">
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/editText3"
android:text="PLASTIK"
android:layout_gravity="center_horizontal" />
<TextView
android:id="@+id/info4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L16
android:textStyle="bold"
android:textSize="40dp"
android:text="00"
android:layout_gravity="center_horizontal" />
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="90dp"
android:layout_height="wrap_content"
android:layout_gravity="top|center_vertical">
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/editText4"
android:text="KACA"
android:layout_gravity="center_horizontal" />
<TextView
android:id="@+id/info5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:textSize="40dp"
android:text="00"
android:layout_gravity="center_horizontal" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Space
android:layout_width="match_parent"
android:layout_height="11dp"
android:layout_gravity="center_horizontal" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/editText5"
android:text="JUMLAH"
android:layout_gravity="center_horizontal" />
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L17
android
android
android
android
android
android
android
android
android
android
android
android
android android
android
android
android
android
android
android
android
android
android
<TextView
:id="@+id/info6"
:layout_width="wrap_content"
:layout_height="wrap_content"
:textStyle="bold"
:textSize="40dp"
:text="00"
:layout_gravity="center_horizontal" />
<ImageView
:layout_width="match_parent"
:layout_height="4dp"
:id="@+id/imageView2"
:layout_gravity="center_horizontal"
:background="#000000" />
<Space :layout_width="match_parent"
:layout_height="wrap_content"
:layout_gravity="center_horizontal" /> </LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button :layout_width="wrap_content"
:layout_height="wrap_content"
:text="MULAI BACA "
:id="@+id/baca" />
<EditText :id="@+id/ip"
:layout_width="wrap_content"
:layout_height="wrap_content"
:text="192.168.43.174" /> </LinearLayout>
</LinearLayout>
<Space
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="bottom" />
<ImageView
android:layout_width="4dp"
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L18
android:layout_height="match_parent"
android:id="@+id/imageView"
android:layout_gravity="center_vertical" android:background="#000000" />
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left|center_horizontal">
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/editText6"
android:text="Magazine="
android:textSize="15dp" />
<TextView
android:id="@+id/info7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:textSize="20dp"
android:text="DISABLE"
android:layout_gravity="center" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/editText7"
android:text="Motor ="
android:textSize="15dp" />
<TextView
android:id="@+id/info8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L19
android:textStyle="bold"
android:textSize="20dp"
android:text="DISABLE" android:layout_gravity="center" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/editText8"
android:text="S 1 ="
android:textSize="15dp" />
<TextView
android:id="@+id/info9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:textSize="20dp"
android:text="DISABLE"
android:layout_gravity="center" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" >
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/editText9"
android:text="S 2 ="
android:textSize="15dp" />
<TextView
android:id="@+id/info10"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:textSize="20dp"
android:text="DISABLE"
android:layout_gravity="center" />
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L20
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" >
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/editText10"
android:text="S 3 ="
android:textSize="15dp" />
<TextView
android:id="@+id/info11"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:textSize="20dp"
android:text="DISABLE"
android:layout_gravity="center" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" >
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/editText11"
android:text="Power ="
android:textSize="15dp" />
<TextView
android:id="@+id/info12"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:textSize="20dp"
android:text="DISABLE"
android:layout_gravity="center" />
</LinearLayout>
</LinearLayout>
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L21
</LinearLayout>
</LinearLayout>
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L22
Halaman login.java
package com.example.arduinoesp;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.graphics.Color;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class login extends AppCompatActivity
// komponen yang terdapat pada halaman layout login.xml
Button b1, b2;
EditText ed1, ed2;
TextView tx1;
int counter = 5;
@Override
protected void onCreate(Bundle savedInstanceState)
// inisialisai komponen
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
b1 = (Button) findViewById(R.id.button);
b2 = (Button) findViewById(R.id.btnCancel);
ed1 = (EditText) findViewById(R.id.editText2);
ed2 = (EditText) findViewById(R.id.editText3);
tx1 = (TextView) findViewById(R.id.textView3);
tx1.setVisibility(View.GONE);
b1.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View v)
//setting username dengan "user" dan password dengan "sijohn"
if (ed1.getText().toString().equals("user") &&
ed2.getText().toString().equals("sijohn"))
//kondisi jika login benar
// akan tertampil karakter "Login Sukses"
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L23
// jika benar akan berpindah ke halaman MainActivity.class
Toast.makeText(getApplicationContext(), "Login Sukses",
Toast.LENGTH_SHORT).show();
Intent intent = new Intent (login.this,MainActivity.class);
startActivity(intent);
else
Salah"
Salah",
);
//jika login gagal akan tertampil karakter "Username atau Password Anda
Toast.makeText(getApplicationContext(), "Username atau Password Anda
Toast.LENGTH_SHORT).show();
tx1.setVisibility(View.VISIBLE);
tx1.setBackgroundColor(Color.RED);
counter--;
tx1.setText(Integer.toString(counter));
if (counter == 0)
b1.setEnabled(false);
b2.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View v)
finish();
);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L24
Halaman MainActivity.java
package com.example.arduinoesp;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.os.AsyncTask;
import android.support.v7.app.ActionBarActivity;
import android.widget.EditText;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URI;
import java.net.URISyntaxException;
public class MainActivity extends ActionBarActivity
// komponen yang terdapat pada layout AndroidManifest.xml
Button Baca;
EditText editIp;
TextView
textInfo2,textInfo3,textInfo4,textInfo5,textInfo6,textInfo7,textInfo8,textInfo9,textInfo
10,textInfo11,textInfo12;
CountDownTimer countdowntimer;
@Override
protected void onCreate(Bundle savedInstanceState)
// inisialisasi komponen
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editIp = (EditText)findViewById(R.id.ip);
textInfo2 = (TextView)findViewById(R.id.info2);
textInfo3 = (TextView)findViewById(R.id.info3);
textInfo4 = (TextView)findViewById(R.id.info4);
textInfo5 = (TextView)findViewById(R.id.info5);
textInfo6 = (TextView)findViewById(R.id.info6);
textInfo7 = (TextView)findViewById(R.id.info7);
textInfo8 = (TextView)findViewById(R.id.info8);
textInfo9 = (TextView)findViewById(R.id.info9);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L25
textInfo10 = (TextView)findViewById(R.id.info10);
textInfo11 = (TextView)findViewById(R.id.info11);
textInfo12 = (TextView)findViewById(R.id.info12);
Baca = (Button)findViewById(R.id.baca);
Baca.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View v)
countdowntimer = new CountDownTimerClass(2000, 2000);
countdowntimer.start();
);
public class CountDownTimerClass extends CountDownTimer
public CountDownTimerClass(long millisInFuture, long countDownInterval)
super(millisInFuture, countDownInterval);
@Override
public void onTick(long millisUntilFinished)
int progress = (int) (millisUntilFinished/2000);
// pembacaan ip address dan pembacaan string
@Override
public void onFinish()
String serverIP = editIp.getText().toString()+":80";
TaskEsp taskEsp = new TaskEsp(serverIP);
String onoff;
onoff="1";
taskEsp.execute(onoff);
countdowntimer = new CountDownTimerClass(2000, 2000);
countdowntimer.start();
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L26
private class TaskEsp extends AsyncTask<String, Void, String>
String server;
TaskEsp(String server)
this.server = server;
@Override
protected String doInBackground(String... params)
String val = params[0];
final String p = "http://"+server+"?led="+val;
runOnUiThread(new Runnable()
@Override
public void run()
);
String serverResponse = "";
HttpClient httpclient = new DefaultHttpClient();
try
HttpGet httpGet = new HttpGet();
httpGet.setURI(new URI(p));
HttpResponse httpResponse = httpclient.execute(httpGet);
InputStream inputStream = null;
inputStream = httpResponse.getEntity().getContent();
BufferedReader bufferedReader =
new BufferedReader(new InputStreamReader(inputStream));
serverResponse = bufferedReader.readLine();
inputStream.close();
catch (URISyntaxException e)
e.printStackTrace();
serverResponse = e.getMessage();
catch (ClientProtocolException e)
e.printStackTrace();
serverResponse = e.getMessage();
catch (IOException e)
e.printStackTrace();
serverResponse = e.getMessage();
return serverResponse;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L27
// pembuatan data string
@Override
protected void onPostExecute(String s)
String test = s;
String ss=test.substring(1,3); // kayu
textInfo2.setText(ss);
String ss2=test.substring(3,5); // logam
textInfo3.setText(ss2);
String ss3=test.substring(5,7); // plastik
textInfo4.setText(ss3);
String ss4=test.substring(7,9); // kaca
textInfo5.setText(ss4);
String ss5=test.substring(9,12); // jumlah
textInfo6.setText(ss5);
String ss7=test.substring(12,15); // magazine
textInfo7.setText(ss7);
String ss8=test.substring(15,18); // motor
textInfo8.setText(ss8);
String ss9=test.substring(18,21); // s1
textInfo9.setText(ss9);
String ss10=test.substring(21,24); // s2
textInfo10.setText(ss10);
String ss11=test.substring(24,27); // s3
textInfo11.setText(ss11);
String ss12=test.substring(27,30); //power
textInfo12.setText(ss12);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L28
Halaman AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.arduinoesp" >
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="MESIN PEMILAH BENDA"
android:theme="@style/AppTheme" > <activity
android:name=".login"
android:label="MESIN PEMILAH BENDA " > <intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".MainActivity"></activity>
</application>
</manifest>
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L29
Hasil Pengujian Sub Sistem Program
No
Mas
ukan
Ben
d a
Pos
Kay
u
Pos
Log
am
Pos
Pla
stik
Po
sK
aca
Jumlah sortir di Serial Monitor Arduino IDE
Jumlah sortir di Aplikasi
Monitoring Mesin Pemilah
Benda
1
-
0
0
0
0
2
Kayu
1
0
0
0
3
Loga
m
0
1
0
0
4
Plasti
k
0
0
1
0
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L30
No
Mas
ukan
Ben
d a
Pos
Kay
u
Pos
Log
am
Pos
Pla
stik
Po
sK
aca
Jumlah sortir di Serial Monitor Arduino IDE
Jumlah sortir di Aplikasi
Monitoring Mesin Pemilah
Benda
5
Kaca
0
0
0
1
6
Kayu
1
0
0
0
7
Loga
m
0
1
0
0
8
Plasti
k
0
0
1
0
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L31
No
Mas
ukan
Ben
d a
Pos
Kay
u
Pos
Log
am
Pos
Pla
stik
Po
sK
aca
Jumlah sortir di Serial Monitor Arduino IDE
Jumlah sortir di Aplikasi
Monitoring Mesin Pemilah
Benda
9
Kaca
0
0
0
1
10
Kayu
1
0
0
0
11
Loga
m
0
1
0
0
12
Plasti
k
0
0
1
0
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L32
No
Mas
ukan
Ben
d a
Pos
Kay
u
Po
Log
am
Pos
Pla
stik
Po
s
Ka
ca
Jumlah sortir di Serial Monitor Arduino IDE
Jumlah sortir di Aplikasi
Monitoring Mesin Pemilah
Benda
13
Kaca
0
0
0
1
14
Kayu
1
0
0
0
15
Loga
m
0
1
0
0
16
Plasti
k
0
0
1
0
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L33
No
Mas
ukan
Ben
d a
Pos
Kay
u
Po
Log
am
Pos
Pla
stik
Po
s
Ka
ca
Jumlah sortir di Serial Monitor Arduino IDE
Jumlah sortir di Aplikasi
Monitoring Mesin Pemilah
Benda
17
Kaca
0
0
0
1
18
Kayu
1
0
0
0
19
Loga
m
0
1
0
0
20
Plasti
k
0
0
1
0
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L34
No
Mas
ukan
Ben
d a
Pos
Kay
u
Pos
Log
am
Pos
Pla
stik
Po
s
Ka
ca
Jumlah sortir di Serial Monitor Arduino IDE
Jumlah sortir di Aplikasi
Monitoring Mesin Pemilah
Benda
21
Kaca
0
0
0
1
22
Kayu
1
0
0
0
23
Loga
m
0
1
0
0
24
Plast
ik
0
0
1
0
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L35
No
Mas
ukan
Ben
d a
Pos
Kay
u
Pos
Log
am
Pos
Pla
stik
Po
s
Ka
ca
Jumlah sortir di Serial Monitor Arduino IDE
Jumlah sortir di Aplikasi
Monitoring Mesin Pemilah
Benda
25
Kaca
0
0
0
1
26
Kayu
1
0
0
0
27
Loga
m
0
1
0
0
28
Plast
ik
0
0
1
0
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L36
No
Mas
ukan
Ben
d a
Pos
Kay
u
Pos
Log
am
Pos
Pla
stik
Po
s
Ka
ca
Jumlah sortir di Serial Monitor Arduino IDE
Jumlah sortir di Aplikasi
Monitoring Mesin Pemilah
Benda
29
Kaca
0
0
0
1
30
Kayu
1
0
0
0
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L37
Langkah Pembuatan Aplikasi Di Android Studio
Lampiran ini akan menjelaskan bagaimana cara menginstall dan spesifikasi komputer yang
harus digunakan. Berikut adalah langkah-langkahnya :
1. Pastikan komputer yang digunakan memiliki RAM dan Harddisk pada local di C
yang besar. Pada computer yang saya gunakan menggunakan :
1. RAM 6 GB
2. Harddisk Local Disk C 150 GB
3. Processor Core i3 2,20 GHz
4. Windows 7 Ultimate 64 bit
2. Install Aplikasi Android Studio, aplikasi ini dapat di download pada alamat
https://developer.android.com/studio/index.html?hl=id dan diunduh secara gratis.
Aplikasi ini baiknya diinstall dalam local disk C agar mempermudah penyimpanan
dan menghindari data debug.
3. Saat menginstall aplikasi tersebut, akan diminta program Java JDK. Java yang saya
gunakan jre1.8.0.102 yang dapat diunduh bebas di https://java.com/en/download/ .
Java JDK tidak selalu di update, cukup disesuaikan dengan kebutuhan kita.
4. Setelah aplikasi Android Studio di install, buka aplikasi Andoid Studio tersebut.
Aplikasi Andorid SDK yang saying gunakan adalah API 22 dan API 24.
Pemberitahuan update akan selalu ada setiap computer terkoneksi dengan internet
dan Android SDK tidak harus selalu di update agar tidak memenuhi ruang
penyimpaan atau didownlaod jika memang diperlukan.
5. Menggunakan Aplikasi Android Studio :
1. Buka Aplikasi Andorid Studio
2. Tulis nama Aplikasi yang diinginkan, dan perhatikan nama company
domain dan lokasi penyimpanan yang akan tertampil di halaman tersebut.
3. Tentukan SDK Minimum yang kita gunakan
4. Pilih Empety Activity
5. Tulis nama Activity Name dan Layout Name dan usahakan menggunakan
font kecil untuk mempermudah penggunaan.
6. Pada halaman Android Studio, di sebelah kiri atas terdapat menu project
yang didalamnya berisikan lokasi halaman yang harus dibuat
7. Dalam membuat aplikasi ini yang harus diperhatikan adalah pembuatan
layout untuk membuat tampilan aplikasi dan Java untuk menjalankan
perintah menu pada aplikasi yang kita buat
8. Setelah aplikasi terbuat kita dapat melihat hasil jadi aplikasi tersebut
dengan menu Build-Build APK. Copy file yang ada ke dalam hanphone
yang digunakan lalu install aplikasi tersebut.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI