Blok plainteks yang lain dikembalikan dengan cara yang serupa.
Akhirnya kita memperoleh kembali plainteks semula
m = 7265827332737873
yang dalam sistem pengkodean ASCII adalah
m = HARI INI[5].
2.5 Android
Android adalah sistem operasi bergerak (mobile operating system) yang mengadopsi sistem operasi linux,namun sudah dimodifikasi. Android
telah diambil alih oleh Gogle pada tahun 2005 dari Android, Inc sebagai
bagian strategi untuk mengisi pasar sistem operasi bergerak. Gogle
mengambil alih seluruh hasil kerja Android termasuk tim yang
Gogle menginginkan agar Android bersifat terbuka dan gratis, oleh
karena itu hampir setiap kode program Android diluncurkan berdasarkan
lisensi open-source Apache yang berarti bahwa semua orang yang ingin menggunakan Android dapat men-download penuh source code-nya.
Di samping itu produsen perangkat keras juga dapat menambhkan
extension-nya sendiri ke dalam Android menarik bagi vendor-vendor
perangkat keras
Keuntungan utama dari Android adalah adanya pendekatan aplikasi
secara terpadu. Pengembang hanya berkonsentrasi pada aplikasi
saja,aplikasi tersebut bisa berjalan pada beberapa perangkat yang berbeda
selama masih ditenagai oleh Android[6]
Android dipuji sebagai “platform mobile pertama yang Lengkap,
Terbuka, dan Bebas”.
1) Lengkap (Complete Platform): Para desainer dapat melakukan pendekatan yang komperhensif ketika meeka sedang mengembangkan
platform android. Android merupakan sistem operasi yang amandan abnyak menyediakan tools dan membangun software dan memungkinkan untuk peluang pengembangan aplikasi.
2) Terbuka (Open Source Platform): Platform Android disediakan melalui lisensi open source. Pengembang dapat dengan bebas untuk
3) Free(Free Platform): Android adalah platform/aplikasi yang bebas untuk develop. Tidak ada lisensi atau biaya royalty utuk dikrmbangkan
pada platform Android. Tidak ada biaya keanggotaan diperlukan. Tidak diperlukan biaya pengujian. Tidak ada kontrak yang diperlukan. Aplikasi
untuk android dapat didistribusikan dan diperdagangkan dalam bentuk apa
pun.
Android merupakan generasi baru platform mobile, platform yang memberikan pengembang untuk melakukan pengembangan sesuai yang
diharapkannya. Sistem operasi yang mendasariAndroid dilisensikan di
bawah GNU, General Public Lisensi Versi 2 (GPLv2), yang sering dikenal
dengan istilah “copyleft” lisensi dimana setiap perbaikan pihak ketiga
harus terus jatuh di bawah terms. Android didistribusikan dibawah Lisensi
Apache Software (ASL/Apache2), yang memungkinkan untuk distribusi kedua dan seterusnya.
Arsitektur dari Android secara garis besar dapat dijaelaskan dalam
lima hal di bawah ini:
1) Applications dan Widgets
Applications dan Widgets adalah layer dimana kita berhubungan dengan aplikasi saja, dimana biasanya kita download aplikasi kemudian kita lakukan instalasi dan jalankan aplikasi tersebut
Android adalah “ Open Development Platform” yaitu Android
menawarkan kepada pengembang atau memberi kemampuan kepada
pengembang untuk membangun aplikasi yang bagus dan inovatif.
Pengembang bebas untuk mengakses perangkat keras, akses informasi
resources, menjalankan service background, mengatur alarm, dan menambahkan status notifications, dan sebagainya.
Komponen-komponen yang termasuk di dalam Applications Frameworks
adalah sebagai berikut [7]:
a) Views b) Content Provider c) Resource Manager d) Notification Manager e) Activity Manager 3) Libraries
Libraries ini adalah layer dimana fitur-fitur Android berada, biasanya para pembuat aplikasi mengakses Libraries untuk menjalankan aplikasinya. Berjalan di atas kernel, Layer ini meliputi Library C/C++ inti seperti Libc dan SSL, serta:
a) libraries media untuk pemutaran audio dan Video b) libraries untuk manajemen tampilan
c) libraries Graphics mencakup SGL dan OpenGL untuk grafis 2D dan 3D
d) libraries SQLite untuk mendukung database
e) libraries SSL dan WebKit terintegrasi dengan web browser dan
security
f) libraries LiveWebscore mencakup modern modern web browser
dengan engine embedded web view
g) libraries 3D yang mencakup implementasi OpenGL ES 1.0API’s
4) Android Run Time
Layer yang membuat aplikasi Android dapat dijalankan dimana dalam prosesnya menggunakan implementasi Linux. Dalvik Virtual
Machine (DVM) merupakan mesin yang membentuk dasar kerangka
aplikasi Android. Di dalam Android Run Time dibagi menjadi dua bagian yaitu. 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 java/c yang ditangani oleh Core Libraries
a) Dalvik Virtual Machine: Virtual mesin berbasis register
yadioptimalkan untuk menjalankan fungsi-fungsi secara efisien, di man
merupakan pengembangan yang mampu membuat linux kernel untuk
melakukan threading dan manajemen tingkat rendah.
5) Linux Kernel: Linux Kernel adalah layer dimana inti dari operating
processing, memory, resource, drivers, dan sistem-sistem operasi android lainnya. Linux kernel yang sigunakan android adalah linux kernel release 2.6.
Aplikasi Android ditulis dalam bahasa pemrograman java. Kode
java dikompilasi bersama dengan data file resource yang dibutuhkan oeh aplikasi, di mana prosesnya dipackage oleh toolsyang dinamakan “apt tools” ke dalam paket Android sehingga menghasilkan file dengan ekstensi apk. File apk itulah yang kita sebut dengan aplikasi, dan nantinya dapat diinstall di perangkat mobile. komponen dari aplikasi android yaitu:
6) Activities
Suatu activity akan menyajikan user interface (UI) kepada
pengguna, sehingga pengguna dapat melakukan interaksi. Sebuah aplikasi
android bias jadi hanya memiliki satu activity,tetapi umumnya aplikasi memiliki banyak activity tergantung pada tujuan dan desain dari aplikasi tersebut. Satu activity biasanya akan dipakai untuk menampilkan aplikasi atau yang bertindak sebagai user interface (UI) saat aplikasi diperlihatkan kepada user. Untuk pidah dari satu avtivity ke activity yang lain kita dapat melakukannya dengan satu even, misalnya click tombol, memilih opsi atau menggunakan triggers tertentu. Secara hirarki sebuah windows activity
dinyatakan dengan method Activity.setContentView(). ContentView adalah objek yang berada pada root hirarki.
7) Service
Service tidak memilki Graphic User Interface (GUI), tetapi berjalan secara background, sebagai contoh dalam memainkan music,
service mungkin memainka music atau mengambil data dari jaringan, tetapi setiap service harus berada dalam kelas induknya.
8) Broadcast Receiver
Broadcast Receiver berfungsi menerimadan bereaksi untuk menyampaikan notifikasi. Contoh broadcast seperti notifikasi zina waktu berubah, baterai low, gambar selesei diambil oleh camera, atau perubahan referensi bahasa yang digunakan.
Broadcast Receiver tidak memiliki user interface (UI), tetapi memilik sebuah activity untuk merespon informasi yang mereka terima, atau mungkin menggunaka Notification Manager untuk memberitahu kepada pengguna, seperti lampu latar atau vibrating (getaran) perangkat, dan lain sebagainya.
9) Content Provider
Content Provider membuat kumpulan aplikasi data secara spesifik sehingga bias digunaka aplikasi lain. Data disimpan dalam file sistem seperti database SQLite.Content Provider menyediakan cara untuk mengakses data yang dibutuhkan oleh sebuah activity. [7]