PERANCANGAN SISTEM KOMUNIKASI MENGGUNAKAN USER DATAGRAM PROTOCOL
METODE UNICAST PADA ROBOT R2C-WARRIOR
Oleh
Muhammad Abdusy Syukur NIM : 612014061
Skripsi
Untuk melengkapi salah satu syarat memperoleh Gelar Sarjana Teknik
Program Studi Teknik Elektro Fakultas Teknik Elektronika dan Komputer
Universitas Kristen Satya Wacana Salatiga
Mei 2020
i
ii
iii
iv
v
KATA PENGANTAR
Puji dan syukur penulis ucapkan kepada Tuhan Yang Maha Esa atas segala rahmat karunia yang senantiasa penulis terima dalam menyelesaikan perancangan serta penulisan skripsi sebagai syarat untuk menyelesaikan studi di Fakultas Teknik Elektronika dan Komputer Universitas Kristen Satya Wacana.
Pada kesempatan ini penulis juga hendak mengucapkan terima kasih kepada berbagai pihak yang baik secara langsung maupun tidak, yang telah membantu penulis dalam menyelesaikan skripsi ini :
1. Allah SWT atas semua berkat rahman dan hidayah-Nya yang telah diberikan sehingga penulis dapat menyelesaikan skripsi ini.
2. Keluarga penulis, terutama Ibu dan Bapak. Terimakasih untuk segala dukugan doa, nasehat, dan materi yang telah diberikan kepada penulis.
3. Bapak Deddy Susilo dan Bapak Hartanto sebagai pembimbing I dan pembimbing II, terimakasih atas bimbingan, pengarahan, dan solusi selama mengerjakan skripsi ini.
4. Teman-teman R2C dari angkatan 2013-2018, yang sudah memberikan dukungan dan semangat dalam pengerjaan skripsi ini, serta memperbolehkan saya untuk meminjam robot.
5. Teman-teman seperjuangan skripsi, Pian, Kevin, Gigih, dll yang telah membantu dan memberi dukugan untuk segera menyelesaikan skripsi ini.
6. Teman-teman angkatan 2014, yang sudah memberikan pengalaman yang luar bisa dalam perkuliahan, dan serta memberikan dukungan dalam pembuatan skripsi.
7. Seluruh staf dosen, karyawan, dan laboran FTEK UKSW memfasilitasi penulis selama belajar di FTEK UKSW.
8. Berbagai pihak yang tidak dapat disebutkan satu persatu tetapi turut andil dalam proses pengerjaan skripsi ini.
vi
Penulis menyadari bahwa skripsi ini masih jauh dari kata sempurna, oleh karena itu penulis sangat mengharapkan kritik maupun saran agar skripsi ini dapat lebih bermanfaat bagi kemajuan pendidikan di FTEK UKSW.
Salatiga, Mei 2020
Penulis
vii
viii ABSTRACT
Robotic Research Center (R2C) is a robotic team from Universitas Kristen Satya Wacana (UKSW). R2C has two divisions, one of them is R2C-Warrior team that took a part in wheeled soccer competition (KRSBI Beroda). When designing the robot, R2C- Warrior uses a laptop to process the algorithm and three Arduino microcontrollers to read sensors and drive an actuators. Uses Serial for communication between laptop and Arduino which is connected via the Universal Serial Bus (USB) port. Using Serial in this design has disadvantages, that are only one Arduino can connected to the laptop and the received data sometimes is lost or wrong with a data loss rate is 28% and data error rate is 4% in 1000 times data transmissions.
To solve this problems, the author made a system using Ethernet instead USB with advantages can connect a laptop with three Arduino microcontrollers at once, and use User Datagram Protocol (UDP) with Unicast method instead Serial, because UDP has a checksum to ensure that sent or received data has no errors.
Based on testing that has been done, this system has no data errors in testing data transmissions, both from laptop to Arduino, Arduino to laptop, and Arduino to Arduino. Other than that, this system doesn’t have a problems when there is no communication or when receiving data from unknown device(s), and also can filtered data when there is available data from unknown device(s).
Keywords : kri, krsbi, serial, user datagram protocol, udp, unicast
ix DAFTAR ISI
HALAMAN PERNYATAAN TIDAK PLAGIAT ... i
HALAMAN PERNYATAAN PERSETUJUAN AKSES ... ii
HALAMAN PENGESAHAN ... iv
KATA PENGANTAR ... v
INTISARI ... vii
ABSTRACT ... viii
DAFTAR ISI ... ix
DAFTAR GAMBAR ... xi
DAFTAR TABEL ... xiv
DAFTAR SINGKATAN ... xv
BAB I PENDAHULUAN ... 1
1.1. Tujuan ... 1
1.2. Latar Belakang Permasalahan ... 1
1.3. Spesifikasi Sistem ... 4
1.4. Sistematika Penulisan ... 5
BAB II LANDASAN TEORI ... 6
2.1. User Datagram Protocol ... 6
2.1.1. Karakteristik UDP ... 6
2.1.2. Struktur paket data UDP ... 6
2.1.3. Perhitungan checksum ... 7
2.1.4. Macam-macam metode transfer data ... 7
2.2. Internet Protocol ... 8
2.3. Topologi Star ... 8
2.4. Switch ... 9
2.5. Ethernet Mini W5100 ... 9
2.6. Arduino Mega 2560 ... 10
2.7. Wireshark ... 10
BAB III PERANCANGAN SISTEM ... 12
3.1. Gambaran Sistem ... 12
3.2. Perancangan Perangkat Keras ... 14
3.2.1. Rangkaian Power Management ... 14
x
3.2.2. Rangkaian PCB Arduino ... 14
3.2.3. Realisasi Perangkat Keras ... 16
3.3. Perancangan Perangkat Lunak ... 19
3.3.1. Diagram Alir Perangkat Lunak Laptop ... 19
3.3.2. Diagram Alir Arduino Interface ... 22
3.3.3. Diagram Alir Arduino Positioning ... 24
3.3.4. Diagram Alir Arduino Motor ... 26
3.3.5. Diagram Alir Arduino Nano ... 27
3.4. Format Data Komunikasi ... 28
3.4.1. Format Data Dari Laptop ke Arduino Interface ... 29
3.4.2. Format Data Dari Arduino Interface ke Laptop ... 30
3.4.3. Format Data Dari Laptop ke Arduino Positioning ... 30
3.4.4. Format Data Dari Arduino Positioning ke Laptop dan Arduino Interface ... 31
3.4.5. Format Data Dari Laptop ke Arduino Motor ... 33
BAB IV PENGUJIAN DAN ANALISA ... 35
4.1. Pengujian Pengiriman Data ... 35
4.1.1. Pengujian pengiriman data dari Laptop ke Arduino Interface ... 35
4.1.2. Pengujian pengiriman data dari Arduino Interface ke Laptop ... 37
4.1.3. Pengujian pengiriman data dari Laptop ke Arduino Positioning . 39 4.1.4. Pengujian pengiriman data dari Arduino Positioning ke Laptop . 40 4.1.5. Pengujian pengiriman data dari Arduino Positioning ke Arduino Interface ... 42
4.1.6. Pengujian pengiriman data dari Laptop ke Arduino Motor ... 43
4.2. Pengujian Lost Connection ... 45
4.3. Pengujian Wrong Sender ... 48
4.4. Pengujian Ketahanan Baterai ... 50
BAB V KESIMPULAN DAN SARAN ... 55
5.1. Kesimpulan ... 55
5.2. Saran ... 55
DAFTAR PUSTAKA ... 56
xi
DAFTAR GAMBAR
Gambar 1.1. Diagram blok sistem yang sedang digunakan oleh tim R2C-Warrior 2
Gambar 1.2. Data yang diterima laptop dari Arduino menggunakan Serial ... 3
Gambar 2.1. Struktur paket data UDP ... 6
Gambar 2.2. Struktur paket data UDP dengan pseudo header ... 7
Gambar 2.3. Metode transfer data. a) Unicast b) Multicast c) Broadcast ... 8
Gambar 2.4. Topologi star ... 9
Gambar 2.5. Switch ... 9
Gambar 2.6. Ethernet Mini W5100 ... 10
Gambar 2.7. Arduino Mega 2560 ... 10
Gambar 2.8. Logo wireshark ... 11
Gambar 3.1. Diagram blok sistem ... 12
Gambar 3.2. Diagram blok power management ... 14
Gambar 3.3. Rangkaian ethernet mini W5100 dengan Arduino Mega 2560 ... 15
Gambar 3.4. Penempatan PCB Arduino interface dan Arduino positioning ... 16
Gambar 3.5. Penempatan PCB Arduino motor dan driver motor tampak atas ... 16
Gambar 3.6. Penempatan PCB Arduino motor, switch, ethernet mini W5100, dan driver motor tampak samping ... 17
Gambar 3.7. Penempatan power management, switch, dan Arduino motor tampak depan ... 17
Gambar 3.8. Penempatan Arduino interface, Arduino positioning, Arduino motor dan laptop di robot ... 18
Gambar 3.9. Diagram alir perangkat lunak laptop bagian komunikasi ... 19
Gambar 3.10. Pengaturan IP Address laptop ... 21
Gambar 3.11. Diagram alir perangkat lunak Arduino interface ... 22
Gambar 3.12. Diagram alir perangkat lunak Arduino positioning ... 24
Gambar 3.13. Diagram alir perangkat lunak Arduino motor ... 26
Gambar 3.14. Diagram alir perangkat lunak Arduino nano ... 27
Gambar 3.15. Format data yang dikirim dari laptop ke Arduino interface ... 29
Gambar 3.16. Contoh data yang dikirimkan dari laptop ke Arduino interface ... 29
Gambar 3.17. Format data yang dikirim dari Arduino interface ke laptop ... 30
Gambar 3.18. Contoh data yang dikirim dari Arduino interface ke laptop ... 30
xii
Gambar 3.19. Format data yang dikirim dari laptopke Arduino positioning ... 30 Gambar 3.20. Contoh data yang dikirim dari laptop ke Arduino positioning ... 31 Gambar 3.21. Format data yang dikirimkan dari Arduino positioning ke
laptop dan Arduino interface ... 31 Gambar 3.22. Contoh data yang dikirim dari Arduino positioning ke
laptop dan Arduino interface ... 33 Gambar 3.23. Format data yang dikirimkan dari laptop ke Arduino motor ... 34 Gambar 3.24. Contoh data yang dikirim dari laptop ke Arduino motor ... 34 Gambar 4.1. Hasil pengujian pengiriman data dari laptop ke Arduino interface
dilihat dari Serial Monitor dan aplikasi robot di laptop ... 36 Gambar 4.2. Hasil pengujian pengiriman data dari laptop ke Arduino
interface dilihat menggunakan aplikasi Wireshark ... 37 Gambar 4.3. Hasil pengujian pengiriman data dari Arduino interface ke
laptop dilihat dari Serial Monitor dan aplikasi robot di laptop ... 38 Gambar 4.4. Hasil pengujian pengiriman data dari Arduino interface
ke laptop menggunakan aplikasi Wireshark ... 38 Gambar 4.5. Hasil pengujian pengiriman data dari laptop ke Arduino
positioning dilihat dari Serial Monitor dan aplikasi robot di laptop . 39 Gambar 4.6. Hasil pengujian pengiriman data dari Arduino interface
ke laptop menggunakan aplikasi Wireshark ... 40 Gambar 4.7. Hasil pengujian pengiriman data dari Arduino positioning
ke laptop dilihat dari Serial Monitor dan aplikasi robot di laptop .... 41 Gambar 4.8. Hasil pengujian pengiriman data dari Arduino positioning
ke laptop menggunakan aplikasi Wireshark ... 41 Gambar 4.9. Hasil pengujian pengiriman data dari Arduino positioning
ke Arduino interface dilihat dari Serial Monitor ... 42 Gambar 4.10. Hasil pengujian pengiriman data dari laptop ke Arduino motor
dilihat dari Serial Monitor dan aplikasi robot di laptop ... 44 Gambar 4.11. Hasil pengujian pengiriman dari laptop ke Arduino motor
menggunakan aplikasi Wireshark ... 44 Gambar 4.12. Mencabut kabel UTP ... 45 Gambar 4.13. Pesan yang ditampilkan aplikasi robot ketika kabel UTP dilepas .... 46 Gambar 4.14. Pesan yang ditampilkan Arduino interface ketika kabel UTP
xiii
dilepas ... 46
Gambar 4.15. Pesan yang ditampilkan Arduino positioning ketika kabel UTP dilepas ... 47
Gambar 4.16. Pesan yang ditampilkan Arduino motor ketika kabel UTP dilepas .. 47
Gambar 4.17. Topologi pengujian wrong sender ... 48
Gambar 4.18. Pesan yang ditampilkan aplikasi laptop robot ketika menerima data tidak dikenal ... 49
Gambar 4.19. Baterai Li-Po. a) 6S b) 3S ... 50
Gambar 4.20. Baterai Li-Po checker ... 51
Gambar 4.21. Aplikasi stopwatch handphone ... 51
Gambar 4.22. Baterai 3S kondisi tegangan penuh ... 52
Gambar 4.23. Baterai 6S kondisi tegangan penuh ... 52
Gambar 4.24. Baterai 3S kondisi tegangan habis ... 53
Gambar 4.25. Baterai 6S kondisi tegangan habis ... 53
Gambar 4.26. Waktu yang perlukan dari kondisi baterai penuh sampai habis ... 54
xiv
DAFTAR TABEL
Tabel 1.1. Percobaan pengiriman data menggunakan Serial dari Arduino
ke Laptop sebanyak 1000 kali ... 3 Tabel 3.1. Konfigurasi pin tambahan untuk modul ethernet mini W5100
pada board Arduino Mega 2560 ... 15 Tabel 4.1. Hasil pengujian pengiriman data dari laptop ke Arduino
interface sebanyak 1000 kali ... 35 Tabel 4.2. Hasil pengujian pengiriman data dari Arduino interface ke
laptop sebanyak 1000 kali ... 37 Tabel 4.3. Hasil pengujian pengiriman data dari laptop ke Arduino
positioning sebanyak 1000 kali ... 39 Tabel 4.4. Hasil pengujian pengiriman data dari Arduino positioning ke
laptop sebanyak 1000 kali ... 40 Tabel 4.5. Hasil pengujian pengiriman data dari Arduino positioning ke
Arduino interface sebanyak 1000 kali ... 42 Tabel 4.6. Hasil pengujian pengiriman data dari laptop ke Arduino motor
sebanyak 1000 kali ... 43 Tabel 4.7. Hasil pengujian pengaruh pengiriman data dari musuh ... 50 Tabel 4.8. Hasil pengujian ketahanan baterai ... 54
xv
DAFTAR SINGKATAN
DC Direct Current
I2C Inter-Integrated Circuit IP Internet Protocol
IR InfraRed
KRAI Kontes Robot Abu Indonesia
KRI Kontes Robot Indonesia
KRPAI Kontes Robot Pemadam Api Indonesia KRSBI Kontes Robot Sepak Bola Indonesia KRSTI Kontes Robot Seni Tari Indonesia KRTMI Kontes Robot Tematik Indonesia LAN Local Area Network
LCD Liquid Crystal Display Li-Po Lithium Polymer MISO Master In Slave Out MOSI Master Out Slave In Mbps Mega bit per second PCB Printed Circuit Board PWM Pulse Width Modulation R2C Robotic Research Center RTOS Real Time Operating System
SCK Serial Clock
SS Slave Select
UART Universal Asynchronous Receiver/Transmitter UDP User Datagram Protocol
UTP Unshielded Twisted Pair USB Universal Serial Bus
V Volt
Wi-Fi Wireless Fidelity