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
iii
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.
1
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 2 Elgin, Ben (August 17, 2005). "Google Buys Android for Its Mobile Arsenal". Bloomberg Businessweek. Bloomberg.
http://www.webcitation.org. Diakses 2012-02-20
2
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 Dodit Suprianto, Rini Agustina, S.Kom, M.Pd, Pemrograman Aaplikasi Android, hal 10 4 Ibid
3
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 6 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
4
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-testing-
323009.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
5
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
6
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 18 Transikom,“pengertian-dan-jenis-server”, http://www.transiskom.com, september 2012. Diakses tanggal 13 desember
2013 19 Ibid
7
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
8
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
9
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
10
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
11
Gambar 3.12 Sequence Diagram Download Video
3.3. Perancangan User Interface
Gambar 3.13 Rancangan Menu Utama
Gambar 3.14 Rancangan Tampil Materi
12
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.
13
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
14
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
15
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 video dilakukan secara berurutan mulai dari class
VideoActivity.java, VideoPlayerStreamer.java kemudian 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
16
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-testing-
323009.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 (SDLC),
http://teknologi.kompasiana.com/terapan/2010/09/28/ 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).