143 Berfungsi untuk membuka serial monitor. Serial monitor disini merupakan jendela yang menampilkan data yang dikirimkan atau dipertukarkan antara arduino dengan sketch pada port serialnya. Serial Monitor sangat berguna ketika membuat program atau melakukan debugging tanpa menggunakan LCD pada Arduino. Serial monitor ini dapat digunakan untuk menampilkan nilai proses, nilai pembacaan, bahkan pesan error. 5. Board berfungsi memilih dan melakukan konfigurasi board yang digunakan. 6. Port memilih port sebagai kanal komunikasi antara software dengan hardware. 7. Programmer menu ini digunakan ketika akan melakukan pemrograman IC mikrokontroler tanpa menggunakan koneksi Onboard USB-Serial. Biasanya digunakan pada proses burning bootloader. Menu lainnya: 1. Burn Bootloader digunakan untuk meng-copy-kan program bootloader ke dalam IC mikrokontroler. 2. Help Menu help berisi file dokumentasi yang berkaitan dengan masalah yang sering muncul, serta penyelesaiannya. Selain itu pada menu help juga diberikan link untuk menuju Arduino Forum untuk menanyakan serta mendiskusikan berbagai masalah yang ditemukan. 3. Sketchbook Sketchbook berfungsi menunjukkan hirarki sketch yang dibuat termasuk struktur folder dan menjadi standar penyimpanan file program. Sketch yang telah dibuat dapat dibuka dengan dari File -> Sketchbook, atau dengan menu Open. 4. Tabs, Multiple Files, dan Compilations Mekanisme ini untuk melakukan management sketch, dimana lebih dari satu file dibuka dalam tab yang berbeda. 5. Uploading Merupakan mekanisme untuk mengkopikan file .hex atau file hasil kompilasi ke dalam IC mikrokontroler Arduino. Sebelum melakukan uploading, yang perlu dipastikan jenis board yang digunakan dan COM Ports dimana keduanya terletak pada menu Tools -> Board dan Tools - > Port.
144 6. Library Library/ Pustaka merupakan file yang memberikan fungsi ekstra dari sketch yang dibuat, agar Arduino dapat bekerja dengan hardware tertentu dan melakukan proses manipulasi data. Untuk menginstal Library pihak ketiga yang merupakan Library bukan dari Arduino, dapat dilakukan dengan Library Manager, Import file .zip, atau copy paste secara manual di folder libraries pada Documents di platform Windows. 7. Serial Monitor Serial monitor merupakan suatu jendela yang menunjukkan data yang di pertukaran antara arduino dan komputer selama beroperasi, sehingga bisa menggunakan serial monitor ini untuk menampilkan nilai hasil operasi atau pesan debugging. Selain melihat data, dapat juga mengirimkan data ke Arduino melalui serial monitor ini, caranya dengan memasukkan data pada text box dan menekan tombol send untuk mengirimkan data. Hal penting yang harus diperhatikan adalah menyamakan baud rate antara serial monitor dengan Arduino board. Untuk menggunakan kemampuan komunikasi serial ini, pada Arduino, di bagian fungsi void setup(), diawali dengan instruksi Serial.begin diikuti dengan nilai baud rate. 8. Preferences Preferences mengatur tentang beberapa hal dalam penggunaan Arduino Software IDE, seperti ukuran font, lokasi dimana menyimpan sketcbook, bahasa yang digunakan pada Arduino Software IDE, dan masih banyak lagi. Mengatur preferences pada menu file yang dapat dijumpai pada platform Windows dan Linux. 9. Language Support Language Support merupakan pilihan bahasa yang dapat disesuaikan pada Software Arduino IDE dan sudah tersedia dalam Bahasa Indonesia. Language Support ini dapat ditemukan pada menu file -> preferences atau dengan menekan Ctrl+Comma. 10. Boards Pemilihan board pada Arduino Software IDE, berdampak pada dua parameter yaitu kecepatan CPU dan baud rate yang digunakan ketika melakukan kompilasi dan meng-upload sketch.
145 LabVIEW adalah produk dari National Instruments yang berupa software pengembangan program aplikasi dan hardware input-output untuk keperluan akusisi dan pengendalian. Gambar 10.3 ini adalah tampilan halaman utama LabVIEW. Gambar 10.3 Tampilan halaman utama LabVIEW Perangkat lunak (software) ini dapat dijalankan pada sistem operasi Linux, Unix, Mac OS X dan Windows. Berbeda dengan pemograman berbasis teks dimana instruksi-instruksi menentukan eksekusi program pada sistem kendali, LabVIEW merupakan pemograman aliran data dimana aliran data menentukan eksekusi dari program. Perangkat lunak LabVIEW atau LabVIEW software merupakan sebuah bahasa pemograman graphical yang menggunakan simbol (icon) untuk membuat aplikasi. Sedangkan Visual Instruments (VIs) adalah program LabVIEW yang menirukan instrumen sebenarnya dalam bentuk simbol-simbol. Untuk membuat tampilan program aplikasi LabVIEW, digunakan tools dan objek. Tampilan aplikasi ini kemudian dikenal dengan jendela front panel. Dari tampilan jendela front panel kemudian ditambahkan kode yang direpresentasikan oleh simbol dari fungsi untuk mengatur objek. Sedangkan source code simbol tersebut ada dalam tampilan jendela block diagram. LabVIEW software terdiri dari tiga komponen utama, yaitu front panel, block diagram dan tipe data. Front Panel 10.5 LabVIEW (Laboratory Virtual Instrumentation Engineering Workbench)
146 Front panel merupakan penghubung (interface) antara pengguna (user) dengan program aplikasi. Di dalam front panel terdapat kontrol (input) dan indikator (output) sebagai masukan atau keluaran instrumen. Kontrol adalah instrumen mekanisme masukan yang menyuplai data dari block diagram yang mencakup knop, push button, dial dan mekanisme masukan lainnya. Sedangkan indikator adalah instrumen mekanisme keluaran yang menampilkan data dari block diagram, mencakup grafik, LED, tank dan tampilan keluaran lainnya. Gambar 10.4 menunjukkan tampilan jendela front panel LabVIEW. Gambar 10.4 Tampilan jendela front panel LabVIEW Gambar 10.5 menunjukkan tool LabVIEW pada jendela front panel. Gambar 10.5 Tampilan tool pada front panel LabVIEW Dari Gambar 10.5 dapat dijelaskan fungsi masing-masing tombol. Tabel 10.1 adalah penjelasan dari fungsi masing-masing tombol. Tabel 10.1 Fungsi masing-masing tombol pada jendela front panel LabVIEW No Tombol Fungsi 1 Run Untuk menjalankan program yang telah dibuat di block diagram. 2 Run continuously Untuk menjalankan program secara terus menerus. Setelah berjalan, program hanya akan berhenti bila tombol stop atau pause ditekan. 3 Stop Untuk menghentikan program yang sedang berjalan.
147 No Tombol Fungsi 4 Pause Untuk menghentikan sementara program yang sedang berjalan. 5 Text setting Untuk mengubah bentuk huruf, ukuran, perataan dan warna pada teks. 6 Align object Untuk menata posisi beberapa objek supaya rata, termasuk rata kanan, rata kiri, rata atas, dan rata bawah. 7 Distribute objects Untuk menata posisi antar objek dengan spasi yang sama 8 Resize objects Untuk membesar dan mengecilkan ukuran objek 9 Reorder Untuk menempatkan objek di depan atau di belakang objek lain. Untuk membuat front panel maka disediakan sebuah control palette. Control palette berisi control dan indicator. Control dan indicator tersedia dalam subpalette yang berbeda. Dalam control palette disediakan beberapa menu seperti Boolean, numeric, graph, arracy dan cluster, IO, string dan path. Gambar 10.6 menunjukkan tampilan control palette. Gambar 10.6 Tampilan control palette pada front panel
148 Block Diagram Block diagram merupakan jendela tempat menuliskan perintah dan fungsi, berisikan source code berupa simbol-simbol, node dan garis sebagai data flow untuk mengeksekusi program termasuk kode dari front panel. Pada block diagram juga tersedia function palette yang berisi fungsi-fungsi yang digunakan untuk memanipulasi input, contohnya fungsi array, matematika, fungsi IO dan sebagainya. Pada block diagram, tool palette juga dipakai untuk mengatur dan menghubungkan ikon. Gambar 10.7 menunjukkan tampilan function palette sedangkan gambar 10.8 menunujukkan tampilan jendela block diagram LabVIEW dan gambar 10.9 adalah tool pada block diagram. Gambar 10.7 Tampilan function palette pada block diagram
149 Gambar 10.8 Tampilan jendela block diagram pada LabVIEW Gambar 10.9 Tampilan tool pada block diagram Tool di block diagram hampir sama dengan tool di front panel, hanya sedikit berbeda, yaitu di block diagram tidak ada tool resize objects dan ada enam tombol tambahan. Tabel 10.2 menunjukkan enam tombol tambahan block diagram. Tabel 10.2 Tombol tambahan block diagram No Tombol Fungsi 1 Highlight execution Untuk melihat jalannya aliran data pada block diagram. 2 Retain wire values Untuk menyimpan nilai data di setiap titik ketika program dijalankan. 3 Step into Untuk menjalankan program setiap step (langkah) dari node ke node, sebuah loop atau subprogram 4 Step over Untuk melompati step pada sebuah loop atau subprogram 5 Step out Untuk keluar dari suatu node atau loop dan masuk ke node berikutnya. 6 Clean up diagram Untuk merapikan garis dan menata ikonikon sehingga lebih ringkas dan menghemat ruang.
150 Tipe Data Dalam membuat aplikasi VIs, harus diperhatikan tipe data tiap simbol agar data flow dapat berjalan semestinya. Tipe data yang tersedia yaitu numerik, boolean dan string. Tipe data dari sebuah simbol dapat diketahui dari warna node atau warna kabel ketika dihubungkan ke simbol lainnya. Untuk tipe data numerik ditandai dengan warna oranye (untuk bilangan float) atau biru (untuk bilangan integer), tipe data boolean ditandai dengan warna hijau dan tipe data string ditandai dengan warna merah muda. LabVIEW banyak digunakan karena memiliki kelebihan. Beberapa kelebihan LabVIEW antara lain: 1. Pembuatan program di LabVIEW jelas dan mudah dipahami, karena berbentuk grafis, dengan instruksi berbentuk ikon-ikon, yang dihubungkan dengan garis untuk menunjukkan aliran data, mirip flowchart. 2. Pembuatan program yang mudah, yaitu hanya dengan menarik keluar ikon instruksi yang sudah tersedia di palet (kotak instruksi), dan menghubungkannya dengan garis ke ikon lain. Garis ini sama seperti variabel pada bahasa pemograman teks. Dengan cara ini, LabVIEW menyederhanakan pembuatan program, karena garis tersebut hanya akan terhubung apabila tipe datanya sesuai sehingga menghilangkan kebutuhan manajemen memori dan deklarasi tipe data setiap variabel seperti dalam bahasa pemograman teks. Juga tidak perlu mengingat nama instruksi, karena semua ditampilkan pada palet. 3. Mempersingkat waktu pembuatan program karena mudah dipahami dan mudah dibuat. 4. LabVIEW didesain sebagai sebuah bahasa program paralel (multicore) yang mampu menangani beberapa instruksi sekaligus dalam waktu bersamaan. Hal ini sangat sulit dilakukan dalam bahasa program teks, karena biasanya bahasa program teks mengeksekusi instruksinya secara berurutan per baris, satu demi satu. Dengan LabVIEW, pengguna dapat membuat aplikasi eksekusi paralel ini secara mudah dengan menempatkan beberapa struktur loop secara terpisah dalam block diagram. 5. Sifat modular LabVIEW memungkinkan pengguna untuk membuat program yang kompleks dan rumit menjadi sederhana, yaitu dengan cara membuat subprogram, atau di LabVIEW disebut subVI. Ikon-ikon dalam LabVIEW sebenarnya merupakan subVI. Beberapa subVI dapat digabungkan menjadi sebuah subVI. subVI-subVI gabungan tersebut dapat digabungkan lagi menjadi sebuah subVI lain, demikian seterusnya dengan tingkat hirerarki yang tidak terbatas. LabVIEW Hardware Perangkat keras LabVIEW (LabVIEW hardware) adalah produk dari National Instrument untuk mendukung keperluan input-output. Perangkat keras yang
151 populer digunakan adalah DAQ (Data Acquisition) card PCI 6221. DAQ card merupakan perangkat keras yang berfungsi mengatur input-output modul LabVIEW dengan komputer. DAQ juga berfungsi sebagai perangkat akusisi data yang di dalamnya terdapat ADC (Analog to Digital Converter), DAC (Digital to Analog Converter), ouput-input digital, internal clock dan time counter. DAQ card PCI 6221 dihubungkan pada slot PCI pada mainboard komputer. DAQ card tidak bisa digunakan langsung sebagai antar muka sehingga diperlukan modul yang dirangkai. Modul-modul tersebut antara lain modul input analog, modul output analog, modul input digital, modul output digital. Semua data yang berasal dari modul-modul tersebut kemudian dikirim ke DAQ card melalui kabel data. Gambar 10.10 menunjukkan DAQ card PCI 6221. Gambar 10.10 DAQ card PCI 6221 LabVIEW-Arduino Interface Diperlukan interaksi Arduino-Labview dikarenakan untuk mempermudah pemograman. Pemograman yang dilakukan hanya pada satu sisi saja apabila menggunakan serial Firmata. Selain itu, baik LabVIEW maupun Arduino masingmasing memiliki kelebihan dan kekurangan, yang mana bila digabungkan, maka kelebihan keduanya akan saling menambahkan, sebaliknya kekurangan keduanya akan saling meniadakan. Dengan melakukan interaksi ArduinoLabVIEW akan dapat dihasilkan sebuah perpaduan yang sangat menguntungkan, dimana dari sisi hardware harga Arduino sangat murah, sedangkan dari sisi software dengan LabVIEW akan dihasilkan aplikasi yang tak terbatas dalam berbagai bidang, termasuk bidang otomotif, biomedis, komunikasi, instrumentasi energi, kontrol, akustik, mekatronika, vision dan masih banyak lagi. Gambar 10.11 menunjukkan kelebihan dan kelemahan Arduino dan LabVIEW secara terpisah dan Gambar 10.12 menunjukkan hal yang dihasilkan ketika interaksi dibuat antara Arduino dan LabVIEW, terlihat bahwa keduanya saling melengkapi kelebihan dan meniadakan kelemahan.
152 Gambar 10.11 Kelebihan dan kelemahan Arduino dan LabVIEW Gambar 10.12 Interaksi Arduino dan LabVIEW Interaksi Arduino dengan LabVIEW melalui komunikasi serial diantara keduanya. Interaksi ini tidak menggunakan komunikasi paralel karena tidak lebih aman dari komunikasi serial dan kebanyakan komputer ataupun laptop saat ini sudah tidak menyediakan port paralel, hanya port USB (Universal Serial Bus) saja. Di samping itu, alasan yang lain adalah hampir semua mikrokontroler saat ini telah dilengkapi fungsi built-in serial UART (Universal Asynchronous Receiver-Transmitter). UART adalah bagian perangkat keras komputer yang menerjemahkan antara bit-bit paralel data dan bit-bit serial. Java adalah satu set perangkat lunak komputer dan spesifikasi yang dikembangkan oleh Sun Microsystems, yang kemudian diakuisisi oleh Oracle Corporation, yang menyediakan sistem untuk mengembangkan aplikasi perangkat lunak dan menerapkan hal itu dalam sebuah cross-platform lingkungan komputasi. Digunakan di berbagai macam platform komputasi dari perangkat embedded dan ponsel ke server perusahaan dan superkomputer. Sementara mereka yang kurang umum dari standalone aplikasi Java, Java applet yang berjalan di aman, sandboxed lingkungan untuk memberikan banyak fitur dari aplikasi asli dan dapat tertanam ke dalam HTML halaman. 10.6 Java
153 Pascal adalah salah satu bahasa pemrograman komputer yang sering dipakai untuk belajar algoritma dan pemrograman bagi pemula terutama di bidang akademis. Saat ini pascal juga masih menjadi bahasa pemrograman standar untuk lomba Olimpiade Sains Nasional (OSN) bidang komputer. LISP, akronim untuk list processing, adalah bahasa pemrograman yang dirancang untuk manipulasi string data yang mudah. Dikembangkan pada tahun 1959 oleh John McCarthy, LISP adalah bahasa yang umum digunakan untuk pemrograman kecerdasan buatan (AI). Ini adalah salah satu bahasa pemrograman tertua yang masih digunakan secara luas. Dalam LISP, semua perhitungan dinyatakan sebagai fungsi dari setidaknya satu objek. Objek dapat berupa fungsi lain, item data (seperti konstanta atau variabel), atau struktur data. Kemampuan LISP untuk menghitung dengan ekspresi simbolik daripada angka membuatnya nyaman untuk aplikasi AI. Bahasa pemrograman C merupakan salah satu bahasa pemrograman komputer. Meskipun C dibuat untuk memprogram sistem dan jaringan komputer namun bahasa ini juga sering digunakan dalam mengembangkan software aplikasi. C juga banyak dipakai oleh berbagai jenis platform sistem operasi dan arsitektur komputer, bahkan terdapat beberapa compiler yang sangat populer telah tersedia. C secara luar biasa memengaruhi bahasa populer lainnya, terutama C++ yang merupakan extensi dari C. Pada awalnya, bahasa tersebut dirancang sebagai bahasa pemrograman yang dijalankan pada sistem Unix. Pada perkembangannya, versi ANSI (American National Standards Institute) pada bahasa pemrograman C menjadi versi dominan, meskipun versi tersebut sekarang jarang dipakai dalam pengembangan sistem dan jaringan maupun untuk sistem embedded. Bjarne Stroustrup pada Bell Labs pertama kali mengembangkan C++ pada awal 1980-an. Bahasa pemrograman C dan C++ merupakan salah satu bahasa pemrograman yang digolongkan sebagai bahasa pemrograman tingkat tinggi. Bahasa C dikembangkan oleh Dennsi Ritchie dan Brian W. Kernighan 10.7 Pascal 10.8 LISP 10.9 C dan C++
154 dari Bell Lab pada tahun 1972. Selanjutnya Bjane Stroustrup mengembangkan bahasa C++ pada awal 1979 di AT&T Bell Laboratories, yang dikembangkan berdasarkan bahasa C. Meski memiliki garis keturunan yang sama, bahasa C dan C++ berbeda. Dan pada post kali ini saya akan membahas pebedaan bahasa C dan C++. Python adalah bahasa pemrograman dinamis yang mendukung pemrograman berorientasi obyek. Python merupakan bahasa pemrograman interpretatif multiguna dengan filosofi perancangan yang berfokus pada tingkat keterbacaan kode. Python diklaim sebagai bahasa yang menggabungkan kapabilitas, kemampuan, dengan sintaksis kode yang sangat jelas, dan dilengkapi dengan fungsionalitas pustaka standar yang besar serta komprehensif. Python juga didukung oleh komunitas yang besar. Python dapat digunakan untuk berbagai keperluan pengembangan perangkat lunak dan dapat berjalan di berbagai platform sistem operasi. Dalam dunia robotika, programmer dapat menggunakan Python dengan memanfaatkan framework PyRobot. PyRobot merupakan framework berbasis Python yang dirilis baru-baru ini oleh AI Research Facebook yang berkolaborasi dengan Institut Robotika dari Universitas Carnegie Mellon. Tujuannya tak lain yaitu untuk menjadikan riset robotika sebagai konsep yang jauh lebih mudah dengan menyediakan lingkungan software development yang mudah diakses. Dengan model pretrained, PyRobot menyediakan API yang independen untuk navigasi, pemahaman, algoritma, dan manipulasi robot. PyRobot didesain guna membantu para peneliti dan ilmuwan untuk bekerja dengan sebuah robot dalam waktu yang cepat. Selain itu, PyRobot juga dapat mempercepat adopsi dan pertumbuhan ekosistem robotic research dengan memberikan AI community dukungan API yang dapat memudahkan para programmer untuk menetapkan tolok ukur, berbagi data, dan membangun karya satu sama lain. Sebagai contoh, programmer dapat menggunakan API PyRobot untuk membuat robot yang mampu menangkap objek dengan menggunakan model PyTorch. Hal itu menunjukkan bahwa melalui PyRobot, programmer dapat mengontrol robot dengan menggunakan machine learning dan bukan hanya dengan instruksi program saja. 10.10 Python 10.11 PyRobot, Python untuk Robotika
155 Terdapat berbagai macam apikasi simulasi, diantaranya adalah Proteus dan Myrio yang dapat digunakan untuk simulasi program sehingga dapat meminimalisir kesalahan-kesalahan saat perakitan robot yang akan dibuat. Simulator tersebut juga dapat diintegrasikan dengan peralatan luar seperti aktuator dan sensor. Membuat model virtual lengkap dengan simulasi komponen dan program pengendalian dapat menyederhanakan proses pembuatan robot dan dapat mengurangi biaya proyek pembuatan robot. Hal positif dari semua ini adalah sebagian besar aplikasi yang digunakan dalam simulasi dapat ditransfer ke robot fisik tanpa dibutuhkan perubahan, atau setidaknya hanya perubahan kecil. Dalam sebuah virtual environment perilaku dari robot/ sistem dapat disimulasikan dengan akurasi yang tinggi dibandingkan dengan model kehidupan nyata. Misalnya mobile robot dapat disimulasikan ketika bergerak pada virtual environment dengan banyak rintangan dan medan, untuk menganalisa respon dari sensor dan efisiensi algoritma. 1. RoboMind RoboMind adalah software yang khusus dikembangkan untuk mendukung pendidikan teknologi. Dengan memprogram robot, siswa belajar tentang logika, ilmu komputer, dan robotika. Kelebihan RoboMind adalah kesederhanaan lingkungan belajar. RoboMind secara langsung menghubungkan pemikiran logis untuk memecahkan tantangan yang dihadapi dalam kehidupan sehari-hari dan industri. Gambar 10.13 Tampilan software Robomind 10.12 Aplikasi Program & Simulator Robot
156 2. Microsoft Robotics Developer Studio Microsoft menawarkan alat pengembang robot yang lengkap dan dapat digunakan untuk program dan membuat simulasi 3D dari robot. Microsoft Robotics Developer Studio mendukung platform robot besar seperti Mindstorms NXT dari Lego. Perangkat lunak ini menawarkan berbagai metode dan teknologi untuk prototyping cepat dan termasuk sejumlah besar fungsi library. Gambar 10.14 Microsoft Robotics Developer Studio Dibuat dalam gaya Microsoft, MRDS ramah dengan pengguna dan terintegrasi dengan baik dengan Windows. 3. V-REP V-REP merupakan simulator 3D yang kompatibel dengan Windows, Mac dan Linux, yang memungkinkan pemodelan seluruh sistem atau komponen tertentu saja seperti sensor, mekanisme, gearing dan sebagainya. Program pengendalian komponen dapat disertakan ke objek atau event pada model dalam cara yang mirip dengan kenyataan. Platform ini dapat digunakan untuk mengontrol bagian hardware, mengembangkan algoritma, membuat simulasi otomatisasi pabrik, atau untuk demonstrasi pendidikan.
157 Gambar 10.15 Simulator V-REP 4. OpenHRP3 Digunakan untuk pengembangan dan simulasi, OpenHRP3 merupakan sebuah environment yang kompleks dimana menawarkan sekumpulan komponen untuk mengembangkan beberapa robot yang lebih kompleks. OpenHRP3 memungkinkan simulasi dinamis yang memerlukan pemeriksaan oleh pengguna robot dan program yang mengontrol robot. Gambar 10.16 Simulasi menggunakan OpenHRP3 5. Player Digunakan dalam simulasi yang tidak terlalu kompleks, Player digunakan untuk mensimulasikan sensor. Player kompatibel dengan sistem operasi dan platform bahasa pemrograman untuk mensimulasikan berbagai sensor dan respon mereka terhadap berbagai rangsangan. Player juga menawarkan kemungkinan untuk membuat simulasi 3D.
158 Gambar 10.17 Simulator Player 6. Simbad Simbad merupakan sebuah tools simulasi Java-compatible yang dapat digunakan untuk tujuan pendidikan atau ilmiah. Simbad terutama digunakan untuk simulasi visualisasi 3D dan penginderaan, jangkauan atau sensor kontak. Gambar 10.18 Simulator Simbad 7. Algodoo Algodoo merupakan platform simulasi gratis yang dirancang terutama untuk tujuan pendidikan. Algodoo digunakan sama sebagai alat gambar dan tersedia untuk Windows, Mac dan iPad.
159 Gambar 10.19 Simulator Algodoo 8. Gazebo Gazebo merupakan sebuah aplikasi simulasi open source yang dapat mengolah perkembangan mesin dinamis yang dikembangkan oleh Open Source Robotics Foundation. Gazebo dapat mensimulasikan perancangan robot serta melatih sistem artificial intelligent dengan kemampuan simulasi yang akurat, perancangan simulasi dapat di desain baik didalam maupun diluar ruangan yang kompleks. Aplikasi gazebo beroperasi pada sistem operasi Linux dengan kemampuan grafis yang cukup tinggi. Gambar 10.20 Simulator Gazebo 9. Blender for Robotic Project Blender adalah perangkat lunak open source dimana data simulasi didapatkan setelah simulasi aktuator, sensor dan pengendali. Blender kompatibel dengan Windows, Mac dan Linux.
160 10.21 Simulator Blender 10. Ezphysics Ezphysics merupakan software open source Windows yang memungkinkan untuk simulasi 3D dan animasi dalam cara yang mirip dengan video game. Terdapat satu set contoh, lengkap dengan kode sumber. Aplikasi ini memungkinkan Interaksi jaringan remote dengan perangkat lunak, dan integrasi dengan Matlab. Gambar 10.22 Simulator Ezphysics
161 11. SimRobot SimRobot dikembangkan oleh Universitas Bremen dan digunakan untuk penelitian robot otonom. Versi saat ini kompatibel dengan Windows, Linux dan Mac OS X. 12. ROS ROS adalah sistem operasi robot bersifat open source yang di dalamnya terdapat library dan tools untuk membuat perangkat lunak robot. ROS merupakan sebuah middleware robot yang dapat menghubungkan perangkat keras robot dengan sistem operasi komputer secara fleksibel. ROS bertujuan untuk memudahkan pengembang robot dalam membuat perangkat lunaknya tanpa harus membuat kode sumber dari awal serta dapat dikembangkan bersama-sama. Berikut adalah gambar logo ROS. Gambar 10.23 Logo ROS ROS merupakan sebuah project besar yang dikembangkan oleh banyak komunitas dan peneliti robot. Sejak pertengahan tahun 2000, Universitas Stanford telah melibatkan STanford AI Robot (STAIR) dan Personal Robot (PR) untuk menciptakan sebuah prototype perangkat lunak fleksibel dan dinamis yang dapat digunakan pada sistem robotika. ROS didesain untuk mendukung filosofi modular dan tools berbasis pengembangan software. ROS mulai dikembangkan sejak November 2007 oleh Stanford Artificial Intelligence Laboratory (SAIL) yang disupport oleh Stanford AI Robot Project. Pada tahun 2008, Willow Garage yang merupakan sebuah Institute penelitian robot telah bekerjasama dengan lebih dari 20 Institusi untuk saling berkolaborasi dan mengembangkan ROS dalam model pengembangan federasi. ROS bersifat open-source yang berlisensi BSD dan ditulis menggunakan bahasa pemrograman C++ dan Python. Platform ini secara bertahap banyak digunakan dan dikembangkan oleh komunitas dan peneliti robot. Hingga saat ini ROS terus dikembangkan oleh banyak peneliti serta banyak digunakan untuk pengembangan proyek otomasi, baik itu untuk keperluan industri, penelitian dan pendidikan. ROS dijadwalkan rilis setiap bulan Mei dengan support sistem antara dua hingga lima tahun. Berikut adalah tabel perkembangan distribusi ROS.
162 Tabel 10.2 Jenis-jenis distribusi ROS dan perkembangannya Distro Tanggal Rilis Support System ROS Melodic Morenia Mei 2018 Mei 2023 ROS Lunar Lorgerhead 23 Mei 2017 Mei 2019 ROS Kinetic Kame 23 Mei 2016 April 2021 ROS Jade Turtle 23 Mei 2015 Mei 2017 ROS Indigo Igloo 22 Juli 2014 April 2019 ROS Hydro Medusa 4 September 2013 Mei 2015 ROS Groovy Galapagos 31 Desember 2012 Juli 2014 ROS Fuerte Turtle 23 April 2012 - ROS Electric Emys 30 Agustus 2011 - ROS Diamondback 2 Maret 2011 - ROS C Turtle 2 Agustus 2010 - ROS Box Turtle 2 Maret 2010 - Berdasarkan informasi tabel 10.2 dapat dilihat bahwa ROS terus berkembang dan diaplikasikan sejak tahun 2010. Hingga saat ini ROS terus dikembangkan menjadi ROS2 oleh beberapa peneliti yang saling berkontribusi. Tujuan pengembangan ROS2 adalah untuk mengembangkan sistem yang sudah ada pada ROS. Salah satu perbedaan antara ROS dan ROS2 adalah terletak pada sistem komunikasinya, dimana ROS menggunakan TCP/UDP untuk saling berkomunikasi sedangkan ROS2 menggunakan Data Distributed System (DDS), selain itu ROS2 sudah men-support untuk sistem komunikasi multi-robot. ROS memiliki 3 konsep yaitu level filesystem, level grafik komputasi dan level komunitas. Level filesystem merupakan level sumber daya ROS yang ada pada sistem. Langkah awal saat menggunakan atau mengembangkan ROS adalah dengan membuat konsep layaknya sebuah sistem operasi. Pada sebuah filesystem ROS terdapat folder, dan setiap folder mempunyai deskripsi file yang berbeda-beda sesuai dengan fungsinya masing-masing. Level filesystem ROS meliputi packages, metapackages, packages manifests, metapackage manifests, message dan service. Level grafik komputasi adalah jaringan peer-to-peer pada proses ROS yang memproses data bersama-sama. ROS akan saling terkoneksi ketika semua proses saling terhubung. Setiap node dalam sistem akan saling terhubung, melihat informasi dan berinteraksi dengan node lainnya. Secara mendasar grafik komputasi ROS terdiri atas level nodes, master, parameter server, message, topics, services, dan bags. Konsep level komunitas ROS adalah komunitas dapat membagi resource ROS secara terpisah untuk dapat saling bertukar pengetahuan dan perangkat lunak. Resource tersebut meliputi distribusi ROS, repository, ROS wiki, bug ticket system, mailing list, ROS answer dan blog.
163 13. MoboSim Software ini merupakan simulator untuk robot mobile beroda dengan penggerak diferensial. Memiliki tampilan GUI 2D dimana robot dan bendabenda penghalang dapat diatur sesuai keinginan. Pemrogramannya menggunakan bahasa BASIC yang telah disediakan dalam simulator. Di dalam pemrograman sangat dikenal dengan flowchart yang digunakan untuk membantu analis dan programmer untuk memecahkan masalah dalam pemrograman. Flowchart adalah gambaran secara grafik yang terdiri dari simbol-simbol dari algoritma-algoritma dalam suatu program, yang menyatakan arah dari alur program. Flowchart adalah rangkaian yang berisi simbol-simbol yang menjelaskan isi dari sebuah proses alur kerja dari suatu sistem. Pengertian lain dari Flowchart adalah penggambaran secara grafik dari langkah-langkah dan urutan-urutan prosedur dari suatu program. Bagan alir ini harus dibuat untuk menjelaskan secara detail tahapan dari prosesproses yang berjalan dari suatu sistem. Flowchart digunakan untuk memecahkan masalah ke dalam segmen-segmen yang lebih kecil dan memudahkan dalam menganalisis alternatif-alternatif lain dalam pengoperasian. Dalam pembuatannya, flowchart biasanya banyak dibuat dengan software aplikasi Microsoft Visio. Untuk pengunaannya, flowchart bisa untuk pemrograman dari bahasa pemrogaman tingkat rendah hingga bahasa pemrograman tingkat tinggi. Di Microsoft Visio tersedia berbagai fitur yang memudahkan dalam melakukan penulisan flowchart yang kompatibel pada beberapa bahasa pemrograman populer saat ini. Tujuan Membuat flowchart ▪ Menggambarkan urutan atau tahapan dari penyelesaian masalah. ▪ Menggambarkan permasalahan secara sederhana, terurai, rapi dan jelas. Untuk pengolahan data dengan komputer, dapat dirangkum urutan dasar untuk pemecahan suatu masalah yaitu: START: Berisi intruksi untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan masalah. READ: Berisi instruksi untuk membaca data dari suatu peralatan input. Pembuatan Diagram Alir (Flowchart)
164 PROCESS: Berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca. WRITE: Berisi instruksi untuk merekam hasil kegiatan ke perlatan output. END: Mengakhiri kegiatan pengolahan. Bila seorang analis dan programmer akan membuat flowchart, ada beberapa petunjuk yang harus diperhatikan, seperti: ▪ Flowchart digambarkan dari halaman atas ke bawah dan dari kiri kekanan. ▪ Aktivitas yang digambarkan harus didefinisikan secara hati-hati dan definisi ini harus dapat di mengerti oleh pembacanya ▪ Kapan aktivitas dimulai dan berakhir harus ditentukan secara jelas. ▪ Setiap langkah dari aktivitas harus diuraikan dengan menggunakan deskripsi kata kerja ▪ Setiap langkah dari aktivitas harus berada pada urutan yang benar. ▪ Lingkup dan range dari aktifitas yang sedang digambarkan harusditelusuri dengan hati-hati. Percabangan-percabangan yang memotong aktivitas yang sedang digambarkan tidak perlu digambarkan pada flowchart yang sama. Simbol konektor harus digunakan dan percabangannya diletakan pada halaman yang terpisah atau hilangkan seluruhnya bila percabangannya tidak berkaitan dengan sistem. ▪ Gunakan simbol-simbol flowchart yang standar. Simbol-simbol yang dipakai dalam flowchart dibagi menjadi tiga kelompok: 1. Flow direction symbols Simbol ini digunakan untuk menghubungkan simbol satu dengan yang lain dan disebut juga connecting line. 2. Processing symbols Simbol ini menunjukkan jenis operasi pengolahan dalam suatu proses/prosedur. 3. Simbol input/output Simbol yang menunjukkan jenis peralatan yang digunakan sebagai media input atau output. Dalam flowchart ada berbagai simbol dengan nama dan fungsi yang berbeda-beda. Beberapa simbol flowchart berikut ini: 7.1 Simbol Flowchart
165 5. Predefined Process (Sub Program): simbol yang menyatakan penyediaan tempat penyimpanan suatu pengolahan untuk memberi harga awal. Simbol ini juga merupakan permulaan sub program atau proses menjalankan sub program. 6. Flow Line (garis arah): Arah aliran program 7. Preparation: Proses inisialisasi/ penentuan nilai atau harga awal. 8. Terminator: Simbol yang menyatakan permulaan atau akhir suatu program. 9. Process: Simbol yang menunjukkan proses perhitungan atau proses pengolahan data. Selain itu simbol ini juga disebut dengan simbol keying operation, yaitu simbol yang menyatakan semua jenis operasi yang diproses dengan menggunakan suatu mesin yang menggunakan keyboard. 10. Decision: Simbol yang menunjukkan untuk melanjutkan proses selanjutnya tergantung dari kondisi yang ada. Perbandingan pernyataan, penyeleksian data yang memberikan pilihan untuk langkah selanjutnya. 11. Document: Simbol yang menunjukkan dokumen dalam bentuk fisik atau output yang perlu dicetak. 12. Multiple Document: Simbol yang menunjukkan dokumen dalam bentuk fisik lebih dari satu. 13. Data Storage: Simbol yang menunjukkan penyimpanan data dengan berbagai format.
166 14. Internal Storage: Simbol yang menunjukkan penyimpanan data bersifat local. 15. Offline Storage: Simbol yang menunjukkan bahwa data dalam simbol ini akan disimpan dalam suatu media tertentu. 16. Tipe Data: Simbol yang menunjukan tipe data. 17. Database: Simbol yang menunjukkan penyimpanan data. 18. Input Output: Simbol yang menunjukkan proses input /output data, parameter atau informasi. 19. Display: Simbol yang menunjukan informasi yang akan ditampilkan kepada user. 20. Manual Operation: Simbol yang menunjukkan manual operation. 21. Merge: Simbol yang menunjukkan pengabungan antar proses. 22. Manual Input: Simbol yang menunjukkan inputan data dilakukan secara manual.
167 23. On Page Connector: Simbol yang menunjukkan penghubung di chart dan halaman yang berbeda. Penghubung bagian-bagian flowchart yang berada pada satu halaman. 24. Off Page Connector: Penghubung bagian-bagian flowchart yang berada pada halaman berbeda. 25. Simbol Punch Card: Simbol yang menyatakan input berasal dari kartu atau output ditulis ke kartu. Unsur-Unsur Diagram Alir Ada dua unsur yang selalu muncul di dalam diagram alir, yaitu percabangan dan perulangan. ▪ Percabangan secara sederhananya adalah pilihan alur yang diambil dari beberapa opsi yang ada, tergantung dari kondisi yang dicapai. ▪ Perulangan digunakan untuk mengulang suatu proses. Perulangan dapat dilakukan terus-menerus selama program berjalan, sampai didapatkan kondisi untuk keluar dari perulangan tersebut. 1. Robotik memerlukan tiga komponen utama: hardware, software dan brainware. Di dalam pemrograman robotika, ada beberapa jenis bahasa program yang bisa digunakan oleh programmer. 2. Di dalam robotika, bahasa program yang biasanya digunakan antara lain: Bahasa Assembler, Pascal, Basic, C dan C++, Python, LISP, Java, Lua, Industrial Robot Language, Labview. Pemrograman mikrokontroler AVR (Atmega16) menggunakan beberapa bahasa program seperti bahasa Basic, C atau Assembler. 3. IDE itu merupakan kependekan dari Integrated Development Environment, atau secara bahasa mudahnya merupakan lingkungan terintegrasi yang digunakan untuk melakukan pengembangan. Rangkuman
168 4. Java adalah satu set perangkat lunak komputer dan spesifikasi yang menyediakan sistem untuk mengembangkan aplikasi perangkat lunak dan menerapkan hal itu dalam sebuah cross-platform lingkungan komputasi. 5. Pascal adalah salah satu bahasa pemrograman komputer yang sering dipakai untuk belajar algoritma dan pemrograman bagi pemula terutama di bidang akademis. Sedangkan LISP adalah bahasa yang umum digunakan untuk pemrograman kecerdasan buatan (AI). 6. Bahasa C banyak dipakai oleh berbagai jenis platform sistem operasi dan arsitektur komputer, bahkan terdapat beberapa compiler yang sangat populer telah tersedia. 7. Python adalah bahasa pemrograman dinamis yang mendukung pemrograman berorientasi obyek. 8. PyRobot merupakan framework berbasis Python yang bertujuan untuk menjadikan riset robotika sebagai konsep yang jauh lebih mudah dengan menyediakan lingkungan software development yang mudah diakses. 9. Membuat model virtual lengkap dengan simulasi komponen dan program pengendalian dapat menyederhanakan proses pembuatan robot dan dapat mengurangi biaya proyek pembuatan robot. 10.Flowchart adalah penggambaran secara grafik dari langkah-langkah dan urutan-urutan prosedur dari suatu program. Bagan alir ini harus dibuat untuk menjelaskan secara detail tahapan dari proses-proses yang berjalan dari suatu sistem. 1. Sebutkan beberapa software yang dapat digunakan pada pemrograman robot dan jelaskan kelebihannya! 2. Sebutkan bahasa pemrograman yang digunakan pada mikrokontroler AVR (Atmega16)! 3. Jelaskan mengenai keuntungan menggunakan simulator robot! 4. Sebutkan dan jelaskan beberapa simbol flowchart yang anda ketahui! 5. Buatlah flowchart sederhana untuk pemrograman pengendali lampu lalu lintas sederhana! Latihan
169 ▪ Pengertian RPA ▪ Kemampuan RPA ▪ Manfaat RPA ▪ Penerapan RPA Setelah mempelajari bab ini, mahasiswa diharapkan mampu: ▪ Menjelaskan pengertian RPA ▪ Mengetahui kemampuan, manfaat dan penerapan RPA Robotic Process Automation (RPA) atau terkadang disebut juga dengan robotic digital workplace merupakan sebuah bentuk teknologi otomatisasi proses bisnis yang bekerja mengotomasikan interaksi dengan desktop GUI pengguna akhir. RPA pada dasarnya adalah kombinasi dari Kecerdasan Buatan dan otomatisasi. Istilah "robotic process automation" sendiri mulai terdengar di awal era 2000an. Namun sebetulnya, RPA sudah mulai berkembang beberapa tahun sebelumnya. RPA merupakan sebuah software robot. RPA diciptakan dengan visi memberdayakan pengguna bisnis untuk membuat bot perangkat lunak (robot) yang dapat berinteraksi dengan sistem seperti manusia. Dengan virtual robot software atau dikenal juga dengan istilah bot, akan meniru aktivitas manusia di dalam komputer dan mengerjakannya seperti apa yang dilakukan oleh manusia dengan waktu yang jauh lebih cepat dan akurasi 100%. Robot juga dapat bekerja 24 jam sehari dan 7 hari dalam satu minggu tanpa lelah dan berkurang kemampuannya. Meskipun RPA memungkinkan untuk mereplikasi bagaimana orang melakukan tugas yang berulang, namun RPA bukan untuk menggantikan peran manusia di dalam industri atau perusahaan, tetapi RPA bertujuan untuk meningkatkan outcome dari karyawan, sehingga robot akan menjadi asisten yang efektif dan powerfull. BAB XI. ROBOTIC PROCESS AUTOMATION (RPA) Pokok Bahasan Tujuan Pembelajaran 11.1 Pengertian Robotic Process Automation (RPA)
170 Gambar 11.1 RPA RPA terdiri dari: 1. Robotic Suatu unit yang mempunyai kemampuan meniru tindakan manusia. 2. Process Merupakan serangkaian tahapan aktifitas atau tugas. 3. Automation Merupakan suatu aktifitas atau tugas yang dilakukan secara otomatis tanpa campur tangan manusia. Gambar 11.2 Bagian utama RPA RPA merupakan evolusi dari tiga teknologi utama: 1) screen scraping, Screen scraping adalah proses mengoleksi data screen display dari aplikasi legacy sehingga data dapat ditampilkan oleh user interface yang lebih modern. 2) workflow automation, software workflow automation menghilangkan proses data entry manual sehingga dapat meningkatkan kecepatan, efisiensi, dan akurasi.
171 3) dan artificial intelligence. artificial intelligence adalah sistem kecerdasan buatan yang mampu menjalankan tugas-tugas yang umumnya membutuhkan intervensi dan kecerdasan manusia. Dewasa ini, para praktisi membagi teknologi RPA dalam tiga kategori besar: 1) Probots, Probots memroses data dengan mengikuti rule sederhana dan berulang. 2) Knowbots, Knowbots bertugas menjelajah internet untuk mengumpulkan dan menyimpan informasi spesifik tentang pengguna. 3) dan chatbots. Chatbots adalah agen virtual yang dapat merespon permintaan pelanggan secara real time. Bot RPA sangat kuat untuk meniru beberapa tindakan manusia seperti dapat login ke aplikasi atau sistem, memasukkan data, menyalin dan menempel data, memindahkan file dan folder, mengisi formulir, mengikis peramban dan mengekstrak data terstruktur & semi-terstruktur dari dokumen, mengkalkulasi dan menyelesaikan tugas, lalu akan log out dari aplikasi. RPA tepat diimplementasikan dalam dunia bisnis, terutama karena kemampuannya membantu organisasi beroperasi secara lebih efisien, yaitu dengan mengotomatisiasi pekerjaan manual yang sifatnya repetitif atau berulang. Sifat pekerjaan yang monoton itu dapat menyebabkan produktivitas pekerja menurun. Ketika terus menerus melakukan rutinitas yang sama, pekerja umumnya akan merasa jenuh sehingga berpotensi melakukan kesalahan dalam pekerjaannya. Oleh karena itu, otomatisasi proses ini menjanjikan tingkat kesalahan manusia (human error) yang lebih rendah. Dengan mengalihkan tugas-tugas repetitif ke RPA, karyawan dapat melakukan pekerjaan lain yang lebih strategis dan tidak membosankan. Tugas-tugas yang bisa diotomatisasi RPA umumnya adalah tugas yang bervolume tinggi, repetitif, dikerjakan oleh banyak orang, berbasis rule, dan tidak banyak variasi. 11.2 Kemampuan RPA
172 Gambar 11.3 Kemampuan RPA Di sisi teknologi, software ini juga memberi keuntungan dalam hal kecepatan implementasi. RPA bukanlah bagian dari infrastruktur TI, tapi berada di atas infrastruktur tersebut. Hal itu memungkinkan penggunanya melakukan implementasi dengan cepat dan efisien untuk mengotomatisasi proses-proses, termasuk proses legacy, tanpa harus mengganti sistem yang sudah ada. Virtual robot software (bot) pada RPA dapat mengotomatisasi pekerjaanpekerjaan manusia di depan komputer, seperti mengklik mouse, meng-input, memproses data dan sebagainya. Artinya, bot tersebut dapat mengerjakan tugas-tugas manusia dalam menggunakan ERP tanpa harus mengintervensi sistem ERP itu sendiri. Dengan kelebihan itu, RPA sangat tepat diimplementasikan di perusahaanperusahaan yang memiliki banyak sekali infrastruktur legacy, misalnya bank, perusahaan asuransi, telekomunikasi, dan perusahaan utility. Dengan menerapkan RPA, akan diperoleh manfaat sebagai berikut: ▪ Reduce Cost: Dengan mengotomasi tugas-tugas rutin karyawan, RPA akan mencapai penghematan biaya operasional. ▪ Better customer experiences: Dengan mengimplementasikan RPA akan memberikan manfaat nyata bagi sumber daya perusahaan untuk tetap fokus pada kepuasan pelanggan. 11.3 Manfaat RPA
173 ▪ Lower operational risk: RPA akan membantu perusahaan untuk menurunkan risiko human error yang terjadi karena kurangnya pengetahuan dalam mengoperasikan sistem. ▪ Improved internal processes: RPA akan membantu perusahaan untuk meningkatkan proses pelaporan menjadi lebih cepat, onboarding employee lebih cepat dan kegiatan internal. Dengan meningkatkan kemampuan robot melalui Artificial Intelligence (AI) dan Machine Learning (ML) maka perusahaan akan dipaksa untuk mendefinisikan prosedur tata kelolanya dengan jelas. ▪ RPA tidak menggantikan sistem IT legacy yang berjalan saat ini, namun dengan RPA akan meningkatkan sistem IT yang ada. Gambar 11.4 Manfaat penggunaan RPA Jasa keuangan Menggunakan RPA untuk meningkatkan kecepatan dan efisiensi dalam rangka kompetisi dengan fintech. Contoh tugas yang dilakukan, pada pembayaran mata uang asing, otomatisasi pembukaan atau penutupan rekening, mengelola audit request, dan memproses klaim asuransi. Pemerintah Mengotomatisasi fungsi-fungsi back office/fungsi yang langsung melayani masyarakat. Penerapan RPA
174 Layanan kesehatan Mengotomatisasi proses back office dan revenue cycle management. Misalnya, menangani catatan medis pasien, klaim, dukungan pelanggan, account management, billing, pelaporan, dan analytics. Transportasi dan logistik Mengotomatisasi pemrosesan dokumen shipping dan proses berbasis dokumen lainnya. Energi Mengotomatisasi tugas-tugas, mulai dari akunting sampai dengan pemeliharaan dalam rangka menjaga cost. Telekomunikasi Mengotomatisasi tugas-tugas repetitif terkait penyiapan dokumen. Pelayanan pelanggan Mengotomatisasi tugas-tugas di contact center, seperti verifikasi e-signature, meng-upload dokumen yang sudah di-scan, dan verifikasi informasi untuk persetujuan atau penolakan otomatis. Sumber Daya Manusia Mengotomatisasi tugas-tugas divisi SDM, seperti onboarding dan offboarding, pembaruan informasi karyawan, dan timesheet submission processes. Supply Chain Management Mengotomatisasi proses procurement, pemrosesan order dan pembayaran, memantau tingkat inventory, dan tracking shipments. 1. RPA merupakan sebuah software robot. RPA diciptakan dengan visi memberdayakan pengguna bisnis untuk membuat bot perangkat lunak (robot) yang dapat berinteraksi dengan sistem seperti manusia. 2. RPA terdiri dari robotik, proses dan automatisasi. 3. RPA merupakan evolusi dari screen scraping, workflow automation, dan artificial intelligence. 4. Para praktisi membagi teknologi RPA dalam tiga kategori besar yaitu probots, knowbots, dan chatbots. 5. Bot RPA sangat kuat untuk meniru beberapa tindakan manusia seperti dapat login ke aplikasi atau sistem, memasukkan data, menyalin dan menempel data, memindahkan file dan folder, mengisi formulir, mengikis Rangkuman
175 peramban dan mengekstrak data terstruktur & semi-terstruktur dari dokumen, mengkalkulasi dan menyelesaikan tugas, lalu akan log out dari aplikasi. 6. Dengan menerapkan RPA, akan diperoleh manfaat yaitu reduce cost, better customer experiences, lower operational risk, dan improved internal processes. 7. Penerapan RPA meliputi berbagai bidang seperti jasa keuangan, kesehatan, energi, transportasi dan lain sebagainya. 1. Apa yang anda pahami mengenai RPA? 2. Sebutkan bagian atau penyusun RPA! 3. Jelaskan mengenai probots, knowbots, dan chatbots! 4. Sebutkan kemampuan dari RPA yang anda ketahui! 5. Sebutkan manfaat yang dapat diperoleh dalam menerapkan RPA! Latihan
176 Andi Pratomo. (2004). Belajar Cepat dan Mudah Mikrokontroler PIC16F84. Jakarta: PT. Elex Media Komputindo. Appin Knowledge Solutions. (2007) Robotics. Hingham, Massachusetts New Delhi: Infinity Science Press LLC. Banzi, Massimo. (2011). Getting Started with Arduino (Second ed.). United State of America: O’reilly Media Inc. Branwyn, Gareth. (2003). Absolute Beginner’s Guide To Building Robot. Que Publishing. Braunl, Thomas. (2006). Embedded Robotics, Mobile Robot Design and Applications with Embedded Systems. Second Edition, Springer. Budiharto, Widodo. (2005). Membuat Robot Cerdas. Elexmedia Komputindo. Cook, D. (2009). Robot Building for Beginners. Berkeley: Apress Second Edition. Fraden, J. (1996). Handbook of Modern Sensors: Physics, Designs and Applications. 2nd edition. AIP Press/Springer. Fu, Gonzales and Lee. (1987). Robotica: Control, Sensing, Vision and Intelligence. McGraw-Hill. John M. Holland. (2003). Designing Autonomous Mobil Robots: Inside the Mind of an Intelligent Machine. Newnes. Khare, R. Et al. (2007). Robotics. New Delhi: Infinity Science Press. Lindsay, Andy. (2004). Robotics with the Boe-Bot. Version 2.2, Parallax Inc. Malik, M.I. (2003). Belajar Mikrokontroler PIC16F84. Jogjakarta: Gava Media. Martin, F.G. (2001). Robotic Explorations: A Hands-On Introduction to Engineering. Prentice-Hall. McComb, Gordon & Predko, Myke. (2006). Robot Builder’s Bonanza. Third Edition, McGraw-Hill. Michel P. Grover. (1986). Industrial Robotics. Singapore: Mc Graw Hill. Michel P. Groover. (2001). Automation, Production Systems, and ComputerIntegrated Manufacturing. Second Edition. New Jersey: Prentice Hall Inc. Niku, S.B. (2002). Introduction to Robotics: Analysis, Systems, Applications. Prentice-Hall. Paul, R.P. (1982). Robot Manipulator, Mathematics, Programming and Control, MIT Press. Pitowarno, E. (2006). Robotika, Desain, Kontrol, dan Kecerdasan Buatan. Yogyakarta: Andi Offset. Prayaga, L. Et al. (2015). Robotics: a Project-based Approach. Boston: Cengage Learning. Reza N. Jazar. (2007). Theory of Applied Robotics: Kinematics, Dynamics, and Control. 1st ed. Springer. DAFTAR PUSTAKA
177 Risal, A., et al. (2017). Buku Ajar Mikrokontroler dan Interface. Makassar: Universitas Negeri Makassar. Thomas Braunl, T. (2006). Embedded Robotics: Mobile Robot Design and Application with Embedded Systems. 2nd ed. Springer. W. Bolton. (2003). Mechatronics. England: Prentice Hall. Williams, Karl. (2004). Build your Own Humanoid Robots. McGraw Hill. Referensi dari Website: Arduino. (2018). Introduction Guide Arduino. [Online]. Tersedia: https://www.arduino.cc/en/Guide/Introduction/ [31 Desember 2018]. http://www.labelektronika.com/2018/06/mengenal-raspberry-pi-3-modelb-plus.html http://www-ee.ccny.cuny.edu/www/web/jxiao/G5501-F07.htm http://robotics.ccny.cuny.edu http://www.omega.com/ (sensors + hand- helds) http://www.extech.com/ (hand-helds) http://www.agilent.com/ (instruments, enormous) http://www.keithley.com/ (instruments, big) http://www.tegam.com/ (instruments, small) http://www.edsci.com/ (optics ++) http://www.pacific.net/~brooke/Sensors.html (comprehensive listing of sensors etc. and links) http://www.acroname.com/robotics/info/articles/sonar/sonar.html http://www.cnde.iastate.edu/staff/swormley/gps/gps.html Society of Robots, How to Build Robot Tutorial, (http://www.societyofrobots.com)
178 Sutarti, S.T., M.Eng. Lahir di Kabupaten Semarang, 13 Agustus 1979. Menamatkan sekolah dasar di SDN Kemetul Kec. Susukan Kab. Semarang. Penulis melanjutkan pendidikan di SMP N 1 Salatiga dan di SMU N 1 Salatiga. Pendidikan S1 Teknik Elektro di Universitas Gadjah Mada Yogyakarta. Tahun 2012 lulus S2 Teknik Elektro Konsentrasi Sistem Komputer dan Informatika di Universitas Gadjah Mada dengan topik thesis estimasi lokasi objek dalam gedung bertingkat berbasis IEEE 802.11 menggunakan metode Naive Bayes. Sebelum bergabung di Universitas Serang Raya, Penulis menjadi dosen tetap di Sekolah Tinggi Teknologi Indragiri Riau, kemudian bergabung di Universitas PGRI Yogyakarta. Saat ini adalah dosen tetap Program Studi Rekayasa Sistem Komputer di Universitas Serang Raya Banten. Mengampu mata kuliah Sistem Digital, Kecerdasan Buatan, Metode Riset, Mekatronika dan Pengantar Robotika. Kegiatan lain saat ini sebagai editor di jurnal Prosisko Unsera. Informasi lebih lanjut bisa menghubungi di WA 089606865446 dan email [email protected]. TENTANG PENULIS