KERJA PRAKTIK – IF184801
“Violeta” Robot Disinfektan Menggunakan UV Untuk
Membantu Sterilisasi Rumah Sakit Dalam Masa
Pandemi Covid-19
Science Techno Park ITS Institut Teknologi Sepuluh Nopember, Sukolilo,Surabaya Periode: 30 Maret - 8 Mei 2020
Oleh:
Shintya Rezky Rahmayanti 05111740000017 Achmad Zidan Akbar 05111840000005
Pembimbing Jurusan Yudhi Purwananto, S.Kom., M.Kom.
Pembimbing Lapangan Rudy Dikairono, S.T., M.T. DEPARTEMEN INFORMATIKA Fakultas Teknologi Elektro dan Informatika Cerdas
Institut Teknologi Sepuluh Nopember Surabaya 2020
ii
[Halaman ini sengaja dikosongkan]
iii
KERJA PRAKTIK – IF184801
“Violeta” Robot Disinfektan Menggunakan UV
Untuk
Membantu Sterilisasi Rumah Sakit Dalam Masa
Pandemi Covid-19
ROBOTIKA ITS Institut Teknologi Sepuluh Nopember, Sukolilo,Surabaya Periode: 30 Maret - 8 Mei 2020
Oleh:
Shintya Rezky Rahmayanti 05111740000017
Achmad Zidan Akbar 05111840000005
Pembimbing Jurusan Yudhi Purwananto, S.Kom., M.Kom.
Pembimbing Lapangan Rudy Dikairono, S.T., M.T. DEPARTEMEN INFORMATIKA Fakultas Teknologi Elektro dan Informatika Cerdas
Institut Teknologi Sepuluh Nopember Surabaya 2020
[Halaman ini sengaja dikosongkan]
v
LEMBAR PENGESAHAN KERJA PRAKTIK
Robot Disinfektan Menggunakan UV Untuk Membantu
Sterilisasi Rumah Sakit Dalam Masa Pandemi Covid-19
Oleh:
Shintya Rezky Rahmayanti
Achmad Zidan Akbar
05111740000017
05111840000005
Disetujui oleh Pembimbing Kerja Praktik:
1. Yudhi Purwananto,
S.Kom., M.Kom.
NIP 197007141997031002
.........................
(Pembimbing Departemen)
2. Rudy Dikairono, S.T.,
M.T.
NIP 198103252005011002
......... ................ (Pembimbing Lapangan)
SURABAYA
NOPEMBER, 2020
vi
[Halaman ini sengaja dikosongkan]
vii
Robot Disinfektan Menggunakan UV Untuk Membantu
Sterilisasi Rumah Sakit Dalam Masa Pandemi Covid-19
Nama Mahasiswa : Shintya Rezky Rahmayanti
NRP : 05111740000017
Nama Mahasiswa : Achmad Zidan Akbar
NRP : 05111840000005
Departemen : Informatika FTEIC-ITS
Pembimbing Departemen : Yudhi Purwananto, S.Kom.,
M.Kom.
Pembimbing Lapangan : Rudy Dikairono, S.T., M.T.
viii
ABSTRAK Science Techno Park ITS (STP ITS) merupakan Lembaga
yang mendukung inovasi dan komersialisasi teknologi,
pengembangan kreasi usaha dan lapangan kerja serta
pengembangan ekonomi dari hasil hilirisasi riset oleh dosen dan
mahasiswa ITS. Salah satu inovasi dalam masa pandemic covid-
19, yaitu robot sterilisasi menggunakan sinar UV. Fungsi utama
dari robot yang kami kembangkan, dapat melakukan sterilisasi
ruangan dan dapat dikontrol dari jarak jauh.
Robot ini merupakan inovasi dari teknologi yang telah
dikembangkan oleh tim – tim yang ada dalam naungan UKM
Robotika ITS. Robot ini dapat bergerak secara omni directional,
memiliki kamera omnivision yang dapat melihat sampai sudut
pandang 360 derajat, dapat dikontrol dengan PC menggunakan
joystick, dsb. Robot ini diharapkan mampu membantu tenaga
medis untuk melakukan sterilisasi ruangan.
Kata Kunci : Covid-19, Robot, UV, ROS, Python
ix
[Halaman ini sengaja dikosongkan]
x
KATA PENGANTAR Puji syukur penulis panjatkan kepada Allah SWT atas
penyertaan dan karunia-Nya sehingga penulis dapat menyelesaikan
salah satu kewajiban penulis sebagai mahasiswa Departemen
Informatika ITS yaitu Kerja Praktik yang berjudul: Robot
Disinfektan Menggunakan UV Untuk Membantu Sterilisasi
Rumah Sakit Dalam Masa Pandemi Covid-19.
Penulis menyadari bahwa masih banyak kekurangan baik
dalam melaksanakan kerja praktik maupun penyusunan buku
laporan kerja praktik ini. Namun penulis berharap buku laporan ini
dapat menambah wawasan pembaca dan dapat menjadi sumber
referensi.
Melalui buku laporan ini penulis juga ingin menyampaikan
rasa terima kasih kepada orang-orang yang telah membantu
menyusun laporan kerja praktik baik secara langsung maupun tidak
langsung antara lain:
1. Kedua orang tua penulis.
2. Bapak Yudhi Purwananto, S.Kom., M.Kom., selaku dosen
pembimbing kerja praktik selama kerja praktik
berlangsung.
3. Bapak Ary Mazharuddin Shiddiqi, S.Kom., M.Comp.Sc.,
Ph.D, selaku koordinator kerja praktik.
4. Bapak Rudy Dikairono, S.T., M.T. selaku pembimbing
lapangan selama kerja praktik berlangsung.
Surabaya, 8 Mei 2020
Shintya Rezky Rahmayanti
Achmad Zidan Akbar
[Halaman ini sengaja dikosongkan]
1
Daftar Isi LEMBAR PENGESAHAN ........................................................... v
ABSTRAK .................................................................................viii
KATA PENGANTAR ................................................................... x
DAFTAR GAMBAR .................................................................... 5
DAFTAR TABEL ......................................................................... 6
DAFTAR KODE SUMBER ......................................................... 7
BAB I PENDAHULUAN ............................................................. 8
1.1 Latar Belakang .............................................................. 8
1.2 Tujuan ............................................................................ 8
1.3 Manfaat .......................................................................... 9
1.4 Rumusan Masalah ......................................................... 9
1.5 Lokasi dan Waktu Kerja Praktik ................................... 9
1.6 Metodologi Kerja Praktik .............................................. 9
1.6.1 Perumusan Masalah ............................................. 10
1.6.2 Studi Literatur ...................................................... 10
1.6.3 Analisis dan Perancangan Sistem ........................ 10
1.6.4 Implementasi Sistem ........................................... 10
1.6.5 Pengujian dan Evaluasi ....................................... 10
1.6.6 Kesimpulan dan Saran ......................................... 11
1.7 Sistematika Laporan .................................................... 11
1.7.1 Bab I Pendahuluan ............................................... 11
1.7.2 Bab II Profil Perusahaan ...................................... 11
1.7.3 Bab III Tinjauan Pustaka ..................................... 11
2
1.7.4 Bab IV Analisis dan Perancangan Sistem ........... 11
1.7.5 Bab V Implementasi Sistem ................................ 11
1.7.6 Bab VI Pengujian dan Evaluasi ........................... 12
1.7.7 Bab VII Kesimpulan dan Saran ........................... 12
BAB II PROFIL PERUSAHAAN .............................................. 13
2.1 Profil Science Techno Park ITS .................................. 13
2.2 Tujuan Science Techno Park ITS ................................ 13
BAB III TINJAUAN PUSTAKA ................................................ 14
3.1 Robotika ...................................................................... 14
3.2 ROS (Robot Operating System) .................................. 14
3.3 Python .......................................................................... 15
3.4 Pemrograman Soket .................................................... 16
3.5 Protokol Transport Layer ............................................ 16
3.6 ImageZMQ .................................................................. 17
BAB IV ....................................................................................... 18
ANALISIS DAN PERANCANGAN SISTEM ........................... 18
4.1 Analisis Sistem ............................................................ 18
4.1.1 Definisi Umum Aplikasi...................................... 18
4.1.2 Analisis Kebutuhan ............................................. 18
4.2 Perancangan Sistem ..................................................... 20
BAB V IMPLEMENTASI SISTEM ........................................... 29
5.1 Implementasi pada Base Station .................................. 29
5.1.1 Base Station GUI ........................................................ 29
5.1.2 Kontrol Utama ............................................................ 30
3
5.1.3 Komunikasi Kontrol Utama ....................................... 31
5.1.4 Pengolah Data Joystick ............................................... 31
5.1.5 Pengiriman Video ....................................................... 32
5.1.6 Penerimaan Video ...................................................... 33
5.1.7 Audio .......................................................................... 33
5.2 Implementasi pada Robot Violeta ..................................... 34
5.2.1 Koneksi Robot ............................................................ 34
5.2.2 Broadcaster ................................................................. 35
5.2.3 Komunikasi Kontrol ................................................... 35
5.2.4 Pengiriman Video ....................................................... 36
5.2.4 Komunikasi Robot (ROS) .......................................... 36
5.2.4 Kontrol Robot (ROS) ................................................. 37
BAB VI PENGUJIAN DAN EVALUASI .................................. 40
6.1 Tujuan Pengujian ......................................................... 40
6.2 Kriteria Pengujian........................................................ 40
6.3 Skenario Pengujian ...................................................... 41
6.3 Evaluasi Pengujian ...................................................... 42
BAB VII KESIMPULAN DAN SARAN ................................... 45
7.1 Kesimpulan .................................................................. 45
7.2 Saran ............................................................................ 45
DAFTAR PUSTAKA.................................................................. 47
BIODATA PENULIS 1............................................................... 49
BIODATA PENULIS 2............................................................... 51
4
[Halaman ini sengaja dikosongkan]
5
DAFTAR GAMBAR
Gambar 4.1 Use Case Diagram ................................................... 21
Gambar 4.2 Context Diagram ..................................................... 22
Gambar 4.3 Activity Diagram: Melihat Robot yang Sedang Aktif
..................................................................................................... 23
Gambar 4.4 Activity Diagram: Membuat Koneksi ke Robot ...... 24
Gambar 4.5 Activity Diagram: Melihat Status Robot ................. 25
Gambar 4.6 Activity Diagram: Melihat Keadaan Sekitar Robot . 26
Gambar 4.7 Activity Diagram: Mengirimkan Perintah Kontrol.. 27
Gambar 4.8 Activity Diagram: Mengirimkan Perintah Sterilisasi
..................................................................................................... 28
6
DAFTAR TABEL
Tabel 4.1 Kebutuhan Fungsional ................................................. 19
Tabel 4.2 Kebutuhan Non-Fungsional ........................................ 19
Tabel 6.1. Hasil Pengujian Sistem Aplikasi Robot Violeta ......... 42
7
DAFTAR KODE SUMBER
Kode Sumber 5.1 Base GUI ........................................................ 30
Kode Sumber 5.2 Kontrol Utama ................................................ 31
Kode Sumber 5.3 Komunikasi Kontrol Utama ........................... 31
Kode Sumber 5.4 Pengolah Data Joystick .................................. 32
Kode Sumber 5.5 Pengiriman Video ........................................... 33
Kode Sumber 5.6 Penerimaan Video .......................................... 33
Kode Sumber 5.7 Audio .............................................................. 34
Kode Sumber 5.8 Koneksi Robot ................................................ 35
Kode Sumber 5.9 Broadcaster ..................................................... 35
Kode Sumber 5.10 Komunkasi Kontrol ...................................... 35
Kode Sumber 5.11 Pengiriman Video ......................................... 36
Kode Sumber 5.12 Komunikasi Robot (ROS) ............................ 37
Kode Sumber 5.13 Kontrol Robot (ROS) ................................... 38
8
BAB I
PENDAHULUAN
1.1 Latar Belakang
Wabah Covid-19 telah mengguncangkan dunia,
termasuk Indonesia. Penyakit ini menjadi momok yang
ditakuti karena virus ini dapat berpindah dan menular dari
satu orang ke orang lain dengan perantara udara. Oleh
karena itu, tenaga medis dituntut untuk menjaga kesterilan
ruangan dan alat-alat yang telah digunakan untuk merawat
pasien Covid-19. Sinar UV adalah salah satu metode yang
dapat digunakan untuk membunuh germ pada alat medis
dan ruang perawatan. Namun, manusia tidak dapat
terpapar sinar UV, Sehingga penggunaannya menjadi
kurang praktikal. Rumah Sakit Universitas Airlangga
merupakan rumah sakit rujukan untuk pasien Covid-19 di
wilayah Surabaya. Namun dalam praktiknya, sterilisasi di
rumah sakit tersebut masih dilakukan secara konvensional
yang melibatkan manusia.
Berdasarkan permasalahan tersebut, kami membuat
Robot Violeta, yaitu robot yang dibangun untuk
melakukan tugas sterilisasi menggunakan sinar UV .
Robot ini juga memiliki penggerak omni-directional
sehingga sangat mudah untuk bermanuver. Dengan adanya
Robot Violeta diharapkan dapat membantu para tenaga
medis di Rumah Sakit Universitas Airlangga.
1.2 Tujuan
Tujuan kerja praktik ini adalah untuk dapat
membangun sebuah robot sterilisasi menggunakan UV
guna sterilisasi ruangan dan alat medis di Rumah Sakit
Universitas Airlangga.
9
1.3 Manfaat
Manfaat dengan adanya Robot Violeta, tenaga medis
dapat dengan mudah dan aman untuk mensterilisasi alat
medis dan ruangan bekas perawatan pasien Covid-19 di
Rumah Sakit Universitas Airlangga. Karena, Robot ini
dapat mengurangi resiko tenaga medis terpapar sinar UV
dan tentunya terpapar sisa-sisa virus Covid-19 pada alat
medis dan ruang perawatan.
1.4 Rumusan Masalah
Rumusan masalah dari kerja praktik ini adalah
sebagai berikut:
1. Bagaimana membuat aplikasi bagi pengguna (tenaga
medis) untuk mengontrol Robot Violeta?
2. Bagaimana membuat sistem kontrol pada Robot
Violeta?
1.5 Lokasi dan Waktu Kerja Praktik
Lokasi kerja praktik berada di Gedung Robotika ITS,
Jalan ITS Raya, Keputih, Sukolilo, Keputih, Kec. Sukolilo,
Kota SBY, Jawa Timur 60117.
Adapun kerja praktik dimulai pada tanggal 30 Maret
2020 hingga 8 Mei 2020 dengan hari kerja Senin sampai
Jumat pukul 08.00 sampai dengan pukul 17.00 WIB (8 jam
kerja dan 1 jam istirahat).
1.6 Metodologi Kerja Praktik
Metodologi dalam pembuatan buku kerja praktik meliputi:
10
1.6.1 Perumusan Masalah
Untuk mengetahui standar keselamatan dan
fungsionalitas, kami mengikuti rapat bersama tim
medis rumah sakit Unair (RSUA). Dalam rapat, kami
dijelaskan bagaimana standar keselamatan dan objectif
utama Robot Violeta. Setelah dijelaskan, kami
merumuskan blue print dari Robot Violeta ini..
1.6.2 Studi Literatur
Setelah mendapat gambaran bagaimana sistem
tersebut berjalan, kami meninjau spesifikasi yang
dibutuhkan. Kami meninjau yang dari segi kepraktisan
dan keakuratan, mengingat proyek ini harus
dituntaskan dalam waktu yang cepat. Kami
mengunakan studi yang telah kami miliki sebelumnya
dari tim robot kami.
1.6.3 Analisis dan Perancangan Sistem
Setelah tinjauan yang dipakai telah diputuskan,
untuk merancang sistem yang baik perlu adanya
sebuah desain arsitektur sistem. Pada robot ini kami
,tim developer, sepakat menggunakan ROS untuk
control pada robotnya dan python untuk aplikasi base
(pengontrol robot).
1.6.4 Implementasi Sistem
Implementasi merupakan realisasi dari tahap
perancangan. Pada tahap ini kami membuat system
perangkat lunak pada robot dan aplikasi base station
untuk mengontrol robot.
1.6.5 Pengujian dan Evaluasi
Setelah robot yang telah direncanakan telah jadi,
perlu adanya evaluasi untuk menguji apakah robot
tersebut telah sesuai dengan harapan. Jika masih belum
11
sesuai atau perlu menambah fitur, rapat akan dilakukan
lagi untuk mendiskusikan fitur - fitur apa saja yang
perlu diperbaiki atau ditambahkan.
1.6.6 Kesimpulan dan Saran
Pembuatan yang telah dikerjakan telah memenuhi
syarat yang diinginkan, dan berjalan dengan baik dan
lancar.
1.7 Sistematika Laporan
1.7.1 Bab I Pendahuluan
Bab ini berisi latar belakang, tujuan, manfaat,
rumusan masalah, lokasi dan waktu kerja praktik,
metodologi, dan sistematika laporan.
1.7.2 Bab II Profil Perusahaan
Bab ini berisi gambaran umum Science Techno
Park ITS, meliputi profil dan tujuan perusahaan.
1.7.3 Bab III Tinjauan Pustaka
Bab ini berisi dasar teori dari teknologi yang
digunakan dalam menyelesaikan proyek kerja praktik
di Science Techno Park ITS.
1.7.4 Bab IV Analisis dan Perancangan Sistem
Bab ini berisi mengenai tahap analisis sistem
aplikasi dalam menyelesaikan proyek kerja praktik.
1.7.5 Bab V Implementasi Sistem
Bab ini berisi uraian tahap - tahap yang dilakukan
untuk proses implementasi aplikasi.
12
1.7.6 Bab VI Pengujian dan Evaluasi
Bab ini berisi hasil uji coba dan evaluasi dari
aplikasi yang telah dikembangkan selama
pelaksanaan kerja praktik.
1.7.7 Bab VII Kesimpulan dan Saran
Bab ini berisi kesimpulan dan saran yang didapat
dari proses pelaksanaan kerja praktik.
13
BAB II
PROFIL PERUSAHAAN
2.1 Profil Science Techno Park ITS
Science Techno Park ITS (STP ITS) merupakan
Lembaga yang mendukung inovasi dan komersialisasi
teknologi, pengembangan kreasi usaha dan lapangan kerja
serta pengembangan ekonomi dari hasil hilirisasi riset oleh
dosen dan mahasiswa ITS. STP ITS memiliki tujuh fokus,
diantranya industri otomotif, kemaritiman, industri
kreatid, permukiman dan lingkungan, ICT dan Robotika
yang tergabung dalam Science Techno Park (STP). Di
dalam STP, riset yang dijalankan di ITS akan
dikembangkan dan ditumbuhkan dalam bentuk perusahaan
pemula berbasis teknologi (spin off). Sehingga, terbentuk
ekosistem inovasi dengan aktor utama quadruple helix,
yakni akademik, bisnis, pemerintah dan masyarakat.
2.2 Tujuan Science Techno Park ITS
Science Techno Park ITS merupakan lembaga
yang dibangun oleh ITS dalam rangka mendukung
program ITS sebagai Perguruan Tinggi Negeri Badan
Hukum (PTN-BH). Dalam pengembangan industri, STP
ITS selalu mengedepankan inovasi, kolaborasi dengan
berbagai pihak, kualitas dan memberikan manfaat nyata
bagi masyarakat baik secara nasional maupun
internasional. Dalam bidang kolaborasi, STP ITS
membuka lebar pintu kerjasama yang strategis dengan
dunia industri, baik di dalam negeri maupun luar negeri.
14
BAB III
TINJAUAN PUSTAKA
3.1 Robotika
Robotika adalah cabang teknologi yang berhubungan
dengan alat, konstruksi, operasi, disposisi struktural,
pembuatan, dan aplikasi dari robot. Robotika terkait
dengan ilmu pengetahuan bidang elektronika, mesin,
mekanika, dan perangkat lunak komputer. Pemikiran
tentang pembuatan mesin yang dapat bekerja sendiri telah
ada sejak Era Klasik, tetapi riset mengenai penggunaannya
tidak berkembang secara berarti sampai abad ke-20.
3.2 ROS (Robot Operating System)
Sistem Operasi Robot (ROS) adalah kerangka kerja
yang fleksibel untuk menulis perangkat lunak robot. Ini
adalah kumpulan alat, perpustakaan, dan konvensi yang
bertujuan untuk menyederhanakan tugas menciptakan
perilaku robot yang kompleks dan kuat di berbagai
platform robot.
Mengapa? Karena membuat perangkat lunak robot
serba guna yang benar-benar kuat, sulit. Dari perspektif
robot, masalah yang tampaknya sepele bagi manusia sering
sangat bervariasi antara contoh tugas dan lingkungan.
Menangani variasi-variasi ini sangat sulit sehingga tidak
ada satu individu, laboratorium, atau institusi yang dapat
berharap untuk melakukannya sendiri.
Sebagai hasilnya, ROS dibangun dari bawah ke atas
untuk mendorong pengembangan perangkat lunak
robotika kolaboratif. Misalnya, satu laboratorium mungkin
memiliki pakar dalam memetakan lingkungan dalam
ruangan, dan dapat berkontribusi sistem kelas dunia untuk
15
menghasilkan peta. Kelompok lain mungkin memiliki ahli
dalam menggunakan peta untuk menavigasi, dan
kelompok lain mungkin telah menemukan pendekatan visi
komputer yang bekerja dengan baik untuk mengenali
benda-benda kecil dalam kekacauan. ROS dirancang
khusus untuk kelompok-kelompok seperti ini untuk
berkolaborasi dan membangun karya masing-masing,
seperti yang dijelaskan di seluruh situs ini.
3.3 Python
Python adalah bahasa pemrograman umum tingkat
tinggi yang ditafsirkan. Diciptakan oleh Guido van
Rossum dan dirilis pertama kali pada tahun 1991, filosofi
desain Python menekankan keterbacaan kode dengan
penggunaan spasi spasi yang signifikan. Konstruk
bahasanya dan pendekatan berorientasi objek bertujuan
untuk membantu programmer menulis kode yang jelas dan
logis untuk proyek skala kecil dan besar.
Python diketik dan dikumpulkan secara dinamis. Ini
mendukung beberapa paradigma pemrograman, termasuk
pemrograman terstruktur (khususnya, prosedural),
berorientasi objek, dan fungsional. Python sering
digambarkan sebagai bahasa "termasuk baterai" karena
perpustakaan standar yang komprehensif.
Python dikandung pada akhir 1980-an sebagai
penerus bahasa ABC. Python 2.0, dirilis pada tahun 2000,
memperkenalkan fitur-fitur seperti pemahaman daftar dan
sistem pengumpulan sampah dengan penghitungan
referensi.
Python 3.0, dirilis pada 2008, adalah revisi utama dari
bahasa yang tidak sepenuhnya kompatibel dengan mundur,
16
dan banyak kode Python 2 tidak berjalan tanpa
dimodifikasi di Python 3.
Bahasa Python 2 secara resmi dihentikan pada tahun
2020 (direncanakan pertama untuk tahun 2015), dan
"Python 2.7.18 adalah rilis Python 2.7 terakhir dan oleh
karena itu rilis Python 2 terakhir." Tidak ada lagi patch
keamanan atau perbaikan lain yang akan dirilis untuk itu.
Dengan akhir hidup Python 2, hanya Python 3.5.x dan
yang lebih baru yang didukung.
3.4 Pemrograman Soket
Pemrograman soket merupakan cara untuk
menyambungkan dua node di dalam sebuah jaringan untuk
saling berkomunikasi. Satu soket (node) mendengarkan
pada port tertentu pada IP, sementara soket lainnya
menjangkau yang lain untuk membentuk koneksi. Server
membentuk soket pendengar sementara client menjangkau
server.
3.5 Protokol Transport Layer
Protokol layer transport biasanya bertanggung jawab
untuk komunikasi point-to-point, yang berarti kode ini
mengelola, membangun, dan menutup komunikasi antara
dua perangkat jaringan tertentu. Pada dasarnya, lapisan ini
adalah yang memungkinkan banyak aplikasi jaringan yang
berada di atas lapisan transport untuk membangun tautan
komunikasi client-server, point-to-point ke perangkat lain
melalui fungsi seperti:
• kontrol aliran yang menjamin paket ditransmisikan
dan diterima pada tingkat yang dapat didukung
• paket asuran yang dikirim telah diterima dan dirangkai
dalam urutan yang benar
17
• memberikan ucapan terima kasih kepada pemancar
setelah menerima paket bebas dari kesalahan
• meminta transmisi ulang ke pemancar setelah
menerima paket yang rusak.
3.6 ImageZMQ
ImageZMQ adalah satu set kelas Python yang
mengangkut gambar OpenCV dari satu komputer ke yang
lain menggunakan pesan PyZMQ. Menggunakan
imageZMQ, hal ini dimungkinkan dengan 11 baris Python
pada setiap Raspberry Pi dan dengan 8 baris Python pada
Mac. Fitur yang dimiliki oleh imageZMQ adalah sebagai
berikut:
• Mengirim gambar OpenCV dari satu komputer ke
yang lain menggunakan ZMQ.
• Dapat mengirim gambar OpenCV terkompresi JPEG,
untuk meringankan beban jaringan.
• Menggunakan perpustakaan pesan ZMQ kuat melalui
Bindings PyZMQ.
• Memungkinkan pilihan dari 2 berbeda ZMQ pesan
pola (REQ/REP atau PUB/SUB).
• Memungkinkan hub gambar untuk menerima dan
memproses gambar dari beberapa pengirim gambar
secara bersamaan.
18
BAB IV
ANALISIS DAN PERANCANGAN SISTEM
4.1 Analisis Sistem
Pada bab ini akan dijelaskan mengenai tahapan dalam
membangun robot Violeta yaitu analisis dari sistem yang
akan dibangun. Hal tersebut dijelaskan ke dalam dua
bagian, definisi umum sistem dan analisis kebutuhan.
4.1.1 Definisi Umum Aplikasi
Secara umum, system Robot Violeta adalah
robot yang dikontrol melalui remote base statition
menggunakan jaringan wifi. Robot ini diciptakan
dapat bergerak secara omnidirectional, dapat
mensterilkan ruangan atau alat medis menggunakan
sinar UV, dan dapat dikontrol menggunakan joystick
(PC) dengan koneksi jaringan wifi.
4.1.2 Analisis Kebutuhan
Dalam robot ini, terdapat fungsi-fungsi yang
harus dipenuhi oleh sistem. Fungsi-fungsi yang
harus dipenuhi terebut adalah hasil diskusi dalam
tim. Kebutuhan ini terbagi ke dalam dua jenis, yakni
kebutuhan fungsional dan kebutuhan non-
fungsional.
4.1.2.1 Kebutuhan Fungsional
Kebutuhan fungsional pada aplikasi ini
menjelaskan bagaimana sistem ini bekerja yang
akan dijelaskan pada Tabel 4.1.
19
Tabel 4.1 Kebutuhan Fungsional
Kode Deskripsi Kebutuhan
F-001 User dapat melihat robot yang
sedang aktif.
F-002 User dapat membuat koneksi
ke robot.
F-003 User dapat melihat status
robot.
F-004 User dapat melihat keadaan
sekitar Robot melalui video
feed dari kamera depan dan
kamera omnivision.
F-005 User dapat mengirimkan
perintah kontrol ke robot.
F-006 User dapat mengirimkan
perintah sterilisasi ke robot.
4.1.2.2 Kebutuhan Non-Fungsional
Kebutuhan non-fungsional pada aplikasi ini
dijelaskan pada Tabel 4.2.
Tabel 4.2 Kebutuhan Non-Fungsional
Kode Deskripsi Kebutuhan
NF-001 UI Base Station dibuat
intuitif.
NF-002 Base Station dapat
dijalankan pada semua
platform dengan OS
windows 10
20
4.2 Perancangan Sistem
Perancangan sistem meliputi desain sistem. Desain sistem
digunakan untuk mengetahui jalannya proses bisnis pada suatu
aplikasi sehingga pengembangan dan pemeliharaan aplikasi dapat
dengan mudah dilakukan. Desain sistem yang digunakan adalah
Use Case Diagram , Context Diagram, dan Activity Diagram.
Gambar 4.1. merupakan Use Case Diagram yang
menunjukkan siapa saja yang terlibat dalam sistem Robot Violeta
dalam proses tersebut. Gambar 4.2 menunjukkan Context Diagram
yang menjelaskan alur data (data flow) antara base station dengan
robot. Terakhir, Activity Diagram menunjukkan bagaimana sistem
berinteraksi.
21
Gambar 4.1 Use Case Diagram
22
Gambar 4.2 Context Diagram
23
F-001 Melihat Robot yang Sedang Aktif
User dapat memindai dan melihat daftar robot yang sedang aktif
pada melalui Base Station dengan menekan tombol “SCAN”.
Gambar 4.3 menggambarkan diagram aktivitas yang menunjukkan
alur melihat robot yang sedang aktif.
Gambar 4.3 Activity Diagram: Melihat Robot yang Sedang Aktif
24
F-002 Membuat Koneksi ke Robot
User dapat membuat koneksi ke robot tujuan dengan memilih ID
robot dari daftar robot yang sedang aktif kemudian menekan
tombol “Connect”. Gambar 4.4 di menggambarkan diagram
aktivitas yang menunjukkan alur membuat koneksi ke robot.
Gambar 4.4 Activity Diagram: Membuat Koneksi ke Robot
25
F-003 Melihat Status Robot
User dapat melihat status robot melalui tampilan Base Station
berupa data baterai, kompas, mode, dan informasi lainnya yang
dikirimkan oleh robot. Gambar 4.5 menggambarkan diagram
aktivitas yang menunjukkan alur melihat status robot.
Gambar 4.5 Activity Diagram: Melihat Status Robot
26
F-004 Melihat Keadaan Sekitar Robot
User dapat melihat keadaan sekitar robot melalui tampilan Base
Station berupa stream video dari kamera depan dan kamera
omnivision yang dikirimkan oleh robot. Gambar 4.6
menggambarkan diagram aktivitas yang menunjukkan alur melihat
keadaan sekitar robot.
Gambar 4.6 Activity Diagram: Melihat Keadaan Sekitar Robot
27
F-005 Mengirimkan Perintah Kontrol
User dapat memberikan perintah kontrol menggunakan joystick
dan dikirimkan oleh Base Station yang kemudian dieksekusi oleh
robot. Gambar 4.6 menggambarkan diagram aktivitas yang
menunjukkan alur mengirimkan perintah kontrol.
Gambar 4.7 Activity Diagram: Mengirimkan Perintah Kontrol
28
F-006 Mengirimkan Perintah Sterilisasi
User dapat mengirimkan perintah sterilisasi, baik menggunakan
joystick maupun tombol pada tampilan Base Station, yang
kemudian dikirimkan oleh Base Station dan dieksekusi oleh robot.
Gambar 4.8 menggambarkan diagram aktivitas yang menunjukkan
alur mengirimkan perintah sterilisasi.
Gambar 4.8 Activity Diagram: Mengirimkan Perintah Sterilisasi
29
BAB V
IMPLEMENTASI SISTEM Bab ini membahas tentang implementasi dari sistem yang
kami buat. Implementasi ini akan dibagi ke dalam beberapa bagian,
yaitu bagian implementasi Base Statition dan Robot.
5.1 Implementasi pada Base Station
Base Station merupakan penghubung antara user dengan robot.
Implementasi Base Station menggunakan bahasa pemrograman
Python3.6 dengan PySide2 sebagai library untuk User Interface.
5.1.1 Base Station GUI
Lapisan ini bertugas untuk mengatur koneksi antara object-object
pada tampilan dengan lapisan backend Base Station. Prototipe
Kode Sumber 5.1 berikut merupakan implementasi dari lapisan
GUI.
class Base(Ui_Form):
@Signals:
rotationRobotSignal = Signal()
turnOnUVLamp = Signal(int)
@method:
def __init__(self)
def initGuiProperty(self)
def connectWidget(self)
def changeConnectionStatusCallback(self,
status)
def setImage(self, camera, image)
def uvChangedCallback(self, uv_status)
def speedChangedCallback(self, speed_update)
def compassUpdatedCallback(self, angle_compas)
30
def modeNowUpdatedCallback(self, mode_now)
def batteryUpdatedCallback(self, batt_now)
def additionalWidget(self)
def lampClicked(self, event)
def changeCameraClicked(self, event)
def settingClicked(self, event)
def connectClicked(self, event)
def joystickNotConnectedCallback(self)
def showdialogNoJoystick(self)
def exitClicked(self, event)
def rotationCLicked(self, event)
def initLogging(self)
def extractKBits(self, num, k, p)
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
ui = Base()
sys.exit(app.exec_()) Kode Sumber 5.1 Base GUI
5.1.2 Kontrol Utama
Lapisan ini bertugas untuk mengatur koneksi antara object-object
pada pada sistem backend Base Station. Prototipe Kode Sumber
5.2 berikut merupakan implementasi dari lapisan Kontrol Utama.
class BaseStation(QThread):
@Signals:
changePixmap1 = Signal(str,QImage)
changeConnectionStatus = Signal(int)
compassUpdated = Signal(int)
changeCameraJs = Signal()
modeNowUpdated = Signal(int)
31
batteryUpdated = Signal(int)
speedJoystickUpdated = Signal(int)
@method:
def __init__(self, mutex, condition)
def initJoystick(self)
def connectRobot(self, ip_robot)
def connectRobotThread(self, ip_robot)
def disconnectRobot(self)
def run(self) Kode Sumber 5.2 Kontrol Utama
5.1.3 Komunikasi Kontrol Utama
Lapisan ini bertugas untuk mengatur komunikasi antara Base
Station dengan robot berupa data kontrol. Prototipe Kode Sumber
5.2 berikut merupakan implementasi dari lapisan Komunikasi
Kontrol Utama.
class ControlSender():
@method:
def __init__(self):
def start(self, ip_robot)
def stop(self)
def receive_heartbeat(self)
def connect(self)->bool
def disconnect(self) Kode Sumber 5.3 Komunikasi Kontrol Utama
5.1.4 Pengolah Data Joystick
Lapisan ini bertugas untuk membaca dan menginterpretasikan
data input dari joystick kemudian mengirimkannya hasil
pemrosesan kepada robot dengan protokol UDP. Prototipe Kode
Sumber 5.4 berikut merupakan implementasi dari lapisan
Pengolahan Data Joystick.
32
class JoystickController(QObject):
@signal:
uvToggleChanged = Signal(int)
speedChanged = Signal(int)
joystickNotConnected = Signal()
@method:
def __init__(self)
def connect_joystick(self)
def turnUVOn(self, toggle)
def switchMantainHeading(self)
def sendJoystickData(self)
def start(self, ip_robot)
def gets(self)
def stop(self)
def __del__(self)
Kode Sumber 5.4 Pengolah Data Joystick
5.1.5 Pengiriman Video
Lapisan ini bertugas untuk membaca gambar dari kamera dan
mengirimkan video stream kepada robot. Prototipe Kode Sumber
5.5 berikut merupakan implementasi dari lapisan Pengiriman
Video.
class VideoSender:
@method:
def __init__(self)
def start_cam(self, index_camera)
def start(self, ip)
def send(self, ip)
def capture(self, cam_idx)
def getFrame(self)
33
def stop(self)
def stop_cam(self)
def __del__(self) Kode Sumber 5.5 Pengiriman Video
5.1.6 Penerimaan Video
Lapisan ini bertugas untuk menerima video stream yang
dikirimkan oleh robot. Prototipe Kode Sumber 5.6 berikut
merupakan implementasi dari lapisan Penerimaan Video.
class VideoReceiver():
@method:
def __init__(self, width, height)
def receive(self)
def getFrame(self)
def start(self)
def stop(self) Kode Sumber 5.6 Penerimaan Video
5.1.7 Audio
Lapisan ini bertugas untuk mengatur penerimaan dan pengiriman
audio yang berjalan di proses yang terpisah. Prototipe Kode
Sumber 5.7 berikut merupakan implementasi dari lapisan Audio.
class Audio:
@method:
def __init__(self, rcv, snd)
def disconnect(self)
def turnMic(self, state)
def turnSpeaker(self, state)
def closeAudio(self)
def send(self, target_ip)
def receive(self)
34
def main_driver(is_connect, is_micOn, is_speakerOn,
ip_out, port_in, port_out):
print("AUDIO INIT")
audio = Audio(port_in, port_out)
while not is_connect.value:
# menunggu koneksi
while is_connect.value:
# mengirim dan menerima audio
audio.disconnect()
Kode Sumber 5.7 Audio
5.2 Implementasi pada Robot Violeta
Robot Violeta merupakan robot pemancar sinar UV untuk
sterilisasi. Implementasi Robot Violeta menggunakan Python3.6
dan ROS dengan bahasa pemrograman C++14.
5.2.1 Koneksi Robot
Lapisan ini bertugas untuk mengatur koneksi antara robot dengan
Base Station. Prototipe Kode Sumber 5.8 berikut merupakan
implementasi dari lapisan Koneksi Robot.
class Robot(QObject):
@method:
def __init__(self)
def initLogging(self)
def connectTobase(self, addr)
def disconnectFromBase(self)
def send_heartbeat(self, conn)
35
def start_server(self)
def run(self)
if __name__ == '__main__':
robot = Robot()
robot.run() Kode Sumber 5.8 Koneksi Robot
5.2.2 Broadcaster
Lapisan ini bertugas untuk menyiarkan keberadaan robot agar
dapat dipindai oleh Base Station. Prototipe Kode Sumber 5.9
berikut merupakan implementasi dari lapisan Broadcaster.
class Broadcaster(object):
@method:
def __init__(self)
def startBroadcaster(self)
def broadcast(self)
def stopBroadcaster(self) Kode Sumber 5.9 Broadcaster
5.2.3 Komunikasi Kontrol
Lapisan ini bertugas untuk menerima dan mengolah command
kontrol dari Base Station. Prototipe Kode Sumber 5.10 berikut
merupakan implementasi dari lapisan Komunikasi Kontrol.
class Control:
def __init__(self, ip='0.0.0.0', port=10001)
def start(self)
def stop(self)
def listening(self) Kode Sumber 5.10 Komunkasi Kontrol
36
5.2.4 Pengiriman Video
Lapisan ini bertugas untuk mengirimkan video stream ke Base
Station. Prototipe Kode Sumber 5.11 berikut merupakan
implementasi dari lapisan Pengiriman Video.
def rotate_image(image, angle)
class VideoSender(QObject):
@Signal:
disconnectFromBaseZMQ = Signal()
@method:
def __init__(self)
def start_cam(self)
def start(self, ip)
def send(self,ip)
def capture_omni(self,cam_idx)
def capture_front(self,cam_idx)
def getFrame(self)
def stop(self)
def stop_cam(self)
def setAcuan(self, compass)
def __del__(self) Kode Sumber 5.11 Pengiriman Video
5.2.4 Komunikasi Robot (ROS)
Lapisan ini bertugas untuk menerima kontrol dari joystick dari
Base Station. Prototipe Kode Sumber 5.13 berikut merupakan
implementasi dari lapisan Komunikasi Robot.
37
Kode Sumber 5.12 Komunikasi Robot (ROS)
5.2.4 Kontrol Robot (ROS)
Lapisan ini bertugas untuk mengeksekusi command kontrol dari
Base Station dan juga sebagai gerbang antara program pada
komputer dengan mikrokontroler. Prototipe Kode Sumber 5.12
berikut merupakan implementasi dari lapisan Kontrol Robot.
38
Kode Sumber 5.13 Kontrol Robot (ROS)
39
[Halaman ini sengaja dikosongkan]
40
BAB VI
PENGUJIAN DAN EVALUASI Bab ini menjelaskan tahap uji coba terhadap Sistem
Aplikasi Robot Violeta. Pengujian dilakukan untuk memastikan
kualitas sistem aplikasi robot yang dibangun dan kesesuaian hasil
eksekusi sistem aplikasi robot dengan analisis dan perancangan
perangkat lunak.
6.1 Tujuan Pengujian
Pengujian dilakukan terhadap Sistem Aplikasi
Robot Violeta guna mengetahui beberapa hal berikut ini:
a. Menguji kesesuaian dan ketepatan fungsionalitas
dari seluruh sistem aplikasi robot.
b. Menguji kesesuaian fitur yang dikembangkan
dalam aplikasi robot.
6.2 Kriteria Pengujian
Penilaian atas pencapaian tujuan pengujian
didapatkan dengan memperhatikan beberapa hasil yang
diharapkan berikut:
a. Kemampuan Base Station untuk memindai dan
terhubung dengan robot yang aktif.
b. Kemampuan Base Station untuk menampilkan
informasi yang diterima dari robot.
c. Kemampuan Base Station untuk mengirimkan
perintah kontrol dan perintah sterilisasi kepada
robot.
d. Kemampuan robot untuk membaca kondisi
baterai, mode, dan gambar dari kamera dan
mengirimkannya kepada Base Station.
41
e. Kemampuan robot untuk mengeksekusi perintah
kontrol dan perintah sterilisasi dari user melalui
Base Station.
f. Kemampuan robot untuk mentransformasi
gambar pada kamera omnivision terhadap
heading berdasarkan kompas ketika mode
sterilisasi (auto rotasi).
g. Kesesuaian dalam memenuhi kebutuhan non-
fungsional aplikasi, yaitu:
▪ Tampilan Base Station yang intuitif.
▪ Base Station dapat dijalankan untuk
semua platform yang menggunakan
Sistem Operasi Windows 10.
6.3 Skenario Pengujian
Skenario pengujian dilakukan dengan melakukan
peran sebagai user yang akan menjalankan fitur-fitur dan
seluruh kebutuhan fungsionalitas dari sistem. Langkah-
langkah untuk setiap kebutuhan fungsionalitas yaitu
sebagai berikut:
1. User membuka aplikasi Base Station Robot
Violeta.
2. User memindai robot yang aktif.
3. User memilih ID robot yang ingin disambungkan.
4. User menyambungkan Base Station dengan
robot.
5. User mengubah mode dari “Standby” menjadi
“Runnning”
6. User menjalankan robot menuju ruangan yang
ingin disterilisasi dengan mengirimkan perintah
kontrol menggunakan joystick.
7. User mengaktifkan lampu UV melalui tombol
pada joystick atau pada tampilan Base Station.
42
8. User mematikan lampu UV melalui tombol pada
joystick atau pada tampilan Base Station.
9. User menjalankan robot menuju ruangan Base
Station dengan mengirimkan perintah kontrol
menggunakan joystick.
10. User memutus sambungan dari Base Station ke
Robot.
6.3 Evaluasi Pengujian
Hasil pengujian dilakukan terhadap pengamatan
mengenai perilaku sistem aplikasi Robot Violeta terhadap
kasus skenario uji coba. Pengujian dilakukan oleh pihak
pengembang, pengguna, dan pembimbing lapangan. Hasil
uji coba terhadap sistem yang telah dibuat dapat dilihat
pada Tabel 6.1.
Tabel 6.1. Hasil Pengujian Sistem Aplikasi Robot Violeta
No. Kriteria Pengujian Hasil
Pengujian
1
Kemampuan Base Station untuk
memindai dan terhubung dengan robot
yang aktif.
Terpenuhi
2
Kemampuan Base Station untuk
menampilkan informasi yang diterima
dari robot.
Terpenuhi
3
Kemampuan Base Station untuk
mengirimkan perintah kontrol dan
perintah sterilisasi kepada robot.
Terpenuhi
4
Kemampuan robot untuk membaca
kondisi baterai, mode, dan gambar dari
kamera dan mengirimkannya kepada Base
Station.
Terpenuhi
43
5
Kemampuan robot untuk mengeksekusi
perintah kontrol dan perintah sterilisasi
dari user melalui Base Station.
Terpenuhi
6
Kemampuan robot untuk mentransformasi
gambar pada kamera omnivision terhadap
heading berdasarkan kompas ketika mode
sterilisasi (auto rotasi).
Terpenuhi
7
Kesesuaian dalam memenuhi kebutuhan
non-fungsional aplikasi, yaitu: *
a. Tampilan Base Station yang
intuitif. Terpenuhi
b. Base Station dapat dijalankan
untuk semua platform yang
menggunakan Sistem Operasi
Windows 10.
Terpenuhi
44
[Halaman ini sengaja dikosongkan]
45
BAB VII
KESIMPULAN DAN SARAN
7.1 Kesimpulan
Kesimpulan yang didapat setelah melakukan
pembuatan Sistem Aplikasi Robot Violeta pada kegiatan
kerja praktik di Science Techno Park ITS adalah sebagai
berikut:
a. Sistem yang dibangun telah sesuai dengan
permintaan dan kebutuhan Rumah Sakit
Universitas Airlangga untuk membantu sterilisasi
ruangan.
b. Dengan adanya Robot Violeta, staff Rumah Sakit
Universitas Airlangga dapat dengan mudah
melakukan sterilisasi ruangan dan alat-alat medis
tanpa kontak fisik sehingga membantu
mengurangi penularan COVID-19.
7.2 Saran
Saran untuk pengembangan Sistem Aplikasi
Robot Violeta:
a. Menambahkan fitur collision avoidance untuk
menghindari kecelakaan karena kelalaian
operator.
b. Perlu dibuat interface untuk setiap module untuk
meningkatkan skalabilitas dan fleksibilitas
aplikasi.
46
[Halaman ini sengaja dikosongkan]
47
DAFTAR PUSTAKA Wikepedia. (2012 17 Mei). Robotics . Diperoleh 19 Juni 2020,
dari https://en.wikipedia.org/wiki/Robotics
Python. (2015 22 Agustus). About. Diperoleh 19 Juni 2020,
Dari https://www.python.org/about/
Ros. (2010 25 September). About ROS. Diperoleh 19 Juni 2020,
Dari https://www.ros.org/about-ros/
Geeks For Geeks.(2015 22 Juni) Socket Programming. Diperoleh
19 Juni 2020, Dari https://www.geeksforgeeks.org/socket-
programming-cc/
Pypi. (2017 19 Agustus) Image ZMQ. Diperoleh 19 Juni 2020,
dari https://pypi.org/project/imagezmq/
Science Direct. (2016 19 Januari) Transport Layer Protocol.
Diperoleh 19 Juni 2020, dari
https://www.sciencedirect.com/topics/computer-
science/transport-layer-protocol
48
[Halaman ini sengaja dikosongkan]
49
BIODATA PENULIS 1 Nama : Shintya Rezky Rahmayanti
Tempat, Tanggal Lahir : Ambon, 25 September 1998 Jenis Kelamin : Perempuan Agama : Islam Status : Belum Menikah Alamat Asal : Jl.Kyai Mojo No.50. Kab. Ponorogo Alamat Surabaya : Jln. Keputih Gg. Makam Telepon : +628164640575 Email : [email protected]
PENDIDIKAN FORMAL 2017-sekarang : Mahasiswa S1 Informatika ITS 2014-2017 : SMA Negeri 1 Ponorogo 2014-2011 : SMP Negeri 1 Ponorogo 2005-2011 : SD Negeri 2 Kauman Ponorogo
KEMAMPUAN - Web Programming ( HTML , PHP , Python , CSS , Javascript) - Programming ( C , C++ , Python, ROS, STM) - Database Management ( Oracle, MySQL)
- Robotika - Software Perkantoran ( Ms. Office Word , Excel , Powerpoint) - Bahasa ( Indonesia, Inggris )
AKADEMIS Kuliah : Departemen Informatika - FTIK , ITS Angkatan : 2017 Semester : 6 (Enam) IPK : 3.86 (Semester 6)
50
[Halaman ini sengaja dikosongkan]
51
BIODATA PENULIS 2 Nama : Achmad Zidan Akbar Tempat, Tanggal Lahir : Lumajang, 24 Juni 2000 Jenis Kelamin : Laki-laki Agama : Islam Status : Belum Menikah Alamat Asal : Jl. Musi No. 9, Kab. Lumajang
Alamat Surabaya : Jln. Teknik Kimia No.55
Telepon : +6281252504512 Email : [email protected]
PENDIDIKAN FORMAL 2018-sekarang : Mahasiswa S1 Informatika ITS 2015-2018 : SMA Negeri 2 Lumajang 2012-2015 : SMP Negeri 1 Lumajang 2006-2012 : SD Islam Tompokersan Lumajang
KEMAMPUAN - Programming ( C , C++ , Python, ROS) - Database Management ( Oracle, MySQL) - Software Perkantoran ( Ms. Office Word , Excel , Powerpoint)
- Robotika - Elektronika Dasar - Bahasa ( Indonesia, Inggris )
AKADEMIS Kuliah : Departemen Informatika - FTEIC , ITS Angkatan : 2018 Semester : 5 (Lima) IPK : 3.70 (Semester 4)