PERANCANGAN APLIKASI TUTORIAL MENGKONFIGURASI SERVER UBUNTU BERBASIS ANDROID
NASKAH PUBLIKASI
diajukan oleh
Pemula Budi Akbar 10.11.4536
kepada SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA YOGYAKARTA 2014
ii
The Development of Learning Software of Tutorial to Configure Ubuntu DNS Server Based on Android
Perancangan Aplikasi Tutorial Mengkonfigurasi Server DNS Ubuntu Berbasis Android Pemula Budi Akbar Sudarmawan, MT Jurusan Teknik Informatika STMIK AMIKOM YOGYAKARTA
ABSTRACT Until today, learning material about how to configure Linux server based on Ubuntu Operating System is still reserved in book or computer file medium. The learning material in computer file is feels good if read with desktop application, but it’s will fel uncomfortable if we read with mobile application like PDF Reader. This learning material can be more accessible if serve with mobile application. Menus and user interface that used to access the content must designed like the other mobile application. To keep application performance, the apps size must be created as small as possible. In this thesis, writer is developing learning application based on mobile device that contained with how to configure Linux server. This apps is designed to run in Android platform. Application contents are presented in teks, picture, and video. To keep the application performance, video is stored in website and user can play or download this video.
Keyword: Server, Ubuntu Server, Learning, Learning Application, Leraning Apps, Linux, Ubuntu.
iii
1.
Pendahuluan Selama ini materi tentang konfigurasi server jaringan baik yang menggunakan
sistem operasi Linux, Windows, maupun OS X disajikan dalam bentuk hardcopy(buku), dan softcopy(e-book, file komputer). Materi bacaan dalam bentuk ini mempunyai beberapa kelemahan, diantaranya: 1.
Tertumpuk dengan media serupa misalnya buku yang lain sehingga seringkali terlupakan oleh pemiliknya.
2.
Mudah hilang atau rusak, dan jika hilang atau rusak sulit mencari pengganti yang serupa. Materi yang ada selama ini berupa text, gambar, dan video, dan belum ada aplikasi
yang menyajikan ketiganya sekaligus. Dengan kemajuan teknologi informasi dan telepon seluler saat ini, seharusnya penyajian dan dukungan terhadap materi-materi pembelajaran menjadi lebih baik. Konten materi dapat disajikan dalam bentuk aplikasi untuk perangkat seluler, dengan begitu pengguna akan lebih mudah mengunduhnya serta keberadaan program aplikasi akan lebih terjamin. Program aplikasi juga dapat menjadi media untuk memutar video atau setidaknya memberikan suggest kepada pengguna tentang video yang berhubungan dengan materi ke internet. Permasalahan diatas dapat diatasi dengan membuat aplikasi yang berjalan telepon seluler khususnya yang menggunakan sistem operasi Android. Dengan adanya dukungan yang baik pada sistem operasi Android, penulis bermaksud membuat aplikasi pembelajaran yang berjalan pada platform ini. Telepon seluler dianggap media yang tepat karena ponsel merupakan alat yang sangat dekat dengan manusia. 2.
Landasan Teori
2.1.
Android
2.1.1. Pengertian Android Android adalah sistem operasi berbasis Linux yang dirancang untuk perangkat seluler layar sentuh seperti telepon pintar dan komputer tablet1. Android pada awalnya dikembangkan oleh Android, Inc dan kemudian diakuisisi oleh Google karena kendala pendanaan proyek. Google merilis kode program Android dibawah Lisensi Apache 2.0, Patch kernel Linux berlisensi GNU GPL v22.
1
Open Handset Alliance, “Android Overview". http://www.openhandsetalliance.com. Diakses 2012-02-15 Elgin, Ben (August 17, 2005). "Google Buys Android for Its Mobile Arsenal". Bloomberg Businessweek. Bloomberg. http://www.webcitation.org. Diakses 2012-02-20
2
1
2.1.2. Versi Android Tabel 2.1 Versi Android3 Versi Android
Tanggal Diluncurkan
Nama Kode
Beta
5 November 2007
1.0
23 September 2008
1.1
9 Febuari 2009
1.5
30 April 2009
Cupcake
1.6
15 September 2009
Donut
2.0/2.1
26 Oktober 2009
Éclair
2.2
0 Mei 2010
Froyo
2.3
6 Desember 2010
Gingerbread
3.0
22 Febuari 2011
Honeycomb
4.0.1
19 Oktober 2011
Ice Cream Sandwich
Sekitar Pertengahan 2012
Jelly Bean
Sekitar 2013
Key Lime Pie
2.1.3. Fitur-fitur Android Berikut adalah fitur-fitur yang dimiliki Android4: a. Penyimpanan (Stroage) – menggunakan SQLite b. Koneksi (connectivity) – mendukung GSM/EDGE, IDEN CDMA, EVDO, UMTS, bluetooth (termasuk A2DP dan AVRCP), Wifi, LTE, dan WiMAX. c.
Pesan (Messaging) – mendukung SMS dan MMS.
d. Web browser – menggunakan open source Webkit termasuk didalamnya engine chrome V8 JavaScipt. e. Hardware – terdapat Accelerometer Sensor, Camera, Digital Compass, Proximity Sensor dan GPS, dll.
3 4
Dodit Suprianto, Rini Agustina, S.Kom, M.Pd, Pemrograman Aaplikasi Android, hal 10 Ibid
2
2.1.4. Arsitektur Android Berikut adalah gambaran arsitektur pada Android5:
Gambar 2.1 Arsitektur Android 2.2.
Software Development Life Circle SDLC (Systems Development Life Cycle) dalam rekayasa sistem dan rekayasa
perangkat lunak adalah proses pembuatan dan pengubahan sistem serta model dan metodologi yang digunakan untuk mengembangkan sistem-sistem tersebut. 2.2.1. Waterfall Model Waterfall model merupakan model pengembangan perangkat lunak yang paling kuno tetapi merupakan model yang paling banyak dipakai didalam Software Engineering (SE). Model ini melakukan pendekatan secara sistematis dan urut mulai dari level kebutuhan sistem lalu menuju ke tahap analisis, desain, coding, testing, dan maintenance6. Berikut adalah langkah-langkah pengembangan sistem yang mnganut Waterfall Model:
5
Dodit Suprianto, Rini Agustina, S.Kom, M.Pd, Pemrograman Aaplikasi Android, hal 11 Muh. Auliya Rahman,Danang Setiadi, dan Moch Awang Putra Pratama, Systems Development Life Cycle (SDLC), http://teknologi.kompasiana.com/terapan/2010/09/28/systems-development-life-cycle-sdlc-271352.html, Diakses pada 12 desember 2013
6
3
Gambar 2.2 Waterfall Model 2.3.
Uji Coba Program
2.3.1. White Box Testing7 White Box Testing merupakan cara pengujian dengan melihat ke dalam modul untuk meneliti kode-kode program yang ada, dan menganalisis apakah ada kesalahan atau tidak. Jika ada modul yang menghasilkan output yang tidak sesuai dengan proses bisnis yang dilakukan, maka baris-baris program, variabel, dan parameter yang terlibat pada unit tersebut akan dicek satu persatu dan diperbaiki, kemudian di-compile ulang. 2.3.2. Black Box Testing8 Black-box testing adalah metode pengujian perangkat lunak yang tes fungsionalitas dari aplikasi yang bertentangan dengan struktur internal atau kerja. Metode uji coba black box memfokuskan pada keperluan fungsional dari software. Karna itu uji coba black box memungkinkan pengembang software untuk membuat himpunan kondisi input yang akan melatih seluruh syarat-syarat fungsional suatu program. 2.4.
UML (Unified Modeling Language)
2.4.1. Pengertian UML (Unified Modeling Language) Unified Modelling Language (UML) adalah sebuah “bahasa” yang telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. Unified Modeling Language (UML) adalah notasi yang lengkap untuk membuat visualisasi model suatu sistem9. UML terdiri dari beberapa diagram diantaranya adalah sebagai berikut:
7
Kompasiana, White Box Testing, http://teknologi.kompasiana.com/terapan/2010/12/06/white-box-testing323009.html, diakses pada 4 maret 2014 8 Ibid 9 Verdi Yasin, Rekayasa Perangkat Lunak Berorientasi Objek Pemodelan, Arsitektur dan Perancangan (Modeling, Architecture and Design), hal 194
4
2.4.1.1 Use Case Diagram Use Case Diagram adalah gambar dari beberapa atau seluruh actor dan use case dengan tujuan mengenali interaksi mereka dalam suatu sistem10. 2.4.1.2 Activity Diagram Activity diagram menggambarkan rangkaian aliran dari aktifitas, digunakan untuk mendeskripsikan aktivitas yang dibentuk dalam suatu operasi sehingga dapat juga digunakan untuk aktifitas lainnya seperti use case atau interaksi11. 2.4.1.3 Sequence Diagram Sequence Diagram menggambarkan kolaborasi dinamis antara sejumlah objek dan untuk menunjukan rangkaian pesan yang dikirim antar objek juga interaksi antar objek, sesuatu yang terjadi pada titik tertentu dalam eksekusi sistem12. 2.4.1.4 Class Diagram
Class diagram menggambarkan struktur dan deskripsi class, package, dan objek berserta hubungan satu sama lain seperti containment, pewarisan, asosiasi dan lain-lain13. 2.5.
Bahasa Pemrograman yang Digunakan
2.5.1. Java 2.4.1.5 Pengertian Java Java adalah suatu jenis teknologi pemrograman yang dikembangkan oleh Sun Microsystem. Teknologi Java dapat digunakan untuk pembuatan aplikasi database, web, jaringan, ataupun grafis14. 2.4.1.6 Platform Java Java memiliki dua buah platform penting untuk membangun perangkat lunak, yaitu: Java Virtual Machine dan Java Runtime Environment15. 2.6.
Perangkat Lunak yang Digunakan
2.6.1. IDE Eclipse Eclipse adalah IDE software yang digunakan oleh banyak bahasa pemrograman seperti Java, Ada, C, C++, COBOL, Phyton dan lain-lain16. 2.6.2. Android Software Development Kit (SDK)
10
Verdi Yasin, Rekayasa Perangkat Lunak Berorientasi Objek Pemodelan, Arsitektur dan Perancangan (Modeling, Architecture and Design), hal 194 11 Ibid, hal 270 12 Ibid, hal 273 13 Ibid, hal 273 14 Wahana Komputer, Membangun Aplikasi Bisnis dengan NetBean7, hal 2 15 Ibid, hal 3-4 16 Dodit Suprianto dan Rini Agustina, S.Kom, M.Pd, Pemrograman Aplikasi Android, hal 14
5
Android Software Development Kit (SDK) berisi debugger, library, emulator, dokumentasi, contoh kode program dan tutorial. SDK Android adalah mesin utama untuk mengembangkan aplikasi Android17. 2.6.3. Android Development Tool (ADT) Plugins Plugins Android Development Tool (ADT) berguna sebagai pengenal Android di dalam IDE Eclipse. Dengan ADT plugins kita bisa membuat project aplikasi Android baru, mengakses tools emulator, dan perangkat Android, melakukan kompilasi dan men-debug aplikasi, mengekspor aplikasi ke Android Packages (APK), membuat sertifikasi digital terhadap kode program APK. 2.7.
Tutorial
2.7.1. Pengertian Tutorial
Tutorial adalah pembimbingan kelas oleh seorang pengajar (tutor) untuk seorang mahasiswa atau sekelompok kecil mahasiswa. 2.7.2. Pengertian Tutorial dalam Pembelajaran Berbasis Komputer Definisi tutorial dalam pembelajaran berbasis komputer adalah pembelajaran khusus dengan instruktur yang terkualifikasi dengan menggunakan software komputer yang berisi materi pelajaran yang bertujuan untuk memberikan pemahaman secara tuntas (mastery learning) kepada siswa mengenai bahan atau materi pelajaran yang sedang dipelajari (Hernawan, 2004 & Rusman, 2008).
2.8.
Server Linux
2.8.1. Pengertian Server Linux Server adalah komputer yang berfungsi untuk melayani, membatasi, dan mengontrol akses terhadap client-client dan sumber daya pada suatu jaringan komputer18. 2.8.2. Sistem Operasi Server Contoh sistem operasi server dari windows adalah Windows NT 3.51, Windows NT 4.0, Windows 2000 Server dan Windows Server 2003, kemudian Sun Solaris, Unix. Sementara sistem operasi berbasis GNU/Linux contohnya Ubuntu Server, Debian Server, Redhat, CentOS, dll19. 3.
Analisis dan Perancangan
3.1.
Analisis Sistem
3.1.1. Analisa Kebutuhan Sistem
17
Dodit Suprianto dan Rini Agustina, S.Kom, M.Pd, Pemrograman Aplikasi Android, hal 14 Transikom,“pengertian-dan-jenis-server”, http://www.transiskom.com, september 2012. Diakses tanggal 13 desember 2013 19 Ibid 18
6
Menganalisa kebutuhan sistem bertujuan untuk mengetahui apa saja yang diperlukan untuk membuat sebuah sistem yang dapat berjalan dengan baik dan berfungsi dengan maksimal. Kebutuhan sistem terbagi menjadi dua, yaitu: kebutuhan fungtional dan kebutuhan nonfungsional. 3.2.
Perancangan Sistem
3.2.1. Use Case Diagram
Gambar 3.1 Use Case Diagram 3.2.2. Activity Diagram
Gambar 3.2 Activity Diagram Menu
Gambar 3.3 Activity Diagram Kolom Cari
7
Gambar 3.4 Activity Diagram Tampil Materi
Gambar 3.4 Activity Diagram Putar Video
Gambar 3.4 Activity Diagram Tampil Panduan
Gambar 3.4 Activity Diagram Update Konten
8
Gambar 3.4 Activity Diagram Download Video 3.2.3. Class Diagram
Gambar 3.5 Class Diagram 3.2.4. Sequence Diagram
Gambar 3.6 Sequence Diagram Menu
9
Gambar 3.7 Sequence Diagram Cari
Gambar 3.8 Sequence Diagram Tampil Materi
Gambar 3.9 Sequence Diagram Putar Video
Gambar 3.10 Sequence Diagram Tampil Panduan
Gambar 3.11 Sequence Diagram Update Konten
10
Gambar 3.12 Sequence Diagram Download Video 3.3.
Perancangan User Interface
Gambar 3.13 Rancangan Menu Utama
Gambar 3.14 Rancangan Tampil Materi
11
Gambar 3.15 Rancangan Fungsi Cari
Gambar 3.16 Rancangan Putar Video
Gambar 3.17 Rancangan Update Konten 4.
Implementasi dan Pembahasan
4.1.
Implementasi dan Pembahasan Menu Utama
4.1.1. Listing Program
Didalam class MainActivity.java terdapat beberapa method diantaranya: EditText: berfungsi untuk menampung kata kunci yang digunakan untuk mencari topik materi. TabHost: berfungsi untuk menampilkan Menu Tab.
12
ListView: berfungsi untuk menampilkan topik materi secara List/Terdaftar. UpdateTutorial: untuk memanggil fungsi Update. Class InstalasiActivitt.java berfungsi untuk melakukan pencaraian topik materi sesuai dengan tema Tab Host yang sedang dibuka. Didalam class ini terdapat Widget Expandable List View yang digunakan untuk menampilkan topik materi. 4.1.2. Tampilan Menu Utama
Gambar 4.1 Tampilan Menu Utama 4.2.
Implementasi dan Pembahasan Fungsi Search
4.2.1. Listing Program Fungsi Search bekerja dengan mencocokkan kata yang dimasukkan kedalam kolom cari dengan topik materi yang ada didalam database. Topik yang ditemukan disimpan kedalam array tertentu yang kemudian ditampilkan dalam List View. 4.2.2. Tampilan Fungsi Search
Gambar 4.2 Tampilan Fungsi Search 4.3.
Implementasi dan Pembahasan Tampil Materi
4.3.1. Listing Program Class openPdfIntent berfungsi untuk memanggil class Java yang ada didalam Engine. Class ini berfungsi untuk membaca file *.pdf yang dimuat database. Class ReaderController.java berfungsi untuk menyesuaikan tampilan file dengan ukuran layar. Didalamnya juga terdapat method untuk memperbesar dan memperkecil obyek. 4.3.2. Tampilan Tampil Materi
13
Gambar 4.3 Tampilan Tampil Materi 4.4.
Implementasi dan Pembahasan Putar Video
4.4.1. Listing Program Class VideoActivity.java berfungsi untuk membaca video yang disimpan didalam Website. Video ini akan diunduh dan disimpan secara temporer untuk dimainkan. Class VideoPlayerStreamer.java berisi pemutar video. Class ini menerima umpan bali dari class VideoActivity.java. Selain memutar video, class VideoPlayerStraemer juga berfungsi untuk menampilkan tombol Download yang digunakan untuk mengunduh video. 4.4.2. Tampilan Putar Video
Gambar 4.4 Tampilan Putar Video 4.5.
Implementasi dan Pembahasan Tampil Panduan
4.5.1. Listing Program Class Java serta method yang digunakan dalam fungsi ini sama dengan class dan method yang digunakan untuk menampilkan materi. 4.5.2. Tampilan Tampil Panduan
14
Gambar 4.5 Tampilan Tampil Panduan 4.6.
Implementasi dan Pembahasan Update Konten
4.6.1. Listing Program
Class Updatetutorial.java berfungsi untuk membaca database terbaru yang disimpan didalam Website kemudian mengunduhnya. Untuk mengetahui database yang ada baru atau tidak, program membaca tanggal unggah konten dan membandingkan dengan yang sebelumnya pernah diunduh. 4.6.2. Tampilan Update Konten
Gambar 4.6 Tampilan Update Konten 4.7.
Implementasi dan Pembahasan Download Video
4.7.1. Listing Program Proses
download
VideoActivity.java,
video
dilakukan
secara
VideoPlayerStreamer.java
berurutan
mulai
dari
kemudian
class baru
DownloadVideoFromUrl.java. Class ini berfungsi untuk mengunduh video yang sedang diputer, kemudian menyimpannya kedalam folder yang telah dibuat oleh program. 4.7.2. Tampilan Download Video
Gambar 4.7 Tampilan Download Video
15
5.
Kesimpulan Setelah melakukan tahapan-tahapan pengembangan aplikasi, kesimpulan yang
dapat diambil adalah sebagai berikut : 1. Menu yang digunakan untuk mengakses konten program adalah : Menu Tab, Expandable List, dan Search. 2. Pencarian
materi
menggunakan
fungsi
Search,
fungsi
Search
ini
mencocokkan kata kunci yang dimasukkan dengan topikmateri yang ada didalam database. 3. Untuk menampilkan materi, program ini menggunakan engine PDF Viewer. Konten ditampilkan dalam format *.pdf dengan menampilkan teks dan gambar. 4. Untuk memutar video pengguna memerlukan koneksi internet karena file video berada dimedia online dan diputar secara streaming. 5. Panduan program dapat ditemukan pada menu tab “Bantuan”. Panduan program juga ditampilkan dalam format *.pdf. 6. Untuk melakukan Update konten, aplikasi akan mencari konten terbaru dari media online kemudian secara otomatis akan ditulis kedalam memori ponsel. Untuk mengunduh video aplikasi mengambil file dari media online dan secara otomatis menyimpannya kedalam memori telepon. 6.
Daftar Pustaka
Alliance , Open Handset, Android Overview. http://www.openhandsetalliance.com. Diakses 2012-02-15. Elgin, Ben, 2005. Google Buys Android for Its Mobile Arsenal. Bloomberg Businessweek. Bloomberg. http://www.webcitation.org. Diakses 2012-02-20. Kompasiana,
White
Box
Testing,
http://teknologi.kompasiana.com/terapan/2010/12/06/white-box-testing323009.html. (diakses pada 4 maret 2014). Komputer, Wahana. 2012. Panduan Aplikatif & Solusi Membangun Aplikasi Bisnis dengan NetBeans 7. Yogyakarta: Penerbit Andi. Rahman, Muh. Auliya,Danang Setiadi, dan Moch Awang Putra Pratama, Systems Development
Life
Cycle
http://teknologi.kompasiana.com/terapan/2010/09/28/
(SDLC), systems-development-
life-cycle-sdlc-271352.html. (diakses pada 12 desember 2013). Suprianto, Dodit, Ririn Agustina. 2012. Pemrograman Aplikasi Android. Yogyakarta: MediaKom. Transikom, Pengertian dan Jenis Server, 2012, http://www.transiskom.com. (diakses tanggal 13 desember 2013).
16
Yasin, Verdi. 2012. REKAYASA PERANGKAT LUNAK BERORIENTASI OBJEK Pemodelan, Arsitektur dan Perancangan (Modeling, Architecture and Design). Jakarta: Mitra Wacana Media.
17