UNIVERSITAS INDONESIA
PENGEMBANGAN DAN ANALISA SISTEM KELAS PENGAJARAN BRING YOUR OWN DEVICE (BYOD) BERBASIS CLOUD COMPUTING MENGGUNAKAN TEKNOLOGI SMARTPHONE
TESIS Diajukan sebagai salah satu syarat untuk memperoleh gelar Magister Teknik
ELMANSYAH 1106108053
FAKULTAS TEKNIK PROGRAM STUDI TEKNIK ELEKTRO KEKHUSUSAN JARINGAN INFORMASI DAN MULTIMEDIA DEPOK JANUARI 2013
Pengembangan dan..., Elmansyah, FT UI, 2013
Pengembangan dan..., Elmansyah, FT UI, 2013
Pengembangan dan..., Elmansyah, FT UI, 2013
KATA PENGANTAR/UCAPAN TERIMAKASIH
Puji syukur saya panjatkan kehadirat Allah Yang Maha Esa, karena atas berkat rahmat-Nya, saya dapat menyelesaikan tesis ini. Penulisan tesis ini dilakukan dalam rangka memenuhi salah satu syarat untuk mencapai gelar Magister Teknik Jurusan Teknik Elektro pada Fakultas Teknik Universitas Indonesia. Saya menyadari bahwa, tanpa bantuan dan bimbingan dari berbagai pihak, dari masa perkuliahan sampai pada penyusunan seminar ini, sangatlah sulit bagi saya untuk menyelesaikan tesis ini. Oleh karena itu, saya mengucapkan terima kasih kepada : (1) Prof. Dr.-Ing. Ir. Kalamullah Ramli, M.Eng, selaku dosen pembimbing yang telah menyediakan waktu, tenaga dan pikiran untuk mengarahkan saya dalam penyusunan tesis ini. (2) Bapak H. Tarmidi (alm), Enok Sunariyah selaku orang tua saya yang telah memberikan bantuan dukungan material dan moral. (3) Yoyon Ahyani, Ida Amin dan Sri Fujiah selaku keluarga saya yang telah memberikan nasihat dan dukungan selama pengerjaan tesis ini; dan (4) Sahabat dan teman-teman yang tidak dapat saya sebutkan satu persatu yang telah membantu saya dalam menyelesaikan tesis ini. Akhir kata, saya berharap Allah Yang Maha Esa berkenan membalas segala kebaikan semua pihak yang telah membantu. Semoga seminar ini membawa manfaat bagi pengembangan ilmu. Depok, 07 Januari 2013
Penulis
Pengembangan dan..., Elmansyah, FT UI, 2013
Pengembangan dan..., Elmansyah, FT UI, 2013
ABSTRAK
Nama
: Elmansyah
Program Studi
: Teknik Elektro
Judul
: PENGEMBANGAN DAN ANALISA SISTEM KELAS
PENGAJARAN BRING YOUR OWN DEVICE (BYOD) BERBASIS CLOUD COMPUTING MENGGUNAKAN TEKNOLOGI SMARTPHONE
Bring Your Own Device (BYOD) merupakan sistem e-learning yang memanfaatkan
perangkat
teknologi
berupa
laptop,
netbook,
smartphone/handhelds, tablet yang dimiliki sendiri oleh mahasiswa maupun dosen dalam proses belajar mengajar melalui jaringan Internet. Penelitian ini mengembangkan dan menganalisa sistem kelas pengajaran Bring Your Own Device (BYOD) berbasis cloud computing pada teknologi mobile smartphone Android. Pengembangan sistem terdiri dari perancangan aplikasi perangkat lunak berbasis Android, cloud computing menggunakan eucalyptus dan membangun aplikasi berbasis Web menggunakan moodle. Hasil penelitian didapatkan melalui tiga skenario pengujian yang diikuti oleh 31 responden. Pada pengujian fungsional didapatkan hasil bahwa setiap menu dan fitur yang terdapat pada aplikasi yang dirancang dapat berjalan dengan baik. Pada pengujian User Acceptance Test, 86% responden menyetujui sistem ini mudah digunakan. Dari pengujian unjuk kerja sistem, didapatkan hasil bahwa peningkatan jumlah pengguna saat mengakses sistem kelas pengajaran BYOD tidak mempengaruhi kinerja sistem cloud computing namun mempengaruhi mesin virtual Web server. Peningkatan jumlah pengguna menyebabkan penurunan performa mesin virtual web server sebanyak 55% pada saat beban server tinggi. Saat pengguna berjumlah lima orang beban kinerja mesin virtual Web server adalah 36%. Saat pengguna berjumlah lima belas orang beban kinerja mesin virtual Web server
adalah 42%. Saat pengguna
berjumlah tiga puluh satu orang beban kinerja mesin virtual Web server adalah 45%. Kata Kunci: e-Learning, BYOD, mobile smartphone, Android, cloud computing.
Pengembangan dan..., Elmansyah, FT UI, 2013
ABSTRACT
Name
: Elmansyah
Study Program
: Department of Electrical Engineering
Title
: DEVELOPMENT AND ANALYSIS OF BRING YOUR
OWN DEVICE (BYOD) TEACHING CLASS SYSTEM BASED ON CLOUD COMPUTING USING SMARTPHONE TECHNOLOGY
Bring Your Own Device (BYOD) refers to e-learning system technology devices, such as laptop, netbook, smartphone/handhelds, tablet which is utilizes by students or teachers for the purpose of learning through the Internet. This research developing and analysis of Bring Your Own Device (BYOD) teaching class system based on cloud computing using smartphone technology. This development system consist of software application design based on Android smartphone, cloud computing using Eucalyptus and Web based application using Moodle. The results obtained through three scenarios of evaluation which is followed by 31 of respondents. Functional evaluation indicates that menu and fitures in applications is running well. User Acceptance Test evaluation shows that 86% of respondents stated that this application is easy to use. Performance evaluation indicates that increase of users when accessing BYOD teaching class system was not affecting cloud computing performance. However it was affecting the performance of virtual machine Web server. An increase of users causes of virtual machine web server performance decrease of 55% on high load conditions. With five users, the load server is 36 %. With fifteen users, the load of server is 42 %. With thirty one users, the load server is 45 %. Keyword : e-learning, BYOD, mobile smartphone, Android, cloud computing.
Pengembangan dan..., Elmansyah, FT UI, 2013
Daftar Isi
HALAMAN JUDUL................................................................................................ i HALAMAN PERNYATAAN ORISINALITAS.................................................... ii HALAMAN PENGESAHAN................................................................................ iii KATA PENGANTAR/UCAPAN TERIMAKASIH ............................................. iv HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI TUGAS AKHIR UNTUK KEPENTINGAN AKADEMIS ............................................................... v ABSTRAK ............................................................................................................. vi ABSTRACT.......................................................................................................... vii Daftar Isi............................................................................................................... viii Daftar Gambar....................................................................................................... xii Daftar Tabel .......................................................................................................... xv BAB I PENDAHULUAN ....................................................................................... 1 1.1 Latar Belakang ........................................................................................................ 1 1.2 Tujuan Penelitian .................................................................................................... 2 1.3 Rumusan Masalah .................................................................................................. 2 1.4 Batasan Masalah ..................................................................................................... 2 1.5 Metode penelitian ................................................................................................... 3 1.6 Manfaat Penelitian .................................................................................................. 3 1.7 Sistematika Penulisan ............................................................................................ 3 BAB II MEMAHAMI EKOSISTEM CLOUD COMPUTING BERBASIS ANDROID ............................................................................................................... 5 2.1 Definisi Cloud Computing..................................................................................... 5 2.1.1 Model Layanan Cloud Computing ........................................................ 7 2.1.2 Karakteristik Cloud Computing ............................................................ 8
Pengembangan dan..., Elmansyah, FT UI, 2013
2.2 Mobile Cloud Computing ...................................................................................... 9 2.2. Karakteristik Mobile Cloud Computing ............................................... 11 2.3 Bahasa Pemrograman Java (Java Programming) ............................................ 11 2.3. Bahasa Pemrograman Java Berorientasi Objek.................................... 11 2.4 Android .................................................................................................................. 15 2.4.1 Sejarah Android.................................................................................. 15 2.4.2 Platform Android ............................................................................... 16 2.4.3 Dalvik Virtual Machine (DVM) ......................................................... 17 2.4.4 Arsitektur Android .............................................................................. 17 2.4.5 Aplikasi Fundamental Android ........................................................... 19 2.5 Quality of Experience (QoE) .............................................................................. 20 BAB III PERANCANGAN DAN PENGUJIAN PROGRAM............................. 25 3.1 Arsitektur sistem BYOD ...................................................................................... 25 3.2 Model Aplikasi ..................................................................................................... 26 3.2. Use Case Diagram ................................................................................ 26 3.2. Activity Diagram................................................................................... 30 3.3 Perancangan Program .......................................................................................... 31 3.3.1 Membangun Cloud Computing Menggunakan Eucalyptus ................ 31 3.3.2 Membangun Perangkat Lunak berbasis Android ................................ 33 3.3.3 Membangun Sistem Middleware ........................................................ 34 3.3.4 Implementasi Web based Interface Menggunakan Moodle ................ 34 3.4 Pengujian Program ............................................................................................... 34 BAB IV HASIL PERANCANGAN DAN EVALUASI KINERJA ..................... 36 4.1. Hasil Perancangan dan Pengujian Fungsional Aplikasi Perangkat Lunak Berbasis Android.......................................................................................... 36 4.1.1 Tampilan Login................................................................................... 36
Pengembangan dan..., Elmansyah, FT UI, 2013
4.1.2 Tampilan Halaman Utama .................................................................. 37 4.1.3 Tampilan Daftar Mata Kuliah ............................................................. 37 4.1.4 Tampilan Daftar Materi Kuliah........................................................... 38 4.1.5 Tampilan Detail Pembahasan Isi Materi Kuliah ................................. 38 4.1.6 Tampilan Aksi Menu Menjawab Tugas.............................................. 39 4.1.7 Tampilan Halaman Daftar Tugas Mata Kuliah ................................... 39 4.1.8 Tampilan Halaman Tugas Materi Kuliah............................................ 40 4.1.9 Tampilan Halaman Kolom Menjawab Tugas ..................................... 40 4.1.10 Tampilan Fungsi Unggah File........................................................... 41 4.1.11 Tampilan Halaman Daftar Mata Kuliah Untuk Fungsi Update Jawaban Tugas Yang Telah di Isi Sebelumnya ........................................... 41 4.1.12 Tampilan Halaman Daftar Materi Kuliah Untuk Fungsi Update Jawaban Tugas Yang Telah di Isi Sebelumnya ........................................... 42 4.1.13 Tampilan Halaman Kolom Update Jawab Tugas.............................. 42 4.1.14 Tampilan Halaman Menu Melihat Nilai ........................................... 43 4.1.15 Tampilan Halaman Daftar Materi Kuliah Untuk Melihat Isi Nilai... 43 4.1.16 Tampilan Detail Isi Nilai................................................................... 44 4.1.17 Tampilan Daftar Mata Kuliah Untuk Fungsi Menu Unduh File....... 44 4.1.18 Tampilan Daftar Materi Kuliah Untuk Fungsi Unduh File .............. 45 4.1.19 Tampilan Halaman Untuk Menampilkan Link Unduh File .............. 45 4.1.20 Tampilan Fungsi Menu Info ............................................................. 46 4.1.21 Tampilan Detail Isi Fungsi Info ........................................................ 46 4.1.22 Tampilan Menu About ...................................................................... 47 4.2 Hasil Perancangan dan Pengujian Fungsional Aplikasi Cloud Computing 47 4.2.1 Hasil Pengujian Fungsional Sistem Antarmuka Web Ecualyptus....... 47 4.2.2 Hasil Pengujian Fungsional Service Component Cloud Computing... 48
Pengembangan dan..., Elmansyah, FT UI, 2013
4.3 Hasil Evaluasi kinerja perangkat lunak Berbasis User Acceptance Test.... 48 4.3.1 MOS Pengujian Performance Aplikasi............................................... 49 4.3.2 MOS Pengujian Kategori Kemudahan Sistem.................................... 51 4.3.3 MOS Pengujian Kategori Tampilan Aplikasi ..................................... 53 4.4 Hasil Evaluasi Berbasis Unjuk Kerja Sistem ............................................. 55 4.4.1 Skenario Pertama ................................................................................ 55 4.4.2 Skenario Kedua ................................................................................... 57 4.4.3 Skenario Ketiga................................................................................... 58 BAB V Kesimpulan.......................................................................................... 63 DAFTAR ACUAN ............................................................................................... 64 LAMPIRAN.......................................................................................................... 67
Pengembangan dan..., Elmansyah, FT UI, 2013
Daftar Gambar
Gambar 2.1. Arsitektur Android ........................................................................... 18 Gambar 2.2. Skema klasifikasi QoE Pada Cloud Computing Dilihat Dari Perspektif Pengguna.............................................................................................. 22 Gambar 3.1. Arsitektur Sistem BYOD .................................................................. 25 Gambar 3.2. Diagram Use Case Pembelajaran..................................................... 29 Gambar 3.3. Activity Diagram Sistem Pembelajaran ............................................ 30 Gambar 3.4. Arsitektur Cloud Computing............................................................ 31 Gambar 4.1. Tampilan Login ................................................................................ 36 Gambar 4.2. Tampilan Halaman Utama ............................................................... 37 Gambar 4.3. Tampilan Daftar Mata Kuliah .......................................................... 37 Gambar 4.4. Tampilan Daftar Materi Kuliah........................................................ 38 Gambar 4.5. Tampilan Detail Pembahasan Isi Materi Kuliah .............................. 38 Gambar 4.6. Tampilan Aksi Menu Menjawab Tugas ........................................... 39 Gambar 4.7. Tampilan Halaman Daftar Tugas Mata Kuliah ................................ 39 Gambar 4.8. Tampilan Halaman Tugas Materi Kuliah......................................... 40 Gambar 4.9. Tampilan Halaman Kolom Menjawab Tugas .................................. 40 Gambar 4.10. Tampilan Fungsi Unggah File........................................................ 41 Gambar 4.11. Tampilan Halaman Daftar Mata Kuliah Untuk Fungsi Update Jawaban Tugas Yang Telah Diisi Sebelumnya..................................................... 41 Gambar 4.12. Tampilan Halaman Daftar Materi Kuliah Untuk Fungsi Update Jawaban Tugas Yang Telah Diisi Sebelumnya..................................................... 42 Gambar 4.13. Tampilan Halaman Kolom Update Jawab Tugas .......................... 42 Gambar 4.14. Tampilan Halaman Menu Melihat Nilai ........................................ 43 Gambar 4.15. Tampilan Halaman Daftar Materi Kuliah Untuk Melihat Isi Nilai 43
Pengembangan dan..., Elmansyah, FT UI, 2013
Gambar 4.16. Tampilan Detail Isi Nilai................................................................ 44 Gambar 4.17. Tampilan Daftar Mata Kuliah Untuk Fungsi Menu Unduh File.... 44 Gambar 4.18. Tampilan Daftar Materi Kuliah Untuk Fungsi Unduk File............ 45 Gambar 4.19. Tampilan Halaman Untuk Menampilkan Link Unduh File ........... 45 Gambar 4.20. Tampilan Fungsi Menu Info........................................................... 46 Gambar 4.21. Tampilan Detail Isi Fungsi Info ..................................................... 46 Gambar 4.22. Tampilan Menu About.................................................................... 47 Gambar 4.23. Web Antarmuka Eucalyptus .......................................................... 47 Gambar 4.24. Hasil Pengujian Fungsional Component Cloud Computing........... 48 Gambar 4.25. Hasil Grafik Data MOS Pada Kategori Performance Aplikasi...... 51 Gambar 4.26. Grafik Perhitungan Kemudahan Penggunaan Aplikasi.................. 53 Gambar 4.27. Grafik MOS Kategori Tampilan Aplikasi...................................... 54 Gambar 4.28. Load CPU dan Memori Mesin Cloud Computing Pada Pengujian Skenario Pertama .................................................................................................. 55 Gambar 4.29. Load CPU dan Memori Mesin Virtual Web Server Pada Skenario Pertama.................................................................................................................. 55 Gambar 4.30. Load Trafik Jaringan Yang Masuk dan Keluar Pada Pengujian Skenario Pertama .................................................................................................. 56 Gambar 4.31. Load CPU dan Memori Mesin Cloud Computing Pada Skenario Kedua .................................................................................................................... 57 Gambar 4.32. Loud CPU dan memori Mesin Virtual Web Server Pada Skenario Kedua .................................................................................................................... 57 Gambar 4.33. Load Trafik Jaringan Yang Masuk dan Keluar Pada Skenario Pengujian Kedua ................................................................................................... 58 Gambar 4.34. Load CPU dan Memori Mesin Cloud Computing Pada Skenario Ketiga .................................................................................................................... 59 Gambar 4.35. Load CPU dan memori Mesin Virtual Web Server Pada Skenario Ketiga .................................................................................................................... 59
Pengembangan dan..., Elmansyah, FT UI, 2013
Gambar 4.36. Load Trafik Jaringan Yang Masuk dan Keluar Pada Skenario Pengujian Ketiga ................................................................................................... 60 Gambar 4.37. Grafik Hasil Analisa Load CPU Mesin Cloud Computing dan Web Server .................................................................................................................... 61 Gambar 4.38. Grafik Load Memori Mesin Cloud Computing dan Web Server ... 62 Gambar 4.39. Grafik Load Trafik Jaringan Pada Masing-Masing Skenario Pengujian............................................................................................................... 62
Pengembangan dan..., Elmansyah, FT UI, 2013
Daftar Tabel
Tabel 2.1. Mean Opinion Score (MOS) ................................................................ 24 Tabel 3.1. Definisi Use Case Diagram.................................................................. 26 Tabel 3.2. Spesifikasi Perangkat Lunak Android.................................................. 33 Tabel 4.1. Mean Opinion Score ............................................................................ 49 Tabel 4.2. Hasil Jawaban Kuisioner Kategori Performance Aplikasi .................. 49 Tabel 4.3. Hasil Jawaban Kuisioner Kemudahan Sistem ..................................... 51 Tabel 4.4. Hasil Jawaban Kuisioner Tampilan Aplikasi....................................... 53
Pengembangan dan..., Elmansyah, FT UI, 2013
BAB I PENDAHULUAN 1.1
Latar Belakang Seiring dengan perkembangan teknologi dan komunikasi yang semakin
pesat, kebutuhan akan suatu konsep belajar mengajar berbasis teknologi informasi menjadi tidak terelakkan lagi. Sistem kelas pengajaran berbasis teknologi atau yang dikenal dengan e-learning sudah diterapkan di beberapa perguruan tinggi. Beberapa perguruan tinggi menyelenggarakan kegiatan e-learning sebagai suplemen (tambahan) terhadap materi pelajaran yang disajikan secara reguler di kelas. Bring Your Own Device (BYOD) merupakan salah satu e-learning yang memanfaatkan
perangkat
teknologi
berupa
laptop,
netbook,
smartphone/handhelds, tablet, ebook reader atau audio mp3 player yang dimiliki sendiri (personally owned device) oleh mahasiswa maupun dosen dalam proses belajar mengajar. Perangkat teknologi tersebut digunakan sebagai sarana untuk menyampaikan informasi, berinteraksi, bertanya, memberikan komentar, serta berdiskusi terkait dengan materi perkuliahan [1]. Pada awalnya, sarana yang digunakan dalam sistem kelas pengajaran Bring Your Own Device (BYOD) adalah berupa laptop atau netbook. Namun seiring dengan berkembangnya teknologi informasi saat ini, perangkat yang digunakan pun berkembang yaitu dengan memanfaatkan teknologi smartphone. Agar sistem kelas pengajaran Bring Your Own Device (BYOD) berjalan efektif, dalam penelitian ini akan dibangun sebuah sistem e-learning menggunakan teknologi mobile smartphone sebagai User Interface (UI), teknologi internet sebagai media akses jaringan, terakhir cloud computing sebagai sistem server back-end
yang
digunakan
sebagai
tempat
penyimpanan
seluruh
data
pembelajaran. Penggabungan antara ketiga kombinasi teknologi informasi tersebut dapat saling berbagi sumber daya (resources sharing) [2]. Penelitian ini dilakukan dengan membangun sistem kelas pengajaran Bring Your Own Device (BYOD) berbasis cloud computing memanfaatkan teknologi mobile smartphone berbasis Android. Dengan dibangunnya sistem ini, siswa dan pengajar tidak hanya menggunakan Web browser untuk mengakses
Pengembangan dan..., Elmansyah, FT UI, 2013
sistem kelas pengajaran BYOD, namun mereka juga dapat menggunakan aplikasi khusus yang dibangun dalam penelitian. Media jaringan yang digunakan dalam penelitian menggunakan Internet, dimana perangkat mobile smartphone dapat terhubung langsung dengan server yang berada di cloud (data center). Dalam penelitian akan dilakukan pengujian untuk mengukur kinerja sistem yang dirancang, yaitu mengukur kinerja sistem kelas pengajaran Bring Your Own Device (BYOD) dengan menggunakan tiga skenario. Skenario pertama adalah pengujian fungsional terhadap fungsi program yang dirancang; kemudian pengujian berbasis User Acceptance Test yaitu pengujian yang berkaitan dengan kemudahan penggunaan aplikasi; terakhir pengujian evaluasi berbasis unjuk kerja sistem yaitu pengujian untuk mengukur delay akses pengguna ke dalam konten elearning
dan mengukur pengaruh peningkatan jumlah pengguna
yang
mempengaruhi kinerja server. Dengan adanya pengujian tersebut, diharapkan sistem kelas pengajaran Bring Your Own Device (BYOD) berbasis cloud computing dapat digunakan dengan baik sesuai dengan prosedur penelitian. 1.2
Tujuan Penelitian 1. Membangun sebuah sistem kelas pengajaran Bring Your Own Device (BYOD) berbasis cloud computing dengan menggunakan teknologi mobile smartphone Android. 2. Mengukur dan menganalisa kinerja sistem kelas pengajaran Bring Your Own Device (BYOD) berbasis cloud computing dengan menggunakan teknologi mobile smartphone Android.
1.3
Rumusan Masalah Rumusan masalah yang diajukan dalam penelitian ini adalah “Bagaimana
membangun sistem kelas pengajaran BYOD berbasis cloud computing dengan menggunakan teknologi mobile smartphone Android”. 1.4
Batasan Masalah Masalah penelitian ini dibatasi pada hal-hal berikut: 1. Perangkat lunak yang digunakan adalah mobile smartphone Android. 2. Bahasa pemrograman yang digunakan adalah Java, php dan database MySql.
Pengembangan dan..., Elmansyah, FT UI, 2013
3. Cloud computing yang dibangun menggunakan aplikasi open source yaitu Eucalyptus. 4. Sistem operasi yang digunakan adalah Linux Centos 6.3 x86_64 dan Unix FreeBsd 9.0 ia64. 5. Skenario pengukuran kinerja sistem dibatasi pada tiga hal, yaitu pengujian fungsional, pengujian berbasis user acceptance test dan pengujian berbasis unjuk kerja sistem. 1.5
Metode Penelitian Penelitian menggunakan dua metode, antara lain: 1. Studi eksperimental Penelitian dilakukan dengan melakukan eksperimen di laboratorium dengan membuat rangkaian alat uji menggunakan komputer sebagai server dan perangkat mobile menggunakan smartphone Android. Selanjutnya pengujian alat dilakukan untuk mengukur kinerja sistem yang dirancang. 2. Studi literatur Studi literatur digunakan untuk mengumpulkan literatur atau bahan pustaka yang berkaitan dengan topik penelitian. Literatur-literatur didapat dari jurnal ilmiah, seminar, proceeding, ebook, buku serta sumber ilmiah lainnya yang berkaitan dengan topik sebagai sumber informasi utama dalam menunjang penelitian.
1.5
Manfaat Penelitian Diharapkan penelitian ini dapat memberikan solusi alternatif bagi sistem
kelas pengajaran Bring Your Own Device (BYOD) yaitu dengan memanfaatkan perangkat teknologi smartphone berbasis Android, teknologi Internet dan cloud computing, sehingga proses belajar mengajar menjadi lebih efektif dan efisien. 1.6
Sistematika Penulisan Laporan tesis disusun dalam lima bab dengan sistematika sebagai berikut: 1. Bab I Pendahuluan, berisi tentang latar belakang, tujuan penelitian, rumusan masalah, batasan masalah, metode penelitian, manfaat penelitian dan sistematika penulisan.
Pengembangan dan..., Elmansyah, FT UI, 2013
2. Bab II Memahami ekosistem Cloud Computing berbasis Android berisi definisi cloud computing, mobile cloud computing, bahasa pemrograman Java (Java programming), Android dan Quality of Experience (QOE) 3. Bab III Perancangan dan pengujian program, bersisi tentang arsitektur sistem BYOD, model aplikasi, perancangan program dan pengujian program 4. Bab IV Hasil perancangan dan evaluasi kinerja, berisi tentang hasil perancangan dan pengujian fungsional aplikasi perangkat lunak berbasis Android, hasil perancangan dan pengujian fungsional aplikasi cloud computing, hasil evaluasi kinerja perangkat lunak berbasis User Acceptance Test, hasil evaluasi berbasis unjuk kerja sistem. 5. Bab V Kesimpulan
Pengembangan dan..., Elmansyah, FT UI, 2013
BAB II MEMAHAMI EKOSISTEM CLOUD COMPUTING BERBASIS ANDROID 2.1
Definisi Cloud Computing The US National Institute of Standards and Technology (NIST)
mendefinisikan cloud computing sebagai
sebuah bentuk layanan yang
memberikan kenyamanan, akses jaringan sesuai permintaan (on-demand) ke lokasi sumber daya komputasi terkonfigurasi (misalnya, jaringan, server, penyimpanan, aplikasi, dan layanan), yang dapat dengan cepat dijalankan dan diluncurkan dengan upaya pengelolaan yang lebih mudah [3]. Cloud computing adalah gabungan antara pemanfaatan teknologi komputer (komputasi) dengan pengembangan berbasis internet (awan). Cloud computing merupakan sistem komputerisasi berbasis jaringan/Internet dimana suatu sumber daya, perangkat lunak, informasi dan aplikasi lainnya disediakan terpusat didalam Internet untuk dapat digunakan oleh komputer lain [4]. Cloud (awan) merupakan metafora Internet dimana awan sering digambarkan dalam diagram jaringan komputer. Cloud computing juga merupakan abstraksi dari infrastruktur kompleks yang disembunyikan dalam metode komputasi dimana kapabilitas terkait teknologi informasi disajikan sebagai suatu layanan (as a service), sehingga pengguna dapat mengaksesnya lewat Internet tanpa harus mengetahui spesifikasi perangkat keras maupun infrastruktur yang digunakan di dalam layanan cloud computing selama kebutuhan pelanggan dapat terpenuhi. Dengan cloud computing, penggunaan sumber daya perangkat lunak, informasi, kapasitas media penyimpanan file dan penggunaan server yang banyak tidak lagi menjadi persoalan karena pengguna hanya perlu memiliki jaringan Internet, sumber daya tersebut dapat digunakan sesuai dengan tingkat kebutuhan yang diperlukan. Teknologi Cloud computing merupakan teknologi yang berbasiskan pada permintaan pengguna, dimana layanan teknologi informasi bisa dimanfaatkan atau diakses oleh pengguna melalui jaringan Internet. Ghazizadeh (2012) berpendapat bahwa teknologi cloud computing juga bermanfaat bagi dunia pendidikan, diantaranya adalah menyediakan sumber daya dan database pendidikan (educational storage database), email, aplikasi dan perangkat pendidikan yang
Pengembangan dan..., Elmansyah, FT UI, 2013
diperlukan dalam menjalani aktifitas perkuliahan bagi siswa dan pengajar [5]. Dengan memanfaatkan teknologi cloud computing, pengajar dapat berkomunikasi
dengan
siswa
terkait
dengan materi
pengajaran
seperti
menyiapkan, mengunggah dan mengatur bahan ajar perkuliahan yang tersimpan didalam cloud computing, begitupun dengan para siswa dapat mengakses, mengunduh serta mengirimkan tugas dan materi perkuliahan yang ada di dalam cloud computing menggunakan perangkat mobile yang mereka miliki [5]. Kulkarni, et al. (2012) membagi cloud computing menjadi empat macam, antara lain public cloud, private cloud, community cloud dan hybrid cloud [3]. a) Public cloud merupakan sistem penyimpanan dan jaringan yang disediakan untuk masyarakat umum (general public) atau kelompok industri besar, dimana penyedia jasa layanan dimiliki dan dikelola oleh pihak ketiga (third company) [3]. Keuntungan dari public cloud adalah organisasi tidak perlu melakukan perawatan (maintanance) infrastruktur, platform maupun aplikasi tertentu, namun dapat menggunakan sumber daya tersebut dari penyedia layanan sesuai dengan kebutuhan yang diperlukan. Sedangkan kelemahan dari public cloud adalah tidak adanya jaminan keamanan data serta adanya ketergantungan pada kualitas koneksi Internet. b) Private cloud merupakan layanan cloud computing yang digunakan untuk memenuhi kebutuhan internal organisasi/perusahaan. Biasanya yang berperan dan bertanggung jawab agar layanan bisa berjalan dengan baik sesuai dengan standar kualitas layanan yang telah ditentukan oleh organisasi itu sendiri, baik infrastruktur, platform maupun aplikasi yang ada sebagai penyedia layanan dari organisasi tersebut [3]. Keuntungan dari teknologi private cloud adalah adanya jaminan keamanan data karena dikelola sendiri oleh organisasi, menghemat bandwith internet karena layanan itu dapat diakses dari jaringan internal serta kegiatan tidak tergantung pada koneksi Internet, namun dapat digunakan pada koneksi jaringan lokal (Intranet). Perbedaan utama antara public cloud dengan private cloud dalah pada manajemen, akses dan fitur-fitur pengendalian (controlling features).
Pengembangan dan..., Elmansyah, FT UI, 2013
c) Community Cloud merupakan layanan cloud computing yang digunakan oleh beberapa komunitas organisasi yang memiliki misi yang sama seperti kebijakan atau tingkat keamanan yang dibutuhkan [3]. Community cloud merupakan pengembangan terbatas dari private cloud dimana cloud diatur oleh salah satu organisasi atau pihak ketiga. d) hybrid cloud merupakan kombinasi dari public cloud, community cloud dan private cloud. Dalam hybrid cloud, organisasi dapat memilih proses bisnis mana yang bisa dipindahkan ke public cloud dan yang tetap berjalan di private cloud. Secara entitas, hybrid cloud dapat berdiri sendiri dan tetap
dihubungkan
oleh
suatu
teknologi
atau
mekanisme
yang
memungkinkan portabilitas data dan aplikasi antar cloud [3]. 2.1.1 Model Layanan Cloud Computing Cloud computing memiliki beberapa skema yang bisa diaplikasikan dan disesuaikan dengan setiap kebutuhan organisasi, diantaranya adalah: 1. Software as a Service (SaaS): Merupakan layanan yang disediakan oleh penyedia jasa layanan untuk memfasilitasi pengguna agar memperoleh sumber daya perangkat lunak yang dapat digunakan melalui jaringan dengan memanfaatkan infrastruktur cloud yang ditawarkan [6], sehingga para pengguna layanan dapat memanfaatkan sumber daya perangkat lunak yang telah disediakan oleh penyedia layanan dengan cara berlangganan dan tidak perlu mengeluarkan investasi baik untuk in-house development ataupun pembelian lisensi. 2. Platform as a Service (PaaS): Merupakan layanan platform yang disediakan
oleh
penyedia
layanan
untuk
para
pengguna
dalam
mengembangkan suatu aplikasi yang dibutuhkan dengan menggunakan sarana dan bahasa pemrograman tertentu, tentunya aplikasi yang dikembangkan hanya dapat berjalan didalam platform tersebut [6]. 3. Infrastructure as a Service (IaaS): Merupakan layanan infrastruktur terintegrasi dengan menawarkan layanan seperti mesin virtual yang dapat digunakan sebagai layanan seperti media penyimpanan, memori, sistem operasi dan lain-lain yang dibutuhkan oleh para pengguna untuk mendukung aplikasi yang dimilikinya [6]. Secara teknis, penyedia jasa
Pengembangan dan..., Elmansyah, FT UI, 2013
layanan menyediakan sebuah virtual server dengan IP address yang unik sehingga pengguna dapat menggunakan Application Program Interface (API) yang diintegrasikan kedalam layanan tersebut, yang tentunya para pengguna lebih fleksibel dalam hal konfigurasi, menambah, mengurangi kapasitas sesuai yang dibutuhkan tanpa mengetahui spesifikasi perangkat keras yang disediakan oleh penyedia jasa layanan selama kebutuhan dapat terpenuhi. 2.1.2 Karakteristik Cloud Computing Secara umum, karakteristik cloud computing dibagi menjadi lima macam, antara lain: 1. On Demand Self Service merupakan layanan-layanan yang diberikan di dalam cloud yang tidak bersifat permanen pada infrastruktur teknologi informasi karena penggunaannya berdasarkan kebutuhan dari pengguna. Pengguna dapat menggunakan dan mengelola layanan tersebut tanpa adanya interaksi dengan penyedia jasa layanan, hal tersebut dikarenakan pengadaan dan perlengkapan layanan serta sumber daya yang terkait sudah tersedia secara otomatis pada penyedia jasa layanan [6]. 2. Broad Network Service merupakan layanan cloud computing yang terhubung melalui jaringan agar dapat diakses melalui Internet, baik menggunakan kabel, wireless atau media lain seperti mobile phone, laptop atau smartphone [6]. 3. Resource Pooling merupakan penyedia jasa layanan cloud yang memberikan layanan melalui sumber daya yang dikelompokkan di satu atau berbagai lokasi pusat data yang terdiri dari sejumlah server dengan mekanisme
multi-tenant.
Mekanisme
multi-tenant
memungkinkan
sejumlah sumber daya komputasi tersebut digunakan secara bersama-sama oleh sejumlah pengguna di Internet, dimana sumber daya tersebut baik yang berbentuk fisik maupun virtual dapat dialokasikan secara dinamis untuk kebutuhan sesuai permintaan pengguna [6]. 4. Rapid Elasticity merupakan sebuah layanan dimana kapasitas komputasi yang disediakan dapat secara elastis dan cepat disediakan baik untuk penambahan maupun pengurangan kapasitas yang dibutuhkan. Dengan
Pengembangan dan..., Elmansyah, FT UI, 2013
adanya kemampuan tersebut, ketersediaan kapasitas penyimpanan data yang diperlukan dapat terpenuhi [6]. 5. Measured service merupakan layanan yang memungkinkan sistem cloud disediakan
secara
otomatis
yang
dapat
diatur
dan
dioptimasi
penggunaannya dengan suatu sistem yang dapat mengukur penggunaan sumber daya komputasi yang digunakan (memory storage, processor, bandwith, active user account, dll) [6]. Dengan demikian, jumlah sumber daya yang terpakai dapat diukur secara transparan dan menjadi dasar bagi pengguna untuk membayar biaya penggunaan layanan cloud yang dipakai. 2.2
Mobile Cloud Computing Kovachev et al. (2011) mendefinisikan mobile cloud computing sebagai
kombinasi antara teknologi cloud computing, infrastruktur komunikasi wireless, perangkat komputasi portable, layanan berbasis lokal dan mobile web. Kombinasi teknologi tersebut sebagai model dasar komputasi baru yang memungkinkan pengguna dapat mengakses data dengan kapasitas penyimpanan tanpa batas secara online [7]. Teknologi mobile cloud memindahkan kekuatan komputasi dan penyimpanan data dari perangkat mobile ke dalam cloud. Perangkat mobile tidak membutuhkan kekuatan konfigurasi seperti kecepatan Central Processing Unit (CPU) dan kapasitas memori karena semua modul komputasi sudah diproses di dalam cloud [8]. Dari definisi diatas, dapat disimpulkan bahwa mobile cloud computing merupakan kegiatan pemrosesan dan penyimpanan data ke dalam infrastruktur cloud dan menjadikan perangkat mobile sebagai interface untuk mengakses layanan tersebut. Prosedur pelayanan mobile cloud computing adalah pengguna yang memiliki perangkat mobile memperoleh layanan berupa katalog dari interface yang mengharuskan pengguna mengirimkan sejumlah data mereka ke dalam sistem yang ada di cloud. Setelah itu pemrosesan data tersebut akan diatur dan dicocokkan antara konfigurasi perangkat yang digunakan dengan sistem layanan yang disediakan sehingga data dapat diterima oleh pengguna dengan tepat tanpa adanya kesalahan [9]. Lei Yang et al. (2012) menjelaskan ada tiga pendekatan dalam mobile cloud computing, antara lain memperluas akses layanan cloud computing pada
Pengembangan dan..., Elmansyah, FT UI, 2013
perangkat mobile, memungkinkan perangkat mobile bekerja sama sebagai penyedia layanan cloud dan menambah eksekusi aplikasi mobile pada teknologi cloud computing [10]. Pada pendekatan pertama, user menggunakan perangkat mobile sesering mereka menggunakan web browser untuk mengakses software atau layanan aplikasi yang ditawarkan oleh cloud. Mobile cloud sering dilihat sebagai Software-as-a-Service (SaaS) dalam suatu cloud dimana seluruh komputasi dan penanganan data biasanya disajikan di dalam cloud. Sedangkan pada pendekatan yang kedua, mobile cloud computing memanfaatkan sumber daya pada perangkat mobile yang dimiliki oleh pengguna untuk memberikan layanan cloud secara virtual. Pada pendekatan ketiga, mobile cloud computing menggunakan sistem pemrosesan dan penyimpanan data pada cloud sebagai suatu aplikasi yang berjalan pada perangkat mobile. Mobile cloud dianggap sebagai Infrastructure-as-a-Service (IaaS) atau Platform-as-a-Service (PaaS) di dalam cloud yang berpengaruh untuk menambah kemampuan perangkat mobile melalui sebagian atau keseluruhan offloading dari suatu komputasi dan penyimpanan data pada perangkat mobile. Dalam e-learning, sistem kelas pengajaran yang berbasis mobile cloud merupakan salah satu solusi untuk mengatasi masalah keterbatasan kapasitas penyimpanan data, terutama aktifitas pengajaran tidak hanya dapat dilakukan di kelas maupun dalam lokasi tertentu. Dengan hadirnya teknologi cloud computing dan mobile computing dan penggabungan kedua teknologi tersebut, masalah keterbatasan dapat diatasi. Hal tersebut dikarenakan teknologi cloud memberikan layanan bagi pengajar untuk memberikan informasi pembelajaran dengan kapasitas yang besar, pemrosesan data yang lebih cepat dan kemampuan baterai yang tahan lama dan akses kedalam sistem dapat dilakukan dimanapun melalui jaringan Internet. [8]. Keuntungan mengombinasikan teknologi cloud computing dengan mobile computing dalam e-learning yaitu meningkatkan kualitas komunikasi antara siswa dengan pengajar. Dengan adanya teknologi mobile cloud, siswa dapat berinteraksi dengan pengajar dimana saja, begitu juga dengan para pengajar yang dapat memperoleh informasi mengenai pengetahuan siswa tentang suatu materi dan menjawab pertanyaan tersebut di waktu yang tepat [8].
Pengembangan dan..., Elmansyah, FT UI, 2013
2.2.1 Karakteristik Mobile Cloud Computing Song et al. (2011) membagi karakteristik mobile cloud computing menjadi empat macam [9], antara lain: 1. Perangkat keras dari perangkat mobile dan independensi sistem. Seluruh komputasi dibawa ke dalam cloud yang tersimpan di server, oleh karena itu mobile cloud computing tidak hanya bisa digunakan pada smartphone tetapi juga pada perangkat mobile lainnya yang tidak berbasis smartphone. 2. Effectiveness of task processing: Dengan adanya teknologi cloud, interface hanya membutuhkan input dan output sementara hasilnya dapat dilihat langsung pada perangkat mobile masing-masing pengguna. 3. Convenience of sharing data: Data dalam jumlah besar disimpan di dalam cloud yang ada pada server sehingga memungkinkan berbagi data dengan nyaman. Jika bandwith cukup besar, kegiatan berbagi data dapat dilakukan dengan lancar dan mudah menggunakan perangkat smartphone. 4. Elimination regionality: Mobile cloud computing menghapuskan batasan regionalitas sehingga memungkinkan pengguna untuk memperoleh apa yang diinginkan kapanpun dimanapun di internet. 2.3
Bahasa Pemrograman Java (Java Programming) Java dikenalkan pada publik pada tahun 1995, namun sebenarnya Java
telah ada pada tahun 1990. Java merupakan bahasa pemrograman yang dirancang dan diimplementasikan oleh Sun Microsystem. Istilah Java diadopsi untuk mencerminkan nama favorit (coffee) oleh beberapa pengembang pada saat itu. Oleh karena itu logo Java diambil dari bentuk cangkir coffee. Sebuah tim Sun Microsystem yang dipimpin oleh James Gosling merancang sebuah bahasa pemrograman baru yang diberi nama dengan Oak. Menurut beberapa pendapat nama tersebut berasal dari nama pohon yang terdapat di kantornya. Sebagai pengembangan dari beberapa kebutuhan perangkat lunak untuk menangani kebutuhan konsumen, pada akhirnya nama Oak diganti dengan nama Java [11]. 2.3.1 Bahasa Pemrograman Java Berorientasi Objek Salah satu keunggulan bahasa pemrograman Java adalah berorientasi objek dan paling konsisten dalam mengimplementasikan paradigma pemrograman
Pengembangan dan..., Elmansyah, FT UI, 2013
berorientasi objek. Pemrograman berorientasi objek adalah sebuah pendekatan untuk mengembangkan suatu perangkat lunak yang didasarkan pada interaksi objek dalam menyelesaikan suatu proses [12]. Pemrograman berorientasi objek ditekankan pada kelas dan objek [13]. Untuk menciptakan suatu objek, perlu dibuat kelas terlebih dahulu. Kelas adalah kumpulan objek-objek dengan karakteristik yang sama. Sebuah kelas akan mempunyai sifat (atribut), kelakuan (operasi/metode), hubungan dan arti. Secara teknis, kelas adalah sebuah struktur tertentu dalam pembuatan perangkat lunak. Kelas merupakan bentuk struktur pada kode program yang menggunakan metodologi berorientasi objek. Objek adalah sesuatu yang mewakili dunia nyata seperti benda, manusia, satuan, tempat, kejadian, status atau hal-hal lain yang bersifat abstrak. Objek merupakan suatu entitas yang mampu menyimpan informasi (status) dan mempunyai operasi yang dapat diterapkan atau dapat berpengaruh pada status objek dimana objek memiliki life cycle. Sedangkan atribut merupakan nilai data yang terdapat pada suatu objek dan berasal dari kelas yang merepresentasikan karakteristik dari suatu objek [13]. Seorang pemrogram dapat menuliskan perintah kepada suatu objek untuk melakukan atau tidak melakukan suatu pekerjaan. Interaksi antar kelas dan objek mengambil form dari pesan-pesan dan mengirimkannya kembali kepada objek yang kemudian merespon pesan tersebut menjadi sebuah operasi [13]. Metode pada sebuah kelas hampir sama dengan fungsi atau prosedur pada metodologi struktural. Sebuah kelas boleh memiliki lebih dari satu metode atau operasi. Fungsi dari metode adalah untuk memanipulasi objek itu sendiri. Metode atau operasi dapat berasal dari kejadian, aktivitas, keadaan, fungsi atau kelakuan di dunia nyata. Debaish (2005) membagi pendekatan berorientasi objek menjadi abstraction, encapsulation, inheritance, polymorphism [14]. 1. Abstraction merepresentasikan dunia nyata yang kompleks menjadi satu bentuk model yang sederhana dengan mengabaikan aspek-aspek lain yang tidak sesuai dengan permasalahan. Abstraction pada bahasa pemrograman Java berorientasi objek menunjukkan karakteristik-karakteristik esensi dari objek yang membedakannya dari jenis objek lain, dan memberikan
Pengembangan dan..., Elmansyah, FT UI, 2013
batasan konseptual yang didefinisikan dengan tegas dan relatif terhadap perspektif pengamat. Untuk menunjukkan bahwa suatu kelas sudah lengkap dibutuhkan suatu Abstraction. Ketika suatu kelas tercipta, pemrogram (programmer) dapat menggunakan kelas tanpa mengetahui kelengkapan didalamnya (internal details). Pemrogram hanya bisa mengetahuinya melalui media interface. Contoh Abstraction dalam pemrograman Java berorientasi objek adalah ketika pemrogram atau pengembang program tidak perlu tahu secara detail bagaimana cara membuat sebuah tombol, yang perlu diketahui adalah bagaimana cara menggunakan objek tombol yang sudah ada (baik data/propeti maupun metodenya). Dalam kasus ini, si pembuat objek telah men-abstraction-kan semua proses yang berkaitan dengan pembuatan tombol [14]. 2. Encapsulation merupakan proses pembungkusan data dan layanan (operasi-operasi) yang dipunyai suatu objek untuk menyembunyikan rincian implementasi sehingga objek lain tidak mengetahui cara kerjanya [12]. Secara kode program, proses Abstraction dapat dilakukan dengan cara membungkus semua kode dan data yang berkaitan ke dalam satu entitas tunggal yang disebut dengan objek. Proses pembungkusan itu sendiri merupakan cara atau mekanisme untuk melakukan abstraction. Dalam pemrograman tradisional, proses semacam ini dinamakan dengan penyembunyian
informasi
[13].
Ketika
seorang
pemrogram
menyembunyikan data dalam suatu kelas, pada saat itulah data tersebut sudah terenkapsulasi [11]. Terdapat tiga akses cara pembungkusan atau menyembunyikan data di dalam Java, antara lain private data, public methods, dan protected [15]:
Private Data: Dengan melakukan pengaturan menggunakan tingkat akses private, maka data dan metode tersebut hanya dapat diakses oleh kelas yang memilikinya saja. Ini berarti data dan metode tersebut tidak boleh diakses atau digunakan oleh kelas-kelas lain yang terdapat di dalam program. Tujuan melakukan pengaturan akses menjadi private adalah untuk mencegah terjadinya perubahan pada nilai atribut dari kelas lain [15]
Pengembangan dan..., Elmansyah, FT UI, 2013
Public Methods merupakan kebalikan dari tingkat akses private data dimana suatu metode yang bersifat publik dapat diakses oleh semua bagian di dalam suatu program. Dengan kata lain, data-data maupun metode-metode yang dideklarasikan dengan tingkat akses publik akan dikenali atau dapat diakses oleh semua kelas yang ada didalam program, baik yang merupakan kelas turunan maupun yang tidak memiliki hubungan sama sekali [15].
Protected Data merupakan suatu data atau metode yang dinyatakan dengan tingkat akses protected yang dapat diakses oleh kelas yang memilikinya dan juga oleh kelas-kelas yang masih memiliki hubungan turunan. Sebagai contoh, apabila terdapat kelas B yang merupakan turunan dari kelas A, dan data X terdapat pada kelas A, maka kelas B diizinkan untuk mengakses data tersebut, tetapi apabila ada kelas lain (kelas C) yang bukan merupakan turunan dari kelas A, maka kelas C tersebut tidak diizinkan untuk mengakses data X yang terdapat pada kelas A [15].
3. Inheritance berhubungan langsung dengan bagaimana mendesain dan menulis kelas di dalam bahasa pemrograman Java. Inheritance adalah proses pewarisan data dan metode dari suatu kelas ke kelas lain [15]. Inheritance bersifat menyeluruh sehingga semua data dan metode yang dimiliki oleh kelas asalnya akan diturunkan kepada kelas baru. Inheritance terdiri dari superclass dan subclass [13]. Inheritance memungkinkan kita menggunakan kembali bagian-bagian dari superclass yang berlaku untuk subclass dan mendefinisikan kembali bagian-bagian yang berbeda [11]. Superclass adalah kelas yang mewarisi sifat kepada subclass, sedangkan subclass adalah kelas yang diwarisi sifat oleh superclass. Suatu inheritance hanya bisa memiliki satu superclass, dimana di dalam superclass tersebut terdapat banyak subclass 4. Polymorphism
merupakan
konsep
pokok
di
dalam
perancangan
berorientasi objek yang berarti mempunyai banyak bentuk. Dua objek atau lebih dikatakan sebagai polymorphism bila objek-objek tersebut mempunyai antar muka yang identik namun mempunyai perilaku yang
Pengembangan dan..., Elmansyah, FT UI, 2013
berbeda. Polymorphism merupakan kemampuan suatu objek untuk mengungkap banyak hal melalui satu cara yang sama dari kelas berbeda [13]. Kegunaan dari polymorphism adalah agar kita dapat mendefinisikan beberapa konstruktor atau metode dengan karakteristik yang berbeda-beda agar nantinya dapat digunakan untuk kelas yang berbeda. Dua hal yang diperlukan untuk menuliskan polymorphism antara lain, kelas harus menjadi bagian dari hierarki pewarisan yang sama serta kelas harus mendukung metode yang sama [11]. 2.4
Android Android adalah sistem operasi untuk perangkat mobile berbasis linux yang
mencakup sistem operasi, middleware dan aplikasi. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi didalam sistem operasi Android [16]. 2.4.1 Sejarah Android Pada awalnya Google Inc. membeli Android Inc. yang merupakan pendatang baru dalam pembuatan peranti lunak untuk ponsel/smartphone. Untuk mengembangkan Android dibentuklah Open Handshet Alliance, konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile dan Nvidia [16]. Pada saat perilisan perdana Android, 5 November 2007, Android bersama Open Handset Alliance menyatakan mendukung pengembangan open source pada perangkat mobile. Dilain pihak, Google merilis kode-kode Android dibawah lisensi Apache, sebuah lisensi perangkat lunak dan Open Platform perangkat seluler. Terdapat dua jenis distributor sistem operasi Android, pertama yang mendapat dukungan penuh dari Google atau Google Mail Services (GMS) dan kedua adalah pendistribusian bebas tanpa dukungan langung Google atau dikenal sebagai Open Handset Distribution (OHD) [16]. Sekitar November 2007 Google mengenalkan Nexus One, salah satu jenis smartphone yang menggunakan Android sebagai sistem operasinya. Telepon seluler ini diperoduksi oleh HTC Coorporation dan tersedia dipasaran pada 5 Januari 2010. Pada 9 Desember 2008, diumumkan anggota baru yang bergabung
Pengembangan dan..., Elmansyah, FT UI, 2013
dalam program kerja Android ARM Holdings, Atheros, Softbank, Sonny Ericsson, Toshiba Corp dan Vodafone Group Plc. Seiring pembentukan Open Handset Alliance (OHA), OHA mengumumkan produk perdana mereka, Android dan perangkat mobile yang merupakan modifikasi kernel linux 2.6. Sejak Android dirilis telah dilakukan berbagai pembaruan berupa perbaikan bug dan penambahan fitur baru. 2.4.2 Platform Android Android dikenal sebagai platform mobile pertama yang lengkap, terbuka dan bebas dikembangkan oleh siapapun [16].
Android merupakan platform mobile yang lengkap dimana para perancang dapat
melakukan
pendekatan
yang
komprehensif
ketika
sedang
mengembangkan platform Android. Android merupakan sistem operasi yang aman dan banyak menyediakan tools dalam membangun perangkat lunak dan memungkinkan untuk peluang untuk pengembangan aplikasi.
Android merupakan platform yang terbuka yaitu platform Android disediakan melalui lisensi open source. Pengembang dapat dengan bebas mengembangkan aplikasi.
Android merupakan platform gratis (Free Platform) dimana tidak ada lisensi atau biaya royalti untuk dikembangkan pada platform Android, tidak ada biaya keanggotaan, tidak diperlukan biaya pengujian dan tidak ada kontrak.
Aplikasi
Android
dapat
didistribusikan dan dapat
diperdagangkan dalam bentuk apapun. Android merupakan generasi baru platform mobile yang memberikan pengembangan untuk melakukan pengembangan sesuai yang diharapkan. Sistem operasi yang mendasari Android dilisensikan dibawah GNU. General Public Licensi Versi 2 (GPLV2) dikenal dengan istilah copyleft lisensi dimana setiap perbaikan pihak ketiga harus terus jatuh dibawah aturan yang mengikat. Android didistribusikan
dibawah
lisensi
Apache
Software
(ASL/Apache2)
yang
memungkinkan untuk distribusi oleh pihak kedua dan seterusnya. Pengembang dapat memilih untuk meningkatkan platform tanpa harus memberikan perbaikan mereka ke masyarakat open source. Sebalikanya pengembang mendapat keuntungan dari perangkat tambahan seperti perbaikan dan pendistribusian ulang
Pengembangan dan..., Elmansyah, FT UI, 2013
pekerjaan mereka dibawah lisensi apapun yang mereka inginkan. Pengembang aplikasi Android juga diperbolehkan untuk mendistribusikan aplikasi mereka dibawah skema lisensi apapun yang diinginkan. 2.4.3 Dalvik Virtual Machine (DVM) Salah satu elemen kunci dari Android adalah Dalvik Virtual Machine (DVM). Android berjalan didalam DVM bukan di Android Virual Machine (JVM). Banyak persamaan dengan JVM seperti Android ME (Android Mobile Edition), tetapi Android menggunakan mesin virtual sendiri yang dirancang untuk memastikan bahwa beberapa fitur berjalan lebih efisien pada perangkat mobile [16]. DVM adalah register bases, sedangkan JVM adalah stack base. DVM didesain dan ditulis oleh Dan Bornsten dan beberapa engineer Google lainnya. DVM menggunakan kernel Linux untuk menangani fungsionalitas tingkat rendah termasuk keamanan, penyusupan dan proses serta manajemen memori. Hal tersebut untuk memungkinkan pengguna menulis aplikasi C/C++ sama halnya seperti pada OS Linux. Meskipun dalam kenyataannya pengguna harus banyak memahami arsitektur dan proses sistem dari kernel Linux yang digunakan dalam Android tersebut. Semua hardware yang berbasis Android dijalankan dengan menggunakan mesin virtual untuk dieksekusi, 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 Android dan dikompilasikan menggunakan alat yang disediakan dalam SDK Android. 2.4.4 Arsitektur Android Secara garis besar arsitektur Android dijelaskan pada Gambar 2.1:
Pengembangan dan..., Elmansyah, FT UI, 2013
Gambar 2.1. Arsitektur Android [16]
Applications dan Widgets adalah layer yang berfungsi untuk menyimpan aplikasi yang terinstal pada Android. Ketika user melakukan instal aplikasi perangkat lunak, aplikasi tersimpan pada layer Applications dan Widgets, dan semua aplikasi perangkat lunak di tuliskan menggunakan bahasa pemrograman Android.
Application Frameworks yaitu layer dimana para pembuat aplikasi melakukan pengembangan atau pembuatan aplikasi yang akan dijalankan di sistem Android. Pada layer inilah aplikasi dapat dirancang.
Libraries adalah layer dimana fitur-fitur Android berada, biasanya para pembuat aplikasi mengakses libraries untuk menjalankan aplikasinya agar berjalan diatas kernel. Layer ini meliputi berbagai library C/C++ inti Libc dan SSL.
Android Run Time merupakan layer yang membuat aplikasi Android dapat dijalankan dimana dalam prosesnya menggunakan implementasi Linux. Dalvik Virtual Machine (DVM) merupakan mesin yang membentuk dasar kerangka aplikasi Android. Android Run Time dibagi menjadi dua bagian antara lain: 1. Core Libraries: Aplikasi Android dibangun dalam bahasa Android, sementara Dalvik sebagai virtual mesin bukan Android Virtual Machine, sehingga diperlukan sebuah libraries yang berfungsi untuk
Pengembangan dan..., Elmansyah, FT UI, 2013
menerjemahkan bahasa Android/C yang ditangangi oleh Core Libraries. 2. Dalvik Virtual Machine: Virtual mesin yang berbasis register yang dioptimalkan untuk menjalankan fungsi-fungsi secara efisien dimana merupakan pengembangan yang mampu membuat linux kernel untuk threading dan manajemen tingkat rendah
Linux Kernel adalah layer dimana inti dari sistem operasi dari Android itu sendiri. Linux kernel berisi file-file sistem yang mengatur sistem pemrosesan, memori, sumber daya, drivers dan sistem-sistem operasi Android lainnya. Linux kernel yang digunakan pada Android adalah linux kernel release 2.6.
2.4.5 Aplikasi Fundamental Android Aplikasi Android ditulis dalam bahasa pemrograman Android. Kode Android dikompilasi bersama data file resource yang dibutuhkan oleh aplikasi dimana prosesnya dipaket oleh alat yang dinamakan apt tools kedalam paket Android sehingga menghasilkan file dengan ekstensi apk. File APK dapat dipasang di perangkat mobile [16]. Ada enam jenis komponen pada aplikasi Android: 1. Activities, suatu kegiatan yang menyajikan user interface (UI) sehingga pengguna dapat melakukan interaksi. Sebuah aplikasi Android bisa saja hanya memiliki satu kegiatan atau lebih tergantung dari kebutuhan aplikasi yang dibangun. Satu activity biasanya dipakai untuk menampilkan aplikasi atau yang bertindak sebagai user interface (UI) saat aplikasi diperlihatkan kepada pengguna. Secara hierarki, sebuah windows activity dinyatakan dengan method Activity.setContentView(). ContentView adalah objek yang berada pada root hirarki. 2. Service tidak memiliki visual user interface (UI), tetapi service berjalan secara background, sebagai contoh dalam memutar media player, service mungkin memainkan musik atau mengambil data dari jaringan, tetapi setiap service haruslah berada dalam kelas induknya. Misalnya media player sedang memutar daftar lagu. Aplikasi ini memiliki dua atau lebih kegiatan yang memungkinkan pengguna untuk memilih lagu atau menulis
Pengembangan dan..., Elmansyah, FT UI, 2013
short message service (sms) dalam keadaan musik tetap berjalan, activity player dapat menjalankan service untuk membuat aplikasi tetap berjalan. Service dijalankan pada thread utama dari proses aplikasi. 3. Broadcast Receiver berfungsi untuk menerima dan bereaksi ketika menyampaikan notifikasi. Contoh broadcast seperti notifikasi zona waktu berubah, baterai lemah, gambar telah selesai diambil oleh kamera, atau pengubah referensi bahasa yang digunakan. Aplikasi juga dapat melakukan broadcast misalkan memberikan informasi pada aplikasi lain bahwa ada data yang telah diunduh ke perangkat dan siap untuk digunakan. Broadcast Receiver tidak memiliki user interface (UI) tetapi memiliki sebuah kegiatan untuk merespon informasi yang mereka terima atau mungkin menggunakan pengaturan notifikasi untuk memberitahu kepada pengguna seperti lampu latar atau getar perangkat dan lain sebagainya. 4. Content Provider membuat kumpulan aplikasi data secara spesifik sehingga bisa digunakan oleh aplikasi lain. Data disimpan dalam file sistem seperti database SQLite. Content Provider menyediakan cara untuk mengakses data yang dibutuhkan oleh suatu kegiatan, misalnya ketika menggunakan aplikasi yang membutuhkan peta atau aplikasi yang membutuhkan untuk mengakses data dan navigasi, maka disinilah fungsi content provider. 2.5
Quality of Experience (QoE) Piamrat et al. (2008) dan Hobfel (2012) mendefinisikan Quality of
Experience (QoE) sebagai penerimaan keseluruhan dari sebuah aplikasi atau layanan yang dirasakan secara subjektif oleh pengguna [17]. Penyedia layanan cloud harus menggunakan sistem cerdas yang mampu mengklasifikasikan, menganalisis, dan beradaptasi dengan informasi yang dikumpulkan dalam sebuah cara yang efisien untuk memuaskan pengguna [19]. Tujuan dari adanya QoE yaitu tidak hanya mengevaluasi jaringan tetapi juga mampu menyediakan layanan aplikasi cloud computing kepada pengguna dengan kualitas tinggi, terbaik dan meminimalisir biaya yang harus dikeluarkan oleh pengguna [18] [19].
Pengembangan dan..., Elmansyah, FT UI, 2013
Persyaratan QoE dan persyaratan teknis yang dihasilkan dari cloud computing berbeda hal dalam dimensi penggunaan, termasuk tingkat multimedia (multimedia
intensity),
interaktivitas,
penggunaan
domain
primer
dan
kompleksitas. Intensitas multimedia menggambarkan sejauh mana aplikasi cloud computing fokus pada konten multimedia serta memungkinkan pengguna mengontrol navigasi dari kemajuan konten yang ada [18]. Tingkat interaktivitas meliputi interaksi antara pengguna dengan cloud (human-computer interaction), misalnya untuk mengirim atau menjalankan perintah, serta interaksi antar pengguna yang berbeda (human to human communication) seperti pemanfaatan aplikasi chat atau help. Penggunaan domain berguna untuk memisahkan penggunaan utama dengan aplikasi untuk personal atau publik. Layanan kompleksitas dapat mengelompokkan kompleksitas ke dalam istilah teknis realisasi cloud dan distribusi fisik dan logis serta penyediaan layanan selama aplikasi cloud berjalan [18]. Sebagai sebuah sistem pengukuran yang didasarkan pada sudut pandang pengguna, QoE merupakan metriks penting untuk mendesain suatu sistem serta dijadikan sebagai indikator seberapa baik sistem tersebut dapat memenuhi target. Ketika mendesain suatu sistem, QoE sering dijadikan sebagai hasil output metriks dan sering diukur pada perangkat akhir dimana penerimaan keseluruhan suatu layanan aplikasi dipengaruhi oleh harapan dan konteks pengguna [17].
Pengembangan dan..., Elmansyah, FT UI, 2013
Gambar 2.2. Skema klasifikasi QoE Pada Cloud Computing Dilihat Dari Perspektif Pengguna Gambar 2.2 menunjukkan skema klasifikasi suatu aplikasi cloud dilihat dari perspektif pengguna. Aplikasi dikategorikan ke dalam dimensi penggunaan yang secara langsung memenuhi syarat-syarat QoE. Sejumlah besar faktor teknis mempengaruhi kualitas layanan dan aplikasi cloud computing seperti yang dirasakan oleh pengguna. Menurut Hobfel (2012), untuk menentukan QoE pada cloud computing dibutuhkan tiga langkah dasar yaitu pemahaman dan pemodelan, pemantauan dan perkiraan serta adaptasi dan pengendalian. Pada tahap pemahaman dan pemodelan, memahami persyaratan aplikasi dan dampak gangguan pada kualitas yang dirasakan pengguna disebut sebagai model QoE yang diberikan dan pemetaan antara parameter terukur dengan QoE [18]. Tahap pemantauan dan estimasi QoE dapat dilakukan dengan melihat beberapa variabel antara lain bentuk jaringan seperti jaringan kabel atau wireless, kondisi jaringan seperti ketersediaan bandwith atau terjadinya packet loss, Service Level Agreement (SLA) dengan jaringan atau penyedia jasa layanan, layanan dan aplikasi informasi yang transparan. Parameter tersebut jika tersedia akan dipetakan ke QoE berdasarkan pemantauan yang dilakukan dalam jaringan.
Pengembangan dan..., Elmansyah, FT UI, 2013
Langkah ketiga dari manajemen QoE adalah adaptasi dinamis dan kontrol untuk memberikan QoE yang optimal, dimana pengguna mungkin tidak puas atau bahkan meninggalkan layanan cloud tersebut. Pengendalian QoE bertujuan untuk mengetahui reaksi pengguna dalam menggunakan aplikasi yang disediakan oleh penyedia jasa layanan cloud. Pertanyaan yang digunakan bertujuan untuk mendapatkan informasi seperti lokasi akses pengguna, kapan dan seberapa sering aplikasi digunakan, serta bagaimana reaksi pengguna ketika menggunakan aplikasi tersebut [18]. Untuk mengevaluasi suatu layanan atau aplikasi digunakan beberapa pendekatan diantaranya pendekatan secara objektif dan pendekatan secara subjektif. Metode objektif menggunakan model yang berbeda dari harapan manusia dan mencoba untuk memperkirakan kinerja layanan secara otomatis tanpa melibatkan manusia [19]. Masalah pada pendekatan objektif yaitu tidak adanya keakuratan nilai karena penilaian hanya didasarkan pada parameter teknis yang tidak berhubungan dengan penilaian dari sisi pengguna [17]. Sedangkan pendekatan subjektif menggunakan model sekumpulan manusia yang diajak untuk menggunakan layanan aplikasi tersebut kemudian memberikan pendapatnya atas layanan aplikasi yang telah dicoba. Metode subjektif memiliki keakuratan penilaian dari sisi pengguna namun bermasalah dengan biaya yang tinggi dan memakan waktu saat yang cukup lama [19]. Salah satu metode subjektif yang dapat digunakan untuk menentukan kualitas layanan dari sudut pandang pengguna dengan menggunakan pendekatan crowdsourcing. Crowdsourcing merupakan alat yang efisien untuk melakukan tes secara subjektif, dimana sampel tersebut mewakili populasi yang dibutuhkan. Metode crowdsourcing dalam penilaian QoE digunakan untuk mengumpulkan berbagai macam pengguna dari latar belakang dan kebiasaan yang berbeda untuk melakukan pengujian. Crowdsourcing dapat dilakukan dengan mengumpulkan pengguna secara sukarela di suatu tempat seperti laboratorium untuk melakukan pengujian [20]. Ketika melakukan survei di laboratorium, kita dapat dengan mudah mengatur keandalan pengguna 100% untuk melakukan pengujian alat. Para pengguna aplikasi dengan sukarela dapat memberikan jawaban tentang kualitas alat yang diuji pada skala penilaian yang diberikan dan tidak
Pengembangan dan..., Elmansyah, FT UI, 2013
bosan atau merasa terganggu untuk memberikan penilaian tersebut [20]. Metode crowdsourcing dilakukan dengan mengundang sejumlah relawan ke dalam satu laboratorium untuk melakukan pengujian dengan membawa perangkat yang dibutuhkan. Pengujian dilakukan dengan memasang aplikasi pada perangkat yang dibawa oleh pengguna dan mencoba aplikasi tersebut. Setelah pengujian selesai dilakukan, pengguna diminta untuk menjawab pertanyaan pada kuesioner dengan skala penilaian MOS [19]. Tabel 2.1 Mean Opinion Score (MOS) MOS
Quality
Impairment
5
Excellent
Imperceptible
4
Good
Perceptible but not annoying
3
Fair
Slightly annoying
2
Poor
Annoying
1
Bad
Very annoying
Tabel 2.1 merupakan penilaian berdasarkan MOS dimana masing-masing angka menunjukkan penjelasan dari skor yang diperoleh [17]. Penilaian dilakukan dengan menghitung nilai rata-rata pendapat atau disebut dengan Mean Opinion Score (MOS) dari pendekatan subjektif. Artinya, pendapat dari pengguna individu dikumpulkan dan dimaksudkan untuk mencerminkan pendapat dari rata-rata pengguna [18]. Metode MOS menggunakan pengukuran angka 5 sebagai nilai tertinggi dan angka 1 sebagai nilai terendah [19]. Rumus untuk menghitung MOS adalah:
MOS =
Dimana: X(i) = Nilai Sample ke i
∑
x(i). k N
K = Jumlah bobot N = Jumlah Pengamatan
Pengembangan dan..., Elmansyah, FT UI, 2013
BAB III PERANCANGAN DAN PENGUJIAN PROGRAM Bab ini menjelaskan perancangan sistem kelas pengajaran menggunakan konsep Bring Your Own Device (BYOD) berbasis teknologi cloud computing menggunakan teknologi smartphone. Penelitian ini mengambil konsep dengan menggabungkan teknologi mobile smartphone, mobile internet dan teknologi cloud computing. Konsep cloud computing dalam penelitian menggunakan mesin virtual untuk menangani layanan infrastruktur. Sedangkan aplikasi perangkat lunak yang dirancang dibatasi pada perangkat mobile smartphone berbasis Android. 3.1
Arsitektur Sistem BYOD
Gambar 3.1. Arsitektur Sistem BYOD Gambar 3.1 menunjukan sebuah arsitektur sistem kelas pengajaran BYOD berbasis cloud computing menggunakan teknologi smartphone. Siswa dan pengajar dapat mengakses konten materi pengajaran melalui jaringan Internet. Selain tujuan dalam penelitian difokuskan pada perancangan aplikasi khusus yang dirancang, dalam penelitian ini tidak menghilangkan fungsi teknologi berbasis Web. Siswa dan pengajar tetap dapat menggunakan aplikasi berbasis Web menggunakan browser. Kedua aplikasi tersebut memiliki fungsi yang sama yaitu
Pengembangan dan..., Elmansyah, FT UI, 2013
dapat menampilkan atau mengunduh konten materi yang disediakan di Internet. Perbedaan kedua aplikasi tersebut adalah terletak pada bentuk aplikasi yang dibangun. Aplikasi perangkat lunak yang dirancang dalam penelitian ini hanya dapat digunakan pada perangkat mobile. Sedangkan aplikasi berbasis Web dapat diakses menggunakan browser, baik pada perangkat mobile maupun perangkat lainnya seperti komputer desktop. 3.2
Model Aplikasi Model aplikasi yang digunakan adalah Unified Modeling Language
(UML).
UML
adalah
bahasa
spesifikasi
untuk
mendokumentasikan,
menspesifikasikan dan membangun sistem perangkat lunak. UML tidak berdasar pada bahasa pemrograman tertentu. Standar spesifikasi UML menjadi populer karena mampu menggambarkan aplikasi yang dikembangkan dengan sistem pemrograman berorientasi objek. Dari semua diagram UML, hanya beberapa diagram yang digunakan untuk menggambarkan model sistem pengajaran BYOD berbasis cloud computing menggunakan perangkat lunak berbasis Android. 3.2.1 Use Case Diagram Use Case diagram digunakan untuk menggambarkan interaksi antar pengguna didalam sistem. Gambar 3.2 menunjukan bentuk Use Case Diagram untuk masing-masing rules dalam mengakses sistem pembelajaran. Rules pengguna yang terdapat pada sistem antara lain pengajar, siswa, dan administrator. Definisi Use Case diagram ditunjukan pada Tabel 3.1. Tabel 3.1 Definisi Use Case Diagram No Use Case
Dekripsi
1
Merupakan proses pengecekan hak akses
Login
pengguna untuk masuk kedalam sistem kelas pengajaran. 2
Mengelola data
Merupakan proses generalisasi yang meliputi
perkuliahan
tujuh buah proses pengelolaan data kelas pengajaran antara lain memasukan materi, mengubah
materi,
menghapus
Pengembangan dan..., Elmansyah, FT UI, 2013
materi,
membuat exam/tugas, mengubah exam/tugas, menghapus
exam/tugas,
memberi
nilai
exam/tugas. 3
Memasukan materi
Merupakan proses memasukan data daftar materi kuliah ke dalam database
4
Mengubah materi
Merupakan proses mengubah data materi kuliah yang ada di dalam database
5
Menghapus materi
Merupakan proses menghapus data materi kuliah yang ada didalam database
6
Membuat exam/tugas
Merupakan proses membuat data exam/tugas kuliah ke dalam database
7
Mengubah exam/tugas
Merupakan proses mengubah data exam/tugas kuliah yang ada di dalam database
8
Menghapus exam/tugas
Merupakan proses menghapus data exam/tugas kuliah yang ada di dalam database
9
10
Memberi
nilai Merupakan
proses
memberikan
nilai
exam/tugas
exam/tugas yang ada di dalam database
Mengikuti kuliah
Merupakan proses generalisasi yang meliputi lima buah proses mengikuti perkuliahan ntara lain melihat isi materi, download materi, melihat exam/tugas, menjawab exam/tugas, melihat nilai exam/tugas.
11
Melihat isi materi
Merupakan proses melihat isi materi yang ada di dalam database
12
Download materi
Merupakan proses download materi yang ada di dalam database. Materi yang di download berupa file .pdf, .doc, presentasi dan lain-lain bergantung pada file yang di upload pengajar ke dalam database
13
Melihat exam/tugas
Merupakan proses melihat exam/tugas yang ada di dalam database
14
Menjawab exam/tugas
Merupakan proses menjawab exam/tugas yang
Pengembangan dan..., Elmansyah, FT UI, 2013
ada di dalam database 15
Melihat
nilai Merupakan proses melihat nilai exam/tugas
exam/tugas 16
yang ada di dalam database
Mengelola data siswa Merupakan proses generalisasi yang meliputi dan pengajar
tiga buah proses pengelolaan data siswa dan pengajar antara lain memasukan data siswa dan pengajar, mengubah data siswa dan pengajar dan menghapus data siswa dan pengajar ke dalam database
17
Memasukan siswa dan Merupakan proses memasukan data siswa dan pengajar
18
pengajar ke dalam database
Mengubah siswa dan Merupakan proses mengubah data siswa dan pengajar
19
20
pengajar yang ada di dalam database
Menghapus siswa dan Merupakan proses menghapus data siswa yang pengajar
ada di dalam database
Mengelola
Merupakan proses generalisasi yang meliputi
pemeliharaan sistem
tiga buah proses pengelolaan pemeliharaan sistem antara lain backup data, pengecekan error, mencatat laporan
21
Backup data
Merupakan proses backup data yang ada di dalam database
22
Pengecekan error
Merupakan proses pengecekan error sistem yang sedang berjalan
23
Mencatat laporan
Merupakan proses mencatat seluruh laporan analisa proses sistem yang sedang berjalan ke dalam database. Analisa tersebut dapat berupa error, backup dan lain-lain
Pengembangan dan..., Elmansyah, FT UI, 2013
Gambar 3.2. Diagram Use Case Pembelajaran
Pengembangan dan..., Elmansyah, FT UI, 2013
3.2.2 Activity Diagram Activity Diagram merupakan gambaran alur dalam melaksanakan suatu aktifitas pada sistem e-learning. Activity diagram ditunjukan pada Gambar 3.3.
Gambar 3.3. Activity Diagram Sistem Pembelajaran Semua pengguna yang mengakses sistem kelas pengajaran BYOD harus melakukan login terlebih dahulu. Sistem ini dirancang dengan memiliki tiga aktor yaitu pengajar, siswa dan administrator. Pertama, ketika sistem mendeteksi login rules sebagai siswa, sistem akan menampilkan menu mengikuti kuliah. Kedua, ketika sistem mendeteksi login rules sebagai pengajar, maka sistem akan langsung menampilkan halaman pilihan, yaitu apakah ingin mengelola data perkuliahan atau mengikuti kuliah. Jika pengajar memilih pilihan mengelola data perkuliahan, maka sistem akan menampilkan menu pengelolaan data perkuliahan, dan jika pengajar memilih pilihan mengikuti kuliah, sistem akan menampilkan menu mengikuti kuliah. Terakhir adalah ketika sistem mendeteksi login rules sebagai administrator, maka sistem akan menampilkan menu pengelolaan dan pemeliharaan sistem.
Pengembangan dan..., Elmansyah, FT UI, 2013
3.3
Perancangan Program Terdapat beberapa komponen besar dalam membangun sistem kelas
pengajaran BYOD berbasis cloud computing menggunakan teknologi smartphone, yaitu membangun sistem cloud computing menggunakan Eucalyptus, membangun aplikasi perangkat lunak mobile berbasis Android, membangun sistem middleware, terakhir implementasi open source moodle sebagai aplikasi berbasis Web. 3.3.1 Membangun Cloud Computing Menggunakan Eucalyptus Eucalyptus adalah sebuah perangkat lunak yang dibangun menggunakan Linux-based. Eucalyptus merupakan software framework yang bebas digunakan (open source) sebagai layanan Infrastucture as a Service (IaaS). Cloud computing yang dibangun menggunakan Linux Centos 6.3-x86_64. Cloud computing yang dibangun dibagi menjadi empat komponen antara lain cloud controller, node controller, storage controller (walrus) dan cluster controller, dimana keempat komponen tersebut memiliki fungsi yang berbeda. Arsitektur cloud computing yang dirancang ditunjukan pada Gambar 3.4.
Gambar 3.4. Arsitektur Cloud Computing a) Cloud Controller (CLC) adalah sistem front-end yang berfungsi sebagai titik masuk kedalam cloud. Cloud Controller dapat digunakan oleh para
Pengembangan dan..., Elmansyah, FT UI, 2013
pengguna dan administrator untuk pengaturan semua informasi tentang resources, penjadwalan dan implementasi yang ada didalam cloud computing. b) Node Controller (NC) dirancang sebagai sistem untuk menangani controller hosting mesin virtual. NC dapat mengontrol, menjalankan atau menghentikan mesin virtual. c) Cluster Controller (CC) adalah sistem yang berfungsi untuk mengontrol NC, mengontrol setiap penjadwalan mesin virtual, mengatur konektifitas jaringan pada setiap mesin virtual, dan mengumpulkan setiap informasi yang telah dilakukan oleh NC. d) Storage Controller (SC) adalah sistem yang berfungsi sebagai tempat menyimpan seluruh data images mesin virtual. Ketika NC akan menjalankan mesin virtual, maka images mesin virtual diambil dari mesin SC. Prosedur penelitian dalam perancangan cloud computing dilakukan dengan menggunakan dua buah server yaitu server cloud computing dan server database. 1. Pada mesin cloud computing, sistem operasi menggunakan Linux Centos 6.3-x86_64. Pada Mesin cloud computing akan dipasang empat buat mesin sebagai cloud controller, node controller, storage controller, dan cluster controller. 2. Pada mesin database, sistem operasi menggunakan Unix FreeBsd. Mesin ini berfungsi sebagai tempat penyimpanan seluruh konten database sistem kelas pengajaran BYOD. Mesin database dirancang berdiri sendiri (stand alone) diluar mesin cloud computing. Dalam membangun sistem kelas pengajaran BYOD dibutuhkan sebuah mesin yang disebut dengan Web server, dimana mesin tersebut akan digunakan untuk menjalankan middleware dan Moodle. Mesin Web server akan dibangun menggunakan virtualisasi yang akan dipasang pada mesin cloud computing. Sistem operasi yang digunakan sebagai Web server menggunakan Linux Centos 6.3-x86_64, dan aplikasi pendukung perangkat lunak untuk menjalankan fungsi Web server menggunakan Apache/2.2.15 (CentOS) dan php versi 5.
Pengembangan dan..., Elmansyah, FT UI, 2013
3.3.2 Membangun Perangkat Lunak berbasis Android Tujuan perancangan perangkat lunak khusus yang dibangun dalam penelitian adalah untuk menangani keterbatasan bandwidth yang tersedia pada perangkat mobile. Aplikasi perangkat lunak dirancang menggunakan Extensible Markup Language (XML) dan bahasa pemrograman menggunakan java. Semua pemrosesan data dilakukan pada perangkat lokal mobile, aplikasi hanya mengunduh konten database sesuai dengan kebutuhan fitur yang tersedia pada aplikasi yang dirancang. Hal ini sangat berpengaruh terhadap bandwith yang tersedia. Berbeda dengan aplikasi berbasis Web menggunakan browser, dimana semua pemrosesan data dilakukan di Internet. Perangkat mobile harus mengunduh terlebih dahulu semua pemrosesan data di Internet, browser hanya menampilkan data yang dibutuhkan untuk ditampilkan pada perangkat lokal. Tujuan lain perancangan perangkat lunak khusus yang dibangun dalam penelitian adalah aspek keamanan, karena informasi alamat sistem disembunyikan pada aplikasi yang dirancang. Pengguna hanya dapat menggunakan aplikasi sesuai dengan fitur yang tersedia. Berbeda dengan teknologi aplikasi berbasis Web, alamat informasi sistem dapat diketahui oleh pengguna. Hal inilah yang menjadi celah para hacker dapat menyusupi sistem yang berada di Internet, seperti Distributed Deniel of Service Attack (DDOS), phishing, malware, dan lain-lain. . Perancangan aplikasi perangkat lunak yang dirancang pada penelitian hanya dibatasi pada perangkat mobile smartphone berbasis Android. Aplikasi perangkat lunak bertindak sebagai client-server Tools yang digunakan dalam perancangan menggunakan Java SE Development Kit, IDE eclipse helios, SDK Manager, ADT dan AVD. Berikut tabel data spesifikasi perancangan aplikasi perangkat lunak yang ditunjukan pada Tabel 3.2. Tabel 3.2 Spesifikasi Perangkat Lunak Android Project Name
:
mobileLearning
Build Target
:
2.2
Application Name
:
Mobile Learning for BYOD
Package Name
:
com.mobile.learning
Activity
:
login
Min SDK
:
8
Pengembangan dan..., Elmansyah, FT UI, 2013
3.3.3 Membangun Sistem Middleware Middleware adalah sebuah mekanisme untuk mengintegrasikan perangkat lunak yang terpasang pada Android dengan database yang berada di server. Middleware dipasang disisi server yang berfungsi melakukan query untuk merespon permintaan pengguna di Internet dan mengambil data di dalam database sehingga data dapat ditampilkan pada perangkat mobile. Middleware dirancang menggunakan bahasa pemrograman PHP. 3.3.4 Implementasi Web based Interface Menggunakan Moodle. Moodle merupakan aplikasi e-learning berbasis Web. Moodle bebas digunakan oleh siapapun untuk mendukung proses e-learning di sekolah, kampus maupun organisasi. Moodle dapat diakses menggunakan browser yang terpasang pada perangkat komputer seperti internet explorer, mozila firefox, google chrome dan aplikasi browser lainnya. Dalam penelitian ini Moodle dimanfaatkan sebagai sistem untuk menangani fungsi aplikasi berbasis Web, dimana setiap siswa dan pengajar selain dapat menggunakan aplikasi khusus yang dirancang dalam penelitian ini, para siswa dan pengejar dapat menggunakan aplikasi browser untuk mengakses sistem kelas pengajaran BYOD. 3.4
Pengujian Program Pada bagian ini akan dijelaskan mengenai skenario pengujian sistem kelas
pengajaran BYOD berbasis cloud computing menggunakan teknologi smartphone. Skenario yang digunakan dalam pengujian antara lain: a) Pengujian Fungsional Pengujian fungsional merupakan pengujian tampilan program yang dirancang. Pengujian ini dilakukan dengan tujuan untuk memastikan bahwa setiap menu dan fitur yang terdapat pada aplikasi perangkat lunak dan cloud computing dapat berjalan normal sesuai dengan prosedur penelitian. b) Pengujian Berbasis User Acceptance Test Pengujian Berbasis User Acceptance Test merupakan pengujian yang berkaitan dengan kemudahan penggunaan aplikasi. Pengujian ini dilakukan dengan tujuan untuk memastikan kemudahan penggunaan setiap
Pengembangan dan..., Elmansyah, FT UI, 2013
fitur yang telah disediakan didalam aplikasi yang dirancang. Pengujian dilakukan dengan subjektif menggunakan metode crowdsourcing yaitu mengumpulkan pengguna secara sukarela untuk melakukan tes atau pengujian. Pengguna diajak untuk melakukan pemasangan perangkat lunak pada perangkat mereka masing-masing dan menjelajahi semua fitur yang terdapat pada aplikasi yang dirancang. Setelah itu, pengguna diminta untuk menjawab kuesioner yang sudah disiapkan. Tujuan pengisian kuesioner adalah untuk mengetahui kepuasan pengguna terhadap kinerja aplikasi perangkat lunak kelas pengajaran BYOD berbasis cloud computing menggunakan teknologi smartphone. c) Evaluasi Berbasis Unjuk Kerja Sistem Evaluasi berbasis unjuk kerja sistem merupakan pengujian yang terkait dengan unjuk kerja sistem yang dirancang. Skenario yang digunakan dalam pengujian sistem adalah mengukur kinerja server dalam pengaruh peningkatan jumlah pengguna dalam mengakses sistem. Selain itu juga akan di ukur load trafik jaringan yang masuk pada sistem kelas pengajaran BYOD, hal ini bertujuan untuk mengatasi ketersediaan bandwidth yang terdapat pada sistem kelas pengajaran BYOD. Terakhir diuji kemampuan sistem dalam memproses aplikasi ketika kondisi load tinggi. Dalam hal ini akan dilakukan menggunakan tiga skenario. Skenario pertama adalah mengkoneksikan pengguna sebanyak lima orang, skenario kedua adalah mengoneksikan pengguna sebanyak lima belas orang, skenario ketiga adalah mengoneksikan pengguna sebanyak tiga puluh satu orang berbarengan.
Pengembangan dan..., Elmansyah, FT UI, 2013
BAB IV HASIL PERANCANGAN DAN ANALISA KINERJA
4.1
Hasil Perancangan dan Pengujian Fungsional Aplikasi Perangkat Lunak Berbasis Android Untuk memastikan semua fitur yang terdapat pada perangkat lunak dapat
berjalan dengan baik maka aplikasi tersebut perlu diuji coba. Pengujian dilakukan dengan cara memasang perangkat lunak pada setiap perangkat mobile smartphone berbasis Android dengan cara mencoba semua menu dan fitur yang terdapat pada aplikasi. 4.1.1 Tampilan Login
Gambar 4.1 Tampilan Login
Pengembangan dan..., Elmansyah, FT UI, 2013
4.1.2 Tampilan Halaman Utama
Gambar 4.2 Tampilan Halaman Utama 4.1.3 Tampilan Daftar Mata Kuliah
Gambar 4.3 Tampilan Daftar Mata Kuliah
Pengembangan dan..., Elmansyah, FT UI, 2013
4.1.4 Tampilan Daftar Materi Kuliah
Gambar 4.4 Tampilan Daftar Materi Kuliah 4.1.5 Tampilan Detail Pembahasan Isi Materi Kuliah
Gambar 4.5 Tampilan Detail Pembahasan Isi Materi Kuliah
Pengembangan dan..., Elmansyah, FT UI, 2013
4.1.6 Tampilan Aksi Menu Menjawab Tugas
Gambar 4.6 Tampilan Menu Aksi Menjawab Tugas 4.1.6 Tampilan Halaman Daftar Tugas Mata Kuliah
Gambar 4.7 Tampilan Halaman Daftar Tugas Mata Kuliah
Pengembangan dan..., Elmansyah, FT UI, 2013
4.1.8 Tampilan Halaman Tugas Materi Kuliah
Gambar 4.8 Tampilan Halaman Tugas Materi Kuliah 4.1.9 Tampilan Halaman Kolom Menjawab Tugas
Gambar 4.9 Tampilan Kolom Menjawab Tugas
Pengembangan dan..., Elmansyah, FT UI, 2013
4.1.10 Tampilan Fungsi Unggah File
Gambar 4.10 Tampilan Halaman Jawab Tugas Dalam Bentuk Unggah File 4.1.11 Tampilan Halaman Daftar Mata Kuliah Untuk Fungsi Update Jawaban Tugas Yang Telah Diisi Sebelumnya
Gambar 4.11 Tampilan Halaman Daftar Mata Kuliah Untuk Fungsi Update Jawaban Tugas.
Pengembangan dan..., Elmansyah, FT UI, 2013
4.1.12 Tampilan Halaman Daftar Materi Kuliah Untuk Fungsi Update Jawaban Tugas Yang Telah Diisi Sebelumnya
Gambar 4.12 Tampilan Halaman Update Jawaban Tugas Materi Kuliah 4.1.13 Tampilan Halaman Kolom Update Jawab Tugas
Gambar 4.13 Tampilan Halaman Kolom Update Jawab Tugas
Pengembangan dan..., Elmansyah, FT UI, 2013
4.1.14 Tampilan Halaman Menu Melihat Nilai
Gambar 4.14 Tampilan Halaman Menu Melihat Nilai 4.1.15 Tampilan Halaman Daftar Materi Kuliah Untuk Melihat Isi Nilai
Gambar 4.15 Tampilan Halaman Daftar Materi Kuliah Untuk Melihat Isi Nilai .
Pengembangan dan..., Elmansyah, FT UI, 2013
4.1.16 Tampilan Detail Isi Nilai
Gambar 4.16 Tampilan Detail Isi Nilai 4.1.17 Tampilan Daftar Mata Kuliah Untuk Fungsi Menu Unduh File
Gambar 4.17 Tampilan Daftar Mata Kuliah Untuk Fungsi Unduh File
Pengembangan dan..., Elmansyah, FT UI, 2013
.4.1.18 Tampilan Daftar Materi Kuliah Untuk Fungsi Unduh File
Gambar 4.18 Tampilan Daftar Materi Kuliah Untuk Fungsi Unduh File 4.1.19 Tampilan Halaman Untuk Menampilkan Link Unduh File
Gambar 4.19 Tampilan Halaman Untuk Menampilkan Link Unduh File
Pengembangan dan..., Elmansyah, FT UI, 2013
4.1.20 Tampilan Fungsi Menu Info
Gambar 4.20 Tampilan Fungsi Info. 4.1.21 Tampilan Detail Isi Fungsi Info
Gambar 4.21 Tampilan Detail Isi Fungsi Info
Pengembangan dan..., Elmansyah, FT UI, 2013
4.1.22 Tampilan Menu About
Gambar 4.22 Tampilan Menu About 4.2
Hasil Perancangan dan Pengujian Fungsional Cloud Computing Cloud computing diuji coba agar sistem dapat berjalan dengan baik.
Berikut hasil pengujian sistem cloud computing: 4.2.1 Hasil Pengujian Fungsional Sistem Antarmuka Web Eucalyptus
Gambar 4.23 Web Antarmuka Eucalyptus Web antarmuka Eucalyptus merupakan sistem dashboard yang dapat digunakan untuk mengontrol aktifitas cloud computing menggunakan aplikasi berbasis Web. Didalam sistem dashboard ini, administrator dapat melakukan
Pengembangan dan..., Elmansyah, FT UI, 2013
create user, memantau service component cloud computing, membuat grup, melihat isi virtual mesin dan melihat lock report yang berfungsi memantau catatan aktifitas yang terdapat pada cloud computing. 4.2.2 Hasil Pengujian Fungsional Service Component Cloud Computing
Gambar 4.24 Hasil Pengujian Fungsional Component Cloud Computing Gambar 4.25 merupakan Web dashboard dimana administrator dapat melihat komponen-komponen yang terapat pada cloud computing seperti cloud controller, cluster controller dan storage controller (walrus). 4.3
Hasil evaluasi dan analisa kinerja perangkat lunak Berbasis User Acceptance Test Evaluasi dan analisa kinerja perangkat lunak diuji dengan menggunakan
metode crowdsourcing. Metode crowdsourcing digunakan untuk mengumpulkan berbagai macam pengguna dari latar belakang dan kebiasaan yang berbeda untuk melakukan pengujian. Aplikasi perangkat lunak dipasang pada setiap perangkat smartphones Android. Para pengguna mencoba setiap menu dan fitur yang terdapat pada aplikasi yang dirancang, setelah itu mereka diminta untuk menjawab setiap pertanyaan kuisioner yang telah disediakan.
Pengembangan dan..., Elmansyah, FT UI, 2013
Pengujian sistem berbasis user acceptance test dibagi menjadi tiga kategori yaitu: 1. Pengujian kategori performance aplikasi 2. Pengujian kategori kemudahan aplikasi 3. Pangujian kategori bentuk tampilan aplikasi. Tabel 4.1 merupakan bobot penilaian Mean Opinion Score (MOS) yang digunakan: Tabel 4.1 Mean Opinion Score MOS
Keterangan
Bobot Nilai
SS
Sangat Setuju
5
S
Setuju
4
KS
Kurang Setuju
3
TS
Tidak Setuju
2
TT
Tidak Tahu
1
Hasil penilaian berdasarkan pada masing-masing survey secara subjektif sejumlah 31 responden. 4.3.1 MOS Pengujian Performance Aplikasi Tabel 4.2 Hasil Jawaban Kuisioner Kategori Performance Aplikasi No.
Pertanyaan
SS
S
KS
TS
TT
1.
Aplikasi kelas pengajaran BYOD mudah
14
16
5
19
5
1
1
6
8
6
8
3
6
11
10
3
1
3
14
8
3
3
1
diinstal pada smartphone android 2.
Akses login cepat pada aplikasi kelas pengajaran BYOD
3.
Tidak pernah terjadi gangguan (error) pada aplikasi kelas pengajaran BYOD (misal: hang, force close, dll)
4.
Waktu mengakses tiap fitur pada aplikasi kelas pengajaran BYOD cepat dan stabil
5.
Waktu mengupload tugas melalui aplikasi Kelas Pengajaran BYOD cepat dan stabil
Pengembangan dan..., Elmansyah, FT UI, 2013
6.
Waktu
mendownload
tugas
melalui
4
11
12
1
3
aplikasi kelas pengajaran BYOD cepat dan stabil Perhitungan MOS pada kategori performance aplikasi: 1. MOS kemudahan instalasi =
(1 0) + (2 1) + (3 0) + (4 16) + (5 14) = 4.38 31
2. MOS akses login cepat
(1 1) + (2 1) + (3 5) + (4 19) + (5 5) = 3.84 31
=
3. MOS tidak ada gangguan =
(1 3) + (2 8) + (3 6) + (4 8) + (5 6) = 3.19 31
4. MOS akses cepat dan stabil =
(1 1) + (2 3) + (3 10) + (4 11) + (5 6) = 3.58 31
5. MOS akses kecepatan upload file =
(1 3) + (2 3) + (3 8) + (4 14) + (5 3) = 3.35 31
6. MOS kecepatan download file =
(1 3) + (2 1) + (3 12) + (4 11) + (5 4) = 3.35 31
Hasil grafik yang didapatkan pada perhitungan MOS kategori performance ditunjukan pada Gambar 4.25
Pengembangan dan..., Elmansyah, FT UI, 2013
Grafik MOS Kategori Performance Sistem 4.5 4 3.5 3 2.5 2 1.5 1 0.5 0
Nilai
Gambar 4.25 Hasil Grafik Data MOS Pada Kategori Performance Aplikasi. Dari hasil analisa pengujian sistem berbasis user acceptance test pada kategori performance aplikasi yang ditunjukan pada Gambar 4.25, didapatkan hasil sebagai berikut: 1. 64% responden menyatakan bahwa aplikasi mudah digunakan 2. 77% responden menyatakan bahwa akses login pada sistem tidak adanya delay yang siginifikan. 3. 54% responden menyatakan bahwa tidak adanya gangguan yang terdapat pada sistem. 4. 55% responden menyatakan sistem stabil 5. 55% responden menyatakan bahwa fungsi unggah file pada sistem stabil 6. 47% responden menyatakan bahwa akses unduh file cepat dan stabil 4.3.2 MOS Pengujian Kategori Kemudahan Sistem Tabel 4.3 Hasil Jawaban Kuisioner Kemudahan Sistem No. 1.
Pertanyaan Mudah memahami aplikasi Kelas Pengajaran
SS (5) 8
S KS (4) (3) 17 6
TS (2)
8
17
1
BYOD melalui fitur “tentang BYOD” 2.
Seluruh fungsi fitur (materi, tugas, nilai, dll) pada aplikasi Kelas Pengajaran BYOD bermanfaat
Pengembangan dan..., Elmansyah, FT UI, 2013
5
TT (1)
3.
Fitur pada Aplikasi Kelas Pengajaran BYOD
1
13
15
2
4
16
15
2
6
17
6
2
5
22
4
sudah lengkap dan memenuhi spesifikasi 4.
Aplikasi Kelas Pengajaran BYOD menarik untuk digunakan
5.
Aplikasi Kelas Pengajaran BYOD layak digunakan sebagai alternatif sistem pembelajaran
6.
Aplikasi Kelas Pengajaran BYOD mudah dijalankan/dioperasikan (user-friendly)
Perhitungan MOS pada kategori kemudahan sistem: 1. Perhitungan MOS sistem mudah dipahami =
(1 0) + (2 0) + (3 6) + (4 17) + (5 8) = 4.06 31
2. Perhitungan MOS manfaat sistem =
(1 0) + (2 1) + (3 5) + (4 17) + (5 8) = 4.03 31
3. Perhitungan MOS kelengkapan fitur sistem =
(1 0) + (2 2) + (3 15) + (4 13) + (5 1) = 3.42 31
4. Perhitungan MOS sistem menarik digunakan =
(1 0) + (2 2) + (3 15) + (4 16) + (5 4) = 3.70 31
5. Perhitungan MOS sistem layak digunakan =
(1 0) + (2 6) + (3 6) + (4 17) + (5 6) = 3.87 31
6. Perhitungan MOS sistem mudah di operasikan =
(1 0) + (2 0) + (3 4) + (4 22) + (5 5) = 3.29 31
Hasil grafik yang didapatkan pada perhitungan MOS kategori kemudahan aplikasi ditunjukan pada Gambar 4.26
Pengembangan dan..., Elmansyah, FT UI, 2013
Grafik MOS kategori Kemudahan Sistem 4.5 4 3.5 3 2.5 2 1.5 1 0.5 0
bobot
Gambar 4.26 Grafik Perhitungan Kemudahan Penggunaan Aplikasi Dari hasil analisa pengujian sistem berbasis user acceptance test pada kategori kemudahan aplikasi yang ditunjukan pada Gambar 4.26, didapatkan hasil sebagai berikut: 1. 81% responden menyatakan bahwa sistem mudah dipahami 2. 81% responden menyatakan bahwa sistem bermanfaat 3. 45% responden menyatakan bahwa fasilitas fitur yang terdapat pada sistem sudah lengkap 4. 65% responden menyatakan bahwa sistem menarik digunakan 5. 75% responden menyatakan bahwa sistem layak digunakan 6. 86% responden menyatakan bahwa sistem mudah di gunakan 4.3.3 MOS Pengujian Kategori Tampilan Aplikasi Tabel 4.4 Hasil Jawaban Kuisioner Tampilan Aplikasi No. 1.
Pertanyaan
SS (5) Tampilan (user interface) pada aplikasi Kelas 2
S (4) 13
KS (3) 13
TS (2) 3
15
13
1
Pengajaran BYOD interaktif 2.
Tampilan fitur pada aplikasi Kelas Pengajaran 2 BYOD sudah proporsional
Pengembangan dan..., Elmansyah, FT UI, 2013
TT (1)
3.
Tampilan pada aplikasi Kelas Pengajaran 3
14
12
BYOD menarik
Perhitungan MOS pada pengujian tampilan aplikasi: 1. Perhitungan MOS tampilan interaktif =
(1 0) + (2 3) + (3 13) + (4 13) + (5 2) = 3.45 31
2. Perhitungan MOS manfaat sistem =
(1 0) + (2 1) + (3 13) + (4 15) + (5 2) = 3.58 31
3. Perhitungan MOS kelengkapan fitur aplikasi =
(1 0) + (2 0) + (3 12) + (4 14) + (5 3) = 3.58 31
Hasil grafik yang didapatkan pada perhitungan MOS kategori tampilan aplikasi ditunjukan pada Gambar 4.27.
Grafik MOS Kategori Tampilan 3.6 3.55 3.5 Nilai
3.45 3.4 3.35 Tampilan Interaktif
Tampilan Proporsional
Tampilan Menarik
Gambar 4.27 Grafik Perhitungan Tampilan Aplikasi Dari hasil analisa pengujian sistem berbasis user acceptance test pada kategori tampilan aplikasi yang ditunjukan pada Gambar 4.27, didapatkan hasil sebagai berikut: 1. 47% responden menyatakan bahwa tampilan interaktif untuk digunakan 2. 55% responden menyatakan bahwa tampilan proporsional 3. 55% responden menyatakan bahwa tampilan menarik
Pengembangan dan..., Elmansyah, FT UI, 2013
4.4
Hasil Evaluasi Berbasis Unjuk Kerja Sistem Pengujian evaluasi berbasis unjuk kerja sistem dilakukan dengan
mengukur kinerja beban server dalam melayani sejumlah pengguna. Pengukuran kinerja server dibatasi hanya pada pengukuran beban load CPU, memori, dan trafik jaringan pada sistem kelas pengajaran BYOD. Pengujian dilakukan dengan menggunakan tiga skenario, yaitu: 4.4.1 Skenario Pertama Pengujian skenario pertama dilakukan dengan mengoneksikan aplikasi perangkat lunak kepada lima orang pengguna. Para pengguna mengakses menu dan fitur untuk melihat konten materi yang tersedia dalam sistem kelas pengajaran BYOD. Dari hasil pengujian beban load CPU, memori dan trafik jaringan, didapatkan hasil pengujian sebagai berikut: 1. Hasil pengujian beban load CPU dan memori mesin cloud computing pada skenario pertama.
Gambar 4.28 Load CPU dan Memori Mesin Cloud Computing Pada Pengujian Skenario Pertama Gambar 4.28 menunjukan hasil pengujian pada skenario pertama, dimana beban load CPU mesin cloud computing sebesar 17.6%. CPU menjalankan 342 pemrosesan perangkat lunak Eucalyptus. Sedangkan beban load memori yang terpakai adalah 77%.
2. Hasil pengujian beban Load CPU dan memori mesin virtual Web server pada skenario pertama.
Gambar 4.29 Load CPU dan Memori Mesin Virtual Web Server Pada Skenario Pertama
Pengembangan dan..., Elmansyah, FT UI, 2013
Gambar 4.29 menunjukan hasil pengujian pada skenario pertama, dimana beban load CPU mesin virtual Web server adalah 35.7%. CPU menjalankan 78 pemrosesan perangkat lunak Apache. Sedangkan beban load memori yang terpakai adalah 78%. 3. Load Trafik jaringan yang masuk dan keluar pada pengujian pertama.
Gambar 4.30 Load Trafik Jaringan Yang Masuk dan Keluar Pada Pengujian Skenario Pertama Gambar 4.30 menunjukan hasil pengujian trafik jaringan yang masuk (incoming-traffic) dan keluar (outgoing traffic). Trafik jaringan yang masuk pada sistem adalah 216.11 kbit/s, trafik rata-rata yang masuk adalah 244.91 kbit/s, nilai minimum trafik yang masuk adalah 18.46 kbit/s, nilai maksimum trafik yang masuk adalah 315.18 kbit/s. Total trafik yang masuk adalah 2.63 GByte. Sedangkan Trafik jaringan yang keluar (outgoing-traffic) pada pengujian skenario pertama adalah 853.54 kbit/s, trafik rata-rata yang keluar adalah 1.02 Mbit/s, nilai minimum trafik yang keluar adalah 709.44 kbit/s, nilai maksimum trafik yang keluar adalah 3.10 Mbit/s. Total trafik yang keluar pada sistem adalah 10.07 GByte. Pengukuran trafik jaringan yang masuk maupun keluar pada pengujian skenario pertama diukur secara komulatif keseluruhan host yang terkoneksi kedalam sistem kelas pengajaran BYOD.
Pengembangan dan..., Elmansyah, FT UI, 2013
4.4.2 Skenario Kedua Pengujian skenario kedua dilakukan dengan mengoneksikan aplikasi perangkat lunak kepada lima belas orang pengguna. Para pengguna mengakses menu dan fitur yang terdapat pada sistem kelas pengajaran BYOD. Dari hasil pengujian beban load CPU, memori dan trafik jaringan, didapatkan hasil pengujian sebagai berikut: 1. Load CPU dan memori mesin cloud computing pada skenario kedua
Gambar 4.31 Load CPU dan Memori Mesin Cloud Computing Pada Skenario Kedua Gambar 4.31 menunjukan hasil pengujian pada skenario kedua, dimana beban load CPU mesin cloud computing sebesar 21.5%. CPU menjalankan 356 pemrosesan perangkat lunak Eucalyptus. Sedangkan beban load memori yang terpakai adalah 63%. 2. Load CPU dan memori pada mesin virtual Web server pada skenario kedua
Gambar 4.32 Loud CPU dan memori Mesin Virtual Web Server Pada Skenario Kedua Gambar 4.32 menunjukan hasil pengujian skenario kedua, dimana beban load CPU mesin virtual Web server adalah 41.8%. CPU menjalankan 89 pemrosesan perangkat lunak Apache. Sedangkan beban load memori yang terpakai adalah 87%.
Pengembangan dan..., Elmansyah, FT UI, 2013
3. Load Trafik jaringan yang masuk dan keluar pada pengujian kedua
Gambar 4.33 Load Trafik Jaringan Yang Masuk dan Keluar Pada Skenario Pengujian Kedua. Gambar 4.33 menunjukan hasil pengujian trafik jaringan yang masuk (incoming-traffic) dan keluar (outgoing traffic). Trafik jaringan yang masuk pada sistem adalah 223.80 kbit/s, trafik rata-rata yang masuk adalah 147.03 kbit/s, nilai minimum trafik yang masuk adalah 1.02 kbit/s, nilai maksimum trafik yang masuk adalah 501.59 kbit/s. Total trafik yang masuk pada sistem adalah 2.68 GByte. Sedangkan Trafik jaringan yang keluar (outgoing-traffic) pada pengujian skenario kedua adalah 897.45 kbit/s, trafik rata-rata yang keluar adalah 922.69 kbit/s, nilai minimum trafik yang keluar adalah 7.98 kbit/s, nilai maksimum trafik yang keluar adalah 5.23 Mbit/s. Total trafik yang keluar pada sistem adalah 10.07 GByte. Pengukuran trafik jaringan yang masuk maupun keluar pada pengujian skenario kedua diukur secara komulatif keseluruhan host yang terkoneksi kedalam sistem kelas pengajaran BYOD. 4.4.3 Skenario Ketiga Pengujian skenario kedua dilakukan dengan mengoneksikan aplikasi perangkat lunak kepada tiga puluh satu orang pengguna. Para pengguna
Pengembangan dan..., Elmansyah, FT UI, 2013
mengakses menu dan fitur yang terdapat pada sistem kelas pengajaran BYOD. Dari hasil pengujian beban load CPU, memori dan trafik jaringan, didapatkan hasil pengujian sebagai berikut: 1. Load CPU dan memori mesin cloud computing pada skenario ketiga.
Gambar 4.34 Load CPU dan Memori Mesin Cloud Computing Pada Skenario Ketiga Gambar 4.34 menunjukan hasil pengujian pada skenario ketiga, dimana beban load CPU mesin cloud computing sebesar 19.9%. CPU menjalankan 357 pemrosesan perangkat lunak Eucalyptus. Sedangkan beban load memori yang terpakai adalah 65%. 2. Load CPU dan memori mesin virtual Web server pada skenario ketiga.
Gambar 4.35 Load CPU dan memori Mesin Virtual Web Server Pada Skenario Ketiga Gambar 4.35 menunjukan hasil pengujian pada skenario ketiga, dimana beban load CPU mesin virtual Web server adalah 44.8%. CPU menjalankan 89 pemrosesan perangkat lunak Apache. Sedangkan beban load memori yang terpakai adalah 87%.
Pengembangan dan..., Elmansyah, FT UI, 2013
3. Load Trafik jaringan yang masuk dan keluar pada skenario pengujian ketiga.
Gambar 4.36 Load Trafik Jaringan Yang Masuk dan Keluar Pada Skenario Pengujian Ketiga. Gambar 4.36 menunjukan hasil pengujian trafik jaringan yang masuk (incoming-traffic) dan keluar (outgoing traffic). Trafik jaringan yang masuk pada sistem adalah 226.57 kbit/s, trafik rata-rata yang masuk adalah 84.22 kbit/s, nilai minimum trafik yang masuk adalah 1.02 kbit/s, nilai maksimum trafik yang masuk adalah 501.59 kbit/s. Total trafik yang masuk pada sistem adalah 2.67 GByte. Sedangkan Trafik jaringan yang keluar (outgoing-traffic) pada pengujian skenario ketiga adalah 909.97 kbit/s, trafik rata-rata yang keluar adalah 542.61 kbit/s, nilai minimum trafik yang keluar adalah 7.98 kbit/s, nilai maksimum trafik yang keluar adalah 5.23 Mbit/s. Total trafik yang keluar pada sistem adalah 10.29 GByte. Pengukuran trafik jaringan yang masuk maupun keluar pada pengujian skenario ketiga diukur secara komulatif keseluruhan host yang terkoneksi kedalam sistem kelas pengajaran BYOD. Dari hasil pengamatan pada masing-masing pengujian sistem kelas pengajaran BYOD. Didapatkan hasil pengujian bahwa beban CPU pada mesin cloud computing tidak dipengaruhi oleh peningkatan jumlah pengguna yang
Pengembangan dan..., Elmansyah, FT UI, 2013
mengakses sistem kelas pengajaran BYOD. Beban CPU pada server cloud computing hanya dipengaruhi oleh beban perangkat lunak Eucalyptus. Sedangkan pada mesin virtual Web server, peningkatan jumlah pengguna mempengaruhi beban CPU. Dari ketiga pengamatan dengan membandingkan masing-masing beban CPU pada masing-masing server ditunjukan pada grafik Gambar 4.37. 90% 80% 70% 60% 50%
Mesin Cloud Computing
40%
Mesin VM Web Server
30% 20% 10% 0% Skenario 1 Skenario 2 Skenario 3
Gambar 4.37 Grafik Hasil Analisa Load CPU Mesin Cloud Computing dan Web Server Sedangkan hasil analisa grafik beban memori pada masing-masing pengujian ditunjukan pada Gambar 4.38. Masing-masing mesin cloud computing dan mesin virtual Web server tidak dipengaruhi oleh peningkatan jumlah pengguna. Beban memori hanya dipengaruhi oleh perangkat lunak Eucalyptus pada mesin cloud computing dan Apache pada mesin virtual Web server.
Pengembangan dan..., Elmansyah, FT UI, 2013
90% 80% 70% 60% 50%
Mesin Cloud Computing
40%
Mesin VM Web Server
30% 20% 10% 0% Skenario 1
Skenario 2
Skenario 3
Gambar 4.38 Grafik Load Memori Mesin Cloud Computing dan Web Server Hasil
analisa trafik yang dihasilkan pada masing-masing pengujian
ditunjukan pada Gambar 4.41. Peningkatan jumlah pengguna mempengaruhi trafik jaringan yang masuk maupun keluar pada sistem kelas pengajaran BYOD.
1000 900 800 700 600 500 400 300 200 100 0
Incoming (kbit/s) Outgoing (kbit/s)
Skenario Pertama
Skenario Kedua
Skenario Ketiga
Gambar 4.39 Grafik Load Trafik Jaringan Pada Masing-Masing Skenario Pengujian
Pengembangan dan..., Elmansyah, FT UI, 2013
BAB V KESIMPULAN Dari hasil penelitian membangun sistem kelas pengajaran BYOD berbasis cloud computing menggunakan teknologi smartphone dapat ditarik kesimpulan sebagai berikut: 1. Sistem kelas pengajaran BYOD berbasis cloud computing menggunakan teknologi smartphone dapat digunakan sebagai salah satu alternatif dalam proses belajar mengajar. 2. Sistem kelas pengajaran BYOD berbasis cloud computing menggunakan teknologi smartphone dapat menjadi solusi alternatif untuk menghemat sumber daya server dengan menggunakan teknologi cloud computing, dimana sumber daya server disediakan dalam bentuk virtualisasi. 3. 86% menyetujui bahwa sistem mudah digunakan. 4. Peningkatan jumlah pengguna saat mengakses sistem kelas pengajaran BYOD tidak mempengaruhi kinerja sistem cloud computing. Kinerja sistem cloud computing hanya dipengaruhi oleh jumlah mesin virtual yang berjalan pada mesin cloud computing tersebut. Semakin banyak mesin virtual yang berjalan pada cloud computing, maka beban server bertambah. 5. Peningkatan jumlah pengguna hanya mempengaruhi mesin virtual Web
server. Saat pengguna berjumlah lima orang beban mesin virtual Web server adalah 36%. Saat pengguna berjumlah lima belas orang beban mesin virtual Web server adalah 42%. Saat pengguna berjumlah tiga puluh satu orang beban mesin virtual Web server adalah 45%
Pengembangan dan..., Elmansyah, FT UI, 2013
DAFTAR ACUAN [1]
Alberta Education., “Bring Your Own Device: a Guide for School”, Province of Alberta: School Technology Brand, Available at: http://education.alberta.ca/admin/technology/research.aspx, 2012
[2]
Longzhao Zhong; Beizhan Wang; Haifang Wei;, "Cloud computing applied in the mobile Internet," Computer Science & Education (ICCSE), 2012 7th International Conference on , vol., no., pp.218-221, 14-17 July 2012
[3]
Kulkarni, G.; Gambhir, J.; Patil, T.; Dongare, A.;, "A Security Aspects in Cloud Computing," Software Engineering and Service Science (ICSESS), 2012 IEEE 3rd International Conference on, vol., no., pp. 547-550, 22-24 June 2012
[4]
Xiaoli Li; Jinhua Chen; Min Luo;, "A Simple Security Model Based on Cloud Reference Model," Distributed Computing and Applications to Business, Engineering and Science (DCABES), 2011 Tenth International Symposium on, vol., no., pp. 155-159, 14-17 Oct. 2011
[5]
Ghazizadeh, A.;, "Cloud Computing Benefits and Architecture in ELearning," Wireless, Mobile and Ubiquitous Technology in Education (WMUTE), 2012 IEEE Seventh International Conference on, vol., no., pp. 199-201, 27-30 March 2012
[6]
Cloud Security Alliance; “Security Guidance for Critical Areas of Focus in Cloud Computing”; Security Guidance for Critical Areas of Focus in Cloud Computing V2.1; originally released in April 2009
[7]
Dejan Kovachev; Yiwei Cao; Ralf Klamma;, “Mobile Cloud Computing: A Comparison of Application Models” Information Systems & Database Technologies RWTH Aachen University, CoRR, Vol. abs/1107.4940, Submitted on 25 Jul 2011
Pengembangan dan..., Elmansyah, FT UI, 2013
[8]
Hoang T. Dinh; Chonho Lee; Dusit Niyato; Ping Wang;, “A Survey of Mobile Cloud Computing: Architecture, Applications, and Approaches” Journal of Wiley Wireless Communications and Mobile Computing (WCMC), pp. 1-38, October 2011
[9]
Weiguang
Song;
Xiaolong
Su;,
"Review
of
Mobile
Cloud
Computing," Communication Software and Networks (ICCSN), 2011 IEEE 3rd International Conference on vol., no., pp. 1-4, 27-29 May 2011 [10]
Lei Yang; Jiannong Cao; Shaojie Tang; Tao Li; Alvin T. S. Chan;, “A Framework for Partitioning and Execution of Data Stream Applications in Mobile Cloud Computing” Cloud Computing (Cloud), 2012 IEEE 5TH International Conference on, vol., no., pp. 794-802, 24-29 June 2012
[11]
Barry J. Holmes; Daniel T. Joyce;, “Object Oriented Programming with Java”: Jones and Bartlett Publisher, 2011
[12]
Bambang. Hariyanto,; “Esensi-esensi Bahasa Pemrograman Java: Disertai Lebih Dari 100 Contoh Program”; Bandung: Informatika; 2003.
[13]
C. Thomas Wu;, “A Comprehensive Introduction to Object-Oriented Programming with Java”, McGraw-Hill, 2008
[14]
J. Debaish,; “Java and Object-oriented Programming Paradigm”; New Delhi: Prentice-Hall of India Private Limited; 2005
[15]
R. Buyya; S. Thamarai Selvi; X. Chu;, “Object-oriented Programming With Java: essentials and application”; New Delhi: Tata Mc Graw Hill Publishing Company Ltd.; 2009
[16]
Nazruddin Safaat,; “Pemrograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android”, Informatika Bandung, April 2012
[17]
Piamrat, K.; Ksentini, A.; Viho, C.; Bonnin, J.-M.;, "QoE-Aware Admission Control for Multimedia Applications in IEEE 802.11 Wireless Networks," Vehicular Technology Conference, 2008. VTC 2008-Fall. IEEE 68th , vol., no., pp.1-5, 21-24 Sept. 2008
Pengembangan dan..., Elmansyah, FT UI, 2013
[18]
Hobfeld, T.; Schatz, R.; Varela, M.; Timmerer, C.;, "Challenges of QoE management for cloud applications," Communications Magazine, IEEE , vol.50, no.4, pp.28-36, April 2012
[19]
Mushtaq, M.S.; Augustin, B.; Mellouk, A.;, "Empirical study based on machine learning approach to assess the QoS/QoE correlation," Networks and Optical Communications (NOC), 2012 17th European Conference on , vol., no., pp.1-7, 20-22 June 2012
[20]
Gardlo, B.; Ries, M.; Hossfeld, T.;, "Impact of screening technique on crowdsourcing
QoE
assessments" Radioelektronika
(RADIOELEKTRONIKA), 2012 22nd International Conference, vol., no., pp.1-4, 17-18 April 2012.
Pengembangan dan..., Elmansyah, FT UI, 2013
LAMPIRAN Lampiran 1. Kuesioner Untuk Aplikasi Kelas Pengajaran BYOD Identitas Pribadi 1. 2. 3. 4.
Nama Jenis Kelamin Umur Pekerjaan
: : : :
Instruksi Silahkan mengisi pertanyaan-pertanyaan yang ada dibawah ini sesuai dengan pendapat Anda. Tandai pilihan Anda dengan member tanda silang (X) pada kolom yang disediakan. Kuesioner ini hanya dapat diisi oleh pengguna yang sudah memasang aplikasi kelas pengajaran BYOD di Android. Selamat mengisi. Keterangan: MOS
Keterangan
Nilai
SS
Sangat Setuju
5
S
Setuju
4
KS
Kurang Setuju
3
TS
Tidak Setuju
2
TT
Tidak Tahu
1
No.
Pertanyaan
SS
Kecepatan dan Kestabilan (Performance) 1.
Aplikasi Kelas Pengajaran BYOD mudah diinstal pada smartphone android
2.
Akses login cepat pada aplikasi Kelas Pengajaran BYOD
3.
Tidak pernah terjadi gangguan (error) pada aplikasi Kelas Pengajaran BYOD (misal: hang, force close, dll)
4.
Waktu mengakses tiap fitur pada aplikasi
Pengembangan dan..., Elmansyah, FT UI, 2013
S
KS
TS
TT
Kelas Pengajaran BYOD cepat dan stabil 5.
Waktu mengupload tugas melalui aplikasi Kelas Pengajaran BYOD cepat dan stabil
6.
Waktu mendownload tugas melalui aplikasi Kelas Pengajaran BYOD cepat dan stabil Kemudahan Pengguna
7.
Mudah memahami aplikasi Kelas Pengajaran BYOD melalui fitur “tentang BYOD”
8.
Seluruh fungsi fitur (materi, tugas, nilai, dll) pada
aplikasi
Kelas
Pengajaran
BYOD
bermanfaat 9.
Fitur pada Aplikasi Kelas Pengajaran BYOD sudah lengkap dan memenuhi spesifikasi
10.
Aplikasi Kelas Pengajaran BYOD menarik untuk digunakan
11.
Aplikasi Kelas Pengajaran BYOD layak digunakan
sebagai
alternatif
sistem
pembelajaran 12.
Aplikasi Kelas Pengajaran BYOD mudah dijalankan/dioperasikan (user-friendly) Tampilan
13.
Tampilan (user interface) pada aplikasi Kelas Pengajaran BYOD interaktif
14.
Tampilan fitur pada aplikasi Kelas Pengajaran BYOD sudah proporsional
15.
Tampilan pada aplikasi Kelas Pengajaran BYOD menarik
Saran: …Terima Kasih…
Pengembangan dan..., Elmansyah, FT UI, 2013