Short Message Service Aplikasi SMS berbasis android dengan enkripsi vigenere running key

27

2.2. Short Message Service

SMS Short message service atau yang disebut SMS merupakan suatu teknologi nirkabel yang memungkinkan seseorang untuk mengirim dan menerima pesan secara cepat melalui perangkat mobile . Pesan yang dikirim juga terbatas, satu pesan SMS dapat berisi paling banyak 140 bytes dari data, sehingga satu pesan SMS dapat berisi 160 karakter. 2.2.1. Keunggulan SMS SMS memiliki beberapa keunggulan, yaitu: 1. Mudah dan efisien: SMS mudah untuk digunakan bahkan oleh orang awam sekalipun serta informasi yang didapat langsung diterima oleh yang berkepentingan. 2. Jangkauan luas : Informasi melalui media SMS dapat menjangkau seluruh nusantara hingga kepelosok desa. 3. Relatif lebih murah: Bandingkan dengan media penyampaian informasi seperti surat pos, telepon, dan fax yang masih membedakan biaya pengiriman antara dalam kota atau luar kota, local dan interlokal. Dengan penggunaan media SMS akan lebih murah. 4. Informasi realtime : Informasi yang disampaikan dapat langsung diterima hanya dengan beberapa detik, walaupun mengalami gangguan informasi tersebut tidak akan hilang dan tetap tersampaikan. 28 2.2.2. Kekurangan SMS Adapun kekurangan dari SMS yaitu: 1. Keamanan data yang kurang terjamin, dimana masih banyak terjadi pencurian data-data SMS penting oleh orang-orang yang tidak bertanggung jawab. 2. Belum ada sistem yang dapat membantu pengguna agar terhindar dari ancaman SMS interception dan SMS snooping.

2.2.3. Cara Kerja Short Message Service

SMS Dalam sistem SMS, mekanisme utama yang dilakukan dalam suatu sistem adalah melakukan pengiriman short message dari satu terminal customer ke terminal yang lain. Hal ini dapat dilakukan karena adanya sebuah entitas dalam sistem SMS yang bernama Short Message Service Center SMSC, disebut juga Message Center MC. Pada saat pesan SMS dikirim dari handphone, pesan tersebut tidak langsung dikirim ke handphone tujuan, akan tetapi terlebih dahulu akan melewati SMSC baru kemudian pesan tersebut dikirimkan ke handphone tujuan. SMSC merupakan sebuah perangkat yang melakukan tugas store and forward trafik short message. Didalamnya termasuk penentuan atau pencarian rute tujuan akhir dari short message . Sebuah SMSC biasanya didesain untuk dapat menangani short message dari berbagai sumber seperti Voice Mail System VMS, Web-based messaging , Email Integration, External Short 29 Message Entities ESME, dan lain-lain. Untuk lebih jelasnya dapat dilihat pada gambar dibawah ini. Gambar 2. 8 Cara Kerja SMS 2.3. Android Android adalah sebuah sistem operasi untuk perangkat mobile berbasis linux. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka. Adapun arsitektur Android dapat dilihat pada gambar 2.10 30 Gambar 2. 9 Arsitektur Android Penjelasan masing-masing lapisan:

1. Linux

Kernel Linux Kernel adalah layer dimana inti dari operating sistem dari Android itu berada.

2. Libraries

Libraries ini adalah layar di mana fitur-fitur Android berada. SSL Secure Sockets Layer , serta:  Libraries media untuk pemutaran media audio dan video.  Libraries untuk manajemen tampilan.  Libraries Graphic mencakup SGL Scene Graph Library dan OpenGL Open Graphics Library untuk grafis 2D dan 3D.  Libraries SQLite untuk dukungan database . 31  Libraries LiveWebcore mencakup modern web browser dengan engine embedded web view.  Libraries 3D yang mencakup implementasi OpenGL ES 1.0 API’s Application programing interface .

3. Android Runtime

Layer yang membuat aplikasi Android dapat dijalankan di mana dalam prosesnya menggunakan implementasi Linux, Dalvik Virtual Machine DVM Merupakan mesin yang membentuk dasar kerangka aplikasi Android. Didalam Android Runtime dibagi menjadi dua bagian yaitu:  Core Libraries : Aplikasi Android dibangun dalam bahasa java, sementara Dalvik sebagai virtual mesinnya bukan Virtual Machine Java, sehingga diperlukan sebuah libraries yang berfungsi untuk menterjemahkan bahasa JavaC yang ditangani oleh Core Libraries .  Dalvik Virtual Machine : Virtual mesin berbasis register yang dioptimalkan untuk menjalankan fungsi-fungsi secara efisien, di mana merupakan pengembangan yang mampu membuat Linux kernel untuk melakukan threading dan manajemen tingkat rendah. 32

4. Application Framework

Pengembangan aplikasi memiliki akses penuh ke Android sama dengan aplikasi inti yang tersedia. Pengembang dapat dengan mudah mengakses informasi lokasi, mengatur alarm, menambah pemberitahuan ke status bar dan lain sebagainya. Arsitekstur aplikasi ini dirancang untuk menyederhanakan penggunaan kembali komponen, aplikasi apa pun dapat mempublikasikan kemampuan dan aplikasi lain dapat menggunakan kemampuan mereka sesuai batasan keamanan.

5. Application

Application adalah layer di mana kita berhubungan dengan aplikasi saja, di mana biasanya kita download aplikasi kemudian kita lakukan instalasi dan jalankan aplikasi tersebut. Di layer terdapat aplikasi inti termasuik klien email, program, SMS, kalender, peta, browser, kontak, dan lain-lain. Semua aplikasi ditulis menggunakan bahasa pemrograman Java. 2.3.1. Versi Android Android berisi sistem operasi, middleware dan aplikasi-aplikasi dasar. Basis OS Android adalah kernel Linux 2.6 yang telah dimodifkasi untuk mobile device. Android versi 1.0 dikeluarkan tanggal 23 September 2008. Versi 1.1 adalah versi yang pertama kali digunakan dimobile phone disusul versi 1.5 Cupcake, 1.6 Donut, dst. 33 Versi Android terakhir adalah: 1. 2.2 Froyo, mempercepat kinerja dengan Just In Time complier dan Crome V8 JavaScript engine, Wi-Fi hotspot tethering dan support Adobe Flash. 2. 2.3 Gingerbread, memperbaiki user interface, soft key board, copypaste features dan support Near Field Communication NFC. 3. 3.0 Honeycomb, diperuntukkan untuk tablet yang menggunakan layar lebih besar, multicore processors dan hardware acceleration untuk grafis. 4. 4.0 Ice-cream sandwich kombinasi Gingerbread dan Honeycomb. Integrasi antara platform untuk tablet dan smartphone. 5. 4.1 dan 4.2 Jelly-Bean, user interface yang lebih halus Project butter.

2.3.2. Android Software Development Kit

SDK Android SDK adalah tools API Aplication Programming Interface yang diperlukan untuk memulai mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman Java. Saat ini Android sudah mendukung arsitektur x86 pada Linux distribusi Linux apapun untuk desktop modern, Mac OS 10.4.8 atau lebih, Windows XP atau Vista. Sebagai platform aplikasi-netral, Android memberikan kesempatan untuk 34 membuat aplikasi yang kita butuhkan yang bukan merupakan aplikasi bawaan handponesmartphone.

2.3.3. Android Development Tools

ADT Menurut Safaat 2012, Android Development Tools ADT adalah plugin yang didesain untuk IDE Eclipse yang memberikan kita kemudahan dalam mengembangkan aplikasi andoid dengan menggunakan IDE Eclipse . Dengan menggunakan ADT untuk Eclipse akan memudahkan kita dalam membuat aplikasi project android, membuat GUI Graphical user interface aplikasi, dan menambahkan komponen-komponen yang lainnya, begitu juga kita dapat melakukan running aplikasi menggunakan Android SDK melalui eclipse. Mengembangkan aplikasi Eclipse dengan ADT sangat dianjurkan dan merupakan cara tercepat untuk memulai membuat aplikasi android, karena banyak kemudahan-kemudahan sebagai tools yang terintegrasi seperti, custom XML editor, dan debug panet output. Selain itu ADT memberikan dorongan luar biasa dalam mengembangkan aplikasi Android. 2.4. Java Java memiliki cara kerja yang unik dibandingkan dengan bahasa pemrograman lainnya yaitu bahasa pmrograman java bekerja menggunakan interpreter dan juga compiler dalam proses pembuatan program. Interpreter java dikenal sebagai pemrograman bytecode yaitu dengan cara kerja mengubah paket class pada .java dengan extensi java menjadi .class, hal ini dikenal dengan class bytecode, yaitu class yang dihasilkan agar program dapat dijalankan pada semua 35 jenis perangkat dan juga platform , sehingga program java cukup ditulis sekali namun mampu bekerja pada jenis lingkungan yang berbeda. Pada bahasa java programmer mengcompile menggunakan java compiler menjadi java bytecode , dan sebuah java virtual machine akan menjalankan java bytecode tersebut. Sedangkan pada pemrograman android ada sedikit yang berbeda, programmer meng-compile menggunakan java compiler yang sama. namun kemudian perlu di- compile ulang menggunakan dalvik compile sehingga menjadi dalvik bytecode . Dan dalvikbytecode ini kemudian dieksekusi dalam dalvik virtual machine .

2.5. SQLite