Perancangan Perangkat Lunak Secara Umum

18 HIGH atau lima Volt jika mendeteksi. Kemudian dt-proto arduino pi-Shield akan mengubah level tegangan sehingga dapat diolah oleh Raspberry pi 3. Gambar 3.10. DT-Proto Arduino Pi Shield ke Sensor bola.

3.2 Perancangan Perangkat Lunak Software

3.2.1 Perancangan Perangkat Lunak Secara Umum

Dalam perancangan software ini akan dijelaskan bagaimana flowchart atau diagram alir dari keseluruhan program pengendali yang akan dibuat. Robot akan melakukan inisialisasi untuk malakukan komunikasi dengan coach computer lewat jaringan wireless, menerima serta mengolah data yang diterima, dan pengambilan keputusan berdasarkan data yang diterima. Gambar 3.11 merupakan gambar dari flow chart software keseluruhan robot pada penelitian ini. Robot akan melakukan inisialisasi saat pertama kali dihidupkan. Kemudian robot akan menunggu koneksi dari coach computer. Setelah mendapatkan koneksi robot akan menerima data yang dikirim oleh coach computer berdasarkan kode protokol yang dibuat. Eksekusi data untuk menentukan keputusan dari segala kondisi data uyang diterima. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 19 Gambar 3.11. Diagram Alir Perancangan Perangkat Lunak. Gambar 3.12 merupakan Flowchart merupakan dari fungsi eksekusi. Robot akan memeriksa mode yang dikirim dan mengeksekusi menurut mode yang diterima. Jika robot berada dala, mode bersedia maka robot akan menuju target yang ditunjuk oleh coach computer. Jika robot dalam mode lainnya maka robot akan memeriksa apakah robot membawa bola atau tidak dan akan memilih berdasarkan keadaan bola. START Inisialisasi Terhubung? STOP Selesai Eksekusi Data Ya Ya Tidak Tidak Terima Data 20 Gambar 3.12. Flowchart Fungsi Eksekusi. Gambar 3.13. Flowchart Fungsi Menuju Target. Eksekusi Membawa Bola? Rebut Bola Menuju gawang Pos. Bersedia? Menuju Target Return Tidak Tidak Ya Ya Menuju Target Olah Data Xrobot Xtarget PWMKiri PWMKanan PWMKiri PWMKanan Tidak Ya Return PWMKiri = PWMKanan = 0 PWMKiri= PWMKanan = 0 Sampai? A A Tidak Ya 21 Gambar 3.13. merupakan flowchart yang menjelaskan fungsi menuju target. Dalam fungsi ini robot akan memanggil fungsi olah data untuk mendapatkan dan memeriksa nilai posisi x robot dan posisi x target dengan cara membandingkannya. Jika posisi x robot lebih besar dari posisi x target berarti target berada diposisi yang lebih kanan dibanding robot. Maka robot akan bergerak kekanan dengan cara membuat PWMkanan lebih besar dibanding PWMkiri. Begitu juga sebaliknya. Robot akan memeriksa apakah telah sampai dengan tujuan yang ditetapkan. Jika belum maka robot akan memberikan nilai pwm kanan sama dengan pwm kiri dengan kata lain robot akan bergerak lurus. Dan jika telah sampai maka robot akan berhenti dengan cara menghentikan kedua motor penggeraknya. Gambar 3.14. Flowchart Fungsi Rebut Bola. Gambar 3.14. merupakan gambar flowchart dari fungsi rebut bola. Dalam fungsi ini robot akan memanggil fungsi olah data untuk mendapatkan dan memeriksa nilai posisi x robot dan posisi x bola dengan cara membandingkannya. Jika posisi x robot lebih besar dari posisi x bola berarti bola berada diposisi yang lebih kanan dibanding robot. Maka robot akan bergerak kekanan dengan cara membuat PWMkanan lebih besar dibanding PWMkiri. Begitu juga sebaliknya. Robot akan memeriksa apakah telah sampai dengan tujuan yang ditetapkan. Jika belum maka robot akan memberikan nilai pwm kanan sama dengan pwm kiri dengan kata lain robot akan bergerak lurus. Dan jika telah sampai maka robot akan berhenti dengan cara menghentikan kedua motor penggeraknya. Rebut Bola Olah Data Xrobot Xbola PWMKiri PWMKanan PWMKiri PWMKanan Tidak Ya A Return PWMKiri = PWMKanan = 0 PWMKiri= PWMKanan = 0 Sampai? A Tidak Ya 22 Gambar 3.15. Flowchart Fungsi Menuju Gawang. Gambar 3.16. Flowchart Fungsi Menghindar. Gambar 3.15. merupakan gambar flowchart dari fungsi menuju gawang. Data akan diolahh untuk mendapatkan data selisih sudut danjarak terhadap gawang. Robot akan memeriksa nilai posisi x robot dan posisi x target dengan cara membandingkannya. Jika posisi x robot lebih besar dari posisi x target berarti target berada diposisi yang lebih kanan dibanding robot. Maka robot akan bergerak kekanan dengan cara membuat PWMkanan lebih besar dibanding PWMkiri. Begitu juga sebaliknya. Robot akan memeriksa apakah Menuju Gawang Olah Data Xrobot Xgawang PWMKiri PWMKanan PWMKiri PWMKanan Return Tabrak musuh? Tidak Ya Menghindar Tidak Ya Sampai titik tembak? Tidak Ya Tendang On A B Tendang Off PWMKiri = PWMKanan = 0 PWMKiri= PWMKanan = 0 Sampai? A Tidak Ya B Menghindar Xrobot Xmusuh PWMKiri PWMKanan PWMKiri PWMKanan Return Tidak Ya 23 telah mencapai titik tembak, yaitu 30 cm dari gawang lawan maka robot akan mengaktifkan mekanisme tendangan. Gambar 3.16. fungsi menghindar dalam fungsi ini akan memeriksa data posisi xrobot dan xmusuh yang akan mempresentasikan apakah musuh berada di kiri atau di kanan dari robot. Data tersebut akan digunakan untuk membuat keputusan kemana robot harus menghindar. Gambar 3.17. Flowchart Fungsi Olah Data. Gambar 3.17 adalah fungsi olah data. Fungsi ini merupakan fungsi dimana data yang diterima akan diolah dan diubah menjadi error sudut dan juga jarak robot dan target. Pengubahan menggunakan teorema pythagoras dan persamaan trigonometri yaitu pada persaman 2.1, 2.2 dan 2.3 untuk mendapatkan nilai r yaitu jarak antara robot dan gawang lawan. c 2 =a 2 +b 2 2.3 r 2 =x 2 +y 2 r = √ x 2 + y 2 Olah Data Return r dan Es X1-x=x Y1-x=y r 2 =x 2 +y 2 r = ? Es=arc tan yx 24

3.2.2 Perancangan Perangkat Lunak Komunikasi