Implementasi Bluetooth Serial Port Profile Pada Tutorial Pembelajaran Sistem Kontrol Sebagai Media Komunikasi Data Dengan Alat Peraga Sistem Kontrol Berbasis Android
i
SKRIPSI
Diajukan untuk Menempuh Ujian Akhir Sarjana
RIFAT FIRDAUS
10110379
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS KOMPUTER INDONESIA
2014
(2)
(3)
(4)
TTL : Bandung, 4 April 1991 Umur : 23 Tahun
Jenis Kelamin : Laki - laki
Alamat : Jl. Tangkuban parahu Kp. Cikareumbi Ds. Cikidang RT/RW 01/06 No. 26, Lembang 40391
No. Tlp : 085795409903 E-mail : [email protected]
Pendidikan Formal
1998 – 2004 SD Negeri Cikidang 1 2004 – 2007 SMP Mutiara 5 Lembang 2007 – 2010 SMA Negeri 1 Lembang
(5)
v
DAFTAR ISI
ABSTRAK ... i
ABSTRACT ... ii
KATA PENGANTAR ... iii
DAFTAR ISI ... v
DAFTAR GAMBAR ... viii
DAFTAR TABEL ... xi
DAFTAR SIMBOL ... xiii
DAFTAR LAMPIRAN ... xvi
BAB 1 PENDAHULUAN ... 1
1.1 Latar Belakang Masalah ... 1
1.2 Identifikasi Masalah ... 3
1.3 Maksud dan Tujuan ... 3
1.4 Batasan Masalah ... 4
1.5 Metodologi Penelitian ... 4
1.5.1 Metode Pengumpulan Data ... 5
1.5.2 Metode Pembangunan Perangkat Lunak ... 5
1.6 Sistematika Penulisan ... 7
BAB 2 TINJAUAN PUSTAKA ... 9
2.1 Landasan Teori ... 9
2.1.1 Tutorial Pembelajaran ... 9
2.1.2 Konsep Dasar Bluetooth... 10
2.1.3 Bluetooth Serial Port Profile ... 13
(6)
vi
2.1.5 Inverted Pendulum ... 19
2.1.6 Eclipse ... 19
2.1.7 UML ... 22
BAB 3 ANALISIS DAN PERANCANGAN ... 27
3.1 Analisis ... 27
3.1.1 Analisis Masalah ... 27
3.1.2 Analisis Media Komunikasi Perangkat Inverted Pendulum 27 3.1.3 Analisis Implementasi Bluetooth Serial Port Profile ... 28
3.1.4 Analisis Kebutuhan Non Fungsional ... 34
3.1.5 Analisis Kebutuhan Fungsional ... 35
3.2 Spesifikasi Kebutuhan Perangkat Lunak ... 67
3.2.1 SKPL-NF-001 Sistem Dibangun Berbasis Android... 67
3.2.2 SKPL-NF-002 Sistem Dibangun dengan Spesifikasi Processor yang Tinggi ... 68
3.2.3 SKPL-NF-003 Pengguna Sistem Minimal Memiliki Kemampuan Mengoperasikan Sistem Operasi Android ... 68
3.3 Perancangan Sistem ... 69
3.3.1 Perancangan Arsitektur Perangkat Lunak ... 69
3.3.2 Perancangan Struktur Menu ... 70
3.3.3 Perancangan Antarmuka Perangkat Lunak ... 71
3.3.4 Jaringan Semantik ... 86
BAB 4 IMPLEMENTASI DAN PENGUJIAN ... 89
4.1 Implementasi Sistem ... 89
4.1.1 Implementasi Kebutuhan Perangkat Keras ... 89
(7)
vii
4.1.3 Implementasi Antarmuka ... 90
4.1.4 Implementasi Kelas ... 91
4.2 Pengujuan Alpha ... 92
4.2.1 Rancangan Pengujian ... 92
4.2.2 Kasus dan Hasil Pengujian ... 93
4.2.3 Kesimpulan Pengujian Alpha ... 99
4.3 Pengujian Beta ... 99
4.3.1 Kesimpulan Pengujian Beta ... 103
BAB 5 KESIMPULAN DAN SARAN ... 105
5.1 Kesimpulan ... 105
5.2 Saran ... 105
(8)
107 Oktober 2004.
[2] Bluetooth Specification Version 1.1 Serial Port Profile., 2001.
[3] Eka Fitriyadi, Imam Santosa, and Imam Setiawan, "Aplikasi Kontrol PID untuk Pengolahan Suhu Model Sistem Hipertermia berbasis Sensor Thermopile MLX90247," 2011.
[4] Nhivekar , Nirmale , and Mudholker , "Implementation of fuzzy logic control algorithm in embedded microcomputers for dedicated application," vol. 3, no. 4, p. 8, 2011.
[5] Ian Sommerville, Software Engineering. Jakarta: Erlangga, 2003.
[6] IGAK Wardani, "Program Tutorial Dalam Sistem Pendidikan Tinggi Terbuka Dan Jarak Jauh," vol. 1, no. 12, September 2000.
[7] Ferrianto Gozali and Christopher Haroldt Loho, "Sistem Monitoring Petugas Keamanan dalam Gedung Bertingkat dengan Memanfaatkan Teknologi Bluetooth," 2007.
[8] BARB, Bluetooth Doc Serial Port Profile., July 2012.
[9] Nazruddin Syafaat H, Android Pemrograman Aplikasi Mobile Smartphonecdan Tablet PC Berbasis Android. Bandung: Informatika, 2012.
[10] Zoel Fachri, Achmad Hendriawan, and Andrik Wijayanto, "Perencanaan Balancing Robot Dengan Dua Roda," 2010.
[11] Wina Noviani Fatimah, ST., "Pengenalan Eclipse," p. 15, Februari 2011. [12] Rosa A.S. and M. Shalahuddin, Rekayasa Perangkat Lunak terstruktur
(9)
iii
Profile pada Tutorial Pemblajaran Sistem Kontrol Sebagai Media Komunikasi dengan Alat Peraga Sistem Kontrol Berbasis Android” sebagai
syarat untuk menyelesaikan program studi Strata I Jurusan Teknik Informatika Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia dapat selesai dengan lancar.
Terima kasih Penulis ucapkan kepada:
1. Allah SWT yang telah melimpahkan nikmat, ide, kemampuan, dan kekuatan yang tak ternilai.
2. Keluarga tercinta yang selalu memberi doa, semangat, kasih sayang dan dorongan moril maupun materil.
3. Bapak Eko Budi Setiawan, S.Kom., M.T., dosen pembimbing yang telah mengarahkan dan membimbing penulis dalam menyelesaikan penulisan skripsi.
4. Bapak Andri Heryandi, S.T., M.T., dosen reviewer yang telah memberi masukan dan koreksi dalam aplikasi yang dibangun.
5. Bapak Galih Hermawan, S.Kom, M.T., dosen penguji yang telah memberi masukan dan koreksi mengenai penulisan skripsi.
6. Ibu Sufaatin S.T., M.Kom. selaku dosen wali IF-9 angkatan 2010 yang telah membimbing kami selama kuliah.
7. Seluruh Dosen dan Staff pengajar jurusan Teknik Informatika Universitas Komputer Indonesia.
8. Fajar Shidiq sebagai partner pengerjaan tugas akhir dan PKM yang telah sama – sama menempuh tugas akhir.
9. Reza, Dody, Zannuar, Aldio, Nuri, Rahayu, Dwikeu, Tita, Leni, Wulan, Agi, Iwan yang telah berjuang sama – sama dalam tugas akhir ini.
10. Teman-teman kelas IF-9 angkatan 2010 yang telah bersama-sama melewati masa-masa kuliah.
(10)
iv
13. Semua pihak yang terlibat dan ikut membantu dalam tugas akhir ini baik secara langsung maupun tidak langsung.
14. Dan Putri Annisa Anggraini yang selalu penuh semangat dalam mengerjakan tugas – tugasnya yang telah menjadi sumber motivasi dan semangat dalam mengerjakan tugas akhir ini.
Sangat disadari bahwa dalam pelaksanaan dan penyusunan laporan tugas akhir skripsi ini masih banyak kekurangan dan jauh dari kesempurnaan. Oleh karena itu saran dan kritik yang membangun sangat diharapkan untuk pengembangan ke arah yang lebih baik.
Bandung, 8 Agustus 2014
(11)
1
Kegiatan belajar sistem kontrol di jurusan teknik komputer Universitas Komputer Indonesia (UNIKOM) masih menggunakan cara biasa, dimana dosen menyampaikan pelajaran sistem kontrol kepada mahasiswa, lalu memberikan latihan soal. Menurut salah satu mahasiswa teknik komputer, kegiatan pembelajaran tersebut membuatnya kesulitan dalam memahami pembelajaran sistem kontrol karena yang diterima dari pembelajaran tersebut hanya teori saja tanpa adanya praktek.
Kesulitan bagi mahasiswa dalam memahami sistem kontrol adalah ketika mereka mempelajari teori tanpa diberikan pengetahuan tentang bagaimana cara menerapkannya pada kehidupan nyata, sehingga, media pembelajaran diperlukan untuk menunjang pembelajaran sistem kontrol, agar mahasiswa dapat belajar menerapkan materi sistem kontrol yang telah dipelajari pada media pembelajaran tersebut.
Selain itu, algorima kontrol yang dipelajari tidak bisa dipastikan benar, karena algoritma tersebut tidak diuji untuk dipastikan bawah algoritma kontrol tersebut berjalan dengan benar, hal ini dikarenakan keterbatasan media pembelajaran yang dapat mensimulasikan algoritma kontrol tersebut.
Metode pembelajaran memegang peranan yang penting dalam proses pembelajaran. Penggunaan media pendidikan, khususnya media visual dan simulasi dapat membantu dosen dalam menyampaikan materi perkuliahan [1]. Media pembelajaran sistem kontrol yang ada sekarang masih kurang tervisualisasikan dengan jelas karena pergerakan alat peraga tersebut tidak dapat divisualisasikan dalam bentuk grafik, contohnya pada motor servo yang dikendalikan oleh mikrokontroler yang hanya bergerak setelah mikrokontrolernya diprogram dan dijalankan, perputaran dan kecepatan motor servo tidak bisa
(12)
diamati secara grafik sehingga mahasiswa kesulitan untuk mengamati pergerakan alat peraga tersebut.
Perangkat inverted pendulum adalah alat peraga untuk mengimplementasikan dan mensimulasikan algoritma pada bidang keahlian sistem kontrol berupa pendulum terbalik yang terdiri dari bagian pendulum yang dapat berputar 360 derajat yang terbuat dari besi, sensor sudut untuk menyeimbangkan pendulum agar tetap berada di atas, cart/plant objek penggerak pendulum yang dapat bergerak pada relnya secara horizontal dan dikendalikan oleh acuator, actuator yang berperan sebagai penggerak plant, serta microcontroller sebagai pengendali actuator.
Serial port profile adalah profil bluetooth yang berfungsi sebagai koneksi kabel serial tiruan antara dua perangkat bluetooth. Profil ini digunakan sebagai pengganti kabel serial yang digunakan untuk memasukan algoritma dari komputer ke microcontroller [2]. Profil ini digunakan sebagai media komunikasi data dari tablet yang berisi materi – materi sistem kontrol dengan microcontroller yang ada pada perangkat inverted pendulum, profil ini digunakan karena data yang diterima oleh microcontroller yang ada pada perangkat inverted pendulum adalah data serial, oleh karena itu, profil bluetooth yang digunakan adalah serial port profil.
Aplikasi Tutorial Pembelajaran Sistem Kontrol berbasis android ini dibuat agar algoritma alat peraga dapat diatur secara dinamis melalui aplikasi pada tablet, serta dapat merepresentasikan data pergerakan pendulum menjadi grafik yang dapat dilihat pada tablet dengan mengimplementasikan teknologi serial port profil (SPP) pada bluetooth sebagai media pengiriman dan penerimaan data antar tablet dan perangkat inverted pendulum. Penggunaan tablet sebagai media pembelajaran bertujuan agar alat peraga lebih fleksibel dan praktis. Harga tablet lebih ekonomis jika dibandingkan dengan laptop, dan tablet dengan sistem operasi Android memiliki fitur bluetooth serial.
Karena data yang dikirim dari alat peraga berupa data serial, maka komunikasi data yang digunakan sebagai pengganti kabel data port serial adalah bluetooth, karena bluetooth memiliki profil untuk pengiriman data serial yaitu serial port profile (SPP), materi yang akan dibahas pada aplikasi Tutorial
(13)
Pembelajaran ini adalah Bab classical control yaitu algoritma PID (Proportional, Derivative, Integral) dan algoritma Fuzzy, karena kontrol PID merupakan strategi yang paling banyak diadopsi pada pengontrolan proses industri. Algoritma PID sebagai komponen kontrol proses dilatarbelakangi oleh kesederhanaan struktur serta kemudahan dalam melakukan tuning parameter kontrolnya [3]. Algoritma Fuzzy juga sering digunakan pada kontrol industri, serta kombinasinya dengan algoritma PID memiliki pendekatan yang lebih baik dalam sistem kontrol [4].
Aplikasi Tutorial Pembelajaran Sistem Kontrol ini diharapkan dapat membantu mahasiswa dalam mempelajari sistem kontrol dari materi yang ada dalam aplikasi tersebut dan dari simulasi algoritma yang dapat dijalankan dan divisualisasikan menjadi grafik sehingga mudah diamati.
1.2 Identifikasi Masalah
Berdasarkan uraian latar belakang masalah yang telah dijelaskan maka permasalahan yang muncul adalah:
1. Kesulitan mahasiswa dalam menerapkan teori sistem kontrol pada kehidupan nyata.
2. Algorima kontrol yang dipelajari tidak bisa dipastikan benar, karena algoritma tersebut tidak diuji untuk dipastikan bahwa algoritma kontrol tersebut berjalan dengan benar.
3. Media pembelajaran sistem kontrol saat ini tidak terlalu tervisualisasikan karena alat peraga yang ada kurang interaktif, karena hanya dapat memberikan pembelajaran satu arah.
1.3 Maksud dan Tujuan
Berdasarkan identifikasi masalah, maksud dari penelitian ini adalah membangun aplikasi Tutorial Pembelajaran sistem kontrol yang dapat berkomunikasi dengan alat peraga.
Tujuan yang ingin dicapai dari pembangunan aplikasi Tutorial Pembelajaran sistem kontrol berbasis android adalah:
(14)
1. Membantu mahasiswa dalam menyediakan materi sistem kontrol yang dapat langsung diimplementasikan pada perangkat inverted pendulum, agar mahasiswa dapat menerapkan materi yang telah dipelajari.
2. Menyediakan media pembelajaran materi algoritma sistem kontrol yang dapat disimulasikan untuk memastikan bahwa algoritma kontrol yang telah dipelajari tersebut berjalan dengan benar.
3. Menyediakan media pembelajaran yang interaktif yang dapat merepresentasikan data yang dihasilkan oleh pergerakan alat peraga dalam bentuk grafik sehingga mahasiswa dapat mengamati pergerakan alat peraga tersebut dalam bentuk grafik.
1.4 Batasan Masalah
Ada beberapa batasan masalah dalam penelitian ini agar pembahasan lebih fokus dan sesuai dengan tujuan yang akan dicapai. Batasan masalah dalam pembangunan aplikasi ini adalah:
1. Media pembelajaran yang dibangun pada penelitian ini berupa aplikasi berbasis android.
2. Materi yang dibahas pada aplikasi Tutorial Pembelajaran ini adalah Bab classical control yaitu algoritma PID (Proportional, Derivative, Integral) dan algoritma Fuzzy
3. Algoritma yang akan dipakai pada media pembelajaran sudah dipasang pada alat peraga, sehingga aplikasi hanya mengirim perintah untuk menjalankan algoritmanya.
4. Versi bluetooth yang dipakai pada alat peraga adalah versi 2.0 5. Protokol bluetooth yang digunakan adalah serial port profile
6. Aplikasi Tutorial Pembelajaran sistem kontrol yang dibangun berbasis Android dengan sistem operasi Android versi 4.2
1.5 Metodologi Penelitian
Dalam penelitian skripsi ini digunakan metodelogi penelitian deskriptif untuk menggambarkan fakta – fakta dan informasi secara sistematis dan akurat.
(15)
Metode penelitian ini memiliki dua tahap, yaitu tahap pengumpulan pengumpulan data dan tahap pembangunan perangkat lunak.
1.5.1 Metode Pengumpulan Data
Metode pengumpulan data yang digunakan dalam pembangunan Turorial pembelajaran sistem kontrol adalah sebagai berikut :
1. Studi Pustaka
Metode studi pustaka ini digunakan untuk mendapatkan teori untuk menyelesaikan permasalahan dengan mengumpulkan teori-teori lain yang mendukung dan membaca sumber seperti buku, jurnal, maupun artikel yang berkaitan.
2. Interview
Teknik pengumpulan data dengan mengadakan tanya jawab secara langsung mengenai pembelajaran sistem kontrol yang diperlukan serta alat peraga yang digunakan.
3. Kuesioner
Teknik pengumpulan data yang digunakan untuk mendapatkan hasil pengujian dengan cara pengisian kusioner yang akan diberikan kepada pelajar atau khalayak umum yang mempelajari sistem kontrol yang telah mencoba media pembelajaran yang dibangun.
1.5.2 Metode Pembangunan Perangkat Lunak
Metode yang digunakan untuk membangun perangkat lunak ini adalah metode waterfall. Model ini mengambil kegiatan proses dasar spesifikasi, pengembangan, validasi dan evolusi dan mewakili mereka sebagai tahap proses yang terpisah seperti spesifikasi kebutuhan, perancangan perangkat lunak, implementasi, pengujian, dan seterusnya [5].
Tahapan utama dari model waterfall secara langsung mencerminkan kegiatan pembangunan yang mendasar menurut Ian Sommerville :
(16)
1) Requirements analysis and definition.
Pada tahap ini akan dilakukan analisis terhadap layanan, kendala, dan tujuan sistem yang ditetapkan melalui konsultasi dengan pengguna sistem untuk membangun Tutorial pembelajaran sistem kontrol yang sedang dibangun ini, kemudian akan didefinisikan secara rinci dan berfungsi sebagai spesifikasi sistem. 2) System and software design.
Tahap selanjutnya, akan dilakukan proses desain sistem yang mengalokasikan kebutuhan baik untuk perangkat keras maupun perangkat lunak sistem dengan membentuk arsitektur sistem secara keseluruhan. Desain perangkat lunak melibatkan identifikasi dan menggambarkan abstraksi sistem perangkat lunak yang mendasar.
3) Implementation and unit testing.
Selama tahap ini, desain Aplikasi Tutorial Pembelajaran Sistem Kontrol akan direalisasikan sebagai serangkaian program atau unit program yang akan diuji. Pengujian ini melibatkan seluruh fungsional sistem, seperti isi materi, fungsional tombol, komunikasi dengan alat peraga, pengiriman data, penerimaan data, dan ploting data yang telah diterima.
4) Integration and system testing.
Pada tahap ini, aplikasi keseluruhan akan diintegrasikan dan diuji sebagai sistem yang lengkap untuk memastikan bahwa seluruh kebutuhan perangkat lunak telah terpenuhi.
5) Operation and maintenance.
Pada tahap ini, akan dilakukan maintenance pada sistem agar komunikasi yang etrjadi antara aplikasi dan alat peraga simulasi algoritma dapat berkomunikasi lebih baik.
(17)
Gambar 1.1 Model Waterfall
1.6 Sistematika Penulisan
Sistematika penulisan skripsi ini disusun untuk memenuhi gambaran umum tentang penelitian yang dilakukan. Sistematika penulisan skripsi ini adalah sebagai berikut :
BAB 1 PENDAHULUAN
Bab ini menguraikan tentang latar belakang permasalahan, merumuskan inti permasalahan yang dihadapi, menentukan tujuan dan kegunaan penelitian, yang kemudian diikuti dengan pembatasan masalah, metodelogi penelitian yang akan dilakukan dalam penelitian, metode pembangunan perangkat lunak yang akan di pakai, serta sistematika penulisan.
BAB 2 LANDASAN TEORI
Bab ini membahas tentang berbagai konsep dasar dan teori-teori yang berkaitan dengan topik penelitian yang dilakukan dan hal-hal yang berguna dalam proses analisis permasalahan seperti konsep dasar bluetooth, android, perangkat inverted pendulum, serta aplikasi – aplikasi yang digunakan dalam penelitian ini untuk membangun perangkat lunak.
(18)
BAB 3 ANALISIS DAN PERANCANGAN SISTEM
Bab ini berisi tentang pemaparan analisis masalah, analisis kebutuhan fungsional dan analisis kebutuhan non fungsional. Hasil dari analisis tersebut digunakan untuk melakukan perancangan perangkat lunak yang terdiri dari perancangan model usecase, activity diagram, class diagram, sequence diagram, dan perancangan antar muka
BAB 4 KESIMPULAN DAN SARAN
Berisi kesimpulan yang diperoleh dari hasil penelitian atas dasar latar belakang masalah, identifikasi masalah dan batasan masalah yang telah di tentukan dalam penelitian ini dan saran yang perlu diperhatikan bagi pengembang perangkat lunak di masa yang akan datang.
(19)
9
Landasan teori merupakan penjelasan berbagai konsep dan teori – teori yang berkaitan dalam pembangunan aplikasi Tutorial Pembelajaran Sistem Kontrol. Beberapa teori yang terkait dengan pembangunan aplikasi Tutorial Pembelajaran Sistem Kontrol adalah tutorial, konsep dasar bluetooth, android, eclipse, perangkat inverted pendulum dan UML.
2.1.1 Tutorial Pembelajaran
Dalam kamus Besar Bahasa Indonesia, tutorial didefinisikan sebagai: pembimbingan kelas oleh seorang pengajar (tutor) untuk seorang mahasiswa atau sekelompok kecil mahasiswa atau pengajaran tambahan melalui tutor, sedangkan tutor didefinisikan sebagai: orang yang memberi pelajaran kepada seseorang atau sejumlah kecil siswa (di rumah, bukan di sekolah) atau dosen yang membimbing sejumlah mahasiswa di pelajarannya. Berdasarkan definisi tersebut, tutorial berarti mengajar orang lain atau memberikan bantuan belajar kepada seseorang. Kegiatan tutorial melibatkan orang yang mengajar/memberi bantuan yang disebut tutor dan orang yang belajar atau yang diberi bantuan belajar, yang disebut tutee. Di antara tutor dan tutee terdapat bahan belajar yang merupakan sumber ilmu yang dikaji oleh tutee bersama tutor, dan diantara tutor dan tutee terjadi interaksi atau komunikasi yang merupakan inti dari tutorial tersebut [6]. Menurut UU Nomor 20 tahun 2003 tentang Sistem Pendidikan Nasional, Pembelajaran adalah proses interaksi peserta didik dengan pendidik dan sumber belajar pada suatu lingkungan belajar.
Berdasarkan definisi tutorial dan definisi Pembelajaran, secara bahasa dapat disebutkan bahwa Tutorial Pembelajaran adalah proses pengajaran suatu bahan belajar dan interaksi antara peserta didik dan pendidik dalam suatu lingkungan belajar.
(20)
2.1.2 Konsep Dasar Bluetooth
Bluetooth adalah teknologi komunikasi data nirkabel(tanpa kabel) jarak pendek yang digunakan untuk menggantikan kabel sebagai media komunikasi data. Teknologi bluetooth memanfaatkan gelombang radio yang beroperasi pada kelompok ISM(Industrial, Scientific, Medical), bekerja pada frekuensi 2.4GHz dan sinyal full duplex. Pada umumnya, frekuensi 2.4GHz ISM tersedia dan tidak membutuhkan lisensi pada sebagian negara.
Keuntungan dari penggunaan teknologi bluetooth adalah memiliki daya yang kecil, dapat beroperasi lama, dan biaya implementasi yang relatif rendah, akan tetapi, teknologi bluetooth memiliki kekurangan, diantaranya, bluetooth dapat digunakan untuk membangun jaringan adhoc yang terbatas, hanya untuk delapan perangkat yang terdiri satu Master dan tujuh active slave. [7]
2.1.2.1Protokol Bluetooth
Bluetooth melakukan pembagian tugas antara host dan sebuah host controller. Host bertanggung jawab untuk protokol lapisan seperti Logical Link Control dan Adaptasi Protokol (L2CAP) dan Service Discovery Protocol(SDP), yaitu fungsi yang dilakukan oleh perangkat komputasi seperti komputer, Sedangkan host controller bertanggung jawab untuk lapisan Radio, Baseband, dan Link Manager Protocol(LMP) yang dilaksanakan secara integrasi atau eksternal. Host dan Host controller saling mengirimkan informasi melalui Host controller Interface(HCI). Berdasarkan pengembangan Bluetooth Interest Group, penentuan protokol bluetooth terlihat seperti pada gambar 2.1. [7]
(21)
Gambar 2.1 Bluetooth Protocol dan hubungan antar layer
Fungsi dari masing-masing layer secara singkat dapat digambarkan sebagai berikut:
1. Layer radio adalah koneksi nirkabel fisik. Untuk menghindari gangguan dengan perangkat lain yang berkomunikasi pada pita ISM, modulasi ini didasarkan pada fast frequency hopping.
2. Layer baseband bertanggung jawab untuk mengendalikan dan mengirimkan paket data melalui radio link. Layer ini menyediakan saluran transmisi baik untuk data maupun suara. Lapisan baseband digunakan mempertahankan Synchronous Connection-Oriented (SCO) untuk link suara dan Asynchronous Connectionless (ACL) untuk data.
3. Link Manager Protocol (LMP) untuk menjalin hubungan dan mengelola piconet. Tanggung Jawab LMP juga termasuk otentikasi dan keamanan, dan pemantauan kualitas layanan.
4. Lapisan Host Controller Interface (HCI) adalah garis pemisah antara software dan hardware. Lapisan L2CAP dan lapisan di atasnya saat ini diimplementasikan dalam perangkat lunak, dan LMP dan lapisan di bawahnya berada di hardware. Lapisan HCI adalah driver interface untuk bus fisik yang menghubungkan dua komponen.
(22)
5. Logical Link Control And Adaptation Protocol (L2CAP) menerima data aplikasi dan menyesuaikan ke format Bluetooth dengan memperhatikan parameter Quality of Service.
2.1.2.2Pendeteksian Posisi Pada Bluetooth
Berdasarkan pada parameter sinyal elektromagnetik yang dipilih untuk penentuan posisi, pendekatan dasar untuk sistem radiolokasi dapat dilakukan dengan berbagai cara pengukuran, yaitu:
1. Pengukuran Received Signal Strength Indicator (RSSI)
2. Pengukuran Link Quality (LQ) untuk menentukan lokasi dari bluetooth yang dipantau. Penggunaan link quality dapat pula dikombinasikan dengan menggunakan nilai RSSI, yang digunakan untuk menunjang keakuratan teknik radio lokasi.
3. Pengukuran Sudut Kedatangan (Angle Of Arrival – AOA) 4. Pengukuran berdasarkan Waktu (Time Based System)
2.1.2.3Jaringan Piconet dan Scatternet
Piconet adalah sistem jaringan yang terdiri dari dua atau lebih (max 8) perangkat Bluetooth dalam jarak fisik yang dekat dan beroperasi pada channel yang sama menggunakan frekuensi yang sama urutan loncatannya. Bluetooth memungkinkan perangkat untuk membangun jaringan, baik ad hoc atau infrastruktur. Jaringan Infrastruktur menggunakan Bluetooth Access Point (AP) yang tetap, yang memfasilitasi komunikasi antar perangkat Bluetooth. Walaupun hanya satu perangkat yang berfungsi sebagai master untuk setiap piconet, Time Division Multiplexing (TDM) memungkinkan slave dalam satu piconet dapat juga bertindak sebagai master bagi piconet lain secara bersamaan, sehingga membentuk jaringan yang disebut scatternet yang lebih jauh jangkauannya. [7]
(23)
2.1.3 Bluetooth Serial Port Profile
Profil ini mendefinisikan persyaratan untuk perangkat Bluetooth yang diperlukan untuk menyiapkan tiruan kabel data serial menggunakan RFCOMM antara dua rekan perangkat. Persyaratan dinyatakan dalam layanan yang disediakan untuk aplikasi, dan oleh mendefinisikan fitur dan prosedur yang diperlukan untuk interoperabilitas antara perangkat Bluetooth.
2.1.3.1Ruang lingkup
Serial port profile yang mendefinisikan protokol dan prosedur yang akan digunakan oleh perangkat menggunakan Bluetooth untuk kabel serial emulasi RS232 (atau sejenisnya). Hal ini dapat digantikan oleh profil ini berkaitan dengan aplikasi-aplikasi legasi yang menggunakan Bluetooth sebagai kabel pengganti, melalui virtual serial port abstraksi (yang dalam dirinya sendiri beroperasi sistem ketergantungan).
2.1.3.2Struktur Profil Bluetooth
Pada Gambar 2.2, struktur profil Bluetooth dan dependensi profil digambarkan. Profil bergantung pada profil lain jika kembali menggunakan bagian profil, oleh secara implisit ataupun eksplisit merujuknya. Ketergantungan diilustrasikan pada gambar: memiliki profil ketergantungan pada profile(s) di mana itu terkandung-langsung dan tidak langsung
(24)
2.1.3.3Profile Stack
Pada gambar 2-3 menunjukkan protokol dan entitas yang digunakan dalam profil ini
Gambar 2.3 Model Protokol
Baseband LMP dan L2CAP adalah OSI layer 1 dan 2 protokol Bluetooth. RFCOMM adalah adaptasi Bluetooth GSM TS 07,10, menyediakan sebuah protokol transport emulasi serial port. SDP adalah Bluetooth Service Discovery Protocol. Aplikasi di kedua sisi yang biasanya aplikasi legasi, dapat dan bisa berkomunikasi melalui kabel serial. Namun demikian, aplikasi-aplikasi legasi tidak tahu tentang prosedur Bluetooth untuk mengatur tiruan kabel serial. Aplikasi non-legasi yang akan melakukan komunikasi serial Bluetooth harus juga mengikuti aturan yang ditentukan dalam profil ini. [8]
2.1.4 Android
Android adalah sebuah sistem operasi untuk perangkat mobile berbasis linux yang mencakup sistem operasi, middleware, dan aplikasi. Android menyediakan platform terbuka bagi para pengembang untuk membuat aplikasi mereka sendiri. Pada awalnya Google Inc. membeli Android Inc. yang berupakan sebuah perusahaan pendatang baru yang membuat perangkat lunak untuk ponsel. Kemudian untuk mengembangkan android, dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan perangkat keras, perangkat lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan NVidia. [9]
(25)
2.1.4.1The Dalvik Virtual Machine
Salah satu elemen kunci dari Android adalah Dalvik Virtual Machine (DVM). Android berjalan di dalam DVM bukan di Java Virtual Machine (JVM), sebenarnya banyak persamaannya dengan JVM seperti Java ME (Java Mobile Edition), tetapi Android menggunakan Virtual Machine sendiri yang dapat dikustomisasi dan dirancang untuk memastikan bahwa beberapa fitur – fitur berjalan lebih efisien pada perangkat mobile.
DVM adalah “Register based” sementara JVM adalah “stack based”,
DVM didisain dan ditulis oleh Dan Bornsten dan beberapa engineers Google
alinnya. Jadi, bisa dikatakan “Dalvik equals(Java) == false”. DVM menggunakan kernel Linux untuk menangani fungsionalitas tingkat rendah termasuk keamanan, threading, dan preses serta manajemen memori. Hal ini memungkinkan kita untuk menulis aplikasi C / C++ sama halnya seperti pada OS Linux kebanyakan. Meskipun dalam kenyataannya kita harus banyak memahami arsitektur dan proses sistem dari kernel Linux yang di gunakan Android tersebut.
Semua hardware yang berbasis Android dijalankan dengan menggunakan Virtual Machine untuk eksekusi aplikasi, pengembang tidak perlu khawatir tentang implementasi perangkat keras tertentu. DVM mengeksekusi executable file, sebuah format yang dioptimalkan untuk memastikan memori yang digunakan sangat kecil. The executable file diciptakan dengan mengubah kelas bahasa Java dan dikompilasi dengan menggunakan tools yang disediakan dalam SDK Android. [9]
2.1.4.2Android SDK
Android SDK(Software Development Kit) adalah tools API(Appplication Programing Interface) yang diperlukan untuk memulai mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman Java. Android merupakan subset perangkat lunak untuk ponsel yang meliputi sistem operasi, middleware dan aplikasi kunci yang dirilis oleh Google. Saat ini disediakan Android SDK (Software Development Kit) sebagai alat bantu dan API untuk
(26)
mulai mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman Java. Sebagai platform aplikasi-netral, Android memberi kita kesempatan untuk membuat aplikasi yang kita butuhkan yang bukan merupakan bawaan ponsel. Beberapa fitur – fitur Android yang paling penting adalah: [9] 1. Framework aplikasi yang mendukung penggantian komponen dan reuseable. 2. DVM dioptimalkan untuk perangkat mobile.
3. Integrated browser berdasarkan engine open source WebKit.
4. Grafis yang dioptimalkan dan didukung oleg libraries grafis 2d, grafis 3d berdasarkan spesifikasi openGL ES 1,0 (Optional akselerasi hardware)
5. SQL Lite untuk menyimpan data 6. Bluetooth, EDGE, 3G, dan Wifi
7. Media Support yang mendukung audio, video, dan gambar (MPEG4, H.262, MP3, AAC, AMR, JPG, PNG, GIF) GSM telepon (tergantung hardware) 8. Kamera, GPS, kompas, dan accelerometer (tergantung Hardware)
9. Lingkungan development yang lengkap dan kaya termasuk perangkat emulator, tools untuk debugging, profil dan kinerja memori, dan plugin untuk IDE Eclipse.
2.1.4.3Arsitektur Android
Secara garis besar arsitektur Android dapat dijelaskan dan digambarkan sebagai berikut: [9]
1. Applications dan Widgets
Application dan Widgets ini adalah layer dimana kita berhubungan dengan aplikasi saja, dimana biasanya kita download aplikasi kemudian kita lakukan instalasi dan jalankan aplikasi tersebut. Di layer terdapat aplikasi inti termasuk klien email, program SMS, kalender, peta, browser, kontak, dan lain-lain. Semua aplikasi ditulis menggunakan bahasa pemrograman Java.
2. Application Frameworks
Android adalah “Open Development Platform” yaitu Android
(27)
untuk membangun aplikasi yang bagus dan inovatif. Pengembang bebas untuk mengakses perangkat keras, akses informasi resources, menjalankan service background, mengatur alarm, dan menambahkan status notification, dan sebagainya. Pengembang memiliki akses penuh menuju API framework seperti yang dilakukan oleh aplikasi yang kategori inti. Arsitektur aplikasi dirancang supaya dapat menggunakan kembali komponen yang sudah digunakan dengan mudah (reuse).
Sehingga dapat disimpulkan bahwa Application frameworks ini adalah layer dimana para pembuat aplikasi melakukan pengembangan/pembuatan aplikasi yang akan dijalankan di sistem operasi Android, karena pada layer inilah aplikasi dapat dirancang dan dibuat, seperti content-providers yang berupa SMS dan panggilan telepon. [9]
Komponen – komponen yang termasuk di dalam Application Frameworks adalah sebagai berikut:
a. Views
b. Content Provider c. Resource Manager d. Notification Manager e. Activity Manager 3. Libraries
Libraries ini adalah layer dimana fitur – fitur Android berbeda, biasanya para pembuat aplikasi mengakses libraries untuk menjalankan aplikasinya. Berjalan di atas kernel, layer ini meliputi berbagai library C/C++ inti seperti Libc dan SSL, serta:
- Libraries media untuk pemutaran media audio dan video - Libraries untuk manajemen tampilan
- Libraries Graphics mencakup SGL dan OpenGL untuk grafis 2D dan 3D - Libraries SQLite untuk dukungan database.
- Libraries SSL dan Webkit terintegrasi dengan web browser dan security - Libraries LiveWebcore mencakup modern web browser dengan engine
(28)
- Libraries 3D yang mencakup implementasi OpenGL ES 1.0 API‟s 4. Android Run Time
Layer yang membuat aplikasi Android dapat dijalan kan dimana dalam prosesnya menggunakan implementasi Linux. Dalvik Virtual Machine (DVM) merupakan mesin yang membentuk dasar kerangka aplikasi Android. Di dalam Android Run Time dibagi menjadi dua bagian, yaitu:
- Core Libraries: Aplikasi Android dibangun dalambahasa Java, sementara Dalvik sebagai virtual mesinnya bukan virtual mesin Java, sehingga diperlukan libraries yang berfungsi untuk menterjemahkan bahasa Java/C yang ditangani oleh Core Libraries.
- Dalvik Virtual Machine: Virtual mesin berbasis register yang dioptimalkan untuk menjalankan fungsi – fungsi secara efisien, dimana merupakan pengembang yang mampu membuat Linux kernel untuk melakukan threading dan manajemen tingkat rendah.
5. Linux Kernel
Linux Kernel adalah layer dimana inti dari operating system dari Android itu berada. Berisi file – file system yang mengatur sistem processing, memory, resource, drivers, dan sistem – sistem operasi Android lainnya. Linux Kernel yang digunakan Android adalah Linux kernel Release 2.6. [9]
(29)
2.1.5 Inverted Pendulum
Inverted Pendulum adalah bandul yang memiliki massa yang berputar di atas titik. Hal ini sering dilakukan dengan berporos titik menjulang pada kereta yang dapat bergerak horisontal dan dapat disebut sebagai tiang dan kereta. Sedangkan biasa bandul stabil ketika gantung ke bawah, sebuah bandul terbalik adalah memiliki sifat tidak stabil, dan harus seimbang aktif untuk tetap tegak, baik oleh tenaga putaran (tourqe) yang berlaku pada persendian atau dengan menggerakan berporos horizontal titik sebagai bagian dari arus balik sistem [10].
2.1.6 Eclipse
Eclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-independent). Berikut ini adalah sifat dari Eclipse:
1. Multi-platform: Target sistem operasi Eclipse adalah Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X.
2. Mulit-language: Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi Eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman lain seperti C/C++, Cobol, Python, Perl, PHP, dan lain sebagainya.
3. Multi-role: Selain sebagai IDE untuk pengembangan aplikasi. Eclipse pun bisa digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak seperti dokumentasi, pengujian perangkat lunak, pengembangan web, dan lain sebagainya.
Pada saat ini, Eclipse merupakan salah satu IDE favorit karena gratis dan open source. Open source berarti setiap orang boleh melihat kode pemrograman perangkat lunak ini. Selain itu, kelebihan dari Eclipse yang membuatnya populer adalah kemampuannya untuk dapat dikembangkan oleh pengguna dengan membuat komponen yang disebut plug-in [11]. Lingkungan kerja atau antarmuka aplikasi Eclipse dapat dilihat pada gambar 2.5.
(30)
Gambar 2.5 Tampilan Antarmuka Eclipse
2.1.6.11. Sejarah
Eclipse awalnya dikembangkan oleh IBM untuk menggantikan perangkat lunak pengembangan IBM Visual Age for Java 4.0. Produk Eclipse ini diluncurkan oleh IBM pada tanggal 5 November 2001. IBM menginvestasikan US$ 40 juta untuk pengembangannya. Sejak 5 November 2001, konsorsium Eclipse Foundation mengambil alih pengembangan Eclipse lebih lanjut.
2.1.6.22. Arsitektur
Sejak versi 3.0, Eclipse pada dasarnya merupakan sebuah kernel. Apa yang dapat digunakan di dalam Eclipse sebenarnya adalah fungsi dari plug-in yang sudah dipasang (diinstal). Ini merupakan basis dari Eclipse yang dinamakan Rich Client Platform (RCP). Berikut ini adalah komponen yang membentuk RCP: 1. Core platform
2. OSGi
(31)
4. JFace
5. Eclipse Workbench
Secara standar Eclipse selalu dilengkapi dengan JDT (Java Development Tools), plug-in yang membuat Eclipse kompatibel untuk mengembangkan program Java, dan PDE (Plug-in Development Environment) untuk mengembangkan plug-in baru. Eclipse beserta plug-in-nya diimplementasikan dalam bahasa pemrograman Java. Konsep Eclipse adalah IDE yang bersifat: 1. Terbuka (open),
2. Mudah diperluas (extensible) untuk apa saja 3. Tidak untuk sesuatu yang spesifik
Eclipse tidak saja untuk mengembangkan program Java, tetapi juga untuk berbagai macam keperluan. Perluasan apapun cukup dengan menginstal plug-in yang dibutuhkan. Apabila ingin mengembangkan program C/C++ maka telah terdapat plug-in CDT (C/C++ Development Tools) yang dapat dipasang di Eclipse untuk Eclipse menjadi perangkat untuk pengembangan C/C++.
Pengembangan secara visual bukan hal yang tidak mungkin oleh Eclipse, plug-in UML2 tersedia untuk membuat diagram UML. Dengan menggunakan PDE setiap orang bisa membuat plug-in sesuai dengan keinginannya.
2.1.6.33. Histori Eclipse
Sejak tahun 2006, Eclipse Foundation mengkoordinasikan peluncuran Eclipse secara rutin dan simultan yang dikenal dengan nama Simultaneous Release. Setiap versi peluncuran terdiri dari Eclipse Platform dan juga sejumlah proyek yang terlibat dalam proyek Eclipse. Tujuan sistem ini adalah untuk menyediakan distribusi Eclipse dengan fitur-fitur dan versi yang terstandarisasi. Hal ini juga dimaksudkan untuk mempermudah deployment dan maintenance untuk sistem enterprise, serta untuk kenyamanan. Peluncuran simultan dijadwalkan pada bulan Juni setiap tahunnya.
(32)
Tabel 2.1 Peluncuran Eclipse Kode Peluncuran Tanggal
Peluncuran
Platform Nama Proyek
Eclipse 3.0 28 Juni 2004 3.0
Eclipse 3.1 28 Juni 2005 3.1
Callisto 30 Juni 2006 3.2 Callisto projects
Europa 29 Juni 2007 3.3 Europa projects
Ganymede 25 Juni 2008 3.4 Ganymede
projects
Galileo 24 Juni 2009 3.5 Galileo projects
2.1.7 UML
UML(Unified Modeling Language) merupakan bahasa visual untuk pemodelan dan komunikasi mengenai sebuah sistem dengan menggunakan diagram dan teks – teks pendukung untuk menspesifikasikan, menggambarkan, membangun, dan dokumentasi dari sistem perangkat lunak [12].
2.1.7.1Sejarah UML
Bahasa pemrograman berorientasi objek yang pertama dikembangkan dikenal dengan nama Simula-67 yang dikembangkan pada tahun 1967. Bahasa pemrograman ini kurang berkembang dan dikembangkan lebih lanjut, namun dengan kemunculannya telah memberikan sumbangan yang besar pada developer pengembang bahasa pemrograman berorientasi objek selanjutnya.
Perkembangan aktif dari pemrograman berorientasi objek mulai menggeliat ketika berkembangnya bahasa pemrograman Smalltalk pada awal 1980-an yang kemudian diikuti dengan perkembangan bahasa pemrograman berorientasi objek yang lainnya seperti C objek, C++, Eiffel, dan CLOS. Secara aktual, penggunaan bahasa pemrograman berorientasi objek pada saat itu masih terbatas, namun telah banyak menarik perhatian di saat itu. Sekitar lima tahun setelah Smalltalk berkembang, maka berkembang pula metode pengembangan
(33)
berorientasi objek. Metode yang pertama diperkenalkan oleh Sally Shaler dan Stephen Mellor (Shaler-Mellor, 1988) dan Peter Coad dan Edward Yourdon (Coad-Yourdon, 1991), diikuti oleh Grady Booch (Booch, 1991), James R. Rumbaugh, Michael R. Blaha, William Lorensen, Frederick Eddy, William Premerlani (Rumbaugh-Blaha-Premerlani-Eddy-Lorensen, 1991), dan masih banyak lagi.
Buku terkenal yang juga berkembang selanjutnya adalah karangan Ivar Jacobson (Jacobson, 1992) yang menerangkan perbedaan pendekatan yang fokus pada use case dan proses pengembangan. Sekitar lima tahun kemudian muncul buku yang membahas mengenai metodologi berorientasi objek yang diikuti dengan buku – buku yang lainnya. Didalamnya juga membahas mengenai konsep, definisi, notasi, terminologi, dan proses mengenai metodologi berorientasi objek.
Karena banyaknya metodologi – metodologi yang berkembang pesat itu, maka muncullah ide untuk membuat sebuah bahasa yang dapat dimengerti semua orang. Usaha penyatuan ini banyak mengambil dari metodologi – metodologi yang berkembang saat itu. Maka dibuat bahasa yang merupakan gabungan dari beberapa konsep seperti konsep Object Modeling Technique (OMT) dari Rumbaugh dan Booch (1991), konsep The Classes, Responsibilities, Collaborators (CRC) dari Rebecca Wirfs-Brock (1990), konsep pemikiran Ivar Jacobson, dan beberapa konsep lainya dimana James R. Rumbaigh, Grandy Booch, dan Ivar Jacobson bergabung dalam sebuah perusahaan Rational Software Corporation menghasilkan bahasa yang disebut dengan Unified Modeling Language (UML) [12].
2.1.7.2Diagram UML
Berikut akan dijelaskan diagram yang akan digunakan dalam pembangunan aplikasi Tutorial Pembelajaran Sistem Kontrol ini, yaitu use case diagram, class diagram, sequence diagram, dan Activity diagram.
(34)
1. Use Case Diagram
Use case diagram merupakan pemodelan untuk behavior aplikasi yang akan dibuat. Use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan aplikasi yang akan dibuat. Secara kasar, use case digunakan untuk mengetahui fungsi apa saja yang ada di dalam sebuah aplikasi dan siapa saja yang berhak mengguankan fungsi – fungsi itu. Penjelasan tentang simbol – simbol use case dapat dilihat pada tabel 2.2.
Tabel 2.2 Definisi Simbol Use Case Diagram
Simbol Nama Simbol Fungsi
Aktor Merupakan orang, proses, atau sistem lain yang berinteraksi dengan aplikasi yang akan dibuat di luar aplikasi yang akan dibuat itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu orang
Use Case Merupakan orang, proses, atau sistem lain yang berinteraksi dengan aplikasi yang akan dibuat di luar aplikasi yang akan dibuat itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu orang
Association Merelasikan Aktor dengan use case
System Boundary
Menggambarkan batasan sistem terhadap lingkungannya
(35)
2. Class Diagram
Class diagram menggambarkan struktur sistem dari segi pendefinisian kelas – kelas yang akan dibuat untuk membangun sistem. Kelas memiliki apa yang disebut atribut dan metode atau operasi.
1. Atribut, merupakan variabel – variabel yang dimiliki oleh satu kelas. 2. Operasi, atau metode adalah fungsi – fungsi yang dimiliki oleh suatu kelas
Class diagram dibuat agar pembuat program atau programmer membuat kelas – kelas sesuai rancangan di dalam diagram kelas agar antara dokumentasi perancangan dan perangkat lunak sesuai. Contoh class diagram dapat dilihat pada gambar
Gambar 2.6 Contoh Class Diagram
3. Sequence Diagram
Sequence diagram menggambarkan behavior objek pada use case dengan mendeskripsikan waktu hidup dan pesan yang dikirimkan dan diterima antar objek. Oleh karena itu untuk menggambar sequence diagram maka harus diketahui objek – objek yang terlibat dalam sebuah use case beserta metode – metode yang dimiliki kelas yang diinstansiasi menjadi objek itu. Membuat sequence diagram yang harus dibuat semakin banyak. Penjelasan tentang simbol
(36)
Tabel 2.3 Definisi Simbol Sequence Diagram
Simbol Nama Simbol Fungsi
Lifelines Representasi dari sebuah class
Message Representasi
pemanggilan method oleh satu class kepada class yang lain
4. Activity Diagram
Activity diagram menggambarkan aliran kerja atau aktivitas dari sebuah sistem atau proses bisnis atau menu yang ada pada perangkat lunak. Yang perlu diperhatikan adalah activity diagram menggambarkan aktivitas sistem bukan apa yang dilakukan aktor. Berikut adalah penjelasan tentang simbol – simbol activity diagram:
Tabel 2.4 Definisi Simbol Activity Diagram
Simbol Nama Simbol Fungsi
Initial State Pernyataan awal dari sebuah aktivitas
Final State Pernyataan akhir dari sebuah aktivitas
Transisi Menggambarkan alur dari aksi – aksi yang ada pada aktivitas
Aksi Menggambarkan aksi
yang ada pada aktivitas getUsername()
(37)
27
Analisis bertujuan untuk mengidentifikasi permasalahan-permasalahan yang terdapat pada sistem serta menentukan kebutuhan-kebutuhan dari sistem yang dibangun. Analisis tersebut meliputi analisis masalah, analisis kebutuhan data, analisis kebutuhan non fungsional, dan analisis fungsional.
3.1.1 Analisis Masalah
Mempelajari teori sistem kontrol tanpa praktek membuat mahasiswa kesulitan menerapkan ilmu sistem kontrol dalam kehidupan nyata, sehingga, media pembelajaran sistem kontrol diperlukan untuk menunjang pembelajaran. Media pembelajaran yang diperlukan adalah media pembelajaran yang interaktif yang dapat berkomunikasi dengan alat peraga, seperti mensimulasikan algoritma dan dapat merepresentasikan data pergerakan alat peraga dalam bentuk grafik agar mahasiswa dapat menganalisis algoritma yang dijalankan, serta berisi materi PID (Proportional Integral Derivative) dan Fuzzy karena kedua algoritma tersebut sering digunakan pada kontrol industri.
3.1.2 Analisis Media Komunikasi Perangkat Inverted Pendulum
Perangkat Inverted Pendulum adalah salah satu alat peraga sistem kontrol yang menjadi bahan studi kasus yang diambil. Analisis media komunikasi perangkat inverted pendulum menjelaskan tentang media komunikasi yang digunakan pada alat peraga sistem kontrol tersebut agar dapat berkomunikasi dengan aplikasi Tutorial Pembelajaran Sistem Kontrol.
Perangkat inverted pendulum adalah alat peraga yang memerlukan station, yang berfungsi untuk memonitoring dan sebagai pengendali. Station dapat berupa komputer, dengan aplikasi AVR Studio yang digunakan untuk memprogram mikrokontroler pada alat peraga tersebut. Media komunikasi data
(38)
antara komputer dan perangkat peraga yang dipilih adalah bletooth, Karena data yang dikirim dari alat peraga berupa data serial, komunikasi data yang digunakan sebagai pengganti kabel data port serial adalah bluetooth, karena bluetooth memiliki profil untuk pengiriman data serial yaitu serial port profile (SPP).
3.1.3 Analisis Implementasi Bluetooth Serial Port Profile
Media komunikasi yang digunakan aplikasi Tutorial Pembelajaran Sistem Kontrol sebagai media transmisi data dengan Perangkat Inverted Pendulum adalah Bluetooth serial port profile.
3.1.3.1Penerapan Bluetooth
Penerapan bluetooth dibagi menjadi tiga tahap, Inisialisasi, Pencarian Paired Bluetooth, dan Menghubungkan Perangkat. Berikut skema penerapan bluetooth.
Gambar 3.1 Skema penerapan bluetooth
Sebelum mengimplementasikan Bluetooth Serial Port Profile, bluetooth alat peraga harus sudah pair dengan tablet. Berikut adalah penjelasan dari tahapan
– tahapan dalam mengimplementasikan Bluetooth serial port profile beserta penggunaan code dalam bahasa Java di Android dalam komunikasi data dengan mikrokontroller yang ada pada Perangkat Inverted Pendulum.
1. Inisialisasi
Pada tahap ini, diinisialisasikan tiga buah variabel utama yang digunakan untuk mengimplementasikan Bluetooth serial port profile, dengan tiga tipe data yang berbeda yang tersedia pada library Android(android.bluetooth), yaitu: BluetoothAdapter, BluetoothDevice, BluetoothSocket.
(39)
Implementasi Bluetooth dapat dilihat pada gambar 3.2.
Gambar 3.2 Inisialisasi Bluetooth
BluetoothSocket berfungsi untuk menggunakan serial port profile untuk mengirim data secara real time, sedangakan BluetoothDevice berfungsi untuk menyimpan alamat perangkat yang akan dihubungkan. Kedua tipe data tersebut akan digunakan pada tahap selanjutnya.
BluetoothAdapter digunakan untuk menginisialisasi bluetooth yang ada pada tablet/device Android yang digunakan. Code tersebut diimplementasikan pada constructor class Bluetooth yang digunakan. Berikut implementasinya:
Gambar 3.3 Constructor Bluetooth Adapter
2. Pencarian Paired Device
Tahap ini menjelaskan tentang mencari perangkat yang sudah pair. Bluetooth alat peraga harus sudah pair terlebih dengan tablet. BluetoothDevice digunakan untuk menyimpan perangkat bluetooth yang sudah pair. Pada tahap ini, dilakukan pencarian terhadap bluetooth alat peraga yang aktif dan sudah pair. Berikut adalah implementasinya:
(40)
Gambar 3.4 Implementasi Pencarian Paired Device
BtAdapter.getBoundedDevices adalah fungsi untuk mengambil data daftar bluetooth yang telah pair. Cek apabila terdapat bluetooth yang telah pair, lakukan pengulangan dengan pengecekan mac address, apabila mac address cocok dengan mac address yang dimiliki alat peraga, maka variabel btDevice diisi dengan bluetooth tersebut. “20:13:05:20:21:50" adalah contoh mac address perangkat inverted pendulum.
3. Menghubungkan Perangkat
Tahap ini menjelaskan tentang cara menghubungkan perangkat dengan aplikasi melalui serial port profile. Berikut implementasinya:
(41)
"00001101-0000-1000-8000-00805F9B34FB" adalah kode standar SerialPortService ID, sebagai standar UUID(Universal Unique Identifier) untuk profil Serial Port. BeginListenForData() adalah method atau prosedur yang digunakan untuk melakukan pengecekan data yang masuk dari waktu ke waktu yang akan di bahas pada tahap Listen Data.
3.1.3.2Listen Data
Tahap ini adalah tahap transmisi atau penerimaan dan pengiriman data antar bluetooth. Berikut implementasinya:
(42)
Gambar 3.7 Prosedur Listen Data Bagian 2
Listendata dilakukan secera terus menerus. Dengan cara mengecek nilai masukan yang diterima dengan mmInputStream.available(), apabila terdapat nilai masukan, maka dilanjutkan dengan mmInputStream.read(packetBytes). Setelah itu, lakukan perulangan sejumlah paket data yang diterima, lalu cacah satu per satu data yang diterima, apabila menemukan delimiter, maka masukan data kedalam variabel _data dan siap untuk diolah.
3.1.3.3Pengiriman Data
Pengiriman data dapat dilakukan secara langsung dengan menggunakan prosedur sebagai berikut
Gambar 3.8 Prosedur Pengiriman Data
Dimana msg adalah parameter masukan berupa data String yang akan dikirim melalui bluetooth.
(43)
3.1.3.4Plotting Data
Plotting data dilakukan dengan plug-in “achartengine” yaitu sebuah class engine yang digunakan untuk membuat grafik atau chart. Ploting data dilakukan apabila ada data yang diterima oleh ListenData dan data tersebut tidak null. Berikut skema pengiriman datanya.
Gambar 3.9 Skema plotting data
Data, dikirim dari alat peraga melalui bluetooth dan diterima oleh ListenData yang diambil dengan mmInputstream() seperti pada proses ListenData. Kemudian, data tersebut diubah menjadi point dengan prosedur kode sebagai berikut
Gambar 3.10 Prosedur Point
Variabel x diisi dengan perulangan waktu dalam satuan millisecond, sedangkan variabel y diisi dengan data yang diterima dari alat peraga. Setelah data diubah menjadi point, point tersebut ditambahkan kedalam dataset yang telah dibuat, dengan kode sebagai berikut
(44)
Baris kode yang digunakan untuk menambahkan point yaitu dataset.add(p.getX(), p.getY()). Dataset merupakan objek dari kelas Timeseries, yaitu sebuah tipe data yang disediakan oleh achartengine, sedangkan p adalah point yang telah dibuat pada proses membuat point.
Setelah data ditambahkan kedalam dataset, grafik digambar ulang dengan baris kode repaint() agar data baru ditampilkan.
3.1.4 Analisis Kebutuhan Non Fungsional
Analisis kebutuhan non fungsional adalah analisis yang menggambarkan kebutuhan luar sistem yang diperlukan untuk menjalankan aplikasi yang dibangun. Adapun kebutuhan non fungsional yang diperlukan untuk menjalankan aplikasi Tutorial Pembelajaran Sistem Kontrol adalah kebutuhan perangkat keras, kebutuhan perangkat lunak, dan pengguna yang akan memakai aplikasi tersebut. Analisis kebutuhan non fungsional bertujuan agar aplikasi yang dibangun dapat digunakan sesuai dengan pengguna.
3.1.4.1Analisis Perangkat Keras
Analisis perangkat keras bertujuan untuk memudahkan peroses perancangan dan implementasi dalam pembangunan aplikasi Tutorial Pembelajaran Sistem Kontrol. Agar aplikasi Tutorial Pembelajaran Sistem Kontrol ini dapat berjalan dengan baik. Adapun kebutuhan minimum perangkat keras yang dibutuhkan untuk menjalankan aplikasi Tutorial Pembelajaran Sistem Kontrol dapat dilihat pada tabel 3.1.
Tabel 3.1 Kebutuhan Minimun Perangkat Keras
No Perangkat Keras Spesifikasi
1 Processor 1 GHz
2 WLAN Bluetooth 2.0
3 Ukuran Layar 7.9 Inch
4 Resolusi 1024 x 768 pixels
(45)
Kebutuhan processor dengan kecepatan tinggi sangat dibutuhkan untuk menerima data yang dikirim oleh alat peraga kepada tablet yang akan diproses dan di-plot menjadi grafik secara real-time. Bluetooth digunakan untuk komunikasi data nirkabel dengan alat peraga. Dibutuhkan ukuran layar dan resolusi yang cukup besar untuk menampilkan grafik real-time agar visualisasi grafik terlihat jelas dan mudah diamati.
Berdasarkan analisis tersebut, perangkat yang sesuai dengan kebutuhan yang digunakan adalah Acer Iconia A1-811, perangkat ini akan menjadi satu bundel dengan alat peraga dan menjadi prodak Perangkat Inverted Pendulum.
3.1.4.2Analisis Perangkat Lunak
Aplikasi Tutorial Pembelajaran Sistem Kontrol yang dibangun membutuhkan perangkat lunak pendukung sehingga aplikasi tersebut dapat berjalan dengan baik. Adapun perangkat lunak minimum yang dibutuhkan untuk menjalankan aplikasi yang dibangun adalah sistem operasi Android versi 4.2 Jeally Bean. Android Jelly Bean dipilih karena sistem operasi Android sangat cepat berkembang, sehingga, Jelly Bean adalah sistem operasi Android yang cukup baru dan stabil dalam menjalankan aplikasi dan mendukung library kode untuk plot grafik.
3.1.5 Analisis Kebutuhan Fungsional
Analisis kebutuhan fungsional dilakukan untuk memberikan gambaran mengenai sistem yang berjalan pada Aplikasi Tutorial pembelajaran sistem kontrol.
3.1.5.1Usecase Diagram Tutorial Pembelajaran Sistem Kontrol
Usecase diagram menggambarkan proses dari setiap prosedur berjalan yang terdapat pada aplikasi Tutorial Pembelajaran sistem kontrol. Berikut Usecase diagram aplikasi Tutorial Pembelajaran sistem kontrol.
(46)
Gambar 3.12 Usecase diagram aplikasi Tutorial pembelajaran sistem kontrol
3.1.5.2Definisi Aktor
Definisi aktor mendeskripsikan peranan aktor yang ada pada sistem. Definisi aktor pada aplikasi Tutorial Pembelajaran Sistem Kontrol dapat dilihat pada Tabel 3.2 Tabel Definisi Aktor Tutorial Pembelajaran Sistem KontrolTabel 3.2.
Tabel 3.2 Tabel Definisi Aktor Tutorial Pembelajaran Sistem Kontrol
No Aktor Deskripsi
1 Pengguna Pengguna adalah orang yang dapat menjalankan sistem, seperti melihat materi, latihan materi, ujian materi, melihat nilai hasil ujian, mensimulasikan algoritma dan melihat grafik.
(47)
3.1.5.3Definisi Use Case
Definisi use case mendeskripsikan setiap use case yang terdapat pada usecase diagram aplikasi Tutorial Pembelajaran Sistem Kontrol. Definisi use case dapat dilihat pada tabel 3.3.
Tabel 3.3 Tabel Definisi Use Case Tutorial Pembelajaran Sistem Kontrol
No Use case Deskripsi
1 Menampilkan Pendahuluan Merupakan proses menampilkan materi pendahuluan sebelum mempelajari materi sistem kontrol
2 Menampilkan Materi Kontrol Merupakan Proses yang menampilkan pilihan materi sistem kontrol
3 Menampilkan Materi PID Merupakan proses menampilkan materi
–materi tentang algoritma PID(Proportional, Integral, Derivatif) 4 Menampilkan Materi Fuzzy Merupakan proses menampilkan materi
– materi tentang algoritma Fuzzy 5 Menampilkan Kebutuhan
Disain
Merupakan proses menampilkan bahasan tentang kebutuhan disain 6 Menampilkan Pemodelan Merupakan proses menampilkan materi
pemodelan 7 Menampilkan Simulasi
Algoritma
Merupakan proses yang menampilkan pilihan simulasi algoritma
8 Menampilkan Simulasi Algoritma Fuzzy
Merupakan proses simulasi algoritma fuzzy, pengiriman variabel pemilih algoritma yang ada dalam alat peraga dan parameter algoritmanya
10 Menampilkan Simulasi Algoritma PID
Merupakan proses simulasi algoritma PID, pengiriman variabel pemilih algoritma yang ada dalam alat peraga dan parameter algoritmanya
(48)
No Use case Deskripsi 11 Menampilkan Grafik
Algoritma Fuzzy
Merupakan proses pengolahan data fuzzy yang diterima dari alat peraga menjadi grafik dan menampilkannya 12 Menampilkan Grafik
Algoritma PID
Merupakan proses pengolahan data PID yang diterima dari alat peraga menjadi grafik dan menampilkannya
13 Menampilkan Uji Materi Merupakan proses menampilkan latihan soal dari materi – materi yang ada pada aplikasi untuk evaluasi pembelajaran 14 Menampilkan Nilai Merupakan proses untuk menampilkan
nilai hasil dari uji materi
3.1.5.4Skenario Use Case
Skenario use case menjelaskan proses berjalannya suatu use case. Berikut skenario use case yang ada pada Use case Diagram aplikasi Tutorial Pembelajaran Sistem Kontrol.
Tabel 3.4 Use case skenario menampilkan pendahuluan Nama Use case : Menampilkan Pendahuluan
Aksi Aktor Reaksi Sistem
Skenario Normal
1. Memilih menu pendahuluan
2. Menampilkan halaman pendahuluan Tabel 3.5 Use case skenario menampilkan materi kontrol
Nama Use case : Menampilkan Materi Kontrol
Aksi Aktor Reaksi Sistem
Skenario Normal
1. Memilih menu materi kontrol
2. Menampilkan halaman materi kontrol
(49)
Tabel 3.6 Use case skenario menampilkan materi PID Nama Use case : Menampilkan Materi PID
Use case berkaitan : Materi Kontrol
Aksi Aktor Reaksi Sistem
Skenario Normal
1. Memilih menu materi kontrol
2. Menampilkan halaman materi kontrol
3. Memilih menu materi PID
4. Menampilkan menu materi PID
Tabel 3.7 Use case skenario menampilkan materi fuzzy Nama Use case : Menampilkan Materi Fuzzy
Use case berkaitan : Materi Kontrol
Aksi Aktor Reaksi Sistem
Skenario Normal
1. Memilih menu materi kontrol
2. Menampilkan halaman materi kontrol
3. Memilih menu materi fuzzy
4. Menampilkan menu materi fuzzy
Tabel 3.8 Use case skenario menampilkan kebutuhan disain Nama Use case : Menampilkan Kebutuhan Disain
Aksi Aktor Reaksi Sistem
Skenario Normal
1. Memilih menu kebutuhan disain
2. Menampilkan halaman kebutuhan disain
(50)
Tabel 3.9 Use case skenario menampilkan pemodelan Nama Use case : Menampilkan Pemodelan
Aksi Aktor Reaksi Sistem
Skenario Normal
1. Memilih menu pemodelan
2. Menampilkan halaman pemodelan
Tabel 3.10 Use case skenario menampilkan simulasi algoritma Nama Use case : Menampilkan Simulasi Algoritma
Aksi Aktor Reaksi Sistem
Skenario Normal
1. Memilih menu simulasi
2. Menampilkan halaman simulasi
Tabel 3.11 Use case skenario menampilkan simulasi algoritma fuzzy Nama Use case : Menampilkan Simulasi Algoritma Fuzzy
Use case berkaitan : Simulasi
Aksi Aktor Reaksi Sistem
Skenario Normal
1. Memilih menu materi simulasi
2. Menampilkan halaman simulasi 3. Memilih menu simulasi Algoritma
Fuzzy
4. Menampilkan menu simulasi Algoritma Fuzzy
5. Mengisi Parameter algoritma fuzzy 6. Tekan tombol proses
7. Mengirim parameter algoritma fuzzy
(51)
Aksi Aktor Reaksi Sistem Skenario Gagal
1. Memilih menu materi simulasi
2. Menampilkan halaman simulasi 3. Memilih menu simulasi Algoritma
Fuzzy
4. Menampilkan menu simulasi Algoritma Fuzzy
5. Mengisi Parameter algoritma fuzzy 6. Tekan tombol proses
7. Mengirim parameter algoritma fuzzy
8. Pengiriman gagal
9. Menampilkan pesan pengiriman gagal
Tabel 3.12 Use case skenario simulasi menampilkan algoritma PID Nama Use case : Menampilkan Simulasi Algoritma PID
Use case berkaitan : Simulasi
Aksi Aktor Reaksi Sistem
Skenario Normal
1. Memilih menu materi simulasi
2. Menampilkan halaman simulasi 3. Memilih menu simulasi
Algoritma PID
4. Menampilkan menu simulasi Algoritma PID
5. Mengisi Parameter algoritma PID
6. Tekan tombol proses
(52)
Aksi Aktor Reaksi Sistem Skenario Gagal
1. Memilih menu materi simulasi
2. Menampilkan halaman simulasi 3. Memilih menu simulasi
Algoritma PID
4. Menampilkan menu simulasi Algoritma PID
5. Mengisi Parameter algoritma PID
6. Tekan tombol proses
7. Mengirim parameter algoritma PID 8. Pengiriman gagal
9. Menampilkan pesan pengiriman gagal
Tabel 3.13 Use case skenario menampilkan grafik algoritma fuzzy Nama Use case : Menampilkan Grafik Algoritma Fuzzy
Use case berkaitan : Simulasi Algoritma Fuzzy
Aksi Aktor Reaksi Sistem
Skenario Normal
1. Menerima data dari alat peraga 2. Mengubah data menjadi grafik 3. Menampilkan grafik
Skenario Gagal
1. Data dari alat peraga gagal diterima 2. Tampilkan pesan gagal menerima da
(53)
Tabel 3.14 Usecase skenario menampilkan grafik algoritma PID Nama Use case : Menampilkan Grafik Algoritma PID
Use case berkaitan : Simulasi Algoritma PID
Aksi Aktor Reaksi Sistem
Skenario Normal
1. Menerima data dari alat peraga 2. Mengubah data menjadi grafik 3. Menampilkan grafik
Skenario Gagal
1. Data dari alat peraga gagal diterima 2. Tampilkan pesan gagal menerima da Tabel 3.15 Use case skenario menampilkan uji materi
Nama Use case : Menampilkan Uji Materi Use case berkaitan : Tampil Nilai
Aksi Aktor Reaksi Sistem
Skenario Normal
1. Memilih menu uji materi
2. Menampilkan halaman uji materi 3. Mengisi soal uji materi
4. Tampil Nilai 5. Menekan tombol tampil nilai
6. Menampilkan nilai hasil uji materi
Tabel 3.16 Use case skenario menampilkan nilai Nama Use case : Menampilkan Nilai
Aksi Aktor Reaksi Sistem
Skenario Normal
1. Menghitung nilai uji materi 2. Menampilkan nilai hasil uji materi
(54)
3.1.5.5Activity Diagram Tutorial Pembelajaran Sistem Kontrol
Activity diagram menggambarkan aliran kerja atau aktivitas dari sebuah sistem atau proses bisnis dan menu yang ada pada perangkat lunak.
1. Activity Diagram Use Case MenampilkanPendahuluan
Activity diagram use case pendahuluan menjelaskan aliran kerja aktor pengguna untuk melihat halaman pendahuluan. Activity diagram use case menampilkan pendahuluan dapat dilihat pada Gambar 3.13.
(55)
2. Activity Diagram Use Case MenampilkanMateri Kontrol
Activity diagram use case materi kontrol menjelaskan aliran kerja aktor pengguna untuk melihat halaman pendahuluan. Activity diagram use case menampilkan materi kontrol dapat dilihat pada Gambar 3.14.
Gambar 3.14 Activity diagram use case menampilkan materi kontrol
3. Activity Diagram Use Case MenampilkanMateri PID
Activity diagram use case materi PID menjelaskan aliran kerja aktor pengguna untuk melihat halaman pendahuluan. Activity diagram use case menampilkan materi PID dapat dilihat pada Gambar 3.15.
(56)
Gambar 3.15 Activity diagram use case menampilkan materi PID
4. Activity Diagram Use Case MenampilkanMateri Fuzzy
Activity diagram use case materi fuzzy menjelaskan aliran kerja aktor pengguna untuk melihat halaman pendahuluan. Activity diagram use case menampilkan materi fuzzy dapat dilihat pada Gambar 3.16.
(57)
Gambar 3.16 Activity diagram use case menampilkan materi fuzzy
5. Activity Diagram Use Case MenampilkanKebutuhan Disain
Activity diagram use case kebutuhan disain menjelaskan aliran kerja aktor pengguna untuk melihat halaman pendahuluan. Activity diagram use case menampilkan kebutuhan disain dapat dilihat pada Gambar 3.17.
(58)
Gambar 3.17 Activity diagram use case menampilkan kebutuhan disain
6. Activity Diagram Use Case MenampilkanPemodelan
Activity diagram use case pemodelan menjelaskan aliran kerja aktor pengguna untuk melihat halaman pendahuluan. Activity diagram use case menampilkan pemodelan dapat dilihat pada Gambar 3.18.
(59)
7. Activity Diagram Use Case MenampilkanSimulasi Algoritma
Activity diagram use case simulasi menjelaskan aliran kerja aktor pengguna untuk melihat halaman pendahuluan. Activity diagram use case menampilkan simulasi algoritma dapat dilihat pada Gambar 3.19.
Gambar 3.19 Activity diagram use case menampilkan simulasi algoritma
8. Activity Diagram Use Case MenampilkanSimulasi Algoritma Fuzzy
Activity diagram use case simulasi menjelaskan aliran kerja aktor pengguna untuk melihat halaman pendahuluan. Activity diagram use case menampilkan simulasi algoritma fuzzy dapat dilihat pada Gambar 3.20.
(60)
(61)
9. Activity Diagram Use Case MenampilkanSimulasi Algoritma PID
Activity diagram use case simulasi PID menjelaskan aliran kerja aktor pengguna untuk melihat halaman pendahuluan. Activity diagram use case menampilkan simulasi algoritma PID dapat dilihat pada Gambar 3.21.
(62)
10.Activity Diagram Use Case MenampilkanGrafik Algoritma Fuzzy
Activity diagram use case grafik algoritma fuzzy menjelaskan aliran kerja aktor pengguna untuk melihat halaman pendahuluan. Activity diagram use case menampilkan grafik algoritma fuzzy dapat dilihat pada Gambar 3.22.
(63)
11.Activity Diagram Use Case MenampilkanGrafik Algoritma PID
Activity diagram use case grafik algoritma PID menjelaskan aliran kerja aktor pengguna untuk melihat halaman pendahuluan. Activity diagram use case menampilkan grafik algoritma PID dapat dilihat pada Gambar 3.23.
(64)
12.Activity Diagram Use Case MenampilkanUji Materi
Activity diagram use case uji materi menjelaskan aliran kerja aktor pengguna untuk melihat halaman pendahuluan. Activity diagram use case menampilkan uji materi dapat dilihat pada Gambar 3.24.
Gambar 3.24 Activity diagram use case menampilkan uji materi
13.Activity Diagram Use Case MenampilkanNilai
Activity diagram use case tampil nilai menjelaskan aliran kerja aktor pengguna untuk melihat halaman pendahuluan. Activity diagram use case menampilkan nilai dapat dilihat pada Gambar 3.25.
(65)
Gambar 3.25 Activity diagram use case menampilkan nilai
3.1.5.6Class Diagram Tutorial Pembelajaran Sistem Kontrol
Class diagram menggambarkan struktur sistem dari segi pendefinisian kelas – kelas yang akan dibuat untuk membangun sistem. Class diagram dibuat agar kelas yang dibuat pada aplikasi sesuai dengan rancangan diagram kelas yang ada pada dokumentasi perancangan. Class diagram Tutorial pembelajaran sistem kontrol dapat dilihat pada Gambar 3.26.
(66)
(67)
3.1.5.7Sequence Diagram Tutorial Pembelajaran Sistem Kontrol
Sequence diagram menggambarkan behavior objek pada use case dengan mendeskripsikan waktu hidup dan pesan yang dikirimkan dan diterima antar objek.
1. Sequence Diagram Use Case Pendahuluan
Squence diagram Pendahuluan pada aplikasi Tutorial pembelajaraan sistem kontrol dapat dilihat pada Gambar 3.27.
Gambar 3.27 Sequence diagram pendahuluan
2. Sequence Diagram Use Case Materi Kontrol
Squence diagram Materi kontrol pada aplikasi Tutorial pembelajaraan sistem kontrol dapat dilihat pada Gambar 3.28.
(68)
Gambar 3.28 Sequence diagram materi kontrol
3. Sequence Diagram Use Case Materi PID
Squence diagram Materi PID pada aplikasi Tutorial pembelajaraan sistem kontrol dapat dilihat pada Gambar 3.29.
(69)
4. Sequence Diagram Use Case Materi Fuzzy
Squence diagram Materi fuzzy pada aplikasi Tutorial pembelajaraan sistem kontrol dapat dilihat pada Gambar 3.30.
Gambar 3.30 Sequence diagram materi fuzzy
5. Sequence Diagram Use Case Kebutuhan Disain
Squence diagram Kebutuhan disain pada aplikasi Tutorial pembelajaraan sistem kontrol dapat dilihat pada Gambar 3.31.
(70)
6. Sequence Diagram Use Case Pemodelan
Squence diagram Pemodelan pada aplikasi Tutorial pembelajaraan sistem kontrol dapat dilihat pada Gambar 3.32.
Gambar 3.32 Sequence diagram pemodelan
7. Sequence Diagram Use Case Simulasi
Squence diagram Simulasi pada aplikasi Tutorial pembelajaraan sistem kontrol dapat dilihat pada Gambar 3.33.
(71)
Gambar 3.33 Sequence diagram simulasi
8. Sequence Diagram Use Case Simulasi Algoritma Fuzzy
Squence diagram Simulasi algoritma fuzzy pada aplikasi Tutorial pembelajaraan sistem kontrol dapat dilihat pada Gambar 3.34.
(72)
(73)
9. Sequence Diagram Use Case Simulasi Algoritma PID
Squence diagram simulasi algoritma PID pada aplikasi Tutorial pembelajaraan sistem kontrol dapat dilihat pada Gambar 3.35.
(74)
10.Sequence Diagram Use Case Grafik Algoritma Fuzzy
Squence diagram Grafik algoritma fuzzy pada aplikasi Tutorial pembelajaraan sistem kontrol dapat dilihat pada Gambar 3.36.
(75)
11.Sequence Diagram Use Case Grafik Algoritma PID
Squence diagram grafik algoritma PID pada aplikasi Tutorial pembelajaraan sistem kontrol dapat dilihat pada Gambar 3.37.
(76)
12.Sequence Diagram Use Case Uji Materi
Squence diagram Uji materi pada aplikasi Tutorial pembelajaraan sistem kontrol dapat dilihat pada Gambar 3.38.
Gambar 3.38 Sequence diagram uji materi
13.Sequence Diagram Use Case Tampil Nilai
Squence diagram Tampil nilai pada aplikasi Tutorial pembelajaraan sistem kontrol dapat dilihat pada Gambar 3.39.
(77)
Gambar 3.39 Sequence diagram tampil nilai
3.2 Spesifikasi Kebutuhan Perangkat Lunak
3.2.1 SKPL-NF-001 Sistem Dibangun Berbasis Android
Fakta perangkat lunak yang tersedia:
1. Sistem Operasi Android versi 4.2 Jellybean Kebutuhan perangkat lunak:
1. Sistem Operasi Android versi 4.2 Jellybean Kesimpulan:
Perangkat lunak atau sistem operasi tidak perlu ada perubahan karena telah mendukung sistem yang akan dibuat.
(78)
3.2.2 SKPL-NF-002 Sistem Dibangun dengan Spesifikasi Processor yang Tinggi
Fakta perangkat keras yang tersedia: 1. Processor Quad-core 1.2 GHz 2. WLAN Bluetooth v4.0
3. Ukuran layar 7.9 inch 4. Resolusi 1024x768 px Kebutuhan perangkat keras: 1. Processor Dual-core 1 GHz 2. WLAN Bluetooth v2.0 3. Ukuran layar 7.9 inch 4. Resolusi 1024x768 px Kesimpulan:
Perangkat keras tidak perlu ada perubahan karena telah mendukung sistem yang akan dibuat.
3.2.3 SKPL-NF-003 Pengguna Sistem Minimal Memiliki Kemampuan Mengoperasikan Sistem Operasi Android
Fakta perangkat pikir yang ada:
Tabel 3.17 Perangkat Pikir yang Ada Stakeholder Tanggung
jawab
Tingakat Pendidikan
Keterampilan Pengalaman komputer Pengguna Mempelajari
materi sistem kontrol
Jenjang S1 Bisa
mengoperasikan sistem operasi Android
Pernah menggunakan Tablet dengan sistem operasi Android
(79)
Kebutuhan perangkat pikir:
Tabel 3.18 Kebutuhan Perangkat Pikir Stakeholder Tanggung
jawab
Tingakat Pendidikan
Keterampilan Pengalaman komputer Pengguna Mengakses
seluruh materi pembelajaran sistem kontrol pada sistem
Jenjang S1 atau D3
Bisa mengoperasikan sistem operasi Android
Pernah menggunakan Tablet dengan sistem operasi Android
Kesimpulan:
Pengguna telah memadai untuk sistem yang akan dibuat.
3.3 Perancangan Sistem
Perancangan sistem merupakan penggambaran, perencanaan, dan pembuatan dari beberapa elemen sistem berdasarkan analisis sistem yang telah dilakukan sebelumnya. Tahapan perancangan pembangunan aplikasi Tutorial Pembelajaran Sistem Kontrol ini meliputi perancangan arsitektur, perancangan struktur menu, perancangan antarmuka perangkat lunak, dan jaringan semantik.
3.3.1 Perancangan Arsitektur Perangkat Lunak
Perancangan arsitektur dibuat sebelum perangkat lunak dibangun untuk menggambarkan cara kerja perangkat lunak secara umum. Cara kerja aplikasi Tutorial Pembelajaran Sistem Kontrol dapat dilihat pada Gambar 3.40.
(80)
Gambar 3.40 Cara Kerja Aplikasi Tutorial Pembelajaran Sistem Kontrol
3.3.2 Perancangan Struktur Menu
Perancangan struktur menu merupakan gambaran jalur pemakaian aplikasi sehingga aplikasi yang dibangun mudah dipahami dan mudah digunakan. Perancangan struktur menu aplikasi Tutorial pembelajaran sistem kontrol dapat dilihat pada Gambar 3.41.
(81)
Gambar 3.41 Struktur Menu Aplikasi Tutorial Pembelajaran Sistem Kontrol
3.3.3 Perancangan Antarmuka Perangkat Lunak
Perancangan antarmuka diperlukan pada aplikasi ini yang bertujuan untuk mempermudah pengguna dalam menggunakan aplikasi ini. Dengan adanya perancangan antarmuka, diharapkan pengguna dapat mengoperasikan aplikasi ini tanpa mengalami kesulitan.
3.3.3.1Perancangan Form
Perancangan form mendeskripsikan rencana tampilan dari setiap form yang akan digunakan pada tampilan aplikasi Tutorial pembelajaran sistem kontrol. Berikut ini gambaran dari perancangan antarmuka Tutorial pembelajaran sistem kontrol:
4. Perancangan Splash Screen
Gambaran umum dari perancangan antarmuka splash screen pada aplikasi Tutorial pembelajaran sistem kontrol dapat dilihat pada Gambar 3.42.
(82)
No: T01
Delay 2000 milisecond (2 detik) lalu menuju T02 Ukuran layar 1024x768 px
Font Family Sans, Ukuran dan warna disesuaikan
Gambar 3.42 Perancangan splash screen
5. Perancangan Form Pendahuluan
Gambaran umum dari perancangan antarmuka Pendahuluan pada aplikasi Tutorial pembelajaran sistem kontrol dapat dilihat pada Gambar 3.43.
(83)
No: T02
Klik Pemodelan untuk menuju T03 Klik Kebutuhan Disain untuk menuju T04 Klik Materi Kontrol untuk menuju T05 Klik Simulasi untuk menuju T06 Klik Uji Materi untuk menuju T07 Ukuran layar 1024x768 px
Font Family Sans, Ukuran dan warna disesuaikan
Gambar 3.43 Perancangan form pendahuluan
6. Perancangan Form Pemodelan
Gambaran umum dari perancangan antarmuka Pemodelan pada aplikasi Tutorial pembelajaran sistem kontrol dapat dilihat pada Gambar 3.44.
(1)
kontrol yang dapat langsung diimplementasikan pada perangkat inverted pendulum, sehingga dapat disimpulkan bahwa aplikasi Tutorial Pembelajaran Sistem Kontrol ini dapat membantu dalam menyediakan materi sistem kontrol yang dapat langsung diimplementasikan pada perangkat inverted pendulum.
2. Tepatkah materi algoritma sistem kontrol dalam aplikasi Pembelajaran Sistem Kontrol ini disimulasikan, untuk memastikan algoritma kontrol tersebut berjalan dengan benar?
Tabel 4.19 Hasil Pengujian Kuesioner Soal Nomor 2
Jawaban Responden Persentase
Sangat tepat untuk
disimulasikan 12 40%
Tepat untuk
disimulasikan 11 36,67%
Cukup tepat untuk
disimulasikan 7 23,33%
Kurang tepat untuk
disimulasikan 0 0%
Tidak tepat untuk
disimulasikan 0 0%
Jumlah 30 100%
Berdasarkan hasil persentase pada tabel 4.19, dapat disimpulkan bahwa sebanyak 12 responden atau 40% mengatakan bahwa materi yang ada pada aplikasi Tutorial Pembelajaran Sistem Kontrol sangat tepat untuk disimulasikan, 11 responden atau 36,67% mengatakan bahwa materi yang ada pada aplikasi Tutorial Pembelajaran Sistem Kontrol tepat untuk disimulasikan, 7 responden atau 23,33% mengatakan bahwa materi yang ada pada aplikasi Tutorial Pembelajaran Sistem Kontrol cukup tepat untuk disimulasikan, sehingga dapat disimpulkan bahwa materi yang ada pada aplikasi Tutorial Pembelajaran Sistem Kontrol ini
(2)
102
dapat tepat untuk disimulasikan untuk memastikan algoritma kontrol tersebut berjalan dengan benar.
3. Apakah aplikasi Pembelajaran Sistem Kontrol ini menyediakan media pembelajaran yang interaktif karena dapat merepresentasikan data yang dihasilkan oleh pergerakan alat peraga dalam bentuk grafik?
Tabel 4.20 Hasil Pengujian Kuesioner Soal Nomor 3
Jawaban Responden Persentase
Sangat Interaktif 16 53,34%
Interaktif 10 33,33%
Cukup Interaktif 3 10%
Kurang Interaktif 1 3,33%
Tidak Interaktif 0 0%
Jumlah 30 100%
Berdasarkan hasil persentase pada tabel 4.20, dapat disimpulkan bahwa sebanyak 16 responden atau 53,34% mengatakan bahwa aplikasi Tutorial Pembelajaran Sistem Kontrol ini menyediakan media pembelajaran yang sangat interaktif, 10 responden atau 33,33% mengatakan bahwa aplikasi Tutorial Pembelajaran Sistem Kontrol ini menyediakan media pembelajaran yang interaktif, 3 responden atau 10% mengatakan bahwa aplikasi Tutorial Pembelajaran Sistem Kontrol ini menyediakan media pembelajaran yang cukup interaktif, 1 responden atau 3,33% mengatakan bahwa aplikasi Tutorial Pembelajaran Sistem Kontrol ini menyediakan media pembelajaran yang kurang interaktif, sehingga dapat disimpulkan bahwa aplikasi Tutorial Pembelajaran Sistem Kontrol ini menyediakan media pembelajaran yang interaktif karena dapat merepresentasikan data yang dihasilkan oleh pergerakan alat peraga dalam bentuk grafik.
(3)
4.3.1 Kesimpulan Pengujian Beta
Berdasarkan hasil pengujian beta yang telah dilakukan yaitu berdasarkan dari hasil penghitungan kuesioner dapat diambil kesimpulan bahwa aplikasi Tutorial Pembelajaran Sistem Kontrol sangat membantu dalam menyediakan materi sistem kontrol yang dapat langsung diimplementasikan pada perangkat inverted pendulum, serta dapat menerapkan materi yang telah dipelajari, materi algoritma sistem kontrol dalam aplikasi Pembelajaran Sistem Kontrol ini tepat untuk disimulasikan untuk memastikan algoritma kontrol tersebut berjalan dengan benar, aplikasi Pembelajaran Sistem Kontrol ini menyediakan media pembelajaran yang sangat interaktif.
(4)
104
(5)
105
Berdasarkan penelitian mengenai pembangunan aplikasi serta implementasi bluetooth serial port profile pada Tutorial Pembelajaran Sistem Kontrol, dapat disimpulkan bahwa :
1. Tutorial Pembelajaran Sistem Kontrol sangat membantu dalam menyediakan materi sistem kontrol yang dapat langsung diimplementasikan pada perangkat inverted pendulum
2. Materi algoritma sistem kontrol dalam aplikasi Pembelajaran Sistem Kontrol ini tepat untuk disimulasikan untuk memastikan algoritma kontrol tersebut berjalan dengan benar
3. Aplikasi Tutorial Pembelajaran Sistem kontrol dapat menyediakan media pembelajaran yang sangat interaktif yang dapat merepresentasikan data yang dihasilkan oleh pergerakan alat peraga dalam bentuk grafik sehingga mahasiswa dapat mengamati pergerakan alat peraga tersebut dalam bentuk grafik.
5.2 Saran
Untuk mengembangkan aplikasi ini, penulis mengusulkan beberapa saran yang dapat dijadikan pertimbangan, yaitu:
1. Konten materi tambahan tidak hanya PID dan Fuzzy 2. Dapat terhubung dengan alat peraga lain
3. Soal uji materi yang lebih dinamis
4. Soal uji materi berupa pilihan ganda atau essay
5. Konfigurasi MAC Address untuk menghubungkan dengan perangkat lain
(6)
106