40 BAB 3 ANALISIS DAN PERANCANGAN 3.1. Analisis Sistem Analisis sistem bertujuan untuk memecah sistem ke dalam komponen-komponen subsistem yang lebih kecil untuk mengetahui hubungan setiap komponen tersebut dalam mencapai tujuan. (Whitten, 2007) 3.1.1. Analisis Kebutuhan Sistem Analisis kebutuhan sistem meliputi analisis kebutuhan fungsional dan non-fungsional. Kebutuhan fungsional mendeskripsikan fungsi-fungsi yang harus dilakukan oleh sebuah sistem untuk mencapai tujuan. Sedangkan kebutuhan non-fungsional mendeskripsikan fitur lain seperti karakteristik, batasan sistem, performa, dokumentasi dan yang lainnya agar sistem berjalan sukses (Whitten, 2007) . 3.1.1.1. Analisis Kebutuhan Fungsional Sistem Kebutuhan fungsional yang harus dimiliki oleh sistem kontroler game mobile dengan aplikasi Android dan Unity adalah : 1. Sistem dapat mengontrol dan menggerakan game mobile 3.1.1.2. Analisis Kebutuhan Non-Fungsional Sistem Kebutuhan non-fungsional yang harus dimiliki oleh sistem kontroler game mobile dengan aplikasi android dan Unity: Universitas Sumatera Utara 30 1. Waktu proses koneksi cepat, sehingga dapat mengefektifkan waktu pengguna sistem 2. Tampilan antarmuka sistem menarik dan dapat dimengerti oleh pengguna sistem 3.1.2. Analisis Pemodelan Sistem Pemodelan sistem bertujuan untuk menampilkan kebutuhan dari sebuah perangkat lunak. Salah satu jenis pemodelan kebutuhan sistem adalah model berbasis skenario, model ini menggambarkan spesifikasi kebutuhan perangkat lunak dari berbagai sudut pandang aktor di dalam perangkat lunak (Pressman, 2010). Pada penelitian ini digunakan UML sebagai bahasa pemodelan untuk mendesain dan merancang kontroler game mobile. Model UML yang digunakan adalah use case diagram, activity diagram, dan sequence diagram. 3.2. Perancangan Sistem Perancangan sistem bertujuan untuk mendeskripsikan dan menunjukan gambaran sistem yang akan dibangun. Perancangan sistem yang akan diaplikasikan ke dalam penelitian ini adalah perancangan sistem dengan menggunakan UML. UML merupakan bahasa yang berfungsi untuk menjelaskan masing-masing komponen pada sistem secara detail, berikut dengan interaksi yang terjadi pada masing-masing komponen tersebut. Model UML yang digunakan, diantaranya adalah : use case diagram, activity diagram, serta sequence diagram. 3.2.1. Pemodelan dengan Menggunakan Use Case Diagram Untuk mengetahui aktor dan use case yang akan digunakan, maka dilakukan identifikasi aktor dan identifikasi use case. Setelah mendapatkan aktor dan use case, maka use case diagram dapat digambarkan. Pengidentifikasian aktor dan use case pada sistem ini ditunjukkan pada tabel 3.1 dan tabel 3.2 : Universitas Sumatera Utara 31 Tabel 3.1 Definisi Aktor No 1 Aktor Deskripsi User Pengguna sistem yang memiliki hak untuk mengontrol Game Mobile Tabel 3.2 Definisi Use Case Use Case ID Use Case UC-01 Pairing device Use case pairing device ini akan menjelaskan secara sederhana proses komunikasi sistem pada mikokontroler dengan Android dengan menggunakan Algoritma PID dan Algoritma Kalman Filter yang dapat dilihat pada tabel 3.3 yang merupakan dokumentasi naratif dari use case pairing device. Perlu diketahui bahwa proses komunikasi harus dilakukan setiap menjalankan aplikasi. Tabel 3.3 Skenario Use Case Pairing Device Aksi Aktor Reaksi Sistem Skenario Normal 1. Buka Aplikasi Sistem 2. Pairing Device 3.Terkoneksi dan masuk ke dalam game Berdasarkan table-tabel narrative use case di atas, maka dapat dilihat, use case yang dihasilkan sebagaimana dapat dilihat pada Gambar 3.1. Universitas Sumatera Utara 32 Gambar 3.1 Use Case Sistem 3.2.2. Activity Diagram Pairing Device Activity diagram pairing device akan menggambarkan hubungan aliran kerja yang telah dijelaskan pada use case pairing device. Activity diagram pairing device dapat dilihat pada Gambar 3.2. Gambar 3.2 Activity Diagram untuk Proses Pairing Device Universitas Sumatera Utara 33 3.2.3. Pemodelan dengan Menggunakan Sequence Diagram Sequence diagram adalah diagram yang menunjukan interaksi yang ada pada sistem dan menjelaskan bagaimana proses operasi yang ada pada masing-masing komponen pada sistem berdasarkan perintah yang ada pada sistem. Diagram ini membangun suatu diagram pesan secara berurutan dan menunjukan interaksi yang disusun secara berurutan. Pada Gambar 3.3 di bawah ini dapat dilihat sequence diagram untuk proses pairing device. Gambar 3.3 Sequence Diagram Proses Pairing Device 3.3. Perancangan Sistem 3.3.1. Flowchart Sistem Flowchart merupakan diagram alir dari bagan-bagan tertentu yang memiliki arus penggambaran mengenai langkah-langkah penyelesaian suatu permasalahan. Selain itu, flowchart juga memiliki fungsi memudahkan proses pengecekan terhadap sistem yang akan dibuat. Pada Gambar 3.4 di bawah, dapat dilihat flowchart dari sistem yang dibangun. Universitas Sumatera Utara 34 Gambar 3.4 Flowchart Kalman Filter Universitas Sumatera Utara 35 Gambar 3.5 Flowchart PID 3.4. General Arsitektur Gambar 3.6 General Arsitektur Universitas Sumatera Utara 36 3.5. Perancangan Antar-Muka Sistem akan dibangun menggunakan bahasa pemrograman C# dengan menggunakan software Unity. Rancangan antar muka disesuaikan dengan kebutuhan dan software yang digunakan. Antar muka menggunakan 1 layout, yaitu : layout Pairing Device. 3.5.1. Antar muka Paring Device Pada Gambar 3.6 dapat dilihat tampilan layout pairing device yang berfungsi untuk melakukan proses komunikasi antara Android dan Mikrokontroler Gambar 3.7 Rancangan Layout Pairing Device Komponen yang dipakai untuk membangun antar muka layout Pairing Device pada Gambar 3.5 di atas adalah sebagai berikut : 1. Label ”Paired Device” : label yang berfungsi untuk mengkoneksikan Bluetooth di Android dan di Mikrokontroler 2. Label ”list Bar” : label yang berfungsi untuk menampilkan Bluetooth yang telah di kenal oleh Android Pada Tabel 3.4 di bawah ini dapat dilihat rincian-rincian perangkat keras yang digunakan dalam membangun system. Tabel 3.4 Rincian Perangkat Keras Universitas Sumatera Utara 37 No Nama Barang Banyak Fungsi 1. Arduino Nano 1 Processor Utama 2. HC-05 1 Koneksi Bluetooth 3. Modul GyroScope 1 Mengambil kordinat x,y Sementara itu, rancangan perangkat keras kontroler tersebut, dapat di lihat pada Gambar 3.6 yang ada di bawah ini. Gambar 3.8 Perancangan Perangkat Keras Universitas Sumatera Utara 38 BAB 4 IMPLEMENTASI DAN PENGUJIAN 4.1. Implementasi Sistem Tahap implementasi sistem merupakan lanjutan dari tahap perancangan sistem. Pada tahap ini dilakukan implementasi sistem ke dalam bahasa pemrograman berdasarkan hasil analisis dan perancangan sistem. Pada tahap implementasi ini digunakan perangkat lunak dan perangkat keras, sehingga sistem yang dibangun dapat diselesaikan dengan baik. Gambar 4.1 Diagram Ishikawa Pada Diagram Ishikawa pada gambar 4.1 menjelaskan implementasi sistem Kontroller Game Mobile berbasis Arduino Nano dan Unity dengan menerapkan algoritma PID dan Kalman Filter. Universitas Sumatera Utara 37 Pada sistem perancangan game mobile, user dapat mengontrol game mobile dan menggerakan game mobile. Arduino Nano yang digunakan sebagai pengontrol utama game di kendalikan melalui Smartphone Android. Penghubung antara Arduino dengan Android menggunakan koneksi Bluetooth. 4.1.1. Tampilan Antar Muka Tampilan antar muka dari sistem ini diimplementasikan berdasarkan dari tahap analisis dan perancangan sistem. Tampilan antar muka sistem ini terdiri dari 2 halaman utama, yaitu : 1. Pairing Device 2. Game 4.1.1.1. Tampilan Halaman Pairing Device Halaman Pairing Device merupakan halaman yang muncul pertama kali pada saat sistem pertama kali dijalankan. Pada halaman pairing device, user harus memilih bluetooth agar android dan arduino nano dapat berkomunikasi. Tampilan halaman pairing device dapat dilihat pada Gambar 4.2. Gambar 4.2 Halaman Pairing Device Universitas Sumatera Utara 38 Sementara itu, source code untuk melakukan pairing device dapat dilihat pada Gambar 4.3 di bawah ini. Gambar 4.3 Kode Program Pemasangan Bluetooth dan Pemindahan Halaman 4.1.1.2. Tampilan Halaman Game Halaman Game merupakan halaman yang digunakan untuk melakukan permainan Game yang telah dibuat. Di halaman inlah user dapat melihat pergerakan game yang telah dikontrol dengan menggunakan arduino nano. Berikut adalah tampilan halaman game yang dapat di lihat pada Gambar 4.4 Gambar 4.4 Tampilan Halaman Game Universitas Sumatera Utara 39 Sementara itu, source code yang dibuat untuk melakukan kontrol pada game, dapat dilihat pada Gambar 4.5 di bawah ini. Gambar 4.5 Kode Program Game Untuk Pergerakan animasi 4.1.2. Perangkat Keras Sistem perancangan kontroler game mobile yang telah dibangun dapat membuat user mengontrol game dan menggerakan game secara jarak jauh dengan menggunakan koneksi bluetooth. Konstruksi utama perangkat keras yang digunakan, dapat dilihat pada Gambar 4.6 (tampak depan) dan Gambar 4.7 (tampak belakang) di bawah ini. Gambar 4.6 Konstruksi Utama Tampak Depan Universitas Sumatera Utara 40 . Gambar 4.6 Konstruksi Utama Tampak Belakang 4.2. Pengujian Sistem Pengujian sisem dilakukan untuk mengetahui jarak maksimal untuk pengiriman data dari Bluetooth pada Arduino Nano ke Android. Untuk pengujian ini menggunakan komunikasi Bluetooth. 4.2.1. Pengujian Bluetooth Untuk pengujian melalui komunikasi bluetooth, dilakukan pengukuran jarak antara Android dengan Arduino Nano dan didapat hasil sebagai berikut : Tabel 4.1 Hasil Pengukuran Jarak Bluetooth Nama Jarak (Meter) Hasil Catatan A01 ±5 Terhubung Respon cepat A02 ± 10 Terhubung Respon cepat A03 ± 15 Terhubung Respon cepat A04 ± 20 Terhubung Respon cepat A05 ± 25 Terhubung Respon lambat A06 ± 30 Terhubung Respon lambat A07 ± 35 Terputus Tidak ada respon Universitas Sumatera Utara 41 4.2.2. Pengujian Algoritma Kalman Filter Untuk pengujian Algoritma Kalman Filter, dilakukan proses pengambilan data dengan menggunakan sensor gyroscope mpu-6050. Dan perbedaan data menggunakan Algoritma Kalman Filter dan tanpa Algoritma Kalman Filter dapat dilihat pada tabel 4.2 Tabel 4.2 Data Gyroscope Menggunakan Kalman dan Tanpa Kalman Kalman filter Kalman sudut X filter Pembacaan sudut Y sudut tanpa kalman filter X Pembacaan Sudut Y tanpa kalman filter 26.75 -23.52 124.00 151.00 26.77 -23.50 128.00 99.00 26.78 -23.50 133.00 80.00 26.82 -23.48 149.00 113.00 26.82 -23.47 120.00 81.00 26.83 -23.45 118.00 129.00 26.85 -23.44 146.00 132.00 26.87 -23.42 148.00 83.00 26.88 -23.42 136.00 70.00 26.91 -23.40 155.00 138.00 Pada tabel 4.2 dapat dilihat bahwa pembacaan dari sensor gyroscope tanpa Algoritma Kalman Filter tidak stabil dibandingkan dengan pembacaan sensor gyroscope dengan menggunakan Algoritma Kalman Filter. Grafik1 Kalman Filter dan Tanpa Kalman Filter Universitas Sumatera Utara 42 4.2.3. Pengujian Algoritma PID Untuk pengujian algoritma PID, algoritma ini tidak cocok dengan sistem yang dibuat dikarenakan error yang di dapat diakibat oleh kesalahan user itu sendiri bukan sistem yang membuat kesalahan, oleh karena itu algoritma PID pada sistem ini tidak dimasukan. Akan tetapi untuk cara perhitungan algoritma PID terdapat pada Gambar 4.7 dan Gambar 4.8 dibawah ini Gambar 4.7 Perhitungan PID Pada Sudut X Gambar 4.8 Perhitungan PID Pada Sudut Y Universitas Sumatera Utara 43 BAB 5 KESIMPULAN DAN SARAN 5.1. Kesimpulan Setelah melakukan studi literatur, analisis dan perancangan dan pengujian terhadap penggunaan Mikrokontroler Arduino Nano berbasis Android dan Unity dengan Algoritma PID dan Algoritma Kalman Filter untuk sistem kontroller game mobile, maka dapat disimpulkan sebagai berikut: 1. Sistem ini telah dibuat menggunakan algoritma PID, namun algoritma tersebut tidak dapat berkerja secara maksimal bahkan apabila memakai algoritma PID kecepatan pemprosesan data akan menjadi lambat. 2. Sistem ini telah dibuat menggunakan Algoritma Kalman Filter, dengan menggunakan Algoritma Kalman Filter hasil data yang di dapat dari gyroscope stabil. 3. Kontroller game yang telah dibuat dengan berbasis arduino nano dapat mengontrol sesuai dengan keinginan user. 4. Sistem ini dapat berkomunikasi menggunakan komunikasi serial. Universitas Sumatera Utara xliv 5.2. Saran Berikut ini adalah hal-hal yang menjadi saran dari penelitian ini atau untuk penelitian selanjutnya yang terkait: 1. Untuk pengembang selanjutnya, diharapkan dapat menggunakan algoritma PID pada kontroller yang autonomous. 2. Untuk pengembang selanjutnya, diharapkan menggunakan algoritma kalman filter pada kontroller dikarenakan pembacaan yang stabil dikarenakan pemakaian algoritma tersebut. 3. Untuk pengembang selanjutnya, diharapkan dapat ditambahkan fungsi tambahan pada game seperti lari, lompat agar game terlihat lebih menarik. Universitas Sumatera Utara