BAB 2 TINJAUAN PUSTAKA
2.1 Teori Umum Teori-teori dasar umum yang digunakan dalam penulisan skripsi akan dijelaskan sebagai berikut : 2.1.1 Metode Rekayasa Piranti Lunak Metode rekayasa piranti lunak yang digunakan dalam penelitian ini adalah Metode Waterfall. Menurut Pressman (2010: 39) Waterfall adalah model klasik yang bersifat sistematis, berurutan dalam membangun software. Berikut ini penjelasan mengenai Waterfall menurut referensi Pressman:
Gambar 2.1 Waterfall Model (Sumber: Software Engineering : A Practitioner’s Approach – Roger S Pressman, 2010) 1. Communication Langkah ini merupakan analisis terhadap software, dan tahap untuk mengadakan pengumpulan data dengan melakukan penyebaran kuesioner, maupun mengumpulkan data-data tambahan baik yang ada di jurnal, artikel, maupun dari internet. 2. Planning Proses
planning
merupakan
lanjutan
dari
proses
communication (analysis requirement). Tahap ini akan menghasilkan dokumen user requirement atau bisa dikatakan sebagai data yang berhubungan dengan keinginan user dalam pembutan software, termasuk rencana yang akan dilakukan. 9
10 3. Modeling Proses modeling ini akan menerjemahkan syarat kebutuhan ke sebuah perancangan software yang dapat diperkirakan sebelum dibuat coding. Proses ini berfokus pada rancagan stuktur data, arsitektur software, representasi interface, dan detail (algoritma) prosedural. Tahap ini akan menghasilkan dokumen yang disebut software requirement. 4. Construction Construction merupakan proses membuat kode. Coding atau pengkodean merupakan penerjemah desain dalam bahasa yang bisa
dikenali
oleh
komputer.
Programmer
akan
menerjemahkan transaksi yang diminta oleh user. Tahap ini yang merupakan tahapan secara nyata dalam mengerjakan suatu
software,
artinya
penggunaan
komputer
akan
dimaksimalkan dalam tahapan ini. Setelah pengkodean selesai maka akan dilakukan testing terhadap sistem yang telah dibuat tadi. Tujuan testing adalah menemukan kesalahan-kesalahan terhadap sistem tersebut untuk kemudian bisa diperbaiki. 5. Deployment Tahap ini bisa dikatakan final dalam pembuatan sebuah software atau sistem. Setelah melakukan analisis, desain dan pengkodean maka sistem yang sudah jadi akan digunakan oleh user. Kemudian software yang telah dibuat harus dilakukan pemeliharaan secara berkala. 2.1.2 Unified Modeling Language (UML) Berdasarkan Whitten dan Bentley (2007: 371) Unified Modeling Language (UML) adalah sekumpulan peraturan yang digunakan untuk menspesifikasi
atau
menjelaskan
perangkat
lunak
secara
objek.
Standarisasi UML telah diatur dan telah dibuat oleh Object Management Group (OMG). UML berkembang menjadi UML versi 2.0. Menurut Whitten dan Bentley (2007: 371) UML 2.0 dapat digolongkan menjadi tiga jenis phase , yaitu: a. Requirement Analysis Phase, yang terdiri dari Use Case Diagram
11 b. Logical Design Phase, yang terdiri dari Activity Diagram, System Sequence Diagram, Class Diagram c. Physical Design Phase, yang terdiri dari Class Diagram, State Diagram,
Communication
Diagram,
Component
Diagram,
Deployment Diagram, Sequence Diagram. 2.1.2.1 Use Case Diagram Menurut Whitten dan Bentley (2007: 246) Use Case Modeling mengidentifikasi dan menggambarkan fungsi sistem dengan menggunakan alat yang disebut dengan Use Case. Use case menggambarkan fungsi suatu sistem yang dilihat dari segi perspektif pengguna eksternal dan terminologi mereka yang dapat dimengerti. Use case diwakili oleh grafis dalam bentuk elips dengan nama use case di atas, di bawah, atau di dalam elips. Use case menggambarkan urutan kegiatan dan interaksi pengguna dalam mencoba untuk mencapai tujuan. Use case sendiri tidak dianggap sebagai persyaratan fungsional, tapi cerita (skenario)
use case
menceritakan terdiri dari satu atau lebih persyaratan. Use Case merepresentasikan tujuan dan mendeskripsikan urutan aktivitas dan interaksi antara actor dalam menyelesaikan tujuan. Dalam use case terdapat actor dan relationship yang berguna untuk merepresentasikan aktivitas dalam use case diagram. Actor adalah user yang terlibat langsung dengan sistem, relationship merupakan jenis-jenis hubungan antara sistem dengan actor.
(a)
12
(b) Gambar 2.2 Contoh Use Case Diagram (Sumber : System Analysis and Design Method – Whitten and Bentley, 2007) Menurut Whitten dan Bentley (2007: 248-250), hubungan yang digunakan dalam use case diagram, yaitu : 1. Association mengambarkan interaksi antara actor dan use case. Hubungan association digambarkan dengan garis dan tanda panah. Association dengan tanda panah menunjukan bahwa actor berhubungan dengan use case, dimana use case merupakan penerima. Association tanpa tanda panah menunjukan interaksi antara use case dan actor dengan actor sebagai penerima.
Gambar 2.3 Contoh Penggunaan Association Use Case (Sumber : System Analysis and Design Method – Whitten and Bentley, 2007)
13 2. Extend digunakan untuk menjelaskan sebuah use case yang rumit menjadi beberapa tahap use case yang lebih mudah dimengerti.
Gambar 2.4 Contoh Penggunaan Extends pada Use Case (Sumber: System Analysis and Design Method - Whitten and Bentley, 2007) 3.
Uses (include) berfungsi untuk generalisasi use case yang dapat mengurangi redundansi. Dalam sebuah use case diagram yang terdapat beberapa langkah yang mirip atau sama, hubungan use case tersebut bisa disebut menjadi use case abstrak.
Gambar 2.5 Contoh Penggunaan include pada Use Case (Sumber: System Analysis and Design Method - Whitten and Bentley, 2007)
14 4.
Depends On digunakan ketika suatu aktivitas dapat dijalankan jika aktivitas sebelumnya telah dijalankan. Dengan kata lain, aktivitas tersebut saling bergantung.
Gambar 2.6 Contoh Penggunaan Depends On Pada Use Case (Sumber: System Analysis and Design Method - Whitten and Bentley, 2007) 5.
Inheritance digunakan ketika dua atau lebih actor melakukan aktivitas atau menunjuk pada use case yang sama, maka actor tersebut dapat disederhanakan menjadi satu actor.
Gambar 2.7 Contoh Penggunaan Inheritance Pada Use Case (Sumber: System Analysis and Design Method - Whitten and Bentley, 2007)
15 2.1.2.2 Class Diagram Class diagram merupakan gambaran grafis dari struktur objek, yang menunjukkan kelas objek yang ada pada suatu sistem dan hubungan antara kelas-kelas objek tersebut. (Whitten dan Bentley, 2007). Setiap kelas objek dibagi menjadi 3 bagian, yaitu: 1. Nama Kelas Nama kelas harus unik atau dapat dibedakan antara kelas yang satu dengan kelas yang lain karena nama kelas merupakan identitas yang dimiliki oleh setiap kelas. 2. Atribut Kelas Atribut menunjukkan informasi yang dimiliki oleh suatu kelas atau informasi yang berhubungan dengan suatu kelas. 3. Operasi Kelas Operasi digunakan untuk menunjukkan fungsi yang dapat dilakukan oleh suatu kelas. << Nama kelas >> -Atribut kelas + Operasi kelas
Gambar 2.8 Struktur Kelas Objek (Sumber: System Analysis and Design Method - Whitten and Bentley, 2007)
16
Gambar 2.9 Class Diagram (Sumber: System Analysis and Design Method - Whitten and Bentley, 2007) Notasi – notasi yang terdapat di dalam class diagram adalah sebagai berikut: a. Visibility Pada class diagram terdapat visibility yang digunakan untuk menentukan suatu kelas dapat diakses oleh kelas lainnya atau tidak. Dalam visibility memiliki 3 (tiga) tingkatan, yaitu (Whitten dan Bentley, 2007): 1.
Private
2.
Public
3.
Protected Tabel 2.1 Tabel Penjelasan Visibility
No
Simbol
Visibility
1
-
Private
Penjelasan Hanya dapat diakses oleh kelas yang mendefinisikan
2
+
Public
Dapat diakses oleh semua kelas yang berhubungan
3
#
Protected
Hanya dapat diakses oleh kelas yang mendefinisikan dan turunannya
17 b. Multiplicity Multiplicity merupakan jumlah banyaknya objek sebuah kelas yang berelasi dengan sebuah objek lain pada kelas lain yang berasosiasi dengan kelas tersebut (Whitten dan Bentley, 2007). Tabel 2.2 Tabel Penjelasan Multiplicity Multiplicity
Deskripsi
0..1
Nol atau satu
1
Hanya satu
0..*
Nol atau lebih
1..*
Satu atau lebih
?...?
Batasan spesifik
c. Association Asosiasi adalah hubungan statis antara kelas dan digunakan untuk memberikan penjelasan mengenai hubungan dan multiplicity. Hubungan ini dibagi menjadi dua jenis , yaitu: 1. Uni-directional Di uni-directional, dua kelas yang terhubung tetapi hanya salah satu dari mereka memiliki peran di dalamnya. Di uni-directional, simbol panah disebut dilayari ditambahkan. 2. Bi-directional Dalam bi-directional, dua kelas yang terhubung dan keduanya memiliki peran dalam hubungan. d. Aggregation Agregasi
digunakan
untuk
menggambarkan
jenis
hubungan di mana satu kelas merupakan bagian dari kelas lain tetapi tidak sebaliknya. Sebagai contoh: kelas Guru adalah bagian dari kelas sekolah namun kelas sekolah bukan bagian dari kelas Guru .
18 e. Generalization/Specialization Generalisasi/spesialisasi adalah teknik untuk kelas objek kelompok yang memiliki kesamaan dalam atribut atau metode menjadi supertype. Atribut dan metode supertype kemudian akan diwarisi oleh subtype. Konsep warisan diterapkan sehingga atribut atau metode dalam supertype dapat digunakan kembali oleh subtype. f. Depedency Hubungan Dependency digunakan untuk memodelkan hubungan antara dua kelas untuk menunjukkan bahwa ketika perubahan yang dibuat dalam satu kelas akan mempengaruhi kelas lain. Hubungan ini biasanya digunakan antara kelas kontrol
dan kelas sementara.
Hubungan Dependency
digambarkan dengan panah menunjuk ke arah sebuah pesan dapat dikirim. g. Komposisi Komposisi bisa disebut strong aggregation sehingga dalam hubungan antar kelas lebih terikat kuat dibandingkan agregasi. Dimana Kelas A merupakan bagian dari Kelas B, tetapi Kelas B tidak akan ada jika Kelas A tidak ada.
19
Gambar 2.10 Contoh Class Diagram (Sumber: System Analysis and Design Method - Whitten and Bentley, 2007) 2.1.2.3 Sequence Diagram Menurut Whitten dan Bentley (2007: 394), Sequence diagram secara grafis menggambarkan bagaimana objek-objek berinteraksi satu dengan yang lainnya melalui message-message yang dilakukan dari suatu use case atau operasi. Mereka menggambarkan bagaimana message-message dikirim dan diterima diantara objek-objek tersebut dan dalam urutan seperti apa.
20
Tabel 2.4 Tabel Element Sequence Diagram # 1
Name
Symbol
Actor
Description Segala
sesuatu
yang
berinteraksi dengan sistem untuk beberapa tujuan 2
Object
Merupakan Object
digunakan
kelas
yang
dalam
Class
Diagram 3
Lifelines
Menunjukkan urutan aktif
4
Activation
Menunjukkan
Bars
partisipan aktif dalam simbol interaksi.
ketika
Simbol
ini
menunjukan jalur hidup 5
Call
Metode penyampaian dari setiap benda
6
Self-call
Memberikan pesan balik
7
Return
Jawaban dari pesan yang dikirim oleh obyek
8
Frame
loop
Menandai daerah khusus di mana perulangan, seleksi, dll, terjadi.
21
Gambar 2.11 Contoh Sequence Diagram (Sumber: System Analysis and Design Method - Whitten and Bentley, 2007) 2.1.3 Database dan Database Management System (DBMS) 2.1.3.1 Basis Data dan Sistem Basis Data Menurut Connolly dan Begg (2010: 65), basis data didefinisikan sebagai basis data merupakan suatu kumpulan relasirelasi logikal dari data dan deskripsi data yang dirancang untuk memperoleh informasi yang dibutuhkan oleh suatu organisasi. Sedangkan Connolly dan Begg (2010: 67), Sistem basis data adalah aplikasi yang dibuat untuk membantu pengguna melakukan pengolahan
data
yang
terdapat
dalam
basis
data
untuk
mendapatkan suatu informasi yang dibutuhkan. 2.1.3.2 Database Management System (DBMS) Sistem Manajemen Basis Data (Database Management System yang selanjutnya disingkat menjadi DBMS) adalah suatu sistem perangkat lunak yang memungkinkan pengguna untuk
22 mendefinisikan, membuat, memelihara, dan mengontrol akses ke basis data (Connolly dan Begg, 2010: 66). 1. Data Definition Language (DDL) DDL adalah sebuah bahasa yang memungkinkan pengguna untuk dapat mendefinisikan suatu entitas, atribut, dan hubungan yang dibutuhkan aplikasi. DDL tidak dapat digunakan untuk melakukan manipulasi data. (Connolly dan Begg, 2010: 92): • Create table, digunakan untuk membuat table dengan mengidentifikasikan tipe data untuk setiap kolom. • Alter table, digunakan untuk membuat table dengan mengidentifikasikan tipe data untuk setiap kolom. • Drop
table,
digunakan
untuk
membuang
atau
menghapus table beserta semua data yang terkait didalamnya. •
Create index, digunakan untuk membuat index pada suatu table.
•
Drop index, digunakan untuk membuang atau menghapus index yang telah dibuat sebelumnya.
2. Data Manipulation Language (DML) Menurut Connolly dan Begg (2010: 92), DML merupakan bahasa yang menyediakan satu set operasi untuk mendukung pengoperasian manipulasi data dasar pada basis data. Pengoperasian data yang akan dimanipulasi pada umumnya meliputi : 1. Penambahan data baru ke dalam basis data. 2. Modifikasi data yang disimpan dalam basis data. 3. Pengembalian data yang terdapat dalam basis data. 4. Penghapusan data dari basis data. 2.1.4 Interaksi Manusia dan Komputer Menurut Shneiderman dan Plaisant (2010), interaksi manusia dan komputer adalah ilmu yang berhubungan dengan perancangan, evaluasi, dan implementasi yang mempelajari cara komunikasi antara komputer dengan pengguna.
23 Ada lima faktor yang diperlukan dalam perancangan sistem interaktif yang user friendly (Shneiderman dan Plaisant, 2010: 63), yaitu: 1. Waktu Belajar Waktu yang diperlukan pengguna untuk mempelajari penggunaan aksi yang relevan terhadap sebuah tugas yang diberikan. 2. Kecepatan Kerja Waktu yang dibutuhkan pengguna dalam mengerjakan suatu tugas. 3. Tingkat Kesalahan Pengguna Banyaknya kesalahan dan jenis kesalahan yang dilakukan pengguna dalam menyelesaikan suatu tugas. 4. Daya Ingat Seberapa
lama
para
pengguna
dalam
mempertahankan
pengetahuannya dalam jangka waktu tertentu. 5. Kepuasan Subyektif Kepuasan pengguna terhadap berbagai aspek dari suatu tampilan antarmuka yang dapat diketahui dari hasil survei yang dilakukan. Menurut Shneiderman dan Plaisant (2010: 88-89) IMK memerlukan 8 prinsip yang disebut Golden Rules untuk merancang antarmuka pemakai. Kedelapan prinsip itu adalah : 1. Berusaha untuk konsisten Konsistensi dilakukan pada urutan tindakan, perintah menu dan layar bantuan juga warna, tata letak, font dan kapitalisasi. 2. Menyediakan kemudahan pemakaian yang universal Mengenali kebutuhan pengguna yang beragam dan desain untuk plasticity, memfasilitasi transformasi konten. Membedakan antara pemula
dan
ahli,
umur,
keragaman
teknologi.
Misalnya
menambahkan fitur penjelasan atau bantuan untuk pemula, dan shortcut untuk ahli. 3. Memberikan umpan balik yang informatif Untuk setiap tindakan operator, sebaiknya disertakan suatu sistem umpan balik. Untuk tindakan yang sering dilakukan dan tidak terlalu penting, dapat diberikan umpan balik yang sederhana. Tetapi untuk suatu tindakan merupakan hal yang penting, maka umpan balik sebaiknya lebih substansial. Misalnya muncul suatu
24 suara ketika sudah menekan tombol pada waktu input data atau muncul pesan kesalahan 4. Berikan dialog untuk menandakan penutupan Urutan tindakan sebaiknya diorganisir dalam suatu kelompok dengan bagian awal, tengah, dan akhir. Umpan baik yang informatif akan memberikan indeksi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. 5. Memberikan penanganan kesalahan yang sederhana Sistem dirancang agar pengguna tidak dapat melakukan kesalahan fatal. Jika kesalahan terjadi, sistem dapat mendeteksi kesalahan dengan cepat dan memberikan mekanisme yang sederhana dan mudah dipahami untuk penanganan kesalahan. 6. Memungkinkan pembalikan aksi yang mudah Hal ini dapat mengurangi kekhawatiran pengguna karena pengguna mengatahui kesalahan yang dilakukan dapat dibatalkan, sehingga pengguna tidak takut untuk mengeksplorasi pilihan-pilihan lain yang belum biasa digunakan. 7. Mendukung internal locus of control Pengguna ingin menjadi pengontrol sistem dan sistem akan merespon tindakan yang dilakukan pengguna dari pada pengguna merasa bahwa sistem mengintrol pengguna. Sebaiknya sistem dirancang sedemikian rupa sehingga pengguna menjadi indikator daripada responden. 8. Mengurangi beban ingatan jangka pendek Keterbatasan ingatan manusia membutuhkan tampilan yang sederhana atau banyak tampilan halaman yang sebaiknya disatukan, serta diberikan cukup waktu pelatihan untuk kode, dan urutan tindakan. Mengacu pada pendapat dari Jonathan Stark (2012) pengembangan aplikasi pada mobile terdapat 10 (sepuluh) prinsip desain untuk interface mobile:
25 1. Mobile Mindset Dengan adanya perbedaan antara mobile
dan desktop, ada
beberapa pola pikir untuk mobile: a. Be focused Aplikasi sebaiknya fokus pada suatu fitur karena dengan lebih banyak fitur, tidak membuat aplikasi tersebut menjadi lebih baik. b. Be unique Aplikasi yang dikembangkan memiliki suatu keunikan dan kekuatan yang membedakan aplikasi tersebut dengan aplikasi lainnya. c. Be charming Aplikasi yang dapat diandalkan, dan menyenangkan saat digunakan, sehingga aplikasi tersebut banyak diminati dan digunakan. d. Be considerate Aplikasi
yang
dikembangkan
sebaiknya
tidak
hanya
menyenangkan pengguna saat menggunakannya, tetapi juga sesuai dengan keinginan pengguna. 2. Mobile Contexts Terdapat 3 (tiga) konteks utama pada mobile yang perlu dipertimbangkan untuk mengetahui aplikasi yang pengguna inginkan: a. Bored : aplikasi yang berkonteks hiburan. b. Busy
: aplikasi untuk menyelesaikan tugas dengan cepat.
c. Lost
: aplikasi yang berkonteks informasi tempat.
3. Global Guidelines Setiap aplikasi memiliki teknik pendekatan dan desain yang berbeda-beda. Sifat yang merekat pada sebuah perangkat touchscreen berukuran saku memiliki hal yang harus diperhatikan dalam pengembangan aplikasi, yaitu: a. Responsiveness Jika pengguna melakukan sesuatu pada aplikasi, aplikasi perlu menunjukkan jika aplikasi sedang beroperasi.
26 b. Polish Pengembang harus memperhatikan detil desain aplikasi. c. Thumbs Dengan touchscreen interfaces, desain interfaces harus disesuaikan karena banyak pengguna menggunakan ibu jari untuk mengetik. d. Targets Dalam mendesain aplikasi yang akan menggunakan banyak fungsi
keyboard,
pengembang
sebaiknya
mendesain
penempatan tombol yang baik sehingga memudahkan pengguna dalam pengetikan. e. Content Sebaiknya pengembang menempatkan content aplikasi pada tengah layar untuk memudahkan pengguna berinteraksi dengan aplikasi. f. Controls Ketika harus menambahkan suatu kontrol pada aplikasi, sebaiknya diletakkan pada bagian bawah layar agar memudahkan pengguna berinteraksi dengan aplikasi. g. Scrolling Sebaiknya pengembang mengurangi pemakaian scrolling untuk memudahkan pengguna dalam penggunaan aplikasi. 4. Navigation Models Ada beberapa model navigasi umum untuk aplikasi mobile yang dapat digunakan sesuai dengan aplikasi, seperti none, tab bar, dan drill down. 5. User Input Pada pengembangan suatu aplikasi memungkinkan pengguna dalam memberikan input seperti pengetikan. Terdapat banyak variasi
keyboard
pada
smartphone,
pertimbangkan
untuk
menampilkan keyboard yang akan sangat berguna. Pilihan auto entry yang harus diaktifkan juga harus dipertimbangkan. Jika aplikasi
perlu
banyak
input
mendukung orientasi landscape.
seperti
pengetikan,
pastikan
27 6. Gestures Touchscreen interfaces saat ini mendukung gesture-based untuk interaksi pengguna. Hal - hal yang harus diingat adalah: a. Invisible Gestures tidak terlihat, tetapi pengembang aplikasi harus mempertimbangkan
bagaimana
untuk
mengungkapkan
keberadaan gestures tersebut kepada pengguna. b. Two Hands Multi-touch gestures membutuhkan operasi dua tangan. Contohnya pengguna dapat dengan mudah memperbesar atau memperkecil tampilan aplikasi dengan dua jari. c. Nice to have Menggunakan semacam keyboard shortcuts pada suatu aplikasi yang dikembangkan jika diperlukan agar pengguna lebih mudah dalam menggunakan aplikasi. d. No replacement Teknologi Two-Hands
belum terlalu berkembang dan
pengembangan aplikasi dianjurkan tidak menghilangkan fungsi single-finger. 7. Orientation a. Potrait Orientasi yang paling sering digunakan untuk mengoptimalkan desain antar muka aplikasi. b. Landscape Orientasi ini digunakan untuk mendukung pengguna yang sering mengetik yaitu dengan mengoptimalkan penggunaan keyboard yang lebih besar. c. Orientasi berubah tiba – tiba Pengembangan aplikasi yang akan digunakan dalam jangka panjang perlu dipertimbangkan untuk menambahkan suatu orientasi yang tepat di aplikasi tersebut. 8. Communications Aplikasi harus dapat berinteraksi dengan pengguna. a. Provide feedback
28 Memberikan umpan balik instan untuk setiap interaksi. Jika pengguna telah meminta suatu tindakan yang akan memakan waktu lama, maka aplikasi menampilkan progress bar. b. Modal alert Modal alert sangat mengganggu sehingga harus digunakan ketika ada sesuatu yang benar-benar salah. c. Confirmation Ketika harus meminta pengguna untuk mengkonfirmasi tindakan, dapat ditampilkan dialog konfirmasi modal. Seperti: “Apakah Anda yakin ingin menghapus data ini?”. 9. Launching Ketika pengguna kembali ke aplikasi, maka aplikasi harus kembali beroperasi tepat dimana pengguna terakhir mengoperasikan aplikasi. 10. First Impressions Pada saat pengguna pertama kali menggunakan aplikasi, terdapat 2 (dua) faktor yang menjadi kesan pertama pengguna, yaitu: a. Your icon Icon merupakan suatu hal yang sangat penting, karena icon merupakan salah satu yang menjadi daya tarik bagi pengguna
dalam
menggunakan
aplikasi
yang
dikembangkan. b. First launch Peluncuran pertama kali harusnya tidak menimbulkan kebingungan bagi pengguna yang menggunakannya 2.2 Teori Khusus 2.2.1 Teknologi Mobile Teknologi Mobile dibagi menjadi 3, yaitu mobile phone, smartphone, dan aplikasi mobile. Berikut merupakan penjelasan dari teknologi mobile. 2.2.1.1 Mobile Phone Awalnya mobile phone memiliki bentuk yang sangat besar dan terpasang oada kendaraan dan teknolgi yang mendukung hanya peniriman pesan menggunakan suara. Saat ini mobile phone sangat
29 umum. Hal ini disebabkan oleh kelahiran revolusi komunikasi global. Hingga saat ini teknologi mobile phone sudah berkembang pesat. Tidak hanya bertelepon, mobile phone dapat mengirimkan pesan,
gambar,
dan
menggunakan
fasilitas
internet.
Dan
dikarenakan semaki berkembangnya teknologi mobile phone dan banyaknya fitur-fitur yang ditambahkan pada mobile phone maka muncul istilah smartphone. 2.2.1.2 Smartphone Mengacu pada pendapat dari Ramteke, Choudhary (2012: 236), smartphone menyediakan fasilitas internet dan akses ke layanan data yang beragam. Teknologi smartphone telah pindah ke perangkat yang sangat visual dan menarik banyak pengguna serta memberikan banyak fasilitas untuk berkomunikasi. Beberapa sistem operasi yang sedang berkembang saat ini adalah Blackberry, iOS, dan Android. 2.2.1.3 Aplikasi mobile Aplikasi mobile adalah jenis dari software yang dirancang agar bisa berfungsi pada mobile device seperti smartphone. Fitur yang ditawarkan juga beragam seperti, fitur dasar dalam berkomunikasi, mengirim pesan, hingga mengirimkan video. (Fling, 2009: 25). Sebagian besar mobile sudah memiliki aplikasi dasarnya terlebih dahulu, seperti SMS/MMS, video player, dan browser yang sudah terpasang pada perangkat. Sebagian aplikasi yang tidak tersedia dapat diunduh melalui portal aplikasi online yang sudah disediakan masing-masing vendor. 2.2.2 Android Mengacu pada pendapat Nimodia dan Deshmukh (2012: 10), Android adalah sebuah software stack untuk perangkat mobile yang mencakup sistem operasi, middleware dan key applications. Android memiliki platform yang bersifat open source dan sistem operasi untuk perangkat mobile berbasis pada sistem operasi Linux dan dikembangkan oleh Google dan Open Handset Alliance.
30 Sistem operasi pada android ini berbasis bahasa pemrograman Java menggunakan Android Software Development Kit (Android SDK) dan berjalan pada Linux Kernel, dengan middleware, library, Application Programming Interface (API) yang ditulis dalam bahasa C, dan software yang berjalan pada suatu kerangka aplikasi dengan menyertakan Javacompatible libraries berbasis pada Apache Harmony, yaitu sebuah implementasi Java bersifat open source
dikembangkan oleh Apache
Software Foundation yang terdiri dari Java Development Kit (JDK), virtual machine dan class library. 2.2.2.1 Arsitekur Android Nimodia dan Deshmukh (2012: 11-12) dalam paket sistem operasi Android terdiri dari beberapa unsur seperti tampak pada gambar dibawah ini. Secara sederhana arsitektur Android merupakan sebuah kernel Linux dan sekumoulan pustaka C/C++ dalam suatu framework
yang menyediakan dan mengatur alur
proses aplikasi.
Gambar 2.12 Arsitektur Android Sumber : (Android Operating System. Software Engineering – Nimodia C. and Deshmukh H.R., 2013) • Linux Kernel Android dibangun di atas kernel Linux 2.6. Namun secara
31 keseluruhan Android bukanlah linux, karena dalam Android tidak terdapat paket standar yang dimiliki oleh linux lainnya. Linux merupakan sistem operasi terbuka yang handal dalam manajemen memori dan proses. Oleh karenanya pada Android hanya terdapat beberapa servis yang diperlukan seperti keamanan, manajemen memori, manajemen proses, jaringan dan driver. Kernel linux menyediakan driver layar, kamera, keypad, WiFi, Flash Memory, audio, dan IPC (Interprocess Communication) untuk mengatur aplikasi dan lubang keamanan. • Libraries Android menggunakan beberapa paket pustaka yang terdapat pada C/C++ dengan standar Berkeley Software Distribution (BSD) hanya setengah dari yang aslinya untuk tertanam pada kernel Linux. Beberapa pustaka diantaranya: o Media Library untuk mrmutar dan merekam berbagai macam format audio dan video. o Surface Manager untuk mengatur hak akases layrt dari berbagai aplikasi o Graphic Library termasuk didalamnya SGL dan OpenGL, untuk tampilan 2D dan 3D o SQLite untuk mengatur relasi database yang digunakan pada aplikasi o SS1 dan WebKit untuk browser dan keamanan internet Pustaka-pustaka tersebut bukanlah aplikasi yang berjalan sendiri, namun hanya dapat digunakan oleh program yang berada di level atasnya. Sejak versi Android 1.5, pengembang dapat membuat dan menggunakan pustaka sendiri menggunakan Native Development Toolkit (NDK).
32 • Android Runtime Pada
Android
tertanam
paket
pustaka
inti
yang
menyediakan sebagian besar fungsi Android. Inilah yang membedakan Android dibandingkan dengan sistem operasi yang lain yang juga mengimplementasikan Linux. Android Runtime merupakan mesin virtual yang membuat aplikasi Android menjadi lebih tangguh dengan paket pustaka yang telah ada. Dalam Android Runtime terdapat 2 bagian utama, antaranya: 1. Pustaka Inti Android
dikembangkan
melalui
bahasa
pemrograman Java, tapi Android Runtime bukanlah mesin virtual Java. Pustaka inti Android menyediakan hampir semua fungsi yang
terdapat
pada
pustaka
Java
serta
beberapa pustaka khusus Android 2. Mesin Virtual Dalvik Dalvik merupakan sebuah mesin virtual yang dikembangkan oleh Dan Bornstein yang terinspirasi dari nama sebuah perkampungan yang berada di Iceland. Dalvik hanyalah interpreter mesin virtual yang mengeksekusi file dalam format Dalvik Executable (*.dex). Dengan
format
ini
Dalvik
akan
mengoptimalkan efisiensi penyimpanan dan pengalamatan
memori
pada
file
yang
dieksekusi. Dalvik berjalan di atas kernel Linux 2.6, dengan fungsi dasar seperti threading dan manajemen memori yang terbatas.
33 • Application Framework Kerangka aplikasi menyediakan kelas-kelas yang dapat digunakan untuk mengembangkan aplikasi Android. Selain itu, juga menyediakan abstraksi generik untuk mengakses perangkat, serta mengatur tampilan user interface dan sumber daya aplikasi. Bagian terpenting dalam kerangka aplikasi Android adalah sebagai berikut : a. Activity Manager berfungsi untuk mengontrol siklus hidup aplikasi dan menjaga keadaan ”Backstack“ untuk navigasi penggunaan. b. Content Providers berfungsi untuk merangkum data yang
memungkinkan
digunakan
oleh
aplikasi
lainnya, seperti daftar nama. c. Resource Manager untuk mengatur sumber daya yang ada dalam program. Serta menyediakan akses sumber daya diluar kode program, seperti karakter, grafik, dan file layout. d. Location Manager berfungsi untuk memberikan informasi detail mengenai lokasi perangkat android berada. e. Notification Manager, mencakup berbagai macam peringatan seperti, pesan masuk, janji, dan lain sebagainya yang akan ditampilkan pada status bar. • Application Layer Puncak dari diagram arsitektur android adalah lapisan aplikasi dan widget. Lapisan aplikasi merupakan lapisan yang paling tampak pada pengguna ketika menjalankan program. Pengguna hanya akan melihat program ketika digunakan tanpa mengetahui proses yang terjadi dibalik lapisan aplikasi. Lapisan ini berjalan dalam Android runtime dengan menggunakan kelas dan service yang tersedia pada framework aplikasi. Lapisan aplikasi android sangat berbeda dibandingkan dengan sistem operasi
34 lainnya. Pada android semua aplikasi, baik aplikasi inti (native) maupun aplikasi pihak ketiga berjalan diatas lapisan
aplikasi
dengan
menggunakan
pustaka
API
(Application Programming Interface) yang sama. 2.2.2.2 Komponen Aplikasi Fitur penting android adalah bahwa satu aplikasi dapat menggunakan elemen dari aplikasi lain (untuk aplikasi yang memungkinkan). Sebagai contoh, sebuah aplikasi memerlukan fitur scroller dan aplikasi lain telah mengembangkan fitur scroller
yang
baik
menggunakannya. mengembangkan
dan
Maka hal
memungkinkan pengembang
serupa
untuk
aplikasi
tidak
perlu
aplikasinya,
lain lagi cukup
menggunakan scoller yang telah ada. Agar fitur tersebut dapat bekerja, sistem harus dapat menjalankan aplikasi ketika setiap bagian aplikasi itu dibutuhkan, dan pemanggilan objek java untuk bagian itu. Oleh karena itu Android berbeda dari sistemsistem lain, Android tidak memiliki satu tampilan utama program seperti fungsi main () pada aplikasi lain. Sebaliknya, aplikasi memiliki komponen penting yang memungkinkan sistem untuk memanggil dan menjalankan ketika dibutuhkan. (Anonim1, 2013) 1. Activities Activity merupakan bagian yang paling penting dalam sebuah aplikasi, karena Activity menyajikan tampilan visual program yang sedang digunakan oleh pengguna. Setiap Activity dideklarasikan dalam sebuah kelas yang bertugas untuk menampilkan antarmuka pengguna yang terdiri dari Views dan respon terhadap Event. Setiap aplikasi memiliki sebuah activity atau lebih. Biasanya pasti akan ada activity yang pertama kali tampil ketika aplikasi
dijalankan. Perpindahan
antara
activity
dengan activity lainnya diatur melalui sistem, dengan memanfaatkan activity stack. Keadaan suatu activity
35 ditentukan oleh posisinya dalam tumpukan acitivity, LIFO (Last In First Out) dari semua aplikasi yang sedang berjalan. Bila suatu activity baru dimulai, activity yang sebelumnya digunakan maka akan dipindahkan ketumpukan paling atas. Jika pengguna ingin
menggunakan
activity
sebelumnya,
cukup
menekan tombol Back, atau menutup activity yang sedang digunakan, maka activity yang berada diatas akan
aktif
kembali.
menggunakan
Memory
tumpukkan
ini
Manager untuk
android
menentukan
prioritas aplikasi berdasarkan activity, memutuskan untuk mengakhiri suatu aplikasi dan mengambil sumber daya dari aplikasi tersebut. 2. Service Suatu service tidak memiliki tampilan antarmuka, melainkan berjalan di background untuk waktu yang tidak terbatas. Komponen service diproses tidak terlihat, memperbarui sumber data dan menampilkan notifikasi.
Service
digunakan
untuk
melakukan
pengolahan data yang perlu terus diproses, bahkan ketika Activity tidak aktif atau tidak tampak.
3. Intents Intens
merupakan
sebuah
mekanisme
untuk
menggambarkan tindakan tertentu, seperti memilih foto, menampilkan halaman web, dan lain sebagainya. Intents tidak selalu dimulai dengan menjalankan aplikasi, namun juga digunakan oleh sistem untuk memberitahukan ke aplikasi bila terjadi suatu hal, misal pesan masuk. Intents dapat eksplisit atau implisit, contohnya jika suatu aplikasi ingin menampilkan URL, sistem
akan
menentukan
komponen
dibutuhkan oleh Intents tersebut.
apa
yang
36 4. Broadcast Receivers Broadcast Receivers merupakan komponen yang sebenarnya tidak melakukan apa-apa kecuali menerima dan bereaksi menyampaikan pemberitahuan. Sebagian besar Broadcast berasal dari sistem misalnya, Batre sudah hampir habis, informasi zona waktu telah berubah, atau pengguna telah merubah bahasa default pada
perangkat.
Sama
halnya
dengan
service,
Broadcast Receivers tidak menampilkan antarmuka pengguna.
Namun,
menggunakan
Broadcast
Notification
Receivers Manager
dapat untuk
memberitahukan sesuatu kepada pengguna. 5. Content Providers Content Providers digunakan untuk mengelola dan berbagi database. Data dapat disimpan dalam file sistem, dalam database SQLite, atau dengan cara lain yang pada prinsipnya sama. Dengan adanya Content Provider memungkinkan antar aplikasi untuk saling berbagi data. Komponen ini sangat berguna ketika sebuah aplikasi membutuhkan data dari aplikasi lain, sehingga mudah dalam penerapannya. 2.2.3 JAVA Gosling et. al. (2010: 3) mengatakan bahwa bahasa pemrograman Java merupakan sebuah bahasa pemrograman yang berorientasi objek yang dirancang dengan sederhana sehingga programmer dapat dengan mudah menggunakan bahasa pemrograman Java. Syntax yang ada pada bahasa pemrograman Java diambil dari C ataupun C++ hanya saja dibuat menjadi lebih sederhana dan sedikit lebih rendah levelnya dibandingkan C ataupun C++. Aplikasi Java biasanya dikompilasi menjadi bytecode (file class) yang dapat
dieksekusi pada Java Virtual Machine (JVM) manapun tanpa
memerhatikan arsitektur komputer. Java dapat dijalankan di setiap
37 komputer dan peralatan elektronik selama perangkat tersebut memiliki JVM (Java Virtual Machine). Bahasa pemrograman Java tercatat sebagai bahasa pemrograman terpopuler ke-2 setelah C. (TIOBE Programming Community Index, September 2012). Berikut beberapa kelebihan yang ditawarkan bahasa pemrograman Java menurut Gosling et. al. (2010:554): 1. Implementasi yang sederhana Bahasa pemrograman Java dapat dikatakan sebagai sebuah perubahan maju dari bahasa pemrograman yang telah ada. Java dirancang agar mudah untuk digunakan dalam proses penulisan kode, kompilasi dan debug dibandingkan bahasa pemrograman lainnya. 2. Object Oriented Programming (OOP) Java memang dirancang untuk memenuhi kebutuhan bahasa pemrograman yang berorientasi pada objek seperti pada pembuatan objek, manipulasi objek, dan membuat objek berhubungan. Dengan adanya OOP pada Java, maka user dapat menggunakan kembali kode yang ada. 3. “Write once, run anywhere” Dengan kelebihan ini, progammer cukup membuat sebuah program dengan Java dan setelah dikompilasi hasilnya dapat dijalankan di perangkat manapun yang sudah memiliki Java. 4. Performance Pada awalnya Java memiliki performa yang dapat dikatakan lambat dan memakan memori yang lebih besar dibandingkan bahasa
pemrograman
C.
Tetapi
setelah
just-in-time
compilation diperkenalkan, performa Java kian membaik.
2.2.4 Teori Pendukung Dalam Pembuatan Halaman Web 2.2.4.1 Hypertext Transfer Protocol (HTTP) Berdasarkan Connolly dan Begg (2010: 1028), HTTP adalah sebuah protocol yang digunakan untuk mentransfer halaman web melalui internet.
38 Transaksi dalam HTTP terdiri dari beberapa tahap, yaitu : 1. Koneksi - pengguna koneksi dengan web server. 2. Permintaan - pengguna mengirim sebuah pesan permintaan ke web server. 3. Respon - web server mengirim respon ke pengguna. 4. Close - koneksi ditutup oleh web server. 2.2.4.2 Uniform Resource Locators (URL) Dikutip dari Connolly dan Begg (2010: 1032), URL adalah sekumpulan
string
atau
karakter
alphanumeric
yang
menggambarkan lokasi atau alamat dari sebuah sumber yang ada di internet dan bagaimana sumber itu dapat diakses. Kunci kemampuan browser dapat bekerja dengan berbagai sistem yang berbeda di internet karena browser menggunakan URL. URL merupakan cara standar untuk menampilkan informasi tentang jenis ini dan lokasi file : nama file, lokasi komputer di internet, letak file di dalam komputer dan protocol internet yang digunakan untuk mengakses file itu. Internet sangat besar, merupakan interkoneksi, terdistribusi, tempat yang sangat tidak seragam dan URL menstandarkan dari keanekaragaman ini. Berikut beberapa contoh URL: a. http://info.cern.ch:80/default.html b. gopher://gopher.std.com c. ftp://wuarchive.wustl.edu/mirrors d. news:alt.internet.service e. http://server/folder/index.php 2.2.4.3 Personal Home Page (PHP) Welling (2010: 2) PHP adalah bahasa scripting server-side yang didesain khusus untuk Web. Kode PHP ditafsirkan pada web server dan menghasilkan HTML atau lainnya out-put dan user akan melihat .
39 PHP dibuat pada tahun 1994 dan awalnya merupakan karya satu orang, Rasmus Lerdorf. PHP adalah proyek Open Source, yang berarti pengguna memiliki akses ke kode sumber dan dapat menggunakan, mengubah, dan mendistribusikan ulang semua tanpa biaya. PHP awalnya berdiri untuk Personal Home Page tetapi diubah sesuai dengan GNU rekursif konvensi penamaan ( GNU = Gnu Not Unix ) dan sekarang berdiri untuk PHP Hypertext Preprocessor .Beberapa pesaing utama PHP adalah Perl, Microsoft ASP.NET, Ruby ( on Rails atau yang lainnya ) , JavaServer Pages (JSP) , dan ColdFusion . Welling (2010: 4) dibandingkan dengan produk ini, PHP memiliki banyak kekuatan , termasuk yang berikut : 1.
Skalabilitas
2.
Antarmuka untuk banyak sistem database yang berbeda
3.
Biaya rendah
4.
Kemudahan belajar dan penggunaan
5.
kuat dukungan berorientasi objek
6.
Portabilitas
7.
Fleksibilitas pendekatan pembangunan
8.
Ketersediaan kode sumber
9.
Ketersediaan dukungan dan dokumentasi
2.2.4.4 Hypertext Markup Language (HTML) Dikutip dari Connolly dan Begg (2010: 1029), HTML adalah suatu sistem mark up atau penggabungan, sehingga dokumen-dokumen dapat dipublikasikan dalam media web. Dokumen HTML disebut sebagai mark up language karena mengandung tanda tertentu yang digunakan untuk menentukan tampilan suatu teks dan tingkat kepentingan dari teks tersebut pada suatu dokumen. Dengan sistem hypertext pada dokumen, dokumen tidak harus dibaca secara berurutan dari atas ke bawah tetapi dapat langsung menuju ke topik tertentu dengan
40 menggunakan teks penghubung (link) yang akan membawa langsung ke topik yang diinginkan. 2.2.4.5 Apache Apache atau Apache HTTP Server adalah server web yang dapat dijalankan di banyak sistem operasi (Unix, BSD, Linux, Microsoft Windows dan Novell Netware serta platform lainnya) yang berguna untuk melayani dan memfungsikan situs web. Protokol yang digunakan untuk melayani fasilitas web/www ini mengunakan HTTP. Apache memiliki fitur-fitur canggih seperti pesan kesalahan yang dapat dikonfigurasi, autentikasi berbasis basis data dan lain-lain. Apache juga didukung oleh sejumlah antarmuka pengguna
berbasis
grafik
(GUI)
yang
memungkinkan
penanganan server menjadi mudah. Apache merupakan perangkat lunak sumber terbuka dikembangkan oleh komunitas terbuka yang terdiri dari pengembang-pengembang dibawah naungan Apache Software Foundation. 2.2.4.6 CSS Menurut Meloni (2012: 45), CSS adalah bahasa yang digunakan sebagai pendukung tampilan halaman layar HTML yang akan membuat teks dan tampilan yang lebih menarik, membuat rancangan halaman yang kompleks dan secara umum memberikan tampilan yang lebih baik pada beberapa bagian web. Konsep dari CSS ini adalah memisahkan pemodelan tampilan dari isi tampilan itu sendiri yaitu HTML, dimana membiarkan
HTML
berurusan
dengan
struktur
dan
menggunakan pemisah dokumen CSS untuk representasi visual. Keuntungan CSS sangatlah banyak, di antaranya sebagai berikut:
41 • Pengaturan struktur dalam pixel Banyak desainer yang menspesifikasikan struktur dalam
pixel,
pengukur
karena
yang
pixel
hanya
memungkinkan
diri
satu—satunya kita
untuk
memastikan struktur menjadi cukup identik dengan berbagai macam browser. CSS mendukung bentuk pengaturan struktur pixel ini. • Pengaturan kata menggunakan kata kunci dan persentase Kombinasi dari kata kunci dan presentasi menjadi cukup populer dalam suatu halaman web. Adapun berbagai kata kunci dalam pengaturan kata seperti small, x-small, xx-small, medium, large, x-large, dan xx-large. CSS memperbolehkan penggunaan keyword ini ataupun penggunaan persentase untuk pengaturan ukuran kata. • Pengaturan tinggi baris Seorang desainer grafis tidak dapat terlepas dari pengaturan tinggi baris, karena dengan pengaturan tinggi baris maka tampilan dapat menjadi lebih baik dan rapi. CSS mendukung pengaturan tinggi ini menggunakan atribut line-height, hal ini dibutuhkan karena tampilan pada layar berbeda dengan tampilan pada kertas. • Mendefinisikan model dan tebal dari kata Dalam pembentukan desain dari suatu grafis, bentuk dan tebal dari suatu kata sangatlah berpengaruh terhadap tampilan dari grafis tersebut. Model dari kata yang dimaksud disini adalah bagaimana kata itu akan ditampilkan, contohnya adalah italic, dan tebal dari kata disini contohnya adalah bold. 2.2.5 SQLite SQLite merupakan sebuah sistem manajemen basis data relational
42 yang bersifat ACID-compliant dan memiliki ukuran putaka kode yang relative kecil, ditulis dalam bahasa C. SQLite merupakan proyek yang bersifat public domain yang dikerjakan oleh D.Richard Hipp. Tidak seperti pada paradigm client-server umumnya, inti SQLite bukanlah sebuah sistem yang mandiri yang berkomunikasi dengan sebuah program, melainkan sebagai bagian integrak dari sebuah program secara keseluruhan. Sehingga protocol komunikasi utama yang digunakan adalah melalui panggilan API secara langsung melalui bahasa pemograman. Mekanisme seperti ini tentunya membawa keuntungan karena dapat mereduksi overhead, latency times, dan secara keseluruhan lebih sederhana. Seluruh elemen basis data (definisi data, table, indeks, dan data) disimpan sebagai sebuah file. Kesederhanaan dari sisi desain tersebut bisa diraih dengan cara mengunci keseluruhan file basis data pada saat sebuah transaksi dimulai. (Anonim2, 2013) 2.2.6 JavaScript Menurut Meloni (2012: 66) Javascript adalah bahasa pemrograman scripting yang mendukung dan memperbolehkan kita untuk memberikan HTML kita animasi, interaktifitas dan efek yang dinamis. JavaScript juga dapat membantu kita dalam membuat tampilan yang lebih menarik dan interaktif seperti slide show. Salah satu kelebihan dari JavaScript adalah keterlangsungannya yang memperbolehkan halaman web untuk merespon secara langsung terhadap tindakan-tindakan seperti me-klik suatu link, mengisi sebuah form atau hanya menggerakkan mouse pada layar. JavaScript ini sangat ringan karena ia adalah bahasa pemograman yang berjalan di sisi klien berbeda dengan PHP yang berjalan di sisi server, oleh karena itulah JavaScript dapat memberikan rasa bahwa halaman web menyerupai tampilan pada aplikasi desktop. 2.2.7 Google Cloud Massanging Google Cloud Messaging (GCM) merupakan layanan yang membantu developer untuk mengirimkan data melalui server kepada perangkat Android yang dimiliki. Sebelumnya, GCM disebut Android C2DM.
43 Menurut Zhao et. al. (2012), C2DM memberikan solusi yang fleksibel kepada para developer untuk mengirimkan pesan ringan terhadap aplikasi mobile tanpa harus menghubungkan dengan server secara berkala. Pengelolaan storage dan penyampaian pesan dilakukan oleh Google sendiri. Hal ini menyederhanakan rancangan aplikasi mobile dan mengurangi network traffic serta penggunaan baterai pada perangkat.
Gambar 2.13 C2DM Workflow dan Architecture (Sumber: Cloud-based Push-Styled Mobile Botnets: A Case Study of Exploiting the Cloud to Device Messaging Service – Shuang Zhao et. al., 2012) 2.2.8 Java Script Object Notation (JSON) Menurut Nurseitov et. al. (2009), JSON adalah sebuah format pertukaran data dengan tujuan yang unik. JSON dirancang untuk menjadi bahasa pertukaran data yang dapat dipahami oleh manusia serta mudah diurai dan digunakan oleh komputer. Secara langsung JSON sudah didukung dalam JavaScript dan sangat cocok untuk aplikasi yang menggunakan bahasa pemrograman JavaScript. Menurut Nurseitov et. al. (2009), JSON diperkirakan dapat mengurai hingga seratus kali lebih cepat dibandingkan XML pada modern browser. Tetapi meskipun mengklaim kelebihan dalam kinerja, JSON memiliki kekurangan seperti kurangnya dukungan namespace, kurangnya validasi input dan extensibility drawbacks.
44 2.2.9 Web Service Snell et al. (2011: 6) Web service adalah interface yang diakses oleh jaringan
untuk
fungsionalitas
aplikasi,
dibangun
dengan
menggunakan teknologi internet.
Gambar 2.14 Ilustrasi Web Service (Sumber: Programming Web Services with SOAP – Doug Tidwell, James Snell, Pavel Kulchenko, 2011)
2.2.10 Eclipse Menurut Steinberg et. al. (2008: 21), Eclipse adalah sebuah open source software yang gunanya menyediakan tool platform yang sangat terintegrasi. Dalam penggunaannya Eclipse meliputi core project dimana yang berisi generic framework untuk tool integration dan sebuah Java development environment. Proyek pada Eclipse terimplementasikan pada Java dan dapat dijalankan pada beberapa sistem operasi meliputi Windows, Mac OSX dan Linux. Menurut Steinberg et. al. (2008: 13), proyek Eclipse mendukung pengembangan
dari
sebuah
platform
atau
framework
untuk
pengimplementasian dari Integrated Development Environment (IDE) dan aplikasi lainnya. Meskipun framework dari Eclipse diimplementasikan pada Java tidak menutup kemungkinan pengembangan juga dilakukan pada bahasa pemograman lainnya seperti C++, XML dan sebagainya. 2.2.11 MySQL Bell (2012: 12) MySQL adalah sistem manajemen database relasional yang dirancang untuk digunakan dalam arsitektur client / server . MySQL juga dapat digunakan sebagai perpustakaan database. Pada tingkat terendah dari sistem, server dibangun menggunakan model multithreaded ditulis dalam kombinasi C dan C++. Sebagian besar
45 fungsi inti ini dibangun pada awal 1980-an dan kemudian dimodifikasi dengan Structured Query Language (SQL) lapisan pada tahun 1995. MySQL dibangun menggunakan GNU C compiler (GCC), yang menyediakan banyak fleksibilitas untuk lingkungan sasaran. Ini berarti MySQL dapat dikompilasi untuk digunakan pada hampir semua sistem operasi Linux. Oracle juga telah sukses besar dalam varian bangunan untuk sistem operasi Microsoft Windows dan Macintosh . Alat klien untuk MySQL sebagian besar ditulis dalam C untuk portabilitas dan kecepatan yang lebih besar . Perpustakaan klien dan mekanisme akses yang tersedia untuk . NET , Java , ODBC , dan beberapa lainnya. 2.2.12 Android Software Development Kit (SDK) Berdasarkan Burnette (2010: 21), Android Software Development Kit (SDK) merupakan sebuah kumpulan aplikasi pengembangan yang komprehensif yang meliputi debugger, libraries dan emulator berbasis QEMU, dokumentasi, tutorial dan contoh kode. Android SDK terbagi dalam dua bagian yaitu Android SDK Starter dan Android SDK Components. Android SDK Starter merupakan aplikasi utama sedangkan Android SDK Components berisi tools yang akan digunakan nantinya. Tools pada Android SDK terbagi menjadi dua jenis yaitu: 1. SDK tools yang isinya merupakan kumpulan komplit development tools untuk pengembangan aplikasi. 2. Platform tools yang berfungsi untuk mendukung fitur yang baru muncul pada platform Android tertentu. 2.2.13 Global Positioning System (GPS)
Mengacu pada pendapat Meduri dan Brahmanandam (2012: 445), Global Positioning System (GPS) adalah satelit berbasis sistem navigasi radio untuk memberikan informasi posisi yang akurat dengan waktu yang tepat. Biasanya, akurasi GPS dibatasi oleh beberapa faktor seperti lingkungan, penerima, dan kesalahan berbasis satelit. 2.2.14 Parental Control Menurut Kuppusamy (2013: 26-27) pengaksesan jarak jauh dari sebuah sistem komputer menggunakan smartphone telah dicoba oleh berbagai peneliti. Studi-studi menunjukkan kemampuan untuk mengakses
46 sistem komputer yang menjalankan sistem operasi seperti Windows dari smartphone yang menjalankan sistem operasi Android. Berbagai kemampuan penginderaan lainnya dari ponsel telah digunakan oleh para peneliti dalam penggalian konteks rincian spesifik tentang aktivitas pengguna. Penggunaan internet bermasalah dan dampak psikologis yang telah dipelajari oleh berbagai peneliti. Pendekatan parental control khusus untuk smartphone telah dipelajari oleh berbagai peneliti. Pendekatan ini mengadopsi berbagai penyaringan dan pemantauan teknik untuk mengamati anak-anak dan remaja dalam pemanfaatan smartphone. Pelacakan lokasi dan kemampuan untuk membatasi panggilan mereka juga telah diadopsi oleh pendekatan ini. 2.3 Hasil Penelitian Berikut perbandingan berbagai aplikasi sejenis Parental Control yang sudah ada: 1. Kytephone Parental Control a. Kelebihan -
Call Blocking: memblockir panggilan dari nomor yang tidak dikenal.
-
Game Time Limits: mengatur berapa lama anak Anda bisa bermain games.
-
GPS Trancking: mengetahui lokasi keluarga.
-
App Control: Anak hanya bisa menjalankan aplikasi yang orang tua pilih.
-
SMS Blocker: Memilih siapa saja yang dapat anak Anda kirimi pesan.
-
Photo Sync: semua photo tersinkronisasi dengan akun orang tua.
-
Remote Monitoring: mengatur dan memonitoring dari berbagai device
-
Tablet Compatible: dapat berjalan di tablet, termasuk Nexus 7
b. Kekurangan -
Tidak ada Web Filtering.
-
Menggunakan custom launcher.
-
Dapat di uninstall melalui menu pengaturan.
47 2. Kaspersky Parental Control a. Kelebihan -
Web Filtering.
-
Application Block.
-
Tampilan yang menarik.
-
Tidak bisa di uninstall tanpa login terlebih dahulu.
-
Tidak menggunakan custom launcher.
b. Kekurangan -
Tidak ada fitur lain seperti yang terdapat pada aplikasi Kytephone Parental Control.
-
Orang tua tidak dapat mengontrol anaknya dari jarak jauh, karena mode admin dan mode user diembed menjadi satu.
3. Care4teen a. Kelebihan -
Tampilan yang menarik.
-
Remote Dashboard untuk orangtua melalui situs Care4teen.
-
Dapat menambahkan data situs yang boleh dibukan dan yang tidak boleh dibuka.
-
Block website melalui situs Care4teen.
b. Kekurangan -
Harus membuka “Safe Browser” buatan Care4teen untuk memblockir situs-situs yang dilarang.
-
Tidak ada fitur lain seperti yang terdapat pada aplikasi Kytephone Parental Control.
-
Dapat di uninstall melalui menu pengaturan.
Selain itu, berikut ini merupakan penjelasan yang berasal dari jurnal yang dapat mendukung aplikasi Parental Control, seperti :
1. (Anacleto, Figueiredo, Almeida, & Novais, 2013: 85-91) , bahwa “File Json lebih kecil dalam penyimpanan memori dan dengan menggunakan 3G membutuhkan waktu lama untuk melakukan download dibandingkan IEEE802.11. Selain itu, Google Maps adalah aplikasi pemetaan yang disediakan oleh Google yang dapat
48 dimasukkan ke dalam ponsel Siteby menggunakan aset dan Google Map Application Programming Interface (API) Google Map. Google Maps adalah layanan berbasis web yang memberikan informasi rinci tentang wilayah geografis dan situs di sekitar dunia.” 2. (Komar, Mohan , 2013: 1607), bahwa “Google Cloud Messaging untuk Android (GCM) adalah layanan gratis yang membantu developer untuk mengirim data dari server untuk aplikasi Android diperangkat Android. Layanan GCM menangani semua aspek antrian pesan dan pengiriman ke aplikasi target Android berjalan pada perangkat target."
3. (Muthumurugesan, Nalini, & Vinodini, 2013: 31), bahwa "Konten yang terdapat di jurnal ini adalah LBS, adalah layanan yang menyediakan informasi dan dapat diakses melalui perangkat mobile melalui jaringan mobile. Layanan ini memanfaatkan kemampuan untuk memanfaatkan posisi geografis perangkat mobile. LBS dapat memanfaatkan beberapa teknologi seperti GPS, WiFi, jaringan selular. Layanan ini mengambil lokasi saat ini menggunakan GPS dan tidak adanya GPS menggunakan query pengolahan pengguna akhir dapat mengidentifikasi tempat tujuan.”
4. (Hati, Suprayogi, & Sasmito, 2013: 26), bahwa “Konten yang terdapat pada jurnal ini adalah peta digital, mobile GIS, dan LBS. Peta digital merupakan representasi fenomena geografik yang disimpan untuk ditampilkan dan dianalisis oleh Komputer. Peta digital disajikan pada device digital seperti luar komputer bahkan sekarang ditampilkan di layar smartphone. Peta digital biasanya berukuran besar dan memiliki format tertentu yang diolah dengan menggunakan komputer. Konten kedua yaitu Mobile GIS merupakan sebuah integrasi cara kerja software maupun hardware untuk pengaksesan data dan layanan geospasial melalui perangkat bergerak via jaringan kabel. Dan konten ketiga yaitu LBS
49 merupakan teknologi yang dapat digunakan untuk mengetahui posisi berdasarkan titik geografis dari lokasi pengguna dan lokasi lain yang diinginkan. Selain itu perancangan sistem aplikasi ini terintegrasi dengan google maps API.”
5. (Kuppusamy, Francis, & Aghila, 2013: 26-29), bahwa “ RePort model dirancang untuk 4 layar, yaitu smartphone layer, desktop layer, social networking layer, dan reporting layer. Smartphone layer untuk memantau kegiatan pengguna smartphone. Desktop Layer untuk memantau perilaku pengguna sistem komputer dalam hal ini adalah anak-anak. Dan reporting layer menerima masukan dari tiga lapisan dan mengkonsolidasikan data dan menyediakan berbagai laporan.”
50