BAB II
KAJIAN PUSTAKA
A. Android
Android adalah sistem operasi untuk telepon seluler yang berbasis Linux. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam peranti bergerak. Awalnya, Google Inc. membeli Android Inc., pendatang baru yang membuat peranti lunak untuk ponsel. Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia.
Android memiliki arsitektur sistem sebagai berikut :
a. onCreate()
method ini dipanggil saat activity pertama kali dibuat. Di sinilah inisialisasi dilakukan – membuat UI, mendapatkan data yang diperlukan, dan lainnya.
b. onStart()
method ini dipanggil sesaat sebelum activity ditampilkan ke pengguna.
c. onResume()
method ini dipanggil ketika activity berinteraksi dengan pengguna. d. onPause()
method ini berjalan ketika activity berada di balik layar (background), tidak terlihat oleh pengguna tapi masih berjalan. Biasanya hal ini terjadi saat ada activity lainnya yang dijalankan. Di state inilah seharusnya data program kita disimpan ke persistent state.
jika method ini dipanggil, berarti activity sedang ditampilkan ulang ke pengguna dari state berhenti (stop).
method ini dipanggil sebelum activity dimusnahkan (hilang dari memori).
Pengembangan sistem operasi dan aplikasinya sendiri mengacu pada empat prinsip (Hermawan S, 2011) yaitu :
a. Terbuka
Android dibangun untuk menjadi benar-benar terbuka. Sebagai contoh, sebuah aplikasi dapat mengambil dan mengakses fungsi-fungsi utama ponsel seperti membuat panggilan, mengirim pesan teks, menggunakan kamera. Hal ini memungkinkan pengembang untuk membuat aplikasi yang lebih baik.
b. Semua Aplikasi Dibuat Sama
Android tidak membedakan antara aplikasi inti ponsel dan aplikasi pihak ketiga. Kedua jenis aplikasi ini dapat dibangun untuk memiliki akses yang sama ke ponsel. Pengguna dapat sepenuhnya mengatur telepon sesuai kepentingan mereka.
c. Mendobrak Batasan-batasan Aplikasi
d. Pengembangan Aplikasi yang Cepat dan Mudah
Android menyediakan akses ke berbagai libraries dan tools yang dapat digunakan untuk membangun aplikasi yang kaya.
Dalam pengembangan aplikasi Android perlu dipahami beberapa komponen dasarnya (Komatineni et al, 2011) yaitu :
a. Views
Views adalah element user interface (UI) yang membentuk dasar
dari sebuah user interface. View dapat berupa sebuah tombol, label, kolom teks, atau banyak elemen UI lainnya.
b. Activity
Activity adalah sebuah konsep dari UI. Sebuah activity biasanya memrepresentasikan sebuah layar dari sebuah aplikasi. Biasanya activity memiliki satu atau lebih view, tetapi bisa juga tidak memiliki
view.
c. Intent
Sebuah Intent biasanya didefinisikan sebagai “intention” atau “niat”
untuk melakukan beberapa pekerjaan. Intent dapat digunakan untuk :
1. Mengirim pesan. 2. Memulai service. 3. Menjalankan activity.
d. Content Provider
Dengan menggunakan content provider, kita dapat mengekspos data dan menggunakan data dari aplikasi lain.
e. Service
Service pada android menyerupai service pada Windows ataupun
platform lain. Aplikasi yang berpotensi berjalan lama ditempatkan pada background. Contoh : aplikasi e-mail.
f. AndroidManifest.XML
AndroidManifest.XML mendefinisikan konten dan behavior dari aplikasi yang dibuat. Contoh : daftar activity yang dibuat, permission dan fitur ponsel yang digunakan oleh aplikasi.
B. Java
Java adalah bahasa pemrograman serbaguna. Java dapat digunakan untuk membuat program sebagaimana membuatnya dengan bahasa seperti Pascal atau C++. Java juga mendukung sumber daya internet dan juga Java mendukung aplikasi klien/server, baik dalam jaringan lokal maupun jaringan berskala luas (Kadir,2004).
Sebutan Java 2 diberikan untuk Java versi 1.2 dan versi berikutnya. Java 2 terbagi dalam 3 kategori , yaitu:
1. Java 2 Standart Edition (J2SE) merupakan edisi standar (basis) dari Java2. J2SE lebih difokuskan pada pemrograman Desktop dan Applet(aplikasi yang dapat dijalankan di browser web).
berskala besar (Enterprise), seperti pemrograman memakai database dan diatur di server..
3. Java 2 Mobile Edition (J2ME) merupakan edisi khusus dari Java dan subset dari edisi J2SE. Edisi ini untuk pemrograman dengan peralatan-peralatan kecil atau terbatas, seperti PDA, handphone, pager, dan lain-lain.
C. SMS
Layanan pesan singkat (bahasa Inggris: Short Message Service disingkat SMS) menurut Wikipedia adalah sebuah layanan yang dilaksanakan dengan sebuah telepon genggam untuk mengirim atau menerima pesan-pesan pendek. Pada mulanya SMS dirancang sebagai bagian daripada GSM, tetapi sekarang sudah didapatkan pada jaringan bergerak lainnya termasuk jaringan UMTS.
Sebuah pesan SMS maksimal terdiri dari 140 bytes, dengan kata lain sebuah pesan bisa memuat 140 karakter 8-bit, 160 karakter 7-bit atau 70 karakter 16-bit untuk bahasa Jepang, bahasa Mandarin dan bahasa Korea yang memakai Hanzi (Aksara Kanji / Hanja). Selain 140 bytes ini ada data-data lain yang termasuk. Adapula beberapa metode untuk mengirim pesan yang lebih dari 140 bytes, tetapi seorang pengguna harus membayar lebih dari sekali. SMS bisa pula untuk mengirim gambar, suara dan film, SMS bentuk ini disebut MMS.
Android sendiri menggunakan format PDU (Protocol Data Unit) dalam mengirimkan sms. PDU adalah protokol data dalam suatu SMS, berupa pasangan-pasangan karakter ASCII yang mencerminkan representasi angka heksadesimal dari informasi yang ada dalam suatu SMS, misalnya nomor pengirim, nomor tujuan, waktu pengiriman dan isi pesan SMS itu sendiri.
Contoh :
0691261801000001000C91261832547698000005E8329BFD06
Tabel 1 Penjelasan PDU
Bagian Arti
06 Jumlah pasangan nomor SMS Center (6 pasang jenis penomoran + 5 pasang nomor SMSC)
91 Jenis penomoran SMS Center (91 = menggunakan penomoran internasional)
261801000 Nomor SMS Center 01 Tipe SMS (01 = SMS kirim)
00 Nomor referensi SMS (otomatis jadi biarkan 00)
0C Jumlah digit nomor tujuan dalam bilangan heksa (0C = 12) 91 Jenis penomoran pengirim
261832547698 Nomor tujuan pengiriman SMS 00 Bentuk SMS (00 = SMS teks) 00 Skema encoding (00 = 7 bit)
D. Vigenere Cipher
Vigenere Cipher mungkin adalah contoh terbaik dari chipper
alphabet-majemuk “manual” (Munir, 2006). Algoritma ini dipublikasikan oleh diplomat
pasangan baris dan kolom tersebut merupakan karakter ciphertext. Sementara proses dekripsi dilakukan dengan cara mencocokkan karakter pada bujursangkar (ciphertext) dengan indeks baris (kata kunci) karakter plaintext didapatkan dari indeks kolom. Apabila kata kunci kurang panjang, maka dilakukan perulangan.
Proses ini juga dapat dituliskan dalam bentuk algoritma sebagai berikut a. Algoritma enkripsi vigenere cipher :
Ci = ( Pi + Ki ) mod 26
b. Algoritma dekripsi vigenere cipher : Pi = ( Ci – Ki ) mod 26
Dimana :
Ci = nilai desimal karakter ciphertext ke-i Pi = nilai desimal karakter plaintext ke-i Ki = nilai desimal karakter kunci ke-i
Nilai desimal dari masing – masing karakter dijabarkan pada tabel dibawah ini.
Tabel 3 Nilai angka deret alfabet
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
Contoh :
Tabel 4 Matriks enkripsi “M” dengan kata kunci “U”
Tabel 7 Matriks enkripsi “A” dengan kata kunci “U”
Tabel 8 Matriks enkripsi “S” dengan kata kunci “M”
Tabel 10 Matriks enkripsi “S” dengan kata kunci “U”
Tabel 11 Matriks enkripsi “W” dengan kata kunci “M”
Dengan menggunakan bantuan bujursangkar vigenere dan algoritma enkripsi diatas didapat hasil :