i
SKRIPSI
Diajukan untuk Menempuh Ujian Akhir Sarjana
RIFAT FIRDAUS
10110379
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
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 : rifatkun@gmail.com
Pendidikan Formal
1998 – 2004 SD Negeri Cikidang 1 2004 – 2007 SMP Mutiara 5 Lembang 2007 – 2010 SMA Negeri 1 Lembang
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
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
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
107
dengan Sofware Matlab," Jurnal Edukasi@Elektro, vol. 1, no. 1, p. 8, 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
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.
iv menempuh tugas akhir ini.
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
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.
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.
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.
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
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].
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.
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 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
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.
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
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.
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
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
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
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
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
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:
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 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]
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.
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
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
Tabel 2.1 Peluncuran Eclipse
Kode Peluncuran Tanggal Peluncuran
Platform Nama Proyek
Eclipse 3.0 28 Juni 2004 3.0
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.
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
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
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
Tabel 2.3 Definisi Simbol Sequence Diagram
Simbol Nama Simbol Fungsi
Lifelines Representasi dari sebuah class
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
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
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
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
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:
"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:
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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.
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
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.
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.
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.
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
Gambar 3.25 Activity diagram use case menampilkan nilai
3.1.5.6Class Diagram Tutorial Pembelajaran Sistem Kontrol
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
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.
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.
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
Gambar 3.33 Sequence diagram simulasi
8. Sequence Diagram Use Case Simulasi Algoritma Fuzzy
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.
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.
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.
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
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:
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