• Tidak ada hasil yang ditemukan

BAB II LANDASAN TEORI

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB II LANDASAN TEORI"

Copied!
19
0
0

Teks penuh

(1)

5 BAB II LANDASAN TEORI

2.1 Kriptografi

Kriptografi berasal dari kata Yunani, yaitu Crypto yang berarti rahasia dan Grapho yang berarti menulis. Menurut (Scheiner , 1996) secara umum Kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan (Cryptography is the art and science of keeping message secure). Menurut (Menezes , 1996) sebagai pembanding terdapat pula definisi yang berbeda, Kriptografi adalah ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan, integritas data, serta otentikasi. Kata “seni” di dalam definisi di atas berasal dari fakta sejarah bahwa pada masa-masa awal sejarah kriptografi, setiap orang mempunyai cara yang unik untuk merahasiakan pesan. Cara-cara unik tersebut mungkin berbeda-beda pada setiap pelaku kriptografi sehingga setiap cara menulis pesan rahasia mempunyai nilai estetika tersendiri sehingga kriptografi berkembang menjai sebuah seni merahasiakan pesan (kata “graphy” di dalam “cryptography” itu sendiri sudah menyiratkan sebuah seni).

Menurut catatan sejarah, kriptografi sudah digunakan oleh bangsa Mesir sejak 4000 tahun yang lalu oleh raja-raja. Mesir pada saat perang untuk mengirimkan pesan rahasia pada panglima perangnya melalui kurir-kurirnya. Orang yang melakukan penyandian ini disebut Cryptographer, sedangkan orang yang mendalami ilmu dan seni dalam membuka atau memecahkan suatu algoritma kriptografi tanpa harus mengetahui kuncinya disebut kriptanalis.

Seiring dengan perkembangan teknologi, algoritma kriptografi pun sudah mulai berubah menuju arah algoritma kriptografi yang lebih rumit dan kompleks. Kriptografi mau tidak mau harus diakui mempunyai perana yang paling penting dalam peperangan sehingga algoritma kriptografi berkembang cukup pesat pada saat perang duni I dan perang dunia ke II. Menurut catatan sejarah, terdapat beberapa algoritma kriptografi yang pernah digunakanan dalam peperangan, diantaranya adalah ADFVGX

(2)

6

yang dipakai oleh Jerman pada perang dunia I, Sigaba/M-134 yang digunakan oleh Amerika Serikat pada perang dunia II, Typex oleh Inggris, dan Purple oleh Jepang. Selain itu Jerman juga mempunyai mesing legendaris yang dipakai untuk memecahkan sandi yang dikirim oleh pihak musuh dalam peperangan yaitu, Enigma.

Algoritma kriptografi yang baik tidak ditentukan oleh kerumitan dalam mengolah data atau pesan yang akan disampaikan. Yang penting algoritma tersebut memiliki 4 persyaratan berikut :

1. Kerahasiaan pesan (plaintext) hanya dapat dibaca oleh dua pihak kewenangan.

2. Autentifikasi. Pengirim pesan harus dapat diidentifikasi dengan pasti, penyusup harus dipastikan tidak bisa berpura-pura menjadi orang lain.

3. Integritas. Penerima pesan harus dapat memastikan bahwa pesan yang dia terima tidak dimodifikasi ketika dalam melakukan proses transmisi data.

4. Non – Repudiation. Pengirim pesan harus tidak bisa menyangkal pesan yang dia kirim.

Kriptografi pada dasarnya terdiri dari dua jenis proses, yaitu proses enkripsi dan proses dekripsi. Proses enkripsi adalah proses penyandian pesan terbuka menjadi pesan rahasia (ciphertext). Ciphertext inilah yang nantinya akan dikirimkan melalui saluran komunikasi terbuka. Pada saat ciphertext diterima oleh penerima pesan, maka pesan rahasi tersebut diubah lagi menjadi pesan terbuka melalui proses dekripsi sehingga pesan tadi dapat dibaca kembali oleh penerima pesan.

Menurut (Rhee , 1994) secara umum, proses enkripsi dan dekripsi dapat digambarkan sebagai berikut :

(3)

7

Gambar 2.1 proses enkripsi dan dekripsi

Dalam gambar tersebut terdapat 2 user, yaitu user A dan user B. User A mengirimkan pesan terbuka (plaintext) yang kemudian dienkripsi sehingga menjadi pesan rahasia (ciphertext) yang nantinya akan didekripsi oleh user B sehingga kembali menjadi pesan plaintext. Dalam proses enkripsi dan dekripsi tersebut, kedua user memasukkan kunci yang sama agar proses bisa terjadi. Dalam sistem komputer, pesan terbuka (plaintext) diberi lambing M, yang merupakan singkatan dari message. Plaintext ini dapat berupa tulisan, foto, atau video yang berbentuk data biner. Plaintext inilah yang nantinya akan dienkripsi menjadi pesan rahasia atau ciphertext yang dilambangkan dengan C (ciphertext).

Secara matematis, fungsi enkripsi ini dinotasikan dengan :

E(M) = C

Sedangkan fungsi dekripsi adalah proses pembalikan dari ciphertext menjadi plaintext kembali, secara matematis dinotasikan sebagi berikut :

D(C) = M

D(E(M)) = M

2.1.1 Panjang Kunci

Keamanan dari sebuah teknik penyandian tergantung dari dua hal, yaitu algoritma penyandian dan panjang kunci (key). Algoritma sangat menentukan kekuatan dari sebuah teknik penyandian, tetapi panjang kunci juga tidak kalah penting dalam menentukan kekuatan sebuah teknik penyandian.

Sebagai contoh, apabila seorang kriptanalis mengetahui algoritma yang dipakai untuk melakukan teknik penyandian terhadap suatu pesan, maka

(4)

8

kriptanalis tersebut harus mendapatkan kunci yang dipakai terlebih dahulu sebelum dapat melakukan dekripsi terhadap semua jenis ciphertext yang dia punya. Satu-satunya cara untuk mendapatkan kunci yang dipakai adalah dengan cara mencoba semua variasi kunci yang ada. Teknik serangan ini sering dikenal dengan nama Brute force.

Adalah mudah menghitung banyaknya variasi kunci yang ada. Apabila panjang kunci adalah 8 bit, maka 28 atau 256 kemungkinan kunci yang dapat dicoba. Dari 256 percobaan ini, peluang untuk mendapatkan kunci yang benar adalah 50% setelah melalui setengah usaha percobaan. Bila panjang kunci 56 bit, maka ada 256 kemungkinan variasi kunci. Dengan menganggap sebuah supercomputer dapat mencoba satu juta kunci per detik, maka diperlukan sekitar 2285 tahun untuk menemukan kunci yang benar. Bila menggunakan panjang kunci 64 bit, maka dengan supercomputer yang sama akan membutuhkan 585 ribu tahun. Dengan jangka waktu yang lama ini, maka dapat dipastikan bahwa pesan yang disandikan tersebut tidak mempunyai arti lagi apabila telah berhasil dilakukan dekripsi.

Dengan melihat situasi seperti ini, maka kriptografi yang baik akan memilih untuk menggunakan sepanjang mungkin kunci yang akan digunakan, namun hal ini tidak dapat diterapkan begitu saja. Semakin panjang kunci, semakin lama pula waktu yang digunakan oleh komputer untuk melakukan proses enkripsi. Oleh sebab itu, panjang kunci yang akan digunakan hendaknya memperhatikan tiga hal, yaitu seberapa penting data yang akan dirahasiakan, berapa lama waktu yang dibutuhkan agar data tersebut tetap aman, dan seberapa kuat kemampuan kriptanalis dalam memecahkan teknik penyandian.

2.1.2 Kriptografi Kunci Rahasia dan Kunci Publik

Menurut (Rosidi, 2004) pada dasarnya terdapat dua jenis algoritma kriptografi berdasarkan kunci yang digunakan. Yang pertama adalah kriptografi dengan menggunakan secret key dan yang kedua adalah kriptografi yang menggunakan public key. Public key menggunakan dua

(5)

9

kunci yang berbeda dimana satu kunci digunakan untuk melakukan enkripsi dan kunci yang lain digunakan untuk melakukan dekripsi.

2.1.2.1 Kriptografi Kunci Rahasia

Kriptografi kunci rahasia atau secret key adalah kriptografi yang hanya melibatkan satu kunci dalam satu proses enkripsi dan dekripsi. Proses dekripsi dalam kriptografi secret key ini kebalikan dari proses enkripsi

Gambar 2.2 Kriptografi Simetris

Menurut (Hashimi & Komantineni, 2009) kriptografi secret key seringkali disebut sebagai kriptografi konvensional atau kriptografi simetris (Symmetric Cryptography) dimana proses dekripsi adalah kebalikan dari proses enkripsi dan menggunakan kunci yang sama.

Kriptografi simetris dapat dibagi menjadi dua, yaitu penyandian blok (block cipher) dan penyandian alir (stream cipher). Penyandian blok bekerja pada suatu data yang terkelompok menjadi blok-blok data atau kelompok data dengan panjang data yang telah ditentukan. Pada penyandian blok, data yang masuk akan dipecah-pecah menjadi blok data yang telah ditentukan ukurannya. Penyesuaian alir bekerja pada suatu data bit tunggal atau terkadang dalam satu byte. Jadi format data yang mengalami proses enkripsi dan dekripsi adalah berupa aliran bit-bit data.

Algoritma yang ada saat ini kebanyakan bekerja untuk penyandian blok karena kebanyakan proses pengiriman data pada saat ini menggunakan blok-blok data yang telah ditentukan ukurannya untuk kemudian dikirim melalui saluran komunikasi.

2.1.2.2 Kriptografi Kunci Publik

Kriptografi public key sering disebut dengan kriptografi asimetris. Berbeda dengan kriptografi secret key, kunci yang digunakan pada proses enkripsi dan proses dekripsi pada kriptografi public key ini berbeda satu

(6)

10

sama lain. Jadi dalam kriptografi public key, suatu key generator akan menghasilkan dua kunci berbeda dimana satu kunci digunakan untuk melakukan proses enkripsi dan kunci yang lain digunakan untuk melakukan proses dekripsi.

Kunci yang digunakan untuk melakukan enkripsi akan dipublikasikan kepada umum untuk dipergunakan secara bebas. Oleh sebab itu, kunci yang digunakan untuk melakukan enkripsi disebut juga sebagai public key. Sedangkan kunci yang digunakan untuk melakukan dekripsi akan disimpan oleh pembuat kunci dan tidak akan dipublikasikan kepada umum. Kunci untuk melakukan dekripsi ini disebut private key.

Gambar 2.3 kriptografi asimetris

Dengan cara demikian, semua orang yang akan mengirimkan pesan kepada pembuat kunci dapat melakukan proses enkripsi terhadap pesan tersebut, sedangkan proses dekripsi hanyak dilakukan oleh pembuat atau pemilik kunci dekripsi. Dalam kenyataannya, kriptografi asimetris ini dipakai dalam suatu layanan untuk mengakses suatu server.

2.1.3 RC6 (Rivest Code 6)

RC6 merupakan algoritma yang merupakan keturunan dari RC5 yang juga merupakan kandidat AES (Advanced Encryption Standard). Pada mulanya, perancangan RC6 diawali ketika RC5 dianggap dapat dijadikan kandidat untuk mengikuti kompetisi pemilihan AES. Modifikasi kemudian dibuat untuk meningkatkan keamanan dan performa danjuga untuk dapat memenuhi persyaratan AES. RC6 dirancang oleh Ron Rivest, Matt Robshaw, Ray Sidney, dan Yiqun Lisa Yin dan pertama kali di publikasikan tahun 1998.

(7)

11

RC6 dirancang untuk menghilangkan segala ketidakamanan yang ditemukan pada RC5, karena analisis pada RC5 menunjukkan bahwa ternyata jumlah rotasi yang terjadi pada RC5 tidak sepenuhnya bergantung pada data yang terdapat dalam blok. Selain itu, serangan kriptanalis diferensial juga ternyata dapat menembus keamanan yang ditawarkan RC5.

RC6 juga dirancang untuk memenuhi persyaratan AES yang diantaranya adalah kemampuan untuk beroperasi pada mode blok 128 bit. Jika besar blok 128 bit langsung dipaksakan untuk diimplementasikan dengan algoritma RC5, maka akan dibutuhkan register kerja 64 bit. Spesifikasi arsitektur dan bahasa yang menjadi tempat implementasi algoritma yang ditentukan oleh AES belum mendukung pengoperasian 64 bit yang efisien. Oleh karena itu, daripada menggunakan 2 register 64 bit seperti pada RC5, RC6 menggunakan 4 register 32 bit. Karena menggunakan 4 register, maka akan terdapat 2 operasi rotasi pada setiap half-round yang ada, dan juga akan lebih banyak bit-bit yang akan digunakan untuk mempengaruhi banyaknya bit yang dirotasi.

RC6 seperti juga RC5 mengekploitasi penggunaan operasi-operasi primif yang diimplementasikan secara efisien dalam prosesor-prosesor modern. RC6 juga selain menggunakan operasi primitive yang digunakan dalam RC5, juga menggunakan operasi perkalian 32-bit yang telah diimplementasikan secara efisien dalam prosesor modern saat ini. Primitive operasi perkalian ini sangat efektif dalam menghasilkan efek “diffusion” atau penyebaran yang tentu saja mengakibatkan RC6 lebih aman daripada RC5. Operasi perkalian ini digunakan untuk menghitung jumlah bit yang dirotasi sehingga konsep data-dependent rotations dapat dengan lebih sempurna diimplementasikan.

2.1.3.1 Operasi-operasi Primitif

Selain ketiga operasi primitive yang digunakan pada RC5, RC6 juga menggunakan operasi perkalian modulo-2w. Berikut adalah daftar operator-operator primitive (termasuk invers) yang digunakan dalam RC6:

(8)

12

a – b : pengurangan integer modulo 2w

a ⊕ b : operasi ekslusif –OR (xor) dari w-bit word a × b : perkalian integer modulo 2w

a <<<b: rotasi terhadap a ke kiri sebanyak nilai yang diperoleh dari bit-bit orde bawah sejumlah 2log(w) dari b

a >>>b: rotasi terhadap a ke kanan sebanyak nilai yang diperoleh dari bit-bit orde bawah sejumlah 2log(w) dari b

2.1.3.2 Algoritma RC6

Algoritma RC6 seperti juga RC5 merupakan algoritma cipher yang terparameterisasi. RC6 secara tepat ditulis sebagai

RC6 – w / r / b

Nilai parameter w, r, dan b menyatakan hal yang sama seperti yang ditunjukkan dalam algoritma RC5. Algoritma RC6 yang dipakai sebagai kandidat AES adalah RC6-32/20/b, yang berarti ukuran word 32 bit, jumlah round 20 kali, dengan panjang kunci b ditentukan pengguna.

2.1.3.2 Key Expansion Algoritm

Algoritma untuk membangkitkan kunci internal sama seperti pada RC5. Nilai konstanta Pw dan Qw yang digunakan juga sama, tetapi ukuran array S tidak sama dengan yang seperti RC5. Ukuran t dari array S dalam RC6 adalah t = 2(r+2), yang berarti terdapat lebih banyak kunci internal yang dibangkitkan daripada jumlah kunci internal RC5. Berikut algoritmanya :

S[0] = Pw

for i = 1 to (2r + 3) do

S[i] = S[i –1] + Qw i = 0 j = 0 A = 0 B = 0 for 3 × max(c, (2r + 4)) times do

S[i] = (S[i] + A + B) <<< 3 A = S[i]

(9)

13 L[i] = (L[j] + A + B) <<< 3 B = L[i] i = (i + 1) mod (2r+4) j = (j + 1) mod c 1.1.3.4 Algoritma Enkripsi RC6

Fungsi enkripsi menerima input 1 blok plaintext yang terbagi dalam 4 register yang masing-masing berupa w-bit word, yaitu A, B, C, dan D. Ciphertext hasil proses terbagi dan disimpan dalam A, B, C, dan D. dalam proses enkripsi diperlukan table kunci S yang dianggap telah didapat dari proses sebelumnya. Algoritma RC6 menggunakan 44 buah sub kunci yang dibangkitkan dari kunci dan dinamakan dengan S[0] hingga S[43]. Masing-masing sub kunci panjangnya 32 bit. Pada proses awal, nilai B akan dijumlahkan dengan S[0] dan nilai D dijumlahkan dengan S[i]. Pada masing-masing iterasi pada RC6 menggunakan 2 buah sub kunci. Sub kunci pada iterasi yang pertama menggunakan S[2] dan S[3], sedangkan iterasi-iterasi berikutnya menggunakan sub-sub kunci lanjutannya. Setelah iterasi ke-20 selesai, dilakukan proses akhir dimana nilai A dijumlahkan dengan S[42], dan nilai C dijumlahkan dengan S[43].

Secara lebih detil, proses enkripsi dengan RC6 dapat dibagi dalam beberapa langkah. Dalam penjelasan berikut, notasi (A,B,C,D) = (B,C,D,A) berarti adalah operasi assignment yang dilakukan parallel (bersamaan) untuk setiap elemen di ruas kanan ke ruas kiri yang berkorespondensi. Langkah-langkahnya adalah sebagai berikut :

1. Mula-mulai lakukan half-round loop For i = 1 to r do

A = ((AB)<<<B) + S[i] ⊕ (A,B) = (B,A)

2. Lakukan dua proses RC5 secara parallel, yang satu register untuk register A, B dan yang lain untuk register C, D.

For i = 1 to r do

A = ((AB)<<< B) + S[2i] ⊕ C = ((CD)<<< D) + S[2i+1] ⊕

(10)

14 (A,B) = (B,A) (C,D) = (D,C)

3. Pada tahap pertukaran, daripada menukar A dengan B, dan C dengan D, lakukan permutasi antar keempat register (A,B,C,D) = (B,C,D,A), sehingga komputasi AB bercampur dengan komputasi CD.

For i = 1 to r do

A= ((AB) <<<B) +S[2i] ⊕ C= ((CD) <<<D) +S[2i+1] ⊕ (A,B,C,D) = (B,C,D,A)

4. Campurkan komputasi AB dengan CD lebih jauh, yaitu dengan mempertukarkan kedua nilai yang menyatakan jumlah rotasi pada masing-masing komputasi.

For i = 1 to r do

A= ((A⊕B)<<<D) + S[2i] C= ((C⊕D) <<<B) + S[2i+1] (A,B,C,D) = (B,C,D,A)

5. Daripada menggunakan nilai B dan D secara langsung, RC6 menggunakan hasil transformasi kedua register ini. Hal ini dilakukan untuk tidak mengulangi masalah rotasi seperti pada RC5 dimana tidak seluruh bit dalam data yang berpengaruh dalam rotasi. Oleh karena itu, fungsi transformasi yang dipilih harus dapat memanfaatkan seluruh bit di dalam data untuk mengatur jumlah bit yang dirotasikan. Fungsi yang dipilih adalah f(x)=x(2x+1) (mod 2w) yang kemudian diikuti dengan rotasi ke kiri sebanyak 5 bit. Transformasi ini terpilih karena fungsi f(x) yang merupakan fungsi satu-ke-satu memiliki bit-bit orde atas yang menentukan jumlah rotasi yang akan digunakan yang sangat bergantung pada x.

For i = 1 to r do

p = (B * (2B+1)) <<< 5 q = (D * (2D+1)) <<< 5 A = ((A⊕p) <<<q) + S[2i]

(11)

15

C = ((C⊕q) <<< p) + S[2i+1] (A,B,C,D) = (B,C,D,A)

6. Setelah loop di atas selesai, akan terdapat hasil dimana plaintext bisa menunjukkan bagian input ronde pertama dalam enkripsi dan ciphertext bisa menunjukkan bagian input ronde terakhir dalam enkripsi. Oleh karena itu perlu ditambahkan langkah-langkah di awal dan di akhir loop untuk menyamarkan hubungan ini. Sehingga terbentuklah algoritma enkripsi RC6 yang sebagai berikut :

B = B + S[0] D = D + S[1] For i = 1 to r do p = (B * (2B+1)) <<< 5 q = (D * (2D+1)) <<< 5 A= ((A⊕p) <<<q) + S[2i] C= ((C⊕q) <<<p) + S[2i+1] (A,B,C,D) = (B,C,D,A) A = A+S[2r + 2] C = C+S[2r +3]

(12)

16

Gambar 2.4 Diagram Enkripsi RC6

Keterangan :

A, B, C, D : Register

S[x] : Subkunci yang telah dibagi sebanyak 44 buah dari kunci f : Fungsi yang digunakan yaitu f(x)=x(2x+1) (mod 2w) <<< : pergeseran ke kiri sebanyak w kali

>>> : pergeseran ke kanan sebanyak w kali + : proses penjumlahan

⊕ : proses XOR

t : hasil setelah diproses dengan fungsi

u : hasil setelah diproses dengan fungsi

(13)

17 2.1.3.5 Algoritma Dekripsi RC6

Proses dekripsi ciphertext pada algoritma RC6 merupakan pembalikan dari proses enkripsi. Pada proses awal, bila proses enkripsi menggunakan operasi penjumlahan, maka pada proses dekripsi menggunakan operasi pengurangan. Sub kunci yang digunakan pada proses akhir setelah iterasi terakhir diterapkan sebelum iterasi pertama, begitu juga sebaliknya sub kunci yang diterapkan pada proses sebelum iterasi pertama digunakan pada setelah iterasi terakhir. Akibatnya, untuk melakukan dekripsi, hal yang harus dilakukan semata-mata hanyalah menerapkan algoritma yang sama dengan enkripsi, dengan tiap iterasi menggunakan sub kunci yang sama dengan yang digunakan pada saat enkripsi, hanya saja urutan sub kunci yang digunakan terbalik. Algoritmanya adalah sebagai berikut :

C = C – S[2r+3] A = A – S[2r +2] For i = r downto 1 do (A,B,C,D) = (D,A,B,C) p = (D * (2D +1)) <<< 5 q = (B * (2B +1)) <<< 5 C = ((C – S[2i+1]) >>> q)p ⊕ A = ((A – s[2i]) >>> p)q ⊕ D = D – S[1] B = B – S[0]

(14)

18

Gambar 2.5 Diagram dekripsi RC6 Keterangan :

A, B, C, D : Register

S[x] : Subkunci yang telah dibagi sebanyak 44 buah dari kunci f : Fungsi yang digunakan yaitu f(x)=x(2x+1) (mod 2w) <<< : pergeseran ke kiri sebanyak w kali

>>> : pergeseran ke kanan sebanyak w kali + : proses penjumlahan

⊕ : proses XOR

t : hasil setelah diproses dengan fungsi

u : hasil setelah diproses dengan fungsi

(15)

19 2.2 Android

2.2.1 Pengertian Android

Menurut (Android Developer, 2012) android adalah kumpulan perangkat lunak yang ditujukan bagi perangkat bergerak mencakup sistem operasi, middleware, dan aplikasi kunci. Android Standart Development Kit (SDK) menyediakan perlengkapan dan Application Programming Interface (API) yang diperlukan untuk mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman Java.

Android dikembangan oleh Google bersama Open Handset Alliance (OHA) yaitu aliansi perangkat selular terbuka yang terdiri dari 47 perusahaan Hardware, Software, dan perusahaan telekomunikasi ditujukan untuk mengembangkan standar terbuka bagi perangkat selular.

2.2.2 Sejarah dan Perkembangan Android

Menurut (Christof, 2005) pada mulanya terdapat berbagi macam sistem operasi pada perangkat selular, diantaranya sistem operasi Symbian, Microsoft Windows Mobile, Mobile Linux, iPhone, dan sistem operasi lainnya. Namun diantara sistem operasi yang ada belum mendukung standard an penerbitan API yang dapat dimanfaatkan secara keseluruhan dan dengan biaya yang murah. Kemudian Google ikut berkecimpung didalamnya dengan platform Android, yang menjanjikan keterbukaan, keterjangkauan, open source, dan framework berkualitas.

Pada tahun 2005, Google mengakuisisi perusahaan Android Inc. untuk memulai pengembangan platform Android. Dimana terlibat dalam pengembangan ini Andy Rubin, Rich Miner, Nick Searsm dan Chris White. Pada pertengahan 2007 sekelompok pemimpin industri bersama-sama membentuk aliansi perangkat selular terbuka, Open Handset Alliance (OHA). Bagian dari tujuan aliansi ini adalah berinovasi dengan cepat dan menanggapi kebutuhan konsumen dengan lebih baik, dengan produk awalnya adalah platform Android. Dimana Android dirancang untuk melayani kebutuhan operator telekomunikasi, manufaktur handset, dan pengembang aplikasi. OHA berkomitmen untuk membuat Android open source dengan lisensi Apache versi 2.0.

(16)

20

Android pertama kali diluncurkan pada 5 November 2007, dan smartphone pertama yang menggunakan sistem operasi Android dikeluarkan oleh T-Mobile dengan sebutan G1 pada bulan September 2008. Hingga saat ini Android telah merilis beberapa versi Android untuk menyempurnakan versi sebelumnya. Selain berdasarkan penomoran, pada setiap versi Android terdapat kode nama berdasarkan nama-nama kue. Hingga saat ini sudah terdapat beberapa versi yang telah diluncurkan.

2.2.3 Anatomi Android

Dalam paket sistem operasi Android terdiri dari beberapa unsur seperti tampak pada gambar 2.6. Secara sederhana arsitektur Android merupakan sebuah kernel Linux dan sekumpulan pustaka C / C++ dalam suatu framework yang menyediakan dan mengatur alur proses aplikasi.

Gambar 2.6 Arsitektur Android

2.3 SMS (Short Messages Services)

2.3.1 Pengertian SMS (Short Messages Services)

Menurut Rosidi (2004 : 1) Short Message Service (SMS) merupakan sebuah layanan yang banyak diaplikasikan pada sistem komunikasi tanpa kabel, memungkinkan dilakukannya pengiriman pesan dalam bentuk alphanumeric antara terminal pelanggan dengan sitem eksternal seperti email, paging, voice mail, dan lain-lain.

SMS adalah sebuah standar teknologi yang digunakan untuk pengiriman pesan teks pada telepon seluler mulai generasi kedua (2G). (Kamus Lengkap Jaringan Komputer : 407).

(17)

21

Mekanisme utama dalam sistem SMS yang dilakukan adalah melakukan pengiriman short message dari satu terminal pelanggan ke terminal yang lain. Hal ini berkat adanya sebuah entitas dalam Sistem SMS yang bernama Short Message Service Center (SMSC), disebut juga Message Center (MC). SMSC merupakan sebuah perangkat yang melakukan tugas store and forward traffic short message. Di dalamnya termasuk penentuan atau pencarian rute tujuan akhir dari short message.

Beberapa karakteristik SMS adalah :

1. Sebuah pesan terdiri atas 160 karakter yang mencangkup huruf atau angka. Juga dapat mendukung pesan non-text seperti format binary.

2. Prinsip kerjanya adalah menyimpan dan menyampaikan pesan (store and forward message). Dengan kata lain, pesan tidak langsung dikirimkan ke penerima melainkan disimpan dahulu di SMS – Centre.

3. Memiliki cirri-ciri konfirmasi pengiriman pesan, yaitu pesan yang dikirimkan tidak secara sederhana dikirimkan dan dipercayai akan disampaikan dengan selamat, namun pengirim pesan dapat pula menerima pesan balik yang memberitahukan apakah pesan terkirim atau gagal.

2.4 Metode Pengembangan Prototype

Menurut (Pressman, 2005) dalam metode ini menerapkan sistem yang dimana saat pengguna menginginkan fitur-fitur dalam pembuatan perangkat lunak secara objektif, pengguna memerlukan gambaran dari proses input, proses, dan output. Di waktu yang sama pembuat perangkat lunak harus dapat memastikan algoritma apa yang lebih efisien dalam proses perangkat lunak dari segi perancangan design, sistem operasi yang akan digunakan dan evaluasi-evaluasi apa yang dapat membuat pengguna puas akan perangkat lunak ini. Untuk itu, dikondisi semacam ini, metode prototype merupakan metode yang cocok dalam masalah ini.

(18)

22

Prototype dapat membuat pengguna untuk mengeri proses dari pengerjaan perangkat lunak serta tahap-tahap yang jelas. Tahap dari proses prototype ini dapat dilihat di gambar yang terdapat di bawah ini, yaitu :

Gambar 2.7 Tahap Metode Prototype

Dalam gambar yang terdapat pada 2.7, tahap awal dari metode ini adalah communication yang dimana pembuat perangkat lunak dan pengguna bertemu tatap muka dan membicarakan proses secara keseluruhan proses yang akan dibuat dalam perangkat lunak secara objektif, melakukan pemahaman serta analisis dan apa saja yang harus ada dalam perangkat lunak. Dari tahap communication, pembuat perangkat lunak dengan cepat melakukan proses perencanaan dan tahap awal secara cepat dan tepat (quick plan) dan menggambarkan model dari proses input/output dalam bentuk rancangan gambar (modeling quick design). Modelling yang dimaksudkan meliputi tampilan-tampilan dari perangkat lunak. Setelah langkah modeling selesai, maka memasuki tahap selanjutnya, yaitu construction of prototype atau dapat disebut sebagai proses pembuatan perangkat lunak tersebut dan tahap pengujian dari perangkat lunak tersebut. Untuk tahan pengujian (deployment and feedback), dilakukan oleh pengguna yang dimana saat pengguna merasa terdapat/belum puas akan perangkat lunak maka akan kembalik ke tahap communication. Proses tahap dalam metode prototype bersifat

(19)

berulang-23

ulang sampai pengguna puas dan mengerti bahwa proses input dan output pada perangkat lunak tersebut.

Metode prototype dapat disebut sebagai “sistem pertama” dari perkataan Brook yang merupakan proses perancangan yang ideal antara hubungan pengguna dan pembuat perangkat lunak. Pengguna dapat merasakan proses dari pengerjaan perangkat lunak dan pembuat perangkat lunak dengan cepat membangun perangkat lunak.

Masalah yang terjadi saat metode prototype ini adalah :

1. Management software development yang tergolong kurang, dikarenakan saat pengguna menemukan adanya sistem yang tidak sesuai dengan kualitas pengguna, maka pembuat perangkat lunak harus membangun ulang sistem yang dianggap kurang oleh pengguna dan akan lebih banyak aktifitas “maintenance” disbanding jalannya proses sistem. 2. Pembuat perangkat lunak terkadang membuat perangkat lunak

sesuai dengan rancangan modeling dan dengan bahasa pemrograman dan operasi sistem yang digunakan dengan sederhana, sehingga membuat pembuat perangkat lunak merasa nyaman akan proses itu dan lupa akan mengapa mereka dipilih oleh pengguna dalam pembuatan perangkat lunak.

Meski masalah ini dapat teratasi, prototype merupakan metode yang efisien dari perancangan sistem perangkat lunak. Salah satu kunci dalam metode ini adalah pengguna dan pembuat perangkat lunak harus setuju dan memiliki pemikiran yang sama dalam proses sistem ini.

Gambar

Gambar 2.1 proses enkripsi dan dekripsi
Gambar 2.3 kriptografi asimetris
Gambar 2.4 Diagram Enkripsi RC6  Keterangan :
Gambar 2.5 Diagram dekripsi RC6  Keterangan :
+3

Referensi

Dokumen terkait

teknik penerjemahan terhadap kualitas terjemahan serta dampak bagi anak sebagai penonton target pada dubbing interpersonal-transaksional: proposal film Thomas

Mengontrol cara yang dilakukan oleh semua software dalam menggunakan hardware yang mendasari (underlying) dan juga menyembunyikan kompleksitas hardware dari software lain dengan

Tujuan penelitian ini untuk mengetahui pengaruh air rebusan cacing tanah ( Lumbricus rubellus ) dalam menghambat pertumbuhan bakteri Escherichia coli..

Kemudian, sambungkan alat pengukur tingkat kematangan buah dengan komputer menggunakan kabel USB melalui USB Port.Perhatikan lampu indicator.Jika lampu indicator menyala berarti

1. Tujuan: Pada audit Keuangan untuk menentukan luas pengujian audit substantif, pada audit operasional untuk menevaluasi efisiensi dan efektifitas struktur pengendalian intern

Berdasarkan hasil tersebut maka perlu penelitian lanjutan untuk menentukan metode konsolidasi kayu, menentukan metode aplikasi terbaik, menentukan bahan injeksi pada

Pengujian Marshall untuk campuran tanpa getah pinus dilakukan untuk mendapatkan nilai Kadar Aspal Optimum (KAO) dan nilai KAO tersebut selanjutnya akan digunakan pada

4.2.2.5 Diagram Aktivitas Sistem Informasi Pemetaan Sekolah SMP-SMA Sederajat Tingkat Kabupaten Kudus Berbasis OpenSource