ANALISIS METODE FUZZY LOGIC UNTUK ROBOT PENGANGKAT BEBAN
TESIS
MUHAMMAD FURQON SIREGAR 167038089
PROGRAM STUDI S2 TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN
2019
ANALISIS METODE FUZZY LOGIC UNTUK ROBOT PENGANGKAT BEBAN
TESIS
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Magister Teknik Informatika
MUHAMMAD FURQON SIREGAR 167038089
PROGRAM STUDI S2 TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN
2019
PERNYATAAN
ANALISIS METODE FUZZY LOGIC UNTUK ROBOT PENGANGKAT BEBAN
TESIS
Saya mengakui bahwa tesis ini adalah hasil karya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, 15 Agustus 2019
MUHAMMAD FURQON SIREGAR
NIM. 167038089
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Sebagai sivitas akademika Universitas Sumatera Utara, saya yang bertanda tangan dibawah ini:
Nama : Muhammad Furqon Siregar
NIM : 167038089
Program Studi : Magister (S2) Teknik Informatika Jenis Karya Ilmiah : Tesis
Demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada Universitas Sumatera Utara Hak Bebas Royalti Non-Eksklusif (Non-Exclusive Royalty Free Right) atas tesis saya yang berjudul:
ANALISIS METODE FUZZY LOGIC UNTUK ROBOT PENGANGKAT BEBAN
Beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti Non- Eksklusif ini, Universitas Sumatera Utara berhak menyimpan, mengalih media, memformat, mengelola dalam bentuk database, merawat dan mempublikasikan tesis saya tanpa meminta izin dari saya selama tetap mencantumkan nama saya sebagai penulis dan sebagai pemegang dan/atau sebagai pemilik hak cipta.
Demikian pernyataan ini dibuat dengan sebenarnya.
Medan, 15 Agustus 2019
MUHAMMAD FURQON SIREGAR NIM. 167038089
Telah diuji pada
Tanggal: 15 Agustus 2019
PANITIA PENGUJI TESIS Ketua : Suherman, Ph.D
Anggota : 1. Dr. Poltak Sihombing, M.Kom
2. Prof. Dr. Muhammad Zarlis
3. Dr. Elviawaty Muisa Zamzami
RIWAYAT HIDUP
DATA PRIBADI
Nama Lengkap : Muhammad Furqon Siregar, S. T.
Tempat dan Tanggal Lahir : Medan, 03 Mei 1994
Alamat Rumah : Jl. Setiabudi Gg. Sepakat Jaya No. 15 Medan Telepon/HP : 0813-9777-1201
E-mail : [email protected] Instansi Tempat Bekerja : Universitas Harapan Medan
Alamat Kantor : Jl. Hm. Jhoni No. 70C Medan
DATA PENDIDIKAN
SD : SD Harapan 1 Medan TAMAT : 2006
SMP : SMP Harapan 1 Medan TAMAT : 2009
SMA : SMA Harapan 1 Medan TAMAT : 2012
S1 : Teknik Informatika UnHar Medan TAMAT : 2016
S2 : Teknik Informatika USU Medan TAMAT : 2019
UCAPAN TERIMA KASIH
Puji dan syukur penulis panjatkan kepada Allah SWT, dengan limpahan rahmat dan karunia-Nya, tesis ini berhasil diselesaikan dalam waktu yang telah ditetapkan.
Penulisan tesis merupakan salah satu persyaratan wajib untuk menyelesaikan studi Magister Teknik Informatika di Fasilkom-TI USU. Judul penelitian dalam tesis yang telah selesai dilakukan penulis berjudul “ANALISIS METODE FUZZY LOGIC UNTUK ROBOT PENGANGKAT BEBAN”. Dalam penyelesaian tesis ini, tidak terlepas dari bantuan dan kerjasama serta doa dan dukungan dari berbagai pihak.
Untuk itu penulis ingin menyampaikan ucapan terima kasih kepada :
1. Bapak Prof. Dr. Runtung Sitepu, SH, M.Hum., selaku Rektor Universitas Sumatera Utara Medan.
2. Bapak Prof. Dr. Opim Salim Sitompul, M.Sc., selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara Medan.
3. Bapak Prof. Dr. Muhammad Zarlis selaku Ketua Program Studi Magister (S2) Teknik Informatika, Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara Medan.
4. Bapak Dr. Syahril Efendi, S.Si, M.IT, selaku Sekretaris Program Studi Magister (S2) Teknik Informatika, Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara Medan.
5. Bapak M. Andri Budiman, ST, M.Comp.Sc, MEM selaku Dosen Penasehat Akademik yang telah memberikan arahan/nasehat yang baik selama proses perkuliahan maupun penyelesaian tesis.
6. Bapak Suherman, Ph.D dan Bapak Dr. Poltak Sihombing, M.Kom selaku Dosen Pembimbing yang telah membimbing saya sepenuh hati agar penulisan tesis ini menjadi lebih baik.
7. Bapak Prof. Dr. Muhammad Zarlis dan Ibu Dr. Elviawaty Muisa Zamzami
selaku Dosen Pembanding yang telah memberikan saran dan masukan yang
sangat berguna dalam perbaikan penulisan tesis ini.
8. Kedua Orangtua tercinta, Ayahanda Drs. H. Mahmud Nurdin Siregar dan Ibunda Dra. Hj. Zainab MZ., M.Hum yang telah memberikan kasih sayang, doa serta dukungan berupa materi dan lain-lain.
9. Abang dan kakak Penulis, Achmad Mahroza Ramadhan Siregar, S. T., Mazlah Aini Siregar, S. S., Rakhmat Fauzan Siregar, Amd.
10. Para staf/pegawai administrasi di Program Studi Magister Teknik Informatika yang telah banyak membantu dalam pengurusan akademik.
11. Abang-abang/kakak-kakak senior Kom A dan Kom B 2016/2017, serta teman- teman seperjuangan Kom C 2016.
12. Bapak/Ibu Dosen, rekan sejawat, serta staf/pegawai yang bertugas di Universitas Harapan Medan.
13. Adik-adik penerus UKM OSSC UnHar Medan, yang sedang menyelesaikan laporan kerja praktik dan juga sedang menyelesaikan studi sarjana.
14. Terkhusus Nadia Widari Nasution, S.Si yang selalu mendukung, menemani, serta memberi semangat kepada penulis.
Semoga segala kebaikan dan bantuannya dibalas oleh Allah SWT dan semoga tesis ini dapat bermanfaat bagi semua pihak yang memerlukannya.
Medan, 15 Agustus 2019 Penulis,
MUHAMMAD FURQON SIREGAR
NIM. 167038089
ABSTRAK
Fuzzy logic digunakan untuk mengatasi penghitungan input beban yang tidak pasti nilainya. Nilai yang dimaksud terletak pada jumlah beban yang akan dijepit dan diangkat oleh tuas robot. Pada mini prototype yang dirancang, semua sistem terintegrasi dengan microcontroller board Arduino Uno jenis R3. Motor servo digunakan sebagai penggerak tuas pengangkatan dan penjepitan, sedangkan sensor digunakan untuk pembacaan beban yang akan diangkat. Setiap beban akan dihitung beratnya dengan menggunakan sensor massa. Tujuannya agar mendapat nilai yang lebih akurat. Beban yang akan di input dibatasi dengan maksimal berat 900 gram.
Percobaan yang dilakukan dengan menggunakan fuzzy logic model Tsukamoto, menunjukkan hasil akurasi yang lebih baik dalam menentukan derajat kemiringan antara empat buah servo. Nilai yang dihasilkan oleh sistem fuzzy ini terlihat stabil dan bertambah secara bertahap. Nilai rata-rata derajat kemiringan empat buah servo adalah 34,1%.
Kata Kunci : Robot Pengangkat Beban, Fuzzy Logic, Mikrokontroler
ANALYSIS OF FUZZY LOGIC METHOD FOR LOAD LIFTING ROBOT
ABSTRACT
Fuzzy logic method is used to overcome uncertain input load calculations. The intended value lies in the amount of load that will be clamped and lifted by the robot lever. All systems are integrated and controlled by the Arduino Uno R3 microcontroller board. The use of a servo motor is for driving lever and pinching lever, while the sensor is used for reading the load mass to be lifted. Load mass is approximated by using sensor to get a more accurate value. The load mass to be lifted is limited to a maximum weight of 900 gram. The experiments with Tsukamoto's fuzzy logic model shows better accuracy results in determining the degree of slope between four servo. The value generated by this fuzzy system is stable and increasing gradually. The average value of the slope of four servo is 34,1%.
Keywords : Load Lifting Robot, Fuzzy Logic, Microcontroller
DAFTAR ISI
Hal.
HALAMAN JUDUL i
PERSETUJUAN ii
PERNYATAAN ORISINALITAS iii
PERNYATAAN PERSETUJUAN PUBLIKASI iv
PANITIA PENGUJI v
RIWAYAT HIDUP vi
UCAPAN TERIMA KASIH vii
ABSTRAK ix
ABSTRACT x
DAFTAR ISI xi
DAFTAR TABEL xiv
DAFTAR GAMBAR xv
BAB 1 PENDAHULUAN
1.1 Latar Belakang 1
1.2 Rumusan Masalah 2
1.3 Batasan Masalah 3
1.4 Tujuan Penelitian 3
1.5 Manfaat Penelitian 3
BAB 2 TINJAUAN PUSTAKA
2.1 Mikrokontroler 4
2.2 Arduino 4
2.2.1 Arduino Uno 5
2.2.2 Input dan Output 7
2.2.3 Komunikasi 7
2.3 Fuzzy Logic 7
2.3.1 Proses Inferensi 8
2.4 Fungsi Keanggotaan 9
2.4.1 Kurva Linier 9
2.4.2 Kurva Segitiga 9
2.4.3 Kurva Trapesium 10
2.5 Himpunan Fuzzy (Fuzzy Set) 10
2.6 IF – THEN Rule 12
2.7 Metode Tsukamoto 12
2.8 Komponen Prototype Robot Pengangkat Beban 13
2.8.1 Sensor Massa 13
2.8.2 Motor Servo 14
2.8.3 Motor Driver 15
2.8.4 Motor DC 16
2.9 Penelitian Terkait 17
BAB 3 METODOLOGI PENELITIAN
3.1 Tahapan Penelitian 20
3.2 Analisa Kebutuhan 23
3.2.1 Peletakan Sensor Massa Terhadap Prototype 23
3.2.2 Sistem Pengukuran Sensor Massa 24
3.4 Identifikasi Variabel 24
3.5 Rancang Fungsi Keanggotaan 24
3.5.1 Variabel Beban 24
3.6 Aturan Fuzzy 26
BAB 4 HASIL DAN PEMBAHASAN
4.1 Pendahuluan 27
4.2 Pengujian Pertama 27
4.3 Pengujian Kedua 32
4.4 Analisa Pengujian 36
4.5 Hasil Percobaan 36
4.6 Grafik Dan Rata – Rata Hasil Pengujian Dengan Fuzzy Logic 39
4.7 Pengujian Tanpa Fuzzy Logic 40
4.8 Perbandingan Penggunaan Logika Fuzzy 41
BAB 5 KESIMPULAN DAN SARAN
5.1 Kesimpulan 43
5.2 Saran 43
DAFTAR PUSTAKA 44
LAMPIRAN 46
DAFTAR TABEL
Hal.
Tabel 2.1 Deskripsi Arduino Uno 6
Tabel 2.2 Penelitian Terkait 17
Tabel 3.1 Daftar Aturan Fuzzy Pada Servo 1 Dan 2 26
Tabel 3.2 Daftar Aturan Fuzzy Pada Servo 3 26
Tabel 3.3 Daftar Aturan Fuzzy Pada Servo 4 26
Tabel 4.1 Data Input Beban 27
Tabel 4.2 Hasil Percobaan Dengan Menggunakan Fuzzy Logic 37 Tabel 4.3 Hasil Percobaan Tanpa Menggunakan Fuzzy Logic 40
DAFTAR GAMBAR
Hal.
Gambar 2.1 Tampilan Board Arduino Uno R3 5
Gambar 2.2 Representasi Garis Kurva Segitiga 10
Gambar 2.3 Representasi Kurva Trapesium 10
Gambar 2.4 Sensor Massa Dengan Beban Maksimal 5 Kg 14
Gambar 2.5 Mini Servo dan Servo Besar 15
Gambar 2.6 Motor Driver L298N 15
Gambar 2.7 Motor DC Komplit Dengan Roda 16
Gambar 2.8 Prototype Robot Pengangkat Beban 17
Gambar 3.1 Alur Tahapan Penelitian 20
Gambar 3.2 Flowchart Pergerakan Tanpa Metode Fuzzy Logic 22 Gambar 3.3 Diagram Alir Penentuan Berat Beban Dengan Fuzzy Logic 23 Gambar 3.4 Desain Fungsi Keanggotaan Variabel Beban 25 Gambar 4.1 Grafik Pengujian Terhadap 10 Data Input Beban 39
Gambar 4.2 Grafik Perbandingan Antara Penggunaan Metode Fuzzy Logic 43
BAB 1 PENDAHULUAN
1.1. Latar Belakang
Dalam memasuki dunia globalisasi, teknologi semakin berperan dalam mempermudah melakukan berbagai peran dan aktivitas keseharian. Kemajuan di bidang transportasi, komunikasi, kesehatan, pendidikan, maupun bidang lainnya merupakan contoh-contoh bahwa manusia semakin memerlukan teknologi dalam kehidupan ini. Teknologi sendiri telah tersedia dan tidak pernah ada habisnya untuk dipelajari dan dikembangkan.
Fuzzy logic adalah cabang ilmu artificial intelligence, yaitu pengetahuan yang membuat komputer maupun alat elektronik, dapat melakukan hal-hal yang dikerjakan manusia. Desain kontroler logika fuzzy telah dikendalikan dengan algoritma genetika untuk lebih mengoptimalkan parameter kontroler. Fuzzy logic controller merupakan alternatif sistem kendali modern yang memiliki respon sistem yang stabil. Dalam merancang sistem kontrol dengan menggunakan logika fuzzy terdapat tiga proses yaitu fuzifikasi, evaluasi rule dan defuzifikasi. Masing-masing proses tersebut akan mempengaruhi respon sistem yang dikendalikan.
Fuzzy logic dapat diaplikasikan sebagai pengendali robot, yang digunakan untuk mengambil sebuah keputusan, yang mana sudah diteliti oleh (Andi, 2010).
Penelitiannya membahas tentang perancangan pengendali robot berdasarkan perilaku, dimana parameternya menggunakan particle swarm optimization (PSO).
Penerapan fuzzy logic dapat diaplikasikan pada robot terkendali mikrokontroler.
Pemakaian mikrokontroler yang semakin mudah disebabkan adanya platform dari
physical computing yang bersifat open source (Asep, 2014). Selain kemudahan
perakitan, bahasa pemrograman integrated development environment (IDE) yang juga
mempermudah proses kompilasi menjadi kode biner dan proses uploading ke dalam
memori mikrokontroler.
Mikrokontroler sebagai pengendali sebuah robot telah banyak digunakan, dan dikombinasikan dengan teknik soft computing, salah satunya diajukan oleh (Bobby, 2015) yang membahas bagaimana fungsi fuzzy logic sebagai pengendali keseimbangan robot beroda. Sensor-sensor digunakan sebagai pemberi input sistem, diantaranya sensor accelerometer dan gyroscope sebagai pengendali motor DC agar tetap seimbang dan mempertahankan posisi tegak dan tetap lurus.
Penerapan fuzzy logic pada multi-mikrokontroler suatu model prototype robot, untuk dapat menghindari halangan rintangan maupun tembok. Penelitian ini telah dilakukan oleh (Nuryono, 2009), dimana logika fuzzy dibangun menggunakan pendekatan behavior based approach (berbasis perilaku). Berdasarkan informasi dari tujuh buah sensor ultrasonik dan tiga buah tactile switch, difungsikan agar dapat menghindari rintangan, serta dapat menyusuri dinding pembatas.
Pengendalian dengan fuzzy logic juga dapat diaplikasi untuk mengendalikan pengangkatan beban. Hal ini telah dilakukan oleh (Furqon, 2017), dimana komunikasi antara pengendali dengan pergerakan tuas dan capitan dilakukan untuk fungsi minimal pengangkatan beban. Meskipun demikian, Teknik-teknik soft computing belum diaplikasikan untuk memaksimalkan sistem.
Sehubungan dengan hal tersebut penelitian ini fokus menjadikan metode fuzzy logic untuk pengendalian robot pengangkat beban agar dapat memaksimalkan beban tuas angkat dan capitan untuk mengangkat benda yang dikategorikan dalam beban ringan, beban sedang, dan beban berat. Pemilihan parameter input yaitu dari sensor massa yang terdapat pada prototype, yang akan menjadi fokus penelitian ini.
Diharapkan dapat diperoleh prototype robot pengangkat beban yang lebih cerdas dalam memindahkan serta dapat mengetahui seberapa berat benda yang akan diangkat sehingga dapat dimaksimalkan untuk menghindari kegagalan fungsi pengangkatan.
1.2 Rumusan Masalah
Peneliti menemukan masalah pada pengangkatan tuas dan jepitan benda, dimana kekuatan derajat harus disesuaikan agar benda berhasil diangkat dan tidak jatuh.
Permasalahan ini akan diselesaikan dengan menggunakan pendekatan metode fuzzy
logic. Melalui penggunaan fuzzy logic, prototype diharapkan dapat mengetahui berapa
besaran maksimum serta dapat menganalisis berat yang dikategorikan dalam klasifikasi beban yang akan di angkat.
1.3 Batasan Masalah
Agar pembahasan lebih terarah dan tidak menyimpang dari pokok masalah, maka penulis memberikan batasan-batasan pembahasan dalam penelitian ini, yang mana batasan masalahnya yaitu:
1. Pembahasan fuzzy hanya pada penghitungan jumlah nilai input yang diberikan.
2. Klasifikasi beban dilakukan untuk proses inferensi.
1.4 Tujuan Penelitian
Adapun tujuan dari penelitian ini yaitu untuk memaksimalkan poros derajat kemiringan servo dengan menambahkan fuzzy logic agar diketahui kapasitas beban yang mampu diangkat, dan juga sebagai klasifikasi bobot. Sehingga dapat diketahui maksimal input beban terhadap jepitan dan juga pada kekuatan pengangkatannya.
1.5 Manfaat Penelitian
Adapun manfaat penelitian ini adalah dapat menganalisis teknik fuzzy logic pada robot
pengangkat beban sehingga tugas dilakukan dengan mengetahui berat benda yang
mampu diangkatnya. Selain itu, dapat dijadikan rujukan dalam memaksimalkan teknik
fuzzy logic pada pengendalian robot lengan.
BAB 2
TINJAUAN PUSTAKA
2.1. Mikrokontroler
Mikrokontroler adalah piranti elektronik yang terintegrasi, memiliki kemampuan manipulasi data berdasarkan suatu urutan instruksi program yang dibuat oleh programmer. Mikrokontroler merupakan sebuah sistem komputer fungsional dalam sebuah chip. Di dalamnya terkandung sebuah inti prosesor, RAM (Random Access Memory), memori program, dan perlengkapan untuk input output.
Mikrokontroler merupakan suatu alat elektronika digital yang mempunyai masukan dan keluaran serta kendali dengan program yang bisa ditulis dan dihapus dengan cara khusus, cara kerja mikrokontroler adalah membaca dan menulis data.
Mikrokontroler merupakan komputer didalam chip yang digunakan untuk mengontrol peralatan elektronik, yang menekankan efisiensi dan efektifitas biaya. Secara umumnya bisa disebut “pengendali kecil” dimana sebuah sistem elektronik yang sebelumnya banyak memerlukan komponen-komponen pendukung seperti IC TTL dan CMOS dapat direduksi/diperkecil dan akhirnya terpusat serta dikendalikan oleh mikrokontroler ini (Kadir, 2015).
Pada prinsipnya, mikrokontroler adalah sebuah komputer berukuran kecil yang dapat digunakan untuk mengambil keputusan, melakukan hal-hal yang bersifat berulang, dan dapat berinteraksi dengan peranti-peranti eksternal, seperti penggunaan sensor, penggunaan GPS untuk memperoleh data posisi kebumian dan satelit, dan motor untuk mengontrol gerakan pada robot. (Kadir, 2015).
2.2. Arduino
Arduino merupakan rangkaian elektronik yang bersifat open source, serta memiliki
perangkat keras dan perangkat lunak yang mudah untuk digunakan. Arduino dapat
mengenali lingkungan sekitarnya melalui berbagai jenis sensor dan juga dapat
mengendalikan lampu, pergerakan motor, dan berbagai jenis aktuator maupun fungsi lainnya. Arduino mempunyai banyak jenis, di antaranya Arduino Uno, Arduino Mega 2560, Arduino Fio, dan lainnya. (Kadir, 2015). Yang digunakan pada penelitian ini adalah arduino uno jenis R3.
2.2.1 Arduino Uno
Arduino adalah sebuah board mikrokontroler yang berbasis ATmega328. Arduino mampu men-support mikrokontroler, dapat dikoneksikan dengan komputer menggunakan kabel USB. Arduino sebagai pengendali mikro single-board yang bersifat open source, diturunkan dari Wiring platform, dirancang untuk memudahkan penggunaan elektronik dalam berbagai bidang. Hardware nya memiliki prosesor Atmel AVR dan untuk software nya memiliki bahasa pemrograman sendiri. Saat ini Arduino sangat populer di seluruh dunia, banyak pemula yang belajar mengenal robotika dan elektronika dengan menggunakan Arduino, hal ini dikarenakan mudah untuk dipelajari. Tapi tidak hanya pemula, para profesional pun ikut senang mengembangkan aplikasi elektronik menggunakan Arduino. Bahasa yang dipakai dalam Arduino bukan assembler yang relatif sulit, tetapi bahasa C yang disederhanakan dengan bantuan pustaka-pustaka (libraries) Arduino. Arduino juga menyederhanakan proses bekerja dengan mikrokontroler.
Gambar 2.1 Tampilan Board Arduino Uno R3
Arduino memiliki kelebihan tersendiri dibanding board mikrokontroler yang lain.
Selain bersifat open source, arduino juga mempunyai bahasa pemrograman tersendiri
yang berupa bahasa C. Selain itu dalam board arduino sendiri sudah terdapat loader
yang berupa USB sehingga memudahkan pengguna ketika memprogram mikrokontroler di dalam arduino. Sedangkan pada board mikrokontroler yang lain harus membutuhkan rangkaian loader terpisah untuk memasukkan program ketika kita memprogram chip IC mikrokontroler. Port USB tersebut selain untuk loader ketika memprogram, bisa juga difungsikan sebagai port komunikasi serial.
Arduino menyediakan 20 pin input dan output, yang terdiri dari 6 pin input analog dan 14 pin digital input - output. Untuk 6 pin analog sendiri bisa juga difungsikan sebagai output digital, jika diperlukan output digital tambahan selain 14 pin yang sudah tersedia. Untuk mengubah pin analog menjadi digital cukup mengubah konfigurasi pin pada program. Dalam board kita bisa lihat pin digital diberi keterangan 0-13, jadi untuk menggunakan pin analog menjadi output digital, pin analog yang pada keterangan board 0-5 kita ubah menjadi pin 14-19, dengan kata lain pin analog 0-5 berfungsi juga sebagai pin output digital 14-16.
Sifat open source arduino juga banyak memberikan keuntungan tersendiri untuk kita dalam menggunakan board ini, karena dengan sifat open source komponen yang kita pakai tidak hanya tergantung pada satu merek, namun memungkinkan kita bisa memakai semua komponen yang ada dipasaran. Bahasa pemrograman arduino merupakan bahasa C yang sudah disederhanakan syntax bahasa pemrogramannya, sehingga mempermudah kita dalam mempelajari dan mendalami mikrokontroler (Djuandi, 2011).
Tabel 2.1 Deskripsi Arduino Uno
Mikrokontroler ATmega 328
Tegangan Pemrosesan 5V
Input Yang Disarankan 7 – 12 V
Batas Tegangan Masuk 20 V
Jumlah Pin I / O Digital 14 Pin Digital (6 diantaranya PWM)
Jumlah Pin Analog 6 Pin
Memori Flash 32 KB (ATmega 328p)
Clock Speed 16 MHz
2.2.2 Input dan Output
Setiap 14 pin digital pada arduino dapat digunakan sebagai input atau output, menggunakan fungsi pinMode(), digitalWrite(), dan digitalRead(). Input/output dioperasikan pada 5 volt. Setiap pin dapat menghasilkan atau menerima maximum 40 mA dan memiliki internal pull-up resistor (disconnected oleh default) 20-50K Ohm.
Beberapa pin memiliki fungsi sebagai berikut :
1. Serial : 0 (RX) dan 1 (TX). Digunakan untuk menerima (RX) dan mengirim (TX) TTL data serial. Pin ini terhubung pada pin yang koresponding dari USB ke TTL chip serial.
2. Interupt eksternal : 2 dan 3. Pin ini dapat dikonfigurasikan untuk trigger sebuah interupt pada low value, rising atau falling edge, dan perubahan nilai.
3. PWM : 3, 5, 6, 9, 10, dan 11. Mendukung 8-bit output PWM dengan fungsi analogWrite().
4. SPI : 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Pin SCK ini mensupport komunikasi SPI, yang mana masih mendukung hardware, yang tidak termasuk pada bahasa arduino.
2.2.3 Komunikasi
Arduino Uno memiliki sejumlah fasilitas untuk berkomunikasi dengan komputer, antara Arduino jenis lain, maupun mikrokontroler lain. Chip ATmega328 ini menyediakan UART TTL (5V) komunikasi serial, yang tersedia pada pin digital 0 (RX) dan 1 (TX). Firmware Arduino menggunakan USB driver standar COM, dan tidak ada driver eksternal yang dibutuhkan namun, pada Windows file ini diperlukan.
Perangkat lunak Arduino termasuk monitor serial yang memungkinkan data sederhana yang akan dikirim ke board Arduino. RX dan TX LED di board akan berkedip ketika data sedang dikirim melalui chip USB-to-serial dan koneksi USB ke computer (Furqon, 2017).
2.3. Fuzzy Logic
Logika fuzzy merupakan suatu ilmu untuk menyelesaikan masalah yang tidak
pasti kebenarannya. Yang mana memiliki derajat keanggotaan dalam rentang 0
(nol) hingga 1 (satu), Berbeda dengan hal nya sistem kontrol konvensional yang mendefinisikan sesuatu dengan kategori benar dan salah (1 atau 0) selain nilai itu akan dibulatkan atau diabaikan, logika fuzzy dapat didefinisikan nilai dengan beberapa kategori. Seperti misalkan dalam bahasa keseharian kita yang menyatakan hal dengan kata “sedikit”, “sangat banyak”, “sangat dingin” dan seterusnya.
Maka, output dari logika fuzzy tidak hanya berupa nilai 1 atau 0, melainkan ada beberapa nilai yang menjadi output yang akan digunakan untuk melakukan proses pada sistem kontrol (Budiharto & Suhartono, 2014).
Ada beberapa alasan mengapa banyak peneliti menggunakan logika fuzzy, yaitu di antara lain:
1. Logika fuzzy fleksibel, yaitu mampu beradaptasi dengan perubahan– perubahan, dan nilai ketidakpastian dalam suatu permasalahan
2. Logika fuzzy memiliki nilai toleransi terhadap data yang tidak tepat. Jika diberikan kumpulan data yang homogen, kemudian digabungkan dengan data yang bersifat eksklusif, maka logika fuzzy mampu menangani data eksklusif tersebut.
3. Konsep logika fuzzy sangat mudah untuk dimengerti. Dikarenakan logika fuzzy menggunakan dasar teori himpunan, konsep matematis yang didasari penalaran fuzzy tersebut cukup mudah untuk dimengerti penggunanya.
4. Logika fuzzy mampu dalam memodelkan fungsi-fungsi nonlinear yang sangat kompleks.
5. Logika fuzzy dapat dibangun dan diaplikasikan pada pengalaman-pengaman para pakar secara langsung tanpa melalui proses pelatihan. Dalam hal ini, sering dikenal dengan nama Fuzzy Expert Systems menjadi bagian terpenting.
6. Logika fuzzy dapat digabung dengan teknik-teknik kendali secara konvensional.
Hal ini umumnya terjadi pada aplikasi di ilmu bidang teknik mesin maupun teknik elektro.
2.3.1. Proses Inferensi
Proses inferensi bertujuan untuk memetakan logika untuk mengambil sebuah
keputusan. Pada bagian ini biasanya digambarkan dengan table FAM (Fuzzy
Associative Map). Pengambilan keputusan untuk output fuzzy disini ditentukan
sendiri oleh operator (yang membuat logika fuzzy tersebut), dengan mengacu pada basis pengetahuan mengenai logika fuzzy. Biasanya proses ini berupa pernyataan implikasi seperti kata “Jika – Maka” atau yang biasa disebut dengan “IF-Then Rules”.
2.4. Fungsi Keanggotaan
Fungsi keanggotaan fuzzy (membership function) adalah suatu kurva yang menunjukkan pemetaan titik-titik input data ke dalam derajat keanggotaannya yang nilainya berkisar antara 0 hingga 1. Salah satu cara yang dapat digunakan untuk mendapatkan nilai kenaggotaan adalah dengan melalui pendekatan fungsi (Jang, et al., 1997). Beberapa dijelaskan fungsi keanggotaan fuzzy, yaitu:
2.4.1 Kurva Linear
Kurva Linear adalah pemetaan input ke derajat keanggotaannya digambarkan sebagai suatu garis lurus. Pada representasi linear terdapat 2 kemungkinan,
a. Kurva Linier Naik
Kurva linier naik merupakan himpunan yang dimulai dengan nilai domain yang memiliki derajat keanggotaan nol (0) bergerak naik lurus ke arah kanan menuju nilai domain yang memiliki derajat keanggotaan yang lebih tinggi.
b. Kurva Linier Turun
Kurva linier turun merupakan himpunan dimana dimulai dari nilai titik domain dengan derajat keanggotaan tertinggi pada sisi kiri, kemudian bergerak menurun ke nilai domain yang memiliki derajat keanggotaan lebih rendah dari nilai sebelumnya.
2.4.2. Kurva Segitiga
Representasi kurva segitiga dapat dilihat pada halaman selanjutnya pada gambar 2.2.
Gambar 2.2 Representasi Garis Kurva Segitiga
Kurva segitiga yang ditunjukkan pada gambar 2.2. terbentuk dari gabungan antara 2 garis (linear). Dimana parameter (variabel) diberikan dengan huruf abjad {a,b,c} (dengan a<b<c) yang menentukan t it ik koordinat x dari ketiga sudut segitiga tersebut.
2.4.3 Kurva Trapesium
Pada gambar 2.3. dapat dilihat sebuah kurva trapesium.
Gambar 2.3 Representasi Kurva Trapesium
Kurva trapesium seperti yang ditunjukkan pada gambar di atas, pada dasarnya adalah kurva segitiga, namun ada beberapa titik putus – putus ditengah yang mempunyai keanggotaan bernilai maksimal 1 (satu).
2.5. Himpunan Fuzzy (Fuzzy Set)
Himpunan fuzzy (fuzzy set) merupakan sekumpulan objek x, dimana masing-masing objek memiliki nilai keanggotaan (membership function) “μ” atau disebut juga dengan nilai kebenaran. Jika “X” adalah sekumpulan objek dan anggotanya dinyatakan dengan x, maka fuzzy set dari A di dalam X adalah himpunan dengan sepasang anggota atau dapat dinyatakan dengan :
1.0
a b c
1.0
a b c d
A= {µA(x) | x:x €X, (x) €[0,1] € R } . . . . . . . (1) Contoh : Terdapat suatu himpunan data yang berisikan variabel beban dengan klasifikasi sebagai berikut :
a. Ringan : jika beban dari 0 sampai dengan 350 Gram
b. Sedang : jika beban lebih besar dari 350 Gram dan lebih kecil dari 650 Gram c. Berat : jika berat lebih besar, atau sama dengan 650 Gram
Maka pada himpunan crisp dapat disimpulkan bahwa :
1. Apabila beban terdeteksi 300 Gram, maka dapat dikatakan ringan (µ
Ringan