BAB II LANDASAN TEORI 2. BAB II Pada bab ini, penulis menguraikan teori-teori dan definisi-definisi yang mendasari penelitian ini. 2.1
App Inventor Dalam penelitian ini penulis menggunakan software App Inventor, App inventor atau dikenal dengna Google App inventor merupakan aplikasi yang dikembangkan oleh google dan diteruskan oleh MIT (Massachusetts Institute of Technology). App Inventor memungkinan pengguna mengembangkan aplikasi android dengan cara drag and drop dengan objek visual dilakukan
secara
online
yang
dapat
diakses
di
dan alamat
:http://ai2.appinventor.mit.edu/. [terjemahan: http://appinventor.mit.edu ] App inventor termasuk perangkat menggunakan teknologi cloud. dimana kita dapat membangun aplikasi menggunakan
melalui web browser tanpa
menggunakan alat instalasi di perangkat komputer kita. Apabila koneksi internet kita lambat kita dapat membuat aplikasi secara offline yang disediakan google. Untuk menguji aplikasi android melalui App Inventor ada 3 cara yaitu: 1. Jalankan aplikasi melalui web App Inventor kemudian build menjadi aplikasi apk untuk android yang dapat kita download di handphone kita. 2. jika tidak memiliki handphone android dapat dijalankan melalui android simulator yang diinstall di perangkat computer. 3. Langsung terhubung ke handphone android menggunakan kabel usb driver yang sudah terinstall driver android. Untuk sistem operasi yang digunakan app inventor dapat semua system operasi yaitu machintos, windows platform dan linux platform. Untuk web browser hanya internet explorer yang dapat diakses. Yang lainnya dapat diakses contoh Mozila dengan minimal versi 3.6, Apple safari versi 5 ke atas, 8
http://digilib.mercubuana.ac.id/
Google Chrome untuk versi 4 keatas. Dan untuk versi sitem operasi android yaitu versi 2.3 (Gingerbread). Untuk menggunakan aplikasi app inventor kita harus mempunyai email gmail. Kemudian dapat masuk ke web appinventor. Contoh gambar 2.1 tampilan kerja untuk App Inventor.
Gambar 2. 1 Tampilan Kerja App Inventor Sumber http://appinventor.mit.edu/explore/designer-blocks.html
Gambar 2. 2 Keterangan Komponen
9
http://digilib.mercubuana.ac.id/
Sumber: http://appinventor.mit.edu/explore/designer-blocks.html
Pada tampilan gambar 2. 2 keterangan komponen pada tampilan kerja App Inventor, seperti komponen, Block, Viewer dan Block tab.
Gambar 2. 3Export Project Appinventor Gambar 2.3 Pilihan Export yang dapat dipindahkan ke user lain atau ke computer menggunakan appinventor di computer offline kita, namun untuk compile atau build menjadi file apk (file ekstensi untuk android) harus dilakukan di web appinventor.
10
http://digilib.mercubuana.ac.id/
Gambar 2. 4 Import Project Appinventor Tampilan untuk import pada gambar 2.4 dari sumber lain ke appinventor ruang kerja kita. Dan pada gambar 2.5 untuk menjadikan aplikasi kita dapat dijalankan di handphone android.
Gambar 2. 5 Build menjadi file Apk
2.2
Location Based Service Location Based Service (LBS) adalah salah satu layanan yang berbasis pada posisi yang memanfaatkan kemajuan teknologi komunikasi tersebut, dan dapat dianggap sebagai layanan yang didasarkan pada posisi Anda saat ini (Granfikel, Simson:Search Prorequest). LBS mengacu pada satu set aplikasi
11
http://digilib.mercubuana.ac.id/
yang mengeksploitasi pengetahuan dari posisi geografis perangkat mobile dalam rangka memberikan layanan yang didasarkan pada informasi (Ratti dkk., 2005:3). LBS merupakan irisan dari beberapa teknologi yang sedang berkembang belakangan ini, yaitu internet, spatial database / GIS, dan NICTs / mobile devices.
Gambar 2. 6 LBS sebagai irirsan dari beberapa teknologi (Steiniger dkk., 2006)
2.2.1 Jenis-jenis LBS Jika berbicara tentang LBS. teknologi yang terpenting adalah bagaimana menentukan posisi dari peralatan yang digunakan atau disebut dengan metode positioning. Jika berbicara tentang positioning, beberapa sistem yang digunakan dewasa ini dapat dibedakan dalam tiga jenis, yaitu: 1. Secara Manual Metode manual adalah cara-cara konvensional, seperti melalui yellow pages, telepon bantuan operator, dan sebagainya. 2. Melalui GPS GPS merupakan sistem navigasi radion di seluruh dunia yang memanfaatkan 24 buah satelit beserta stasiun buminya, melalui sistem ini, bumi dibagi dalam kotak-kotak dengan masing-masing
12
http://digilib.mercubuana.ac.id/
memiliki
alamat
yang
unik
sehingga
Anda
dapat
mengidentifikasikan dengan tepat setiap lokasi tersebut. 3. Menggunakan Cellular Based Station Teknologi ini memungkinkan digunakan dalam ruangan atau indoor, karena berbasis pada jaringan komunikasi seluler. Untuk itu, sebuah perangkat dapat ditentukan posisinya saat ini berdasarkan posisi relatif sebuah perangkat terhadap satu atau lebih cell tower terdekat dengan mempertimbangkan sinyal yang digunakan
untuk
melayani
sebuah
perangkat.
Dengan
menggunakan prinsip triangulasi, posisi handset dapat dideteksi. Cellular base station memiliki akurasi yang sangat kurang baik jika dibandingkan dengan menggunakan GPS. Disamping itu, daerah yang mampi dijangkau oleh Celluler base station juga terbatas. 2.2.2 Komponen LBS Untuk melakukan suatu fungsi kerja, LBS memiliki beberapa komponen yang harus dipenuhi yaitu (Steiniger dkk., 2006:3) : 1. Mobile Device. Perangkat yang digunakan pengguna untuk mengakses informasi yang dibutuhkan. Hasil kalkulasi tersebut bisa berupa suara, gambar, teks, dan sebagainya. 2. Communication Network. Komponen ini berupa jaringan telekomunikasi bergerak yang memindahkan data pengguna dan permintaan terhadap layanan dari perangkat bergerak ke penyedia layanan dan kemudian informasi yang diminta ke pengguna. 3. Positioning Component. Dalam pemrosesan layanan, posisi harus ditentukan. Posisi pengguna bisa didapatkan dengan menggunakan jaringan telekomunikasi bergerak, jaringan LAN nirkabel, atau dengan GPS. 13
http://digilib.mercubuana.ac.id/
4. Service and Content Provicer. Penyedia layanan menyediakan sejumlah layanan berbeda kepada pengguna dan bertanggung jawab terhadap pemrosesan permintaan layanan. Contohnya adalah kalkulasi posisi, pencarian rute, dan lainnya.
Gambar 2. 7 Komponen LBS (Steiniger dkk., 2006)
2.2.3 Kategori Location Based Service Berdasarakan informasi yang dikirim oleh pengguna layanan, LBS bisa dibedakan menjadi : 1. Pull Service Pengguna secara aktif mengirimkan informasi yang dibutuhkan. Ini sama dengan ketika kita mengakses sebuah halaman website melalui browser. Kita memasukkan alamat website yang tampil di browser. Untuk pull services bisa dibagi lagi menjadi dua yaitu berdasarkan layanan fungsional seperti memesan taksi atau ambulan dengan menekan tombol device atau layanan seperti mencari lokasi restoran terdekat dari posisi kita. 2. Push Service
14
http://digilib.mercubuana.ac.id/
Memberikan informasi kepada pengguna yang mana tidak secara langsung diminta oleh pengguna. Karena metode ini diaktifkan berdasarkan sebuah event, yang mana bisa dipicu oleh sesuatu seperti memasuki sebuah wilayah tertentu. Contohnya adalah ketika aplikasi LBS kita dapat mendeteksi bahwa kita telah memasuki kota dan secara otomatis aplikasi LBS tersebut akan memberikan informasi aktual yang terkait kota tersebut. 2.3
Global Positioning System (GPS) GPS singkatan dari Global Positioning System (Sistem Pencari Posisi Global), adalah suatu jaringan satelit yang secara terus menerus memancarkan sinyal radio dengan frekuensi yang sangat rendah. Alat penerima GPS secara pasif menerima sinyal ini, dengan syarat bahwa pandangan ke langit tidak boleh terhalang, sehingga biasanya alat ini hanya bekerja di ruang terbuka. Satelit GPS bekerja pada referensi waktu yang sangat teliti dan memancarkan data yang menunjukkan lokasi dan waktu pada saat itu. Operasi dari seluruh satelit GPS yang ada disinkronisasi sehingga memancarkan sinyal yang sama. Alat penerima GPS akan bekerja jika ia menerima sinyal dari sedikitnya 4 buah satelit GPS, sehingga posisinya dalam tiga dimensi bisa dihitung. Pada saat ini sedikitnya ada 24 satelit GPS yang beroperasi setiap waktu dan dilengkapi dengan beberapa cadangan. Satelit tersebut dioperasikan oleh Departemen Pertahanan Amerika Serikat, mengorbit selama 12 jam (dua orbit per hari) pada ketinggian sekitar 11.500 mile dan bergerak dengan kecepatan 2000 mil per jam (Puntodewo dkk., 2003:31).
15
http://digilib.mercubuana.ac.id/
Gambar 2. 8 Konstelasi 24 Satelit GPS
2.4
Android Android merupakan sebuah sistem operasi, middleware dan aplikasi. Awalnya, Google Inc, membeli Android Inc, yang merupakan pendatang baru yang membuat peranti lunak untuk smartphone (Safaat, 2012:1) (Stepahni, Molt: Prorequest) . Kemudian untuk mengembangkan Android dibutuhkan Open Handset Alliance, konsorsium dari 30 perusahaan peranti keras, peranti lunak dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia. Pada saat perilisan perdana Android, 5 November 2007, Android bersama Open Handset Alliance menyatkan mendukung pengembangan open source pada perangkat mobile. Dilain pihak, Google merilis kode-kode Android dibawah lisensi Apache, sebuah lisensi perngkat lunak dan open platform perangkat seluler. Terdapat dua jenis distributor sistem operasi Android, perta,a yang mendapat dukungan penuh dari Google atau Google Mail Service (GMS), dan kedua adalah yang benar-benar bebas distribusinya
16
http://digilib.mercubuana.ac.id/
tanpa dukungan langsung Google atau dikenal Open Handset Distribution (OHD), 2.4.1 Versi Sistem Operasi Android 1. Versi 1.0 dirilis 23 September 2008 2. Versi 1.1 dirilis 9 Februari 2009 3. Versi 1.5 (Cupcake) dirilis 30 April 2009 Berbasis kernel Linux 2.6.27, update user interface (UI), dan beberapa fitur tambahan, yaitu : a. Fitur merekam dan menonton video melalui modus camcoder. b. Fitur mengunggah video ke YouTube dan gambar ke Picasa langsung dari ponsel. c. Fitur prediksi teks pada keyboard. d. Fitur Bluetooth A2DP dan AVRCP. e. Widget baru dan folder yang dapat mengisi layar home. f. Fitur animasi pada transisi layar. 4. Versi 1.6 (Donut) dirilis 15 September 2009 Berdasarkan pada Linux Kernel 2.6.29 dan beberapa fitur tambah, yaitu : a. Pengembangan fitur Android Market. b. Kamera yang terintegrasi camcoder dan antarmuka galeri. c. Fitur multi-selection dalam menghapus foto. d. Voice Search diperbarui, dengan respon lebih cepat dan integrasi lebih dalam dengan aplikasi inti, termasuk kemampuan untuk memanggil kontak telepon. e. Fitur pencarian bookmark, history, dan website dari layar utama. f. Dukungan teknologi untuk CDMA EVDO.802.1x VPN dan fitur text-to-speech g. Dukungan untuk resolusi layar WVGA 17
http://digilib.mercubuana.ac.id/
h. Peningkatan kecepatan dalam mencari dan aplikasi kamera i. Framework Gesture dan alat pengembangan sensor gesture melalui GesturBuilder. j. Navigasi turn by turn dari google secara gratis 5. Versi 2.0/2.1 (Éclair) dirilis 26 Oktober 2009 SDK versi 2.0.1 dirilis 3 Desember 2009, SDK 2.1 dirilis pada 12 Januari 2010. Berdasarkan pada Linux Kernel 2.6.29 dengan mengalami beberapa optimasi, yaitu : a. Optimasi kecepatan perangkat keras. b. Dukungan pada berbagai macam ukuran layar dan resolusi. c. Tampilan baru pada browser dan dukungan HTML5. d. Aplikasi daftar kontak dengan tampilan baru. e. Peningkatan kontras rasio untuk latar belakang. f. Peningkatan Google Maps 3.1.2 g. Dukungan Microsof Exchange. h. Penambahan fitur flash untuk kamera. i. Fitur Digital Zoom. j. Optimasi virtual keyboard k. Dukungan Live Wallpaper 6. Versi 2.2 (Froyo) a. Kecepatan, memori, dan optimasi kinerrja Android OS. b. Tambahan aplikasi dan perbaikan pada implementasi JIT c. Integrasi browser Chrome mesin V8 JavaScript ke aplikasi browser. d. Peningkatan keamanan,
dukungan
Microsoft
auto-searching,
GAL
Exchange look-up,
(kebijakan sinkronisasi
kalender, menghapus secara remote). e. Peningkatan peluncur aplikasi dengan shortcut ke aplikasi telepon dan browser. 18
http://digilib.mercubuana.ac.id/
f. Utilitas perbaikan USB dan fungsionalitas Wi-Fi hotspot. g. Fitur auto update pada aplikasi Market Android. h. Cepat beralih antara beberapa bahasa keyboard dan kamus terkait. i. Panggilan melalui suara dan berbagi kontak melalui bluetooth. j. Dukungan untuk password numerik dan alfanumerik. k. Dukungan untuk file upload dalam aplikasi browser. l. Dukungan Adobe Flash 10.1. m. Dukungan untuk tambahan layar DPI tinggi (320 dpi), seperti 4” 720 dpi. 7. Versi 2.3.x (Gingerbread) dirilis 6 Desember 2010 Bersarkan Kernel Linux 2.6.35.7, SDK 2.3 memiliki perubahan dan pembaruan, yaitu : a. Pembaruan tampilan antarmuka. b. Dukungan untuk layar ekstra besar dan resolusi (WXGA) c. Dukungan untuk telepon VoIP SIP. d. Dukungan untuk WebM/VP8 pemutaran video dan format .aac (Audio Encoding). e. Audio efek baru seperti reverb, pemerataan, virtualisasi handphone, dan peningkatan efek bass. f. Fungsi System-wide copy-paste. g. Desain ulang keyboard perangkat lunak multi-touch. 8. Versi 3.x.x (Honey Comb) dirilis pada april 2011 a. Dirancang khusus untuk tablet b. Mendukung ukuran layar lebih besar c. Improvisasi user interface d. Mendukung multi prosessor e. Mendukung akselerasi perangkat keras untuk grafis 19
http://digilib.mercubuana.ac.id/
9. Versi 4.0.x (ICS, Ice Cream Sandwich) dirilis pada Oktober 2011 a. Penambahan fitur face recognizing. b. Pengontorol jaringan dan penggunaan data. c. Perangkat penambahan fotografi. 10. Versi 4.1.x / 4.2.x / 4.3.x (JB, Jelly Bean) a. Meningkatkan input keyboard. b. Desain baru fitur pencarian. c. Pencarian dengan voice search lebih cepat. d. Fitur baru dari Google Now (informasi mengenai cuacu, lalulintas, atau hasil pertandingan olahraga) e. Pada JB 4.2 terdapat penambahan fitur sphare
untuk
panorama, daydream sebagai screensaver, power control, lock screen widget, dan menjalankan banyak user. f. Pada JB 4.3 terdapat fitur baru dan alat pengembangan, termasuk dukungan bluetooth energi rendah, notifikasi baru, OpenGL ES 3.0, dan Digital Right Management (DRM) API baru untuk streaming video dengan resolusi lebih besar. 2.4.2 Arsitekur Android Secara garis besar Arsitektur Android dapat dijelaskan dan digambarkan secara berikut (Safaat, 2012:6) : 1. Linux Kernel Linux kernel adalay layer di mana inti dari operating system dari Android itu berada. Berisi file-file system yang mengatur system proscessing, memory, resource, drivers, dan sistem-sistem operasi android lainnya. Linux kernel yang digunakan android adalah linux kernel release 2.6. 2. Libraries Libraries ini adalah layer di mana fitur-fitur Android berada, biasanya para pembuat aplikasi mengakses libraries untuk 20
http://digilib.mercubuana.ac.id/
menjalankan aplikasinya. Berjalan di atas kernel, layer ini meliputi bagian library C/C++ inti seperti Libc dan SSL, serta : a. Libraries media untuk pemutaran media audio dan video b. Libraries untuk manajemen tampilan c. Libraries Graphics mencakup SGL dan OpenGL untuk grafis 2D dan 3D. d. Libraries SQLite untuk mendukung database. e. Libraries SSL dan WebKit terintegrasi dengan web browser dan security f. Libraries LiveWebcore mencakup modern web browser dengan engiene embeded web view g. Libraries 3D yang mencakup implementasi OpenGL ES 1.0 API`s 3. Android Runtime Layer yang membuat aplikasi Android dapat dijalankan di mana dalam prosesnya menggunakan Implementasi Linux. Dalvik Virtual Machine (DVM) merupakan mesin yang membentuk dasar kerangka aplikasi Android. Di dalam Android Run Time dibagi menjadi dua bagian yaitu : a. Core Libraries : Aplikasi Android dibangun dalam bahasa java, sementara Dalvik sebagai virtual mesinnya bukan Virtual Mesin Java, sehingga diperlukan diperlukan sebuah libraries yang berfungsi untuk menterjemahkan Bahasa Java/C yang ditangani oleh Core Libraies. b. Dalvik Virtual Machine : Virtual mesin berbasis register yang dioptimalkan untuk menjalankan fungsi-fungsi secara efisien, di mana merupakan pengembangan yang mampu membatu linux kernel untuk melakukan threading dan manajemen tingkat rendah. 21
http://digilib.mercubuana.ac.id/
4. Aplikasi dan Widget Aplikasi dan widget ini adalah layer di mana pengguna berhubungan dengan aplikasi saja, dimana biasanya pengguna download aplikasi kemudian melakukan instalasi dan jalankan aplikasi tersebut. Di layer terdapat aplikasi inti termasuk klien email, program SMS, kalender, peta, browser, dan lain-lain. Android memiliki arsiterktur yang mendukung kemampuannya sebagai sistem operasi perangkat mobile sehingga dapat bersaing dengan sistem operasi lainnya, arsitektur tersebut terangkum pada gambar 2.9 :
Gambar 2. 9 Arsitektur Sistem Operasi Android
2.5
Android Desain Android adalah sistem operasi mobile yang sangat canggih, yang dikembangkan dengan kombinasi dari Bahasa Pemrograman Java, layout dengan XML, dan file konfigurasi. Pada desain Android, Prinsip-prinsip
22
http://digilib.mercubuana.ac.id/
desain yang dikembangkan untuk pengalaman dan menjaga minat pengguna Android (developer.android.com). Prinsip-prinsip dasar tersebut yang dianjurkan oleh Android User Experience Team di antaranya adalah sebagai berikut : 1. Delight me in suprising ways 2. Real object are more fun than buttons and menus 3. Get to know me 4. Keep it brief 5. Picture are faster than word 6. Decide for me but let me have thi final say 7. Only show what I need when I need it 8. I should always know where I am 9. Never lose my stuff 10. If it looks the same, it should act the same 11. Make important things fast 2.5.1 User Interface Overview Android memiliki berbagai jenis antar muka (user interface), setiap
aplikasi
memainkan
peranan
penting
dalam
menjaga
pengalaman Android secara keseluruhan. Berikut adalah penjelasan singkat tentang antar muka Android. 1. Home, All apps, dan Recent Home adalah tampilan layaknya desktop pada komputer, home berisikan widget dan shortcuts aplikasi tertentu, all apps adalah halaman yang menampilkan semua aplikasi yang telah terinstall pada Android tersebut, dan Recent adalah tampilan tentang aplikasi yang baru saja digunakan user. 2. System Bars System Bars adalah area layar yang didedikasikan untuk tampilan notifikasi, komunikasi status perangkat, dan navigasi perangkat, 23
http://digilib.mercubuana.ac.id/
seperti
untuk
menentukan orientasi
tampilan
potrait
dan
landscape. 3. Notifications Notifications adalah pesan singkat dimana pengguna dapat mengaksesnya setiap saat melalui status bar. Notifikasi biasa digunakan untuk aplikasi yang menyediakan update, pengingat (reminder), atau informasi penting. 4. Common App UI Tampilan aplikasi yang sedang diminati oleh developer Android adalah menggunakan a. Action Bar Action bar berisi perintah dan kontrol pusat dalam sebuah aplikasi, permukaan action bar umumnya menampilkan tindakan-tindakan penting. b. Navigation Drawer Navigation drawer umumnya digunakan untuk menampilkan pilihan
navigasi
utama,
navigation
drawer
umumnya
diletakkan pada sebalah kiri layar. c. Content Area Content area adalah tempat dimana isi dari aplikasi kita ditampilkan. 2.11.asa 2.5.2 Tujuan UML UML diaplikasikan untuk maksud tertentu, biasanya untuk : 1. Merancang perangkat lunak. 2. Sarana komunikasi antara perangkat lunak dengan proses bisnis. 3. Menjabarkan sistem secara rinci untuk analisis dan mencari apa yang diperlukan sistem.
24
http://digilib.mercubuana.ac.id/
4. Mendokumentasikan
sistem
yang
ada,
proses-proses
dan
organisasinya.
2.5.3 Diagram-diagram UML UML menyediakan beberapa jenis diagram, yaitu : Tabel 2. 1 Jenis-jenis Diagram UML Diagram
Deskripsi
Component Diagram Class
Menggambarkan sturktur objek pada sistem. Itu menunjukkan objek class yang menyusun sistem dan menggambarkan hubungan antara objek class
Object
Sama seperti class diagram, tetapi sebagai pengganti penggambaran objek class, model ini
Package
Menggambarkan bagaimana class atau UML lain di organisasikan ke dalam package
Deployment
Menggambarkan konfigurasi dari komponen perangkat lunak dalam asrsitektur fisik dari sistem perangkat keras.
Component
Menggambarkan organisasi kode program yang dibagi kedalam komponen-komponen dan bagaimana setiap komponen berinteraksi satu sama lain.
Composite Structure
Menguraikan sturktur internal dari class, component, dan use case.
Behavioral Diagram Activity
Menggambarkan rangkaian alur dari aktivitas use case atau proses bisnis. Ini juga biasa digunakan untuk
25
http://digilib.mercubuana.ac.id/
model logika dengan sistem Sequence
Menggambarkan
secara
grafis
bagaiman
object
berinteraksi satu sama lain via message dalam mengeksekusi setiap use case atau operasi. Ini mengilustrasikan bagaimana message dikirimkan dan diterima antara objek Communication
Disebut sebagai collaboration diagram pada UML 1.X, ini menggambarkan interaksi objek via message. Oleh karena itu, ini mirip seperti sequence diagram. Tetapi sequence diagram lebih fokus pada waktu dari message, sedangkan communication diagram lebih fokus pada organisasi struktural dari objek dalam format jaringan.
Interaction
Overview Mengkombinasikan fitur dari sequence dan activity
Timing
diagram untuk menunjukkan bagaimana
objek
berinteraksi dalam setiap aktivitas dari use case Menggambarkan
Use case
interaksi
antara
sistem,
sistem
external, dan user. Dalam arti lain, menggambarkan siapa yang akan menggunakan sistem dan apa yang user harapkan dalam berinteraksi dengan sistem. Narasi use case digunakan sebagai tambahan dalam merincikannya secara tekstual rangkaian dari langkahlangkah setiap interaksi Dari tabel berikut, diagram yang digunakan dalam penelitian ini adalah Use case Diagram, Squence Diagram, Class Diagram, dan Activity Diagram.
26
http://digilib.mercubuana.ac.id/
2.5.3.1 Use case Diagram Diagram Use case bersifat statis. Diagram ini memperlihatkan himpunan use-case dan aktor-aktor (suatu jenis khusus dari kelas). Diagram ini sangat penting untuk mengorganisasi dan memodelkan prilaku suatu sistem yang dibutuhkan serta diharapkan pengguna (Widodo, 2011:10). Use case bekerja dengan cara mendeskripsikan tipikal interaksi antar user (pengguna) sebuah sistem dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah sistem dipakai (Munawir, 2005:63). Pooley (2003:15) mengatakan bahwa model use case dapat dijabarkan dalam diagram use case, tetapi yang perlu diingat, diagram tidak identik dengan model, karena model lebih luas dari diagram. Menurut Widodo (2011:16) Diagram use case memiliki tiga komponen yang merincikan diagram use case tersebut, yaitu : a. Aktor (actor), menggambarkan pihak-pihak yang berperan dalam sistem. b. Use case, aktivitas/sarana yang disiapkan oleh bisnis/sistem. c. Hubungan (link), aktor mana saja yang terlibat dalam use case tersebut.
Gambar 2. 10 Contoh Use case Diagram
27
http://digilib.mercubuana.ac.id/
Di dalam use case terdapat teks untuk menjelaskan urutan kegiatan yang disebut use case spesification, yang terdiri dari : a. Nama Use case Mencantumkan nama dari use case yang bersangkutan. Sebaiknya di awali dengan kata kerja untuk menunjukkan suatu aktivitas.
b. Deskripsi Singkat (brief description) Menjelaskan secara singkat dalam satu atau dua kalimat tentang tujuan dari use case tersebut. c. Aliran Normal (basic flow) Ini adalah inti dari use case. Menjelaskan interaksi antara aktor dan sistem. Dalam kondisi normal, yaitu segala sesuatu berjalan baik, tanpa halangan atau hambatan dalam mencapai tujuan. d. Aliran Alternatif (alternative flow) Merupakan perlengkapan dari basic flow karena tidak ada yang sempurna dalam setiap kali use case berlangsung. Di dalam alternative flow dijelaskan apa yang terjadi bila suatu halangan terjadi sewaktu use case berlangung.
e. Kondisi Sebelum (pre-condition) Menjelaskan persyaratan yang harus dipenuhi sebelum use case di mulai. f. Kondisi Sesudah (post-condition) Menjelaskan kondisi yang berubah atau terjadi saat use case selesai di eksekusi.
28
http://digilib.mercubuana.ac.id/
1. Teknik Menggambar Use case Sebuah business requirement use case manggambarkan interaksi antara pengguna dengan keterangan-keterangan sistem, untuk membuat business requirement use case yang bagus, penggambaran use case harus menggambarkan aktor yang berhubungan dengan sistem, untuk mempermudah medeskripsikan aktor dan use case, jawablah pertanyaanpertanyaan berikut (Whitten dan Bentley, 2007:252) : a. Apa tugas utama dari aktor ? b. Informasi apa yang dibutuhkan aktor dari sistem ? c. Informasi apa yang disediakan aktor untuk sistem ? d. Apakah sistem perlu memberitahu aktor setiap ada perubahan yang terjadi. ? e. Apakah aktor perlu memberitahu sistem setiap ada perubahan yang terjadi ? 2.5.3.2 Activity Diagram Activity Diagram adalah tipe khusus dari diagram status yang memperlihatkan aliran dari suatu aktivitas ke aktivitas lainnya dalam suatu sistem. Diagram ini terutama penting dalam pemodelan fungsifungsi suatu sistem dan memberi tekanan pada aliran kendali antar objek (Widodo, 2011:11). Diagram aktivitas lebih memfokuskan diri pada ekesekusi dan alur sistem dari pada bagaimana sistem itu dirakit. Diagram mempunyai peran seperti halnya flowchart, akan tetapi perbedaannya dengan flowchart adalah activity diagram bisa mendukung prilaku paralel, sedangkan flowchart tidak bisa (Munawar, 2005:109).
29
http://digilib.mercubuana.ac.id/
Berikut adalah panduan dalam menggambar activity diagram. 1. Mulailah dengan sebuah titik awal sebagai point untuk memulai activity diagram. 2. Tambahkan sekat / partisi jika itu relevan dengan analisis kita. 3. Tambahkan aksi dari setiap aksi major, decision point, atau end point. 4. Tambahkan alur dari setiao aksi ke aksi lain, decision point, atau end point. Untuk ketelitian maskimal, sebaiknya satu aksi hanya memiliki satu alur yang datang dan satu alur yang pergi, dengan semua forks, joins, decision, dan merge digambarkan secara explisit. 5. Tambahkan decision dimana alur dipecah dengan rute alternatif. Pastikan untuk menyatukan kembali kedua alur bersamaan. 6. Tambahkan fork dan join ketika aktivitas dapat dikerjakan parallel. 7. Final aktiviti di akhiri dengan notasi tunggal.
Gambar 2. 11 Contoh Activity Diagram
30
http://digilib.mercubuana.ac.id/
2.5.3.3 Squence Diagram Squence Diagram berarti Diagram Urutan, diagram urutan adalah diagram interaksi yang menekankan pada pengiriman pesan dalam suatu waktu tertentu (Widodo, 2011:11). Diagram urutan merupakan salah satu dari pemodelan skenario interaksi pada UML. Diagram Urutan bersifat dinamis. Menurut Munawar (2005:87) squence diagram digunakan untuk menggambarkan perilaku pada sebuah scenario. Diagram ini menunjukkan Anggota interakasi digambarkan dengen persegi panjang yang diberi nama garsi hidup (lifeline). Anggota interaksi digambarkan dengan garis putus-putus dari persegi panjang turun ke bawah yang memperlihatkan berapa lama objek eksis dalam diagram (Widodo, 2011:175).
Gambar 2. 12 Contoh Squence Diagram 1. Panduan Menggambar Sequence Diagram a. Identifikasi skenario menggambarkan use case. Maksud dari sequence diagram adalah untuk menemukan pesan, bukan untuk model logic, sehingga kita harus lebih 31
http://digilib.mercubuana.ac.id/
dahulu memasukkan pesan opsional dan pesan alternatif untuk seluruh use case. b. Gambarlah kotak yang merepresentasikan sistem sebagai keseluruhan atau perpanjangan dari lifeline di bawahnya. c. Identifikasi setiap aktor yang menyediakan secara langsung input ke sistem atau menerima secara langsung output dari sistem. Perpanjangan dari lifeline diletakkan di bawah actor. d. Periksa narasi use case untuk mengidentifikasikan sistem input dan output. Abaikan pesan didalam sistem. Gambar setiap pesan exsteranal dengan garis horizontal dari aktor ke lifeline atau dari sistem ke aktor. Keterangan input berdasarkan konvesi UML, yang akan membantu mengidentifikasi kebiasaan dan atribut dalam obejk-objek bisnis (Whitten dan Bentley, 2007:252).
2.6
Metodologi Penelitian Penelitian atau riset dewasa ini berarti pencarian teori, pengujian teori, atau pemecahan masalah. Artinya, masalah itu telah ada dan telah diketahui bahwa pemecahan masalah tersebut sangat diperlukan. Masalah tersebut bukanlah suatu masalah biasa, dalam arti pemecahannya bisa didapatkan secara langsung (Suryo dkk., 2011:12). 2.6.1 Metode Pengumpulan Data Metode pengumpulan data ialah teknik atau cara-cara yang dapat digunakan oleh peneliti untuk mengumpulkan data. Metode (cara atau teknik) menunjukkan suatu kata yang abstrak dan tidak diwujudkan dalam benda, tetapi hanya dapat diperlihatkan penggunaanya melalui :
32
http://digilib.mercubuana.ac.id/
angket, wawancara, pengamatan, ujian (tes), dokumentasi, dan lainnya. Peneliti dapat menggunakan salah satu atau gabungan, tergantung pada masalah yang dihadapi (Suryo dkk., 2011:125). 1. Studi Pustaka Studi Pustaka adalah kegiatan mengkaji teori-teori yang mendasari penelitian, baik teori berkenaan dengan bidang ilmu yang diteliti maupun metodologi. Studi Pustaka mengkaji pula hal-hal bersifat empiris yang bersumber dari temuan-temuan penelitian terdahulu (Suryo dkk., 2011:18). 2. Wawancara Wawancara adalah teknik pengumpulan kebutuhan yang paling umum digunakan. Langkah-langkah dasar dalam teknik wawancara adalah: a. Memilih target wawancara b. Mendesain pertanyaan-pertanyaan untuk wawancara c. Perpsiapan wawancara d. Melakukan wawancara e. Menindak lanjuti hasil wawancara Wawancara adalah metode yang paling mudah digunakan, jika sistem yang dianalisis tidak terlalu besar (Al Fatta, 2007:69). 2.6.2 Metode Pengembangan Aplikasi Pada pengembangan aplikasi dalam penelitian ini penulis menggunakan Model Proses Waterfall. 1. Definisi Model Proses Waterfall Model Proses Waterfall adalah model pertama yang diterbitkan untuk proses pengembangan perangkat lunak diambil dari proses rekayasa lain (Royce, 1970). Model ini diilustrasikan pada Gambar 2.21. Berkat penurunan dari suatu fase ke fase yang lainnya, model ini dikenal sebagai ‘model air terjun’ atau siklus hidup perangkat 33
http://digilib.mercubuana.ac.id/
lunak (Sommerville, 2003:43). Model air terjun (waterfall) kadang dinamakan siklus hidup klasik (classic life cycle), dimana hal ini menyiratkan pendekatan yang sistematis dan berurutan (skuensial) pada pengembangan perangkat lunak, yang dimulai dengan spesifikasi kebutuhan pengguna dan berlanjut melalui tahapantahapan
perancangan
(planning),
pemodelan
(modeling),
konstruksi (construction), serta penyerahan sistem/perangkat lunak ke para pelanggan/pengguna (deployment), yang diakhiri dengan dukungan berkelanjutan pada perangkat lunak lengkap yang dihasilkan (Pressman, 2012:46). 2. Tahapan Model Proses Waterfall Tahap-tahap model ini dapat dijelaskan secara ringkas sebagai berikut. a. Tahap Komunikasi: pada tahap ini dibangun komunikasi yang baik dengan calon pengguna/pemakai untuk mendapatkan spesifikasi kebutuhan pengguna. b. Tahap Perencanaan: pada tahap ini ditentukan prakiraanprakiraan
sumber-sumber
informasi,
batas
waktu,
dan
informasi-informasi yang dapat menjelaskan proyek, dan mendefinisikan resiko. c. Tahap
Pemodelan:
pada
tahap
ini
dilakukan
analisis
perancangan. d. Tahap Konstruksi: pada tahap ini dilakukan pembangunan perangkat lunak yang dimaksud dengan penulisan kode-kode program dan pengujian e. Tahap Penyerahan Sistem: pada tahap ini dilakukan pengiriman dukungan terhadap pengguna dan umpan balik. 34
http://digilib.mercubuana.ac.id/
Gambar 2. 13 Model Proses Waterfall 3. Kelebihan Model Proses Waterfall Model proses waterfall memiliki beberapa kelebihan yaitu : a. Kualitas dari sistem yang dihasilkan akan baik, karena proses pengembangan dilakukan secara bertahap. b. Dokumen pengembangan sistem dapat disusun dengan baik, karena setiap fase harus terselesaikan dengan lengkap sebelum melangkah ke fase berikutnya. 2.7
Pengujian Perangkat Lunak Pengujian sistem adalah bagian dari siklus hidup tersebut yang melibatkan verfikasi apakah setiap unit yang dikembangkan telah memenuhi kebutuhan sistem yang didefinisikan pada tahapan sebelumnya. Pengujian sistem sering diasosiasikan dengan pencarian bug, ketidaksempurnaan program, kesalahan pada baris program yang menyebabkan kegagalan pada eksekusi sistem perangkat lunak (Hanif, 2007:169).
35
http://digilib.mercubuana.ac.id/
2.7.1 Metode Pengujian Perangkat Lunak 1. Stub Testing Stub Testing adalah pengujian yang difokuskan pada pengujian struktur kendali sebelum semua modul dituliskan. Sistem perangkat lunak secara umum terdiri dari modul yang berelasi, baik secara hierarki maupun relasional. 2. Unit Testing Unit Testing digunakan untuk menguji setiap modul untuk menjamin setiap modul menjalankan fungsinya dengan baik. Ada dua metode untuk melakukan untit testing, yaitu : a. Black Box Testing Terfokus pada apakah unit program
memenuhi
kebutuhan (requirement) yang disebutkan dalam spesifikasi. Pada Black Box testing, cara pengujian hanya dilakukan dengan menjalankan atau mengeksekusi unit atau modul, kemudian diamati apakah hasil dari unit itu sesuai dengan proses bisnis yang di inginkan. Jika ada unit yang tidak sesuai dengan output-nya maka untuk menyelesaikannya, diteruskan pada pengujian yang kedua, yaitu white box testing. b. White Box Testing White box testing adalah caar 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,
36
http://digilib.mercubuana.ac.id/
variabel, dan parameter yang terlibat pada unit tersebut akan dicek satu persatu dan diperbaiki, kemudian dicompile ulang. 3. Integration Testing Setelah unit testing selesai, maka pengujian berikutnya adalah pengujian interaksi dari modul-modul yang menyusun sistem informasi untuk menjamin bahwa mereka bekerja dengan baik. Integration test terdiri dari serangkaian tes sebagai berikut : a. Uji coba antarmuka b. Uji coba skenario pengguna c. Uji coba aliran data d. Uji coba sistem antarmuka 2.7.2 Proses-proses Pengujian Praktik umum dari pengujian perangkat lunak dilakukan oleh kelompok penguji independen setelah fungsionalitas dikembangkan dan sebelum dikirimkan kepada pelanggan (Janner, 2010:312). 1. Alfa Testing Tujuannya untuk identifikasi dan menghilangkan sebanyak mungkin masalah sebelum akhirnya sampai ke user, dilakukan setelah software jadi oleh orang-orang yang tidak terlibat dalam pengembangan dan memang ahli dibidangnya. Terdapat formulir resmi evaluasi. 2. Beta Testing Pengujian beta dilakukan setelah pengujian alfa. Versi perangkat lunak dikenal juga dengan versi beta yang dirilis untuk pengguna terbatas di luar tim pemrograman. Perangkat lunak dilepaskan ke dalam kelompok masyarakat agar pengujian lebih lanjut dapat memastikan bahwa produk memiliki beberapa
37
http://digilib.mercubuana.ac.id/
kesalahn atau bug. Terkadang versi beta tersedia untuk umum untuk meningkatkan masukan. 3. User Acceptance Testing Pengujian penerimaan dapat dilakukan oleh pengguna akhir, pelanggan, atau klien untuk memvalidasi penerimaan produk. 2.8
Studi Literatur Sejenis Studi literatur merupakan kegiatan menelusuri literatur yang ada serta menelaahnya secara tekun, dengan mengadakan survey terhadap data yang telah ada, penulis membagi studi literatur menjadi dua bagian, pertama tentang
pengembangan
aplikasi
berbasis
LBS
dan
kedua
tentang
pengembangan aplikasi pembelajaran rawi, berikut adalah rinciannya : 1. Studi Penelitian Sejenis Terkait Location Based Service
a. Aplikasi Local Directory Menggunakan Local Based Service berbasis Smartphone Android, UIN Syarif Hidayatullah, 2013, Saiful Arif Deskripsi singkat : penelitian ini mengembangakan aplikasi berbasis android yang berisikan lokasi fasilitas-fasilitas sosial pada kabupaten lamongan, dengan tujuan memberikan infomasi kepada masyarakat Kelebihan : data sudah bersifat dinamis dengan disediakan halaman untuk mengupdate lokasi baru disekitar lamongan, namun ketika penulis cek ke halaman tersebut, sudah tidak berfungsi. Menurut Garfinkel, Simson, Android disebut "stack" karena software yang memanjang dari tingkat terendah mengendalikan hardware telepon ke tingkat tertinggi dari interaksi pengguna. Pada bagian bawah adalah versi terbawah dari kernel Linux (jantung dari sistem operasi Linux). Di atas kernel adalah open-source WebKit browser Web (juga digunakan oleh Apple iPhone) dan beberapa program open source lainnya. Di atas ini adalah aplikasi pengguna yang indah tetapi, setidaknya dalam versi pratinjau pengembang, primitif dan buggy.
38
http://digilib.mercubuana.ac.id/
Setelah Google selesai rilis ini, Android akan terlihat secantik iPhonedan itu akan sama fungsional, jika tidak lebih. Menurut Stephani, Molt History Channel, Lifetime, dan A & E aplikasi semua bebas untuk men-download, dan saat ini tersedia di Google Play store.
Kekurangan : hanya untuk kalangan tertentu saja, yaitu hanya untuk warga lamongan, desain kurang menarik, karena halaman admin sudah tidak berfungsi menyebabkan aplikasi tersebut tidak lagi bersifat dinamis. b. Layanan Informasi Kereta Api menggunakan GPS, Google Maps, dan Android, , Institut Teknologi Sepuluh November, 2012, Alqon Erian Deskripsi singkat: penelitian ini mengembangkan lokasi kereta api saat tiba sehingga penumpang mengetahui waktu keterlambatan dengan tujuan kepada pelanggan untuk mengetahui data pasti posisi kereta ap Kelebihan: data bersifat dinamis dan jarak device dengan google map adalah 98.99 meter sehingga data akurat dapat tercapai Kelemahan: data masih bersifat simulasi diperlukan ke perangkat aslinya.
39
http://digilib.mercubuana.ac.id/