Sabtu, 04 Juni 2016

Proposal Penelitian Penulisan Ilmiah


ABSTRAKSI

Ade Irmayanti, 10111120
APLIKASI PANDUAN DAN KONVERTER SANDI PRAMUKA BERBASIS ANDROID
PI, Jurusan Sistem Informasi, Fakultas Ilmu Komputer dan Teknologi Informasi, Universitas Gunadarma, 2014.
Kata kunci : android, panduan pramuka, sandi.

(xiii+62+lampiran)

Aplikasi Panduan dan konverter sandi pramuka dibangun dengan platform android. Hasil pengujian dari aplikasi ini selain menghadirkan sebuah aplikasi yang terdiri dari teks, dan ilustrasi gambar, aplikasi ini juga memberikan nilai edukasi kepada pengguna yang khususnya adalah anggota pramuka. Aplikasi ini dibuat dengan mengunakan bahasa pemprograman HTML5 dan Javascript serta software Eclipse.
Metodologi yang digunakan dalam pembuatan aplikasi ini adalah merencanakan pembuatan aplikasi, perancangan aplikasi yaitu merancang struktur navigasi dan tampilan aplikasi, juga langkah pembuatan aplikasi dan proses uji coba. Aplikasi ini dilengkapi dengan fitur konverter untuk menterjemahkan sandi dan terdapat simulasi gambar untuk pembelajaran simpul. Selain itu pada aplikasi ini juga terdapat kekurangan, seperti tampilan yang kurang menarik, dan informasi yang disediakan belum lengkap. Dengan adanya aplikasi ini diharapkan dapat mempermudah para pengguna untuk mempelajari tentang kepramukaan , di tengah rutinitas kesibukannya dengan menggunakan handphone android yang dimiliki oleh pengguna.

Daftar Pustaka (2008-2013)



1.      PENDAHULUAN

1.1       Latar Belakang
Kepramukaan sebagai gerakan pendidikan non formal merupakan bagian tak terpisahkan dari sistem pendidikan dalam menyiapkan anak bangsa menjadi kader bangsa yang berkualitas baik moral, maupun fisik dan keterampilan. Gerakan pramuka adalah suatu gerakan pendidikan untuk kaum muda, yang bersifat sukarela, nonpolitik, terbuka untuk semua tanpa membedakan ras, suku maupun agama. Dalam kegiatan pramuka dibutuhkan sebuah panduan, salah satunya adalah buku saku pramuka, namun buku saku pramuka memiliki beberapa kekurangan yaitu : konten gambar yang ada di dalamnya kurang jelas, desain yang kurang menarik dan tidak seragam, serta banyak sandi-sandi yang sulit untuk dipahami. Selain buku saku, panduan pramuka juga terdapat pada media lain seperti web, desktop applicaton (Visual Basic),dan juga sudah terdapat di android namun sejauh yang penulis temukan tidak ada fitur untuk konverter sandi.
Berdasarkan uraian tersebut diatas, penulis berinisiatif untuk membuat aplikasi panduan pramuka dan konverter sandi yang ditujukan untuk kalangan pengguna android sebagai media alternatif untuk pembelajaran tentang pramuka yang atraktif dan interaktif. Dengan adanya media pembelajaran yang berbeda dari buku saku pramuka sebagai panduan pada umumnya diharapkan agar para siswa ataupun anggota pramuka dapat belajar dan memahami tentang kepramukaan dengan lebih mudah. Dengan demikian pembuatan “Aplikasi Panduan dan Konverter Sandi Pramuka” pada Android akan lebih mudah diakses sehingga bisa memberikan manfaat bagi siswa ataupun anggota pramuka yang menggunakanya.

1.2       Batasan Masalah

Penulisan Ilmiah ini membahas mengenai perancangan dan pembuatan aplikasi pembelajaran berbasis android yang berisi materi panduan pramuka, simpul-simpul, kompas , dan terdapat fitur konverter dari beberapa jenis sandi yaitu sandi A-N, sandi A-Z, sandi Angka, dan sandi Udang. 2
Aplikasi panduan dan konverter sandi ini hanya bisa di jalankan pada smartphone android minimal versi Ginger Bread . Pembuatan aplikasi ini dibuat menggunakan Eclipse, Java script, Phonegap, Android SDK, J-Query Mobile, dan Dreamweaver.

1.3       Tujuan Penulisan

Tujuan penulisan ini adalah membuat aplikasi panduan dan konverter sandi pramuka ,yang jika sudah diterapkan dapat menjadi media pembelajaran baru bagi siswa ataupun anggota pramuka yang atraktif dan interaktif.

1.4       Metode Penulisan

Metode penulisan ilmiah yang digunakan dalam penulisan ini adalah metode pengumpulan data dan pengembangan aplikasi.

1.4.1 Metode Pengumpulan Data
1. Studi Pustaka
Mengumpulkan data dengan cara membaca buku-buku dan literatur dari internet yang berhubungan dengan penulisan yang penulis buat.

1.4.2 Metode Pengembangan Aplikasi
1.      Perencanaan
Membuat rencana tahap-tahap yang akan dilakukan dalam penelitian ini. Tahap –tahap yang akan dilakukan adalah sebagai berikut:
a. Menentukan perangkat lunak yang akan digunakan. Pembuatan aplikasi ini menggunakan sistem operasi Windows 7 Ultimate serta berbagai software lain seperti Eclipse, Android SDK, Phonegap, Dreamweaver dan Adobe Photoshop CS6. Aplikasi ini dibuat menggunakan bahasa pemrograman HTML5 dan java script.
b. Menentukan perangkat keras yang akan digunakan. Untuk melakukan pembuatan aplikasi ini, penulis mempersiapkan beberapa hardware seperti:

1. Satu unit notebook dengan spesifikasi :
- Processor : Intel® Core™ i5-3337U CPU @ 1,8 GHz
- Memory : 4.00GB
- Hardisk : 750 GB
2. Satu unit mobile smartphone dengan spesifikasi :
- Nama : Samsung Galaxy Tab2 7.0 GT-P3100
- Sistem Operasi : Android 4.0.4 (Ice Cream Sandwich)
- CPU : Dual-core 1Ghz

2.      Analisis, dilakukan analisis kebutuhan aplikasi yaitu seberapa penting penggunaan aplikasi panduan pramuka dan konverter sandi berbasis android. Selanjutnya dilakukan analisis kebutuhan fungsional aplikasi yaitu bagian paparan mengenai fitur-fitur yang akan dimasukkan kedalam aplikasi yang akan dibuat, sehingga maksud dari pembuatan aplikasi yang sudah dijabarkan sebelumnya dapat tercapai.
3.       Perancangan, proses perancangan bertujuan agar pengguna aplikasi nantinya dapat menggunakan aplikasi ini dengan mudah, sehingga maksud dan tujuan pembuatan aplikasi dapat terpenuhi.
Perancangan yang dilakukan adalah :
a. Merancang struktur navigasi
b. Merancang tampilan aplikasi
4.      Pembuatan (coding), pada tahap ini menterjemahkan desain yang telah dibuat kedalam bahasa pemrograman HTML5, CSS dan Javascript.
5.       Implementasi dan uji coba, hasil perancangan akan dibuat kedalam suatu bahasa pemrograman dengan menggunakan Eclipse. Kemudian diuji coba menggunakan emulator dan diimplementasikan pada smartphone android minimal versi Ginger Bread. Pada tahap ini penulis akan dapat melihat apakah ada kesalahan atau kekurangan dari aplikasi yang dibuat.



2.      TINJAUAN PUSTAKA

2.1       Gerakan Pramuka

Nama pramuka berasal dari bahasa sansakerta. Sebenarnya, pramuka berasal dari kata praja, artinya warga, rakyat dalam suatu Negara dan kata moeda, artinya mereka yang berjiwa muda atau masih muda apabila dilihat dari segi usia (7 hingga 25 tahun), serta kata karana, artinya kesanggupan,kemampuan, dan keuletan dalam berkarya. (Sarkonah, 2012).
“Pramuka” merupakan sebutan bagi anggota Gerakan Pramuka, yang meliputi;Pramuka Siaga, Pramuka Penggalang, Pramuka Penegak dan Pramuka Pandega. Kelompok anggota yang lain yaitu Pembina Pramuka, Andalan Pramuka, Korps Pelatih Pramuka, Pamong Saka Pramuka, Staf Kwartir dan Majelis Pembimbing Pramuka.Sedangkan yang dimaksud ”Kepramukaan” adalah proses pendidikan di luar lingkungan sekolah dan di luar lingkungan keluarga dalam bentuk kegiatan menarik, menyenangkan, sehat, teratur, terarah, praktis yang dilakukan di alam terbuka dengan Prinsip Dasar Kepramukaan dan Metode Kepramukaan, yang sasaran akhirnya pembentukan watak, akhlak dan budi pekerti luhur.Kepramukaan adalah sistem pendidikan kepanduan yang disesuaikan dengan keadaan, kepentingan dan perkembangan masyarakat dan bangsa Indonesia.
Kelahiran Gerakan Pramuka Dunia dimulai pada Tahun 1907 ketika Robert Baden – Powell, seorang Letnan Jendral Angkatan Bersenjata Britania Raya, dan William Alexander Smith, pendiri Boy’s Brigade, mengadakan perkemahan Kepanduan pertama di Kepulauan Brownsea, Inggris. Ide untuk mengadakan gerakan tersebut muncul ketika Baden-Powell dan pasukannya berjuang mempertahankan Kota Mafeking, Afrika Selatan, dari serangan tentara Boer.
Gerakan Pramuka bertujuan mendidik anak-anak dan pemuda Indonesia dengan prinsip-Prinsip Dasar dan Metode Kepramukaan yang pelaksanaannya disesuaikan dengan keadaan, kepentingan dan perkembangan bangsa dan masyarakat Indonesia dengan tujuan agar anggotanya menjadi manusia yang berkepribadian dan berwatak luhur serta tinggi mental, moral, budi pekerti dan kuat keyakinan beragamanya.

2.2       Sekilas Tentang Sandi Pramuka

Sandi adalah sebuah kata dalam bahasa sansekerta yang artinya adalah rahasia atau menyembunyikan. Sandi dalam pramuka berfungsi untuk mengirimkan suatu pesan ke orang lain yang dituju sehingga hanya pengirim dan penerima yang mengetahui isinya. Sandi memiliki sinonim dalam bahasa Inggris yaitu cryptography yang berarti pengetahuan, studi, atau seni tentang tulisan rahasia.
Kriptografi (chryptography) berasal dari dua kata dalam Bahasa Yunani, crypto dan graphia . Crypto berarti secret (rahasia) dan graphia berarti writing (tulisan). Menurut terminologinya, kriptografi adalah ilmu dengan seni untuk menjaga keamanan pesan ketika pesan dikirim dari suatu tempat ke tempat lain.
( Dony Ariyus, 2008)
Secara umum, kriptografi terdiri dua proses utama, yaitu enkripsi dan dekripsi. Proses enkripsi akan mengubah pesan asli (plainteks) menjadi pesan terenkripsi dengan menggunakan algoritma dan kunci tertentu yang tidak dapat dibaca secara langsung (cipherteks). Proses dekripsi merupakan kebalikan dari proses enkripsi, yaitu proses untuk memperoleh kembali plainteks dari cipherteks menggunakan kunci dan algoritma tertentu.
Macam-macam sandi dalam pramuka adalah sebagai berikut :

a. Sandi AN
Sandi AN adalah termasuk kedalam kategori sandi abjad. Pengunaan sandi AN adalah dengan mengganti huruf A menjadi N, begitu pula sebaliknya. Sandi AN dalam kepramukaan menggunakan metode Caesar Cipher. Metode kriptografi ini mula-mula digunakan oleh kaisar Romawi, Julius Caesar (sehingga dinamakan juga caesar cipher), untuk menyandikan pesan yang dikirim kepada para gubernurnya.                                  
Tabel 2.1 Pergeseran Sandi AN
Kunci
A
B
C
D
E
F
G
H
I
J
K
L
M
Pergeseran
0
1
2
3
4
5
6
7
8
9
10
11
12
Kunci
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
Pergeseran
13
14
15
16
17
18
19
20
21
22
23
24
25

Contoh :
Kata : ADIL
Kunci : 13
Maka sandi yang dihasilkan: “N Q V Y”

b. Sandi AZ
Sandi A-Z hampir sama penggunaannya dengan sandi A-N, hanya saja kunci yang digunakan yang berbeda, yaitu huruf A ditulis dengan huruf Z, begitu pula sebaliknya.
Tabel 2.2 pergeseran Sandi AZ
A
B
C
D
E
F
G
H
I
J
K
L
M
Z
Y
X
W
V
U
T
S
R
Q
P
O
N

Contoh :
Kata : PRAMUKA
Sandi AZ : KIZNFPZ

c. Sandi Udang
Sandi udang adalah, sandi yang cara pembacaannya dibalik. Sandi udang menggunakan metode reverse yaitu metode yang tidak memiliki rumus karna tidak mengandung perhitungan matematis sama sekali. Ini adalah salah satu metode kriptografi klasik yang menggunakan substitusi yaitu mengganti satu huruf dengan huruf lain. Metode reverse merupakan contoh yang paling sederhana dari substitusi yaitu mengubah suatu kalimat dengan menuliskan setiap kata secara terbalik.

Contoh :
Kata                : S E L A M A T P A G I
Sandi Udang   : T A M A L E S I G A P

d. Sandi Angka
Sandi angka adalah salah satu sandi yang cukup populer dan mudah untuk dipecahkan, dan karena itu, sandi tersebut sangat mudah diketahui oleh siapapun. Yang harus diperhatikan sebelum membuat dan memecahkan sandi tersebut 8
adalah kata kuncinya. Kata kunci adalah hal yang menentukan titik awal sandi dibuat. Biasanya dibuat dengan menggunakan huruf pertama ( A ). Huruf diganti dengan angka, begitu pula
sebaliknya. Setiap huruf dalam sandi dipisahkan titik '.' sedangkan tanda baca lain tidak berubah.

Contoh :  Kata Kunci : " A = 1 B = 2 dan seterusnya hingga Z = 26
Tabel 2.3 Sandi Angka
A
B
C
D
E
F
G
H
I
J
K
L
M
1
2
3
4
5
6
7
8
9
10
11
12
13
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
14
15
16
17
18
19
20
21
22
23
24
25
26

Kata : NUSANTARA
Sandi angka : 14.21.19.1.14.20.1.18.1

2.3       Sistem Operasi Android
Android merupakan sebuah sistem operasi terbuka yang diperuntukan untuk perangkat bergerak (mobile device). Dikembangkan oleh Open Handset Alliance yang terdiri dari pengembang software, hardware dan provider seperti Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan NVIDIA.
Pada masa saat ini sebagian besar vendor-vendor smartphone sudah memproduksi smartphone berbasis android,vendor-vendor itu antara lain HTC, Motorola, Samsung, LG, HKC, Huawei, Archos, Webstation Camangi, Dell, Nexus, SciPhone, WayteQ, Sony Ericsson, Acer, Philips, T-Mobile, Nexian, IMO, Asus dan masih banyak lagi vendor smartphone di dunia yang memproduksi android. Hal ini, karena android itu adalah sistem operasi yang open source sehingga bebas didistribusikan dan dapat dipakai oleh vendor manapun.
Dalam pengembangan aplikasi Android menyediakan Android SDK (Software Development Kit) yang menyediakan tools dan API (Android Protocol Interface) untuk para pengembang aplikasi dengan platform Android. Android menggunakan Java sebagai bahasa pemogramannya dan sekarang ini dapat menggunakan framework Phonegap dengan HTML 5. 9


2.3.1    Arsitektur


Diagram yang ditunjukkan pada Gambar 2.1 merupakan komponen-komponen utama dari sistem operasi Android.
Gambar 2.1 Arsitektur Sistem Android

Google mengibaratkan Android sebagai sebuah tumpukan software. Setiap lapisan dari tumpukan ini menghimpun beberapa program yang mendukung fungsi-fungsi spesifik dari sistem operasi. Berikut ini lima susunan dari lapisan-lapisan tersebut jika di lihat dari lapisan dasar hingga lapisan teratas:
1.         Linux Kernel
Tumpukan paling bawah pada arsitektur Android ini adalah kernel. Google menggunakan kernel Linux versi 2.6 untuk membangun sistem Android, yang mencakup memory management, security setting, power management, dan beberapa driver hardware. Kernel berperan sebaagai abstraction layer antara hardware dan keseluruhan software. Sebagai contoh, HTC GI dilengkapi dengan kamera. Kernel Android terdapat driver kamera yang memungkinkan pengguna mengirimkan perintah kepada hardware kamera.
2.         Android Runtime
Lapisan setelah Kernel Linux adalah Android Runtime. Android Runtime ini berisi Core Libraries dan Dalvik Virtual Machine. Core Libraries mencakup serangkaian inti library Java, artinya Android menyertakan satu set library- library dasar yang menyediakan sebagian besar fungsi-fungsi yang ada pada library-library dasar bahasa pemrograman Java.
Dalvik adalah Java Virtual Machine yang memberi kekuatan pada sistem Android. Dalvik VM ini dioptimalkan untuk telepon seluler. Setiap aplikasi yang berjalan pada Android berjalan pada prosesnya sendiri, dengan mudah dari Dalvik Virtual Machine. Dalvik telah dibuat sehingga sebuah piranti yang memakainya dapat menjalankan multi Virtual Machine dengan efisien. Dalvik VM dapat mengeksekusi file dengan format Dalvik Executable (.dex) yang telah dioptimasi untuk menggunakan minimal memory footprint. Virtual Machine ini register-based, dan menjalankan class-class yang dikompile menggunakan compiler Java yang kemudian ditransformasi menjadi format .dex menggunakan “dx” tool yang telah disertakan. Dalvik Virtual Machine menggunakan kernel Linux untuk menjalankan fungsi-fungsi seperti threading dan low-level memory management.

3.         Libraries
Bertempat di level yang sama dengan Android Runtime adalah Libraries. Android menyertakan satu set library-library dalam bahasa C/C++ yang digunakan oleh berbagai komponen yang ada pada sistem Android. Kemampuan ini dapat diakses oleh programmer melewati Android application framework. Sebagai contoh Android mendukung pemutaran format audio, video, dan gambar.
Berikut ini beberapa core library tersebut :
a.         System C library
Diturunkan dari implementasi standard C system library (libc) milik BSD, dioptimasi untuk piranti embedded berbasis Linux.
b.         Media Libraries
Berdasarkan PacketVideo’s OpenCORE; library-library ini mendukung playback dan recording dari berbagai format audio and video popular


c.         Surface Manager
Mengatur akses pada layar dan lapisan composites 2D and 3D grafik dari berbagai aplikasi.
d.         LibWebCore Web browser engine modern yang mensupport Android browser maupun embeddable web view.
e.         SGL The underlying 2D graphics engine.
f.          3D libraries
Implementasi berdasarkan OpenGL ES 1.0 APIs; library ini menggunakan hardware 3D acceleration dan highly optimized 3D software rasterizer.
g.         FreeType Bitmap dan vector font rendering.

4.         Application Framework
Lapisan selanjutnya adalah application framework, yang mencakup program untuk mengatur fungsi-fungsi dasar smartphone. Application Framework merupakan serangkaian tool dasar seperti alokasi resource smartphone, aplikasi telepon, pergantian antar – proses atau program, dan pelacakan lokasi fisik telepon. Para pengembang aplikasi memiliki aplikasi penuh kepada tool-tool dasar tersebut, dan memanfaatkannya untuk menciptakan aplikasi yang lebih kompleks.
Programmer mendapatkan akses penuh untuk memanfaatkan API-API (Android Protocol Interface) yang juga digunakan core applications. Arsitektur aplikasi didesain untuk menyederhanakan pemakaian kembali komponen-komponen, setiap aplikasi dapat menunjukkan kemampuannya dan aplikasi lain dapat memakai kemampuan tersebut. Mekanisme yang sama memungkinkan pengguna mengganti komponen-komponen yang dikehendaki.

Di dalam semua aplikasi terdapat servis dan sistem yang meliputi :
a. Satu set Views yang dapat digunakan untuk membangun aplikasi meliputi lists, grids, text boxes, buttons, dan embeddable web browser.
b. Content Providers yang memungkinkan aplikasi untuk mengakses data dari aplikasi lain (misalnya Contacts), atau untuk membagi data yang dimilikinya.
           
c. Resource Manager, menyediakan akses ke non-code resources misalnya localized strings, graphics, dan layout files.
d. Notification Manager yang memungkinkan semua aplikasi untuk menampilkan custom alerts pada the status bar.
e. Activity Manager yang memanage life cycle of dari aplikasi dan menyediakan common navigation backstack.

5.         Application dan Widgets
Di lapisan inilah ditemukkan fungsi-fungsi dasar smartphone seperti menelepon dan mengirim pesan singkat, menjalankan web browser, mengakses daftar kontak, dan lain-lain. Bagi rata-rata pengguna, lapisan inilah yang paling sering di akses. fungsi-fungsi dasar tersebut di akses melalui user interface.

2.3.2    Fitur
Berikut ini berbagai fitur dari sistem operasi Android:
1. Rancangan handset. Platform disesuaikan dengan kebutuhan VGA (Video Graphics Adapter) yang lebih besar, library grafis 2D dan 3D yang berdasarkan pada spesifikasi OpenGL ES 1.0 serta layout smartphone yang tradisional.
2. Penyimpanan. Android menggunakan software database SQLite sebagai penyimpanan data.
3. Konektivitas. Android mendukung berbagai teknologi konektivitas, seperti GSM (Global System for Mobile Communications) /EDGE (Enhanced Data rates for GSM Evolution), CDMA (Code Division Multiple Access), EV-DO (Evolution-Data Optimized), UMTS (Universal Mobile Telecommunications System), bluetooth dan Wi-Fi (Wireless Fidelity).
4. Pesan. Android mendukung pengiriman pesan dalam bentuk SMS (Short Message Service) dan MMS (Multimedia Messaging Service).
5. Web browser. Web browser yang tersedia di Android berdasarkan pada framework aplikasi open source WebKit.
6. Dukungan Java. Software yang ditulis dalam bahasa Java dapat dikompilasi dan dieksekusi pada mesin virtual Dalvik, yang merupakan implementasi dari VM (Virtual Machine) yang dirancang khusus untuk penggunaan perangkat bergerak.

7. Dukungan media. Android mendukung beberapa format audio/video seperti: H.263, H.264 (dalam kontainer 3GP atau MP4), MPEG-4 SP, AMR, AMR-WB (dalam kontainer 3GP), AAC, HE-AAC (dalam kontainer MP4 atau 3GP), MP3, MIDI, OGG Vorbis, WAV, JPEG, PNG, GIF dan BMP.
8. Dukungan hardware lainnya. Android mendukung penggunaan kamera, layar sentuh, GPS (Global Positioning System), accelerometers, magnetometers, akselerasi 2D bit blits (dengan orientasi hardware, scaling, konversi format piksel) dan akselerasi grafis 3D.
9. Lingkungan Development. Android menyediakan perangkat emulator, debugger, memori dan profil kinerja yang tersedia pada plugin Eclipse IDE (Integrated Development Environment).

10. Market. Mirip dengan App Store pada iPhone OS, Android Market adalah sebuah katalog aplikasi yang dapat di-download dan diinstal pada telepon seluler secara online, tanpa menggunakan PC (Personal Computer).Awalnya hanya aplikasi gratis saja yang didukung.Dan sejak tanggal 19 Februari 2009 aplikasi berbayar telah tersedia di Android Market untuk Amerika Serikat.
11. Multi-touch. Android memiliki dukungan bawaan untuk multi-touch yang tersedia pada handset terbaru, seperti HTC Hero.Pada awalnya fitur tersebut dinonaktifkan pada level kernel (mungkin untuk menghindari pelanggaran paten terhadap teknologi layar sentuh Apple). Sejak Google merilis update untuk Nexus One dan juga berencana untuk merilis update untuk Motorola Droid yang memungkinkan multi-touch.

2.3.3    Android SDK (Software Development Kit)
Android SDK mencakup perangkat tools pengembangan yang komprehensif. Android SDK terdiri dari debugger, libraries, handset emulator, dokumentasi, contoh kode program dan tutorial. Saat ini Android sudah mendukung arsitektur x86 pada Linux (distribusi Linux apapun untuk desktop modern), Mac OS X 10.4.8 atau lebih, Windows XP/7/Vista/8. Persyaratan mencakup JDK, Apache Ant dan Python 2.2 atau lebih. IDE yang didukung secara resmi adalah Eclipse 3.2 atau lebih dengan menggunakan plugin Android Development Tools (ADT), dengan ini pengembang dapat menggunakan IDE (Integrated Development Environment) untuk mengedit dokumen Java dan XML serta menggunakan peralatan command line untuk menciptakan, membangun, melakukan debug aplikasi Android dan pengendalian perangkat Android (misalnya reboot, menginstal paket perangkat lunak).

2.3.4    Antarmuka Pengguna Android
Antarmuka Android dapat dibangun melalui dua cara, yaitu dengan menulis kode XML atau dengan menulis kode Java. Penggambaran struktur antarmuka dengan menggunakan kode XML sangat dianjurkan dan lebih baik tentunya. Karena menurut prinsip Model-Viewer-Control bahwa antarmuka pengguna sebaiknya selalu dipisahkan dari logika program. Selain itu, adaptasi sebuah program dari suatu resolusi layar ke resolusi layar lainnya menjadi lebih mudah .
2.4       Java
Java berdiri pada lapisan teratas sebuah mesin interpreter yang diberi nama Java Virtual Machine (JVM). JVM inilah yang akan membaca bytecode dalam dokumen .class dari suatu program sebagai representasi langsung program yang berisi bahasa mesin. Oleh karena itu, bahasa Java disebut sebagai bahasa pemrograman yang portable karena dapat dijalankan pada berbagai sistem operasi, asalkan pada sistem operasi tersebut terdapat JVM.
Platform Java terdiri dari kumpulan library, JVM, kelas-kelas loader yang dipaket dalam sebuah lingkungan rutin Java dan sebuah compiler, debugger dan tools lain yang dipaket dalam Java Development Kit (JDK). Java 2 adalah generasi yang sekarang sedang berkembang dari platform Java. Agar sebuah program Java dapat dijalankan, maka dokumen dengan ekstensi .java harus dikompilasi menjadi dokumen bytecode. Untuk menjalankan bytecode tersebut dibutuhkan JRE yang memungkinkan pengguna untuk menjalankan program Java, hanya menjalankan, tidak untuk membuat kode baru lagi.
Para perancang Java sendiri telah merangkum beberapa karakteristik dari bahasa Java yang telah dikembangkan, dimana karakteristik inilah yang membuat Java menjadi seperti apa yang dikenal sekarang ini sehingga dapat dikatakan sebagai ciri khas dari Java itu sendiri:
1.         Berorientasi objek, Java telah menerapkan konsep pemrograman berorientasi objek yang modern dalam implementasinya. Artinya semua aspek yang terdapat di Java adalah objek. Java merupakan salah satu bahasa pemrograman berbasis objek secara murni. Semua tipe data diturunkan dari kelas dasar yang disebut objek. Hal ini sangat memudahkan pemrogram untuk merancang, membuat, mengembangkan, dan mengalokasi kesalahan sebuah program dengan basis Java secara cepat, tepat, mudah dan terorganisir.
2.         Robust, Java mendorong pemrograman yang bebas dari kesalahan dengan bersifat strongly typed dan memiliki run-time checking.
3.         Portable, program Java dapat dieksekusi di platform manapun selama tersedia JVM untuk platform tersebut.
4.         Multithreading, Java mendukung penggunaan multithreading yang telah terintegrasi secara langsung dalam bahasa Java.
5.         Dinamis, program Java dapat melakukan suatu tindakan yang ditentukan pada saat eksekusi program dan bukan pada saat kompilasi.
6.         Sederhana, Java menggunakan bahasa yang sederhana dan mudah dipelajari.
7.         Terdistribusi, Java dirancang untuk berjalan pada lingkungan yang terdistribusi seperti halnya internet.
8.         Aman, aplikasi yang dibuat dengan bahasa Java dapat dipastikan keamanannya terutama untuk aplikasi internet.
9.         Netral secara arsitektur, Java tidak terikat pada suatu mesin atau sistem operasi tertentu.
10.       Interpreted, aplikasi Java dapat dieksekusi pada platform yang berbeda-beda dengan melakukan interpretasi pada bytecode.
11.       Berkinerja tinggi, bytecode Java telah sangat teroptimasi sehingga eksekusi program dapat dilakukan secara cepat sekalipun dilakukan dengan

2.5       Eclipse
Eclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-independent). Tampilan IDE pada Eclipse yang diilustrasikan pada Gambar 2.2.

Gambar 2.2 Area Kerja Eclipse

Versi Eclipse yang ada sekarang sudah banyak seperi Eclipse Juno (eclipse versi 4.2 ), Eclipse Helios (eclipse versi 3.6), Eclipse Galileo (eclipse versi 3.5), dan Eclipse Ganymade (eclipse versi 3.4), seluruh versi yang di sebutkan sudah didukung dengan Android Development Tools (ADT) untuk membangun aplikasi dan dapat digunakan sebagai coding project Android. Konsep Eclipse adalah IDE terbuka (open), mudah diperluas (extensible) untuk apa saja, dan tidak untuk sesuatu yang spesifik. Jadi, Eclipse tidak saja untuk mengembangkan program Java, akan tetapi dapat digunakan untuk berbagai macam keperluan, cukup dengan menginstal plug-in yang dibutuhkan. Apabila ingin mengembangkan program C/C++ terdapat plug-in CDT (C/C++ Development Tools).

2.6       Phonegap
PhoneGap adalah HTML5 application framework yang digunakan untuk mengembangkan aplikasi native melalui teknologi web. Pengembang dapat mengembangkan Smartphone dan Aplikasi tablet dengan pengetahuan HTML, CSS, dan JavaScript. Dengan PhoneGap, pengembang tidak harus belajar bahasa seperti Objective-C untuk iPhone. Aplikasi yang dikembangkan menggunakan PhoneGap adalah aplikasi hybrid. PhoneGap menyediakan jembatan dari dunia JavaScript ke dunia asli dari Platform, yang memungkinkan API JavaScript(Application Programming Interface JavaScript) untuk mengakses dan mengontrol perangkat telepon atau tablet.
PhoneGap Architecture yang paling utama adalah perpustakaan JavaScript yang memungkinkan HTML / JavaScript aplikasi untuk mengakses fitur perangkat. PhoneGap Architecture memiliki komponen native, yang bekerja di balik layar dan melakukan pekerjaan yang sebenarnya pada perangkat telepon atau tablet. Tampilan PhoneGap Architecture yang diperlihatkan pada Gambar 2.3.

Gambar 2.3 Arsitektur PhoneGap

Sebuah aplikasi yang dibangun menggunakan PhoneGap memiliki dua bagian yaitu :
-          JavaScript Business Logic Bagian, yang menggerakkan UI dan fungsinya.
-          The JavaScript Part, yang mengakses dan mengontrol perangkat (ponsel atau tablet).
2.6.1    HTML5
HTML5 merupakan sebuah bahasa markah untuk menstrukturkan dan menampilkan isi dari World Wide Web, sebuah teknologi inti dari internet. HTML5 adalah revisi kelima dari HTML dan hingga bulan Juni 2011 masih dalam pengembangan. Dimana tujuan utama pengembangan HTML5 adalah untuk memperbaiki teknologi HTML agar mendukung teknologi multimedia terbaru, mudah dibaca oleh manusia dan juga mudah dimengerti oleh mesin. HTML5 merupakan hasil proyek dari W3C (World Wide Web Consortium dan WHATWG (Web Hypertext Application Technology Working Group ).
Dimana WHATWG bekerja dengan bentuk web dan aplikasi dan W3C merupakan pengembang dari XHTML 2.0 pada tahun 2006, kemudian mereka memutuskan untuk bekerja sama dan membentuk versi baru dari HTML.
Kelebihan dari HTML5 adalah :
-           Cleaner code, karena sebagian besar kode telah termasuk di dalam sintaks html5, maka kode nampak terlihat lebih sederhana daripada penggabungan antara html, css dan java script.
-           Greater consistency, HTML5 telah melakukan banyak sekali penambahan sintaks yang dibuat dalam struktur lebih baik dan lebih sederhana daripada sintaks-sintaks sebelumnya. Hal ini membuat developer terbantu dalam meningkatkan konsistensi dalam membangun sebuah web.
-           Improve Semantics, dengan berbagai elemen kode di dalam html5 yang telah distandarisasi, maka nilai semantik dari sebuah web dapat lebih ditingkatkan. Itu berarti bahwa bagian-bagian dari web seperti header, nav, footer dan beberapa bagian lainnya terdefinisi dengan jelas maksud serta tujuannya selain itu juga terbentuk dalam sebuah “machine readible format”
-           Improved Accessibility, dengan teknologi HTML5 yang memudahkan struktur pembangunan sebuah web, maka developer dapat membangun pemahaman yang lebih detil mengenaik halaman web.
-           Client-side Database, HTML5 menyediakan model database SQL yang baru dengan API yang dapat dibangun dalam konsep lokal, dalam hal ini di sisi client.
-           Geolocation, HTML5 mempunyai API yang terintegrasi terhadap geolocation
-           Offline Aplication Cache, pengguna dapat terus melakukan interaksi dengan aplikasi meskipun mereka terputus dari jaringan internet.

-          Smarter Forms, terdapat semacam reguler expression (regex) yang membuat form mampu mengenali secara lebih baik tentang input, validasi data dan interaksi dengan elemen lain (misal : format email, password dll)
-           Sharper focus on Web Application Requiments, HTML5 membuat sebuah mekanisme yang lebih mudah dalam hal pembuatan front end, aplikasi chat, tools drag and drop, video player, pengolah grafis dan masih banyak lagi.

2.6.2    Javascript
JavaScript adalah sekumpulan perintah khusus yang digunakan untuk membuat sebuah halaman web yang lebih responsif dan interaktif. JavaScript merupakan bahasa script yang dicantumkan pada sebuah halaman web dan dijalankan pada penjelajah web (web browser). JavaScript terutama terkenal karena penggunaannya di halaman web yang memberikan kemampuan tambahan pada HTML dengan mengizinkan pengeksekusian perintah di sisi user (penjelajah web), bukan di sisi server web.
JavaScript bergantung kepada penjelajah web yang memanggil halaman web yang berisi script-script dari JavaScript yang terselip di dalam dokumen HTML. Script JavaScript yang dimasukkan di dalam file HTML harus dimasukkan di antara tag <script> dan </script>. JavaScript tidak memerlukan kompilator atau program khusus untuk menjalankannya karena JavaScript sendiri sudah termasuk di dalam penjelajah web tersebut.
Secara fungsional, JavaScript digunakan untuk menyediakan akses script pada objek yang dibenamkan (embedded). Script ini dapat membuka halaman pop up, melakukan validasi pada form sebelum data dikirimkan ke server, mengubah kursor ketika melewati objek tertentu, berkomunikasi dengan server, dan banyak yang lainnya.
Setiap bahasa pemrograman pasti mampu mempunyai kelebihan atau kekurangan. Begitu juga dengan JavaScript. Adapun kelebihan pemrograman JavaScript antara lain sebagai berikut :
-           Cepat, karena diletakan di HTML, dan dapat langsung dicoba di Browser.
-           Mudah, karena memiliki sedikit sintaks, yang mudah dimengerti
-           Terbuka. (platform independent).
-          Ukurannya sangat kecil dibandingkan dengan pemrograman java.
Sedangkan kekurangan dari bahasa pemrograman ini antara lain seperti :
-           Tidak dapat membuat program aplikasi secara tersendiri.
-          Objek yang dikelola JavaScript sangat terbatas.
-           Script yang dapat disalin atau dicopy dari Web Browser. Sehingga setiap orang dapat menggunakan program JavaScript yang telah dibuat.

2.6.3    Jquery Mobile

JQuery telah lama menjadi JavaScript library yang populer untuk menciptakan website interaktif yang kaya dan aplikasi web. Namun, karena ini dirancang terutama untuk browser desktop, jquery tidak memiliki banyak fitur yang khusus dirancang untuk membangun aplikasi web mobile.
JQuery Mobile adalah proyek baru yang membahas kekurangan ini. Ini adalah framework yang dibangun di atas JQuery yang menyediakan berbagai elemen User-interface dan fitur-fitur untuk digunakan dalam aplikasi mobile.
Apa yang dapat jQuery Mobile lakukan?
-           JQuery Mobile memudahkan pengembangan user-interface untuk mobile web apps.
-           The interface configuration is markup-driven, yang berarti dapat membuat seluruh aplikasi antarmuka dasar dalam HTML, tanpa perlu menulis satu baris JavaScript.
-           Menyediakan serangkaian custom events baru, mendeteksi events mobile device dan touchscreen seperti tap, tap-and-hold, swipe, and orientation change (i.e. rotating the device).

-          Memastikan bahwauser-interfcae bekerja pada web browser.

-           Menggunakan theme untuk memudahkan untuk costumized tampilan aplikasi.

2.6.4    Cordova
Setiap aplikasi yang dibangun dengan Phonegap harus menyertakan juga sebuah library Javascript dari Phonegap. Library Phonegap ini diberi nama Cordova.js, dan bisa di temukan di dalam paket tentunya. Library cordova.js adalah nyawa dari aplikasi Phonegap, dia bekerja di belakang layar dan melakukan pekerjaan pemanggilan fitur-fitur asli platform.
Cordova.js dan Cordova.jar bekerja saat melakukan pemanggilan API tertentu yang dokumentasi dapat di lihat melalui situs resmi Phonegap. Library Cordova.js inilah yang menjembatani antara bahasa pemrograman Phonegap dan fitur asli dalam aplikasi mobile seperti Camera, GPS, Accelerometer, Compass, File System dan lain sebagainya.

2.6.5        CSS
Cascading Style Sheet (CSS) merupakan salah satu bahasa pemrograman web untuk mengendalikan beberapa komponen dalam sebuah web sehingga akan lebih terstruktur dan seragam.
Sama halnya styles dalam aplikasi pengolahan kata seperti Microsoft Word yang dapat mengatur beberapa style, misalnya heading, subbab, bodytext, footer, images, dan style lainnya untuk dapat digunakan bersama-sama dalam beberapa berkas (file). Pada umumnya CSS dipakai untuk memformat tampilan halaman web yang dibuat dengan bahasa HTML dan XHTML.
CSS dapat mengendalikan ukuran gambar, warna bagian tubuh pada teks, warna tabel, ukuran border, warna border, warna hyperlink, warna mouse over, spasi antar paragraf, spasi antar teks, margin kiri, kanan, atas, bawah, dan parameter lainnya. CSS adalah bahasa style sheet yang digunakan untuk mengatur tampilan dokumen. Dengan adanya CSS memungkinkan untuk menampilkan halaman yang sama dengan format yang berbeda.

2.7      Struktur Navigasi
Struktur navigasi adalah struktur atau alur dari suatu program. Menentukan struktur navigasi merupakan hal yang sebaiknya dilakukan sebelum membuat suatu aplikasi. Ada 4 (empat) macam bentuk dasar dari struktur navigasi yang biasa digunakan dalam proses pembuatan aplikasi, yaitu :
1. Linier
Merupakan struktur yang mempunyai satu rangkaian cerita berurutan. Struktur ini menampilkan satu demi satu tampilan layer secara berurutan menurut aturannya.

2. Hirarki
Struktur ini sering disebut struktur navigasi bercabang, yaitu merupakan suatu struktur yang mengandalkan percabangan untuk menampilkan data atau gambar pada layar dengan kriteria tertentu. Tampilan pada menu pertama disebut master page (halaman utama satu), halaman tersebut mempunyai halaman percabangan yang disebut slave page (halaman pendukung) dan jika dipilih menjadi halaman kedua, begitu seterusnya.

3. Non Linier
Navigasi Non Linier (tidak berurut) merupakan pengembangan dari struktur navigasi Linier. Pada struktur ini diperkenankan membuat navigasi bercabang. Percabangan yang dibuat pada struktur Non Linier ini walaupun terdapat percabangan, tetapi tiap-tiap tampilan mempunyai kedudukan yang sama tidak ada Master Page dan Slave Pages. 23

4. Composite atau Campuran
Struktur navigasi komposit (campuran) merupakan gabungan dari ketiga struktur sebelumnya, struktur navigasi ini disebut juga dengan struktur navigasi bebas. Jika suatu tampilan memerlukan percabangan, maka dapat dibuat percabangan. Bila dalam percabangan tersebut terdapat suatu tampilan yang sama kedudukannya, maka dapat dibuat struktur linier dalam percabangan tersebut.

3.      RENCANA BIAYA PENELITIAN

Penelitian ini merupakan penelitian karya ilmiah untuk memenuhi salah satu
syarat guna memperoleh gelar sarjana pada universitas gunadarma, maka semua biaya
penelitian ditanggung oleh penulis.
 Biaya Bahan dan Alat
Biaya Bahan dan Alat
1. 3 RIM kertas A4 80 gram @Rp. 30.000    Rp. 90.000
2. Alat-alat tulis                                              Rp. 100.000
3. 10 Klip kertas @1000                                 Rp. 10.000
4. 2 Map plastik @4.000                                 Rp. 8.000
5. 3 Buku teori                                                Rp. 150.000
6. Gunting, steples, isolasi                              Rp. 50.000
7. Kantong plastik besar                                 Rp. 50.000
8. 3 kali jilid @30.000                                    Rp. 90.000
9. 2 Kotak amplop @ 8000                             Rp 16.000
10. 2 Buah lem @ 5.000                                 Rp. 10.000

            Jumlah                                                            Rp. 574.000 

4.      JADWAL WAKTU PENELITIAN

1. Minggu I                 : Persiapan.
2. Minggu II – IV       : Pengumpulan data, pengolahan dan analisis data secara garis besar.
3.Minggu V – IX        : Penyusunan laporan draf, mulai dari BAB I sampai dengan BAB IV
4. Minggu X – XII      : Laporan akhir



DAFTAR PUSTAKA

Ariyus, Dony., Pengantar Ilmu Kriptografi Teori Analisis dan Implementasi, Cetakan Petama, C.V ANDI, Yogyakarta, 2008.
Hermawan, Stephanus., Mudah Membuat Aplikasi Android, Cetakan Pertama, C.V ANDI, Yogyakarta, 2011.
Rahardja, Untung., CSS dan HTML, Cetakan Pertama, C.V ANDI, Yogyakarta, 2009.
Safaat, Nazaruddin., Aplikasi Berbasis Android , Cetakan Pertama, Imformatika, Bandung, 2013.
Sarkonah, Panduan Pramuka Penggalang, Cetakan Pertama, Nuansa Aulia, Bandung, 2012.
URL : http://mkhuda.com/teknologi/instalasi-adt-untuk-eclipse/ , 20 Mei 2014
URL : http://phonegap.blog.amikom.ac.id , 27 mei 2014
URL: http://pramukaria.blogspot.com , 27 mei 2014
URL : http://destwentyo.blogspot.com/2013/02/pengertian-javascript.html , 29 mei 2014
URL : http://mkhuda.com/teknologi/html5-versus-mobile-native/ , 29 mei 2014
URL : http://elib.unikom.ac.id/download.php?id=136127 , 02 juni 2014
URL : http://upload.wikimedia.org/wikipedia/commons/thumb/a/af/Android-System- Architecture.svg/739px-Android-System-Architecture.svg.png, 10 juni 2014
URL : http://mkhuda.com/teknologi/bagaimana-phonegap-bekerja/, 10 juni 2014
URL : http://mkhuda.com/android/menampilkan-native-splash-screen-aplikasi-android pada-phonegap/ , 20 juni 2014
URL : http://mkhuda.com/android/exit-app-notification-pada-aplikasi-phonegap/ , 25 juni 2014
URL : http://therockncoder.blogspot.com/2012/07/pgcompass-phonegap-compass.html , 1 Juli 2014


Lampiran         :

1.      Biodata Ketua Kelompok
Nama Lengkap            : Dita Logiarti
NPM                           : 12113607
Jenis Kelamin              : Perempuan
Tempat Lahir               : Cilacap
Tanggal Lahir              : 08 Juni 1995
Education Background
2010-2013
SMA
SMAN 11 Tanggerang
2007-2010
SMP
SMPN 8 Tanggerang
2001-2007
SD
SDN Jati 3 Tanggerang

2.      Biodata Anggota Kelompok
Nama Lengkap            : Agnes Sekar Mahardhika
NPM                           : 10113329
Jenis Kelamin              : Perempuan
Tempat Lahir               : Jakarta
Tanggal Lahir              : 17 Agustus 1995

Education Background
2010-2013
SMA
SMAN 79 Jakarta
2007-2010
SMP
SMPN 265 Jakarta
2001-2007
SD
SDN Kebon Baru 03  Pagi
1999-2001
TK
TK Merpati

3.      Biodata Dosen Pembimbing
Ir.Sri Wulan Windu Ratih,MMSI
Education Background

1994-1996
MMSI
Universitas Gunadarma
1986-1990
Ir.
Institut Pertanian Bogor
1983-1986
SMA
SMAN 10 Bandung
1980-1983
SMP
SMPN 18 Bandung


Teaching Experiences

Ilmu Alamiah Dasar, FE (1999-2002)
Kimia Dasar, Filkom (1992-1995)
Logika Aljabar, Filkom (1993-1997)
Matematika Ekonomi, FE (1998-2000)
Olah Data Statistika 1 dan 2, Filkom (2007-2009)
Probabilitas Terapan, FTSP, Filkom (2002-2004)
Riset Operasional 1 dan 2, Filkom, FE (1996-2001)
Sistem Penunjang Keputusan, FTI (1997-1999)
Statistika 1 dan 2, FTI (2004-2009)
Struktur Diskrit, Filkom, FTI (1993-1997)