20
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

PERANCANGAN APLIKASI TUTORIAL MENGKONFIGURASI …repository.amikom.ac.id/files/Publikasi_10.11.4536.pdf · Selama ini materi tentang konfigurasi server jaringan baik yang ... kompasiana.com/terapan/2010/12/06

Embed Size (px)

Citation preview

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

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).

17

Yasin, Verdi. 2012. REKAYASA PERANGKAT LUNAK BERORIENTASI OBJEK

Pemodelan, Arsitektur dan Perancangan (Modeling, Architecture and Design).

Jakarta: Mitra Wacana Media.