BAB II LANDASAN TEORI

dokumen-dokumen yang mirip
BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN

Advanced Encryption Standard (AES) Rifqi Azhar Nugraha IF 6 A.

Penggabungan Algoritma Kriptografi Simetris dan Kriptografi Asimetris untuk Pengamanan Pesan

BAB II LANDASAN TEORI

TINJAUAN PUSTAKA. Kriptografi

BAB III ANALISIS DAN PERANCANGAN

BAB I PENDAHULUAN , 1.1. Latar Belakang

BAB III ANALISA DAN DESAIN SISTEM

BAB II TINJAUAN PUSTAKA. Short message service atau yang disebut SMS merupakan suatu teknologi

BAB II. KAJIAN PUSTAKA

BAB II TINJAUAN PUSTAKA

BAB III ANALISIS DAN PERANCANGAN SISTEM. permasalahan-permasalahan dan kebutuhan-kebutuhan yang diharapkan sehingga dapat

BAB 1 PENDAHULUAN Latar Belakang

BAB 1 PENDAHULUAN Latar Belakang

Aplikasi Pengamanan Data dengan Teknik Algoritma Kriptografi AES dan Fungsi Hash SHA-1 Berbasis Desktop

BAB I PENDAHULUAN 1.1. Latar Belakang

APLIKASI PENGAMAN ISI LAYANAN PESAN SINGKAT PADA TELEPON SELULER BERBASIS J2ME MENGGUNAKAN ALGORITHMA SIMETRI SKRIPSI. Oleh : MIFTAHUL.

BAB III ANALISA DAN DESAIN SISTEM. perancangan pembuatan kriptografi Impementasi AES ( Advanced Encyrption

BAB III ANALISIS DAN DESAIN SISTEM

Bab 2 Tinjauan Pustaka

ADVANCED ENCRYPTION STANDARD (AES) DENGAN ONE TIME PASSWORD UNTUK KEAMANAN LAYANAN SMS BANKING

Rancang Bangun Aplikasi Keamanan Data Menggunakan Metode AES Pada Smartphone

BAB II TINJAUAN PUSTAKA. dilakukan oleh para peneliti diantaranya Imamul Huda (2013) yang berjudul

BAB II TINJAUAN PUSTAKA

BAB III ANALISIS DAN DESAIN SISTEM

BAB II KAJIAN PUSTAKA. bimbingan kepada dosen pembimbing tugas akhir, kartu konsultasi digunakan

DASAR-DASAR KEAMANAN SISTEM INFORMASI Kriptografi, Steganografi. Gentisya Tri Mardiani, S.Kom.,M.Kom

BAB I PENDAHULUAN 1.1 Latar Belakang

Bab 3 Metode Perancangan

PERANCANGAN APLIKASI PENGAMANAN DATA DENGAN KRIPTOGRAFI ADVANCED ENCRYPTION STANDARD (AES)

Advanced Encryption Standard (AES)

BAB II TINJAUAN PUSTAKA

BAB II KAJIAN PUSTAKA. berbasis linux yang mencakup sistem operasi, middleware dan aplikasi.

BAB III ANALISA DAN PERANCANGAN. 3.1 Analisa Berikut tahap-tahap awal dalam pembuatan:

BAB II TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA

Perancangan Aplikasi Kriptografi File Dengan Metode Algoritma Advanced Encryption Standard (AES)

BAB II LANDASAN TEORI

PERANCANGAN APLIKASI KRIPTOGRAFI ADVANCED ENCRYPTION STANDARD BERBASIS ANDROID NASKAH PUBLIKASI

IMPLEMENTASI PENGAMANAN DATA ENKRIPSI SMS DENGAN ALGORITMA RC4 BERBASIS ANDROID

Implementasi Enkripsi File dengan Memanfaatkan Secret Sharing Scheme

BAB 2 TINJAUAN PUSTAKA

Analisis Perbandingan Algoritma Advanced Encryption Standard Untuk Enkripsi Short Message Service (SMS) Pada Android

PENERAPAN ALGORITMA AES (ADVANCE ENCRYPTION STANDARD) 128 DAN VIGENERE CIPHER PADA APLIKASI ENKRIPSI PESAN SINGKAT BERBASIS ANDROID

APLIKASI PENGAMANAN DOKUMEN DENGAN MENGGUNAKAN TEKNIK KRIPTOGRAFI ALGORITMA AES-RINJDAEL

DAFTAR TABEL Tabel 4. 1 Tabel 4. 2 Tabel 4. 3

IMPLEMENTASI ALGORITMA KRIPTOGRAFI AES UNTUK ENKRIPSI DAN DEKRIPSI

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISA DAN PERANCANGAN

STUDI PERBANDINGAN ALGORITMA SIMETRI BLOWFISH DAN ADVANCED ENCRYPTION STANDARD

PENERAPAN COMPUTER ASSISTED INSTRUCTION DALAM PEMBELAJARAN PEMAHAMAN ALGORITMA CAESAR CIPHER

BAB II DASAR TEORI DAN TINJAUAN PUSTAKA. Judul Platform Deskripsi

linux yang mencakup sistem operasi, middleware dan aplikasi. Andorid mereka. Awalnya, Google Inc. Membeli Android Inc.

WINDOWS VISTA BITLOCKER DRIVE ENCRYPTION

BAB III ANALISIS DAN DESAIN SISTEM

KUMPULAN APLIKASI JAVA J2ME

BAB II TINJAUAN PUSTAKA

BAB III ANALISA DAN DESAIN SISTEM

BAB III ANALISIS DAN PERANCANGAN SISTEM

IMPLEMENTASI ALGORITMA AES PADA ENKRIPSI TEKS

BAB III ANALISIS DAN PERANCANGAN

BAB II TINJAUAN PUSTAKA. Kriptografi adalah ilmu sekaligus seni untuk menjaga keamanan pesan (message).

Gambar 3.1 Flowchart proses enkripsi AES

BAB IV PERANCANGAN SISTEM

BAB III ANALISA MASALAH DAN PERANCANGAN PROGRAM

BAB III ANALISA DAN PERANCANGAN

PERANCANGAN APLIKASI ENKRIPSI DATA MENGGUNAKAN METODE ADVANCED ENCRYPTION STANDARD

Universitas Sumatera Utara BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

Mobile Programming. Rendra Gustriansyah, S.T., M.Kom., MCP

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

Algoritma Kriptografi Modern (AES, RSA, MD5)

Algoritma Enkripsi Baku Tingkat Lanjut

BAB I PENDAHULUAN. teknologi, salah satunya adalah telepon selular (ponsel). Mulai dari ponsel yang

BAB II TINJAUAN PUSTAKA

BAB II LANDASAN TEORI

Modul Praktikum Keamanan Sistem

BAB III ANALISIS DAN DESAIN SISTEM

BAB II TINJAUAN PUSTAKA. 1. Pemrograman Aplikasi Mobile Smartphone Dari Tablet PC Berbasis. Android. Oleh Safaat, N. (2015). Informatika Bandung.

BAB IV HASIL DAN PEMBAHASAN

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

ANALISA PROSES ENKRIPSI DAN DESKRIPSI DENGAN METODE DES

BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

STUDI DAN IMPLEMENTASI ALGORITMA RIJNDAEL UNTUK ENKRIPSI SMS PADA TELEPON GENGGAM YANG BERBASIS WINDOWS MOBILE 5.0

BAB 2 TINJAUAN PUSTAKA

APLIKASI ENKRIPSI SMS (SHORT MESSAGE SERVICE) MENGGUNAKAN ALGORITMA DATA ENCRYPTION STANDARD (DES) BERBASIS ANDROID

SEMINAR TUGAS AKHIR PERIODE JANUARI 2012

BAB 1 PENDAHULUAN. dalam bahasa sandi (ciphertext) disebut sebagai enkripsi (encryption). Sedangkan

7

Penerapan Matriks dalam Kriptografi Hill Cipher

BAB I PENDAHULUAN. dengan munculnya berbagai sistem operasi yang lengkap layaknya komputer,

BAB II LANDASAN TEORI

PERANCANGAN DAN IMPLEMENTASI TRY OUT (UJI COBA) SNMPTN (Seleksi Nasional Masuk Perguruan Tinggi Negeri) ONLINE PADA ANDROID

BAB III ANALISA MASALAH DAN PERANCANGAN

BAB I PENDAHULUAN 1.1 Latar Belakang

APLIKASI PENGAMANAN FILE DENGAN ALGORITMA AES256 DAN SHA1

Penerapan Metode End Of File Pada Steganografi Citra Gambar dengan Memanfaatkan Algoritma Affine Cipher sebagai Keamanan Pesan

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM. telah dijelaskan pada bab sebelumnya. Analisis yang dilakukan bertujuan untuk

Transkripsi:

BAB II LANDASAN TEORI II.1. Perancangan Menurut Syifaun Nafisah (2003), Perancangan adalah penggambaran, perencanaan dan pembuatan sketsa atau pengaturan dari beberapa elemen yang terpisah ke dalam satu kesatuan yang utuh dan berfungsi Perancangan sistem dapat dirancang dalam bentuk bagan alir sistem (system flowchart), yang merupakan alat bentuk grafik yang dapat digunakan untuk menunjukan urutanurutan proses dari sistem. II.2. Mobile Application Menurut Wandy Damarullah, et al (2013), Mobile Application adalah sebuah aplikasi yang memungkinkan manusia melakukan mobilitas dengan menggunakan perlengkapan seperti PDA, telepon seluler (Handphone). Dengan menggunakan aplikasi mobile, manusia dapat dengan mudah melakukan berbagai macam aktifitas mulai dari hiburan, berjualan, belajar, mengerjakan pekerjaan kantor, browsing, chatting, email, dan lain sebagainya. II.3. Keamanan Data Pencurian data dari tahun ke tahun terus mengalami peningkatan. Pencurian data tidak hanya dilakukan melalui internet tetapi juga langsung mencuri device penyimpanan data seperti laptop, personal computer, dan removable storage. Bahkan banyak yang menganggap bahwa pencurian data yang terbesar melalui internet, ternyata salah, pencurian data yang terbesar justru 9

10 dengan cara mencuri secara langsung device dari media penyimpanan data tersebut. (Andik Susilo, 2010) Gambar II.1. Potongan berita dari PC World dan BBC News (Sumber : Andik Susilo, 2010) Banyak metode yang digunakan untuk memproteksi sebuah data, aplikasiaplikasi umum seperti Microsoft Word, Excel, Access, dan lain-lain juga sudah dilengkapi dengan proteksi data, tetapi proteksi tersebut dapat dengan mudah untuk dibongkar (crack). Salah satu teknologi yang dapat digunakan untuk memproteksi data adalah enkripsi. Enkripsi sudah ada sejak zaman dulu kala, digunakan oleh raja-raja untuk berkirim pesan kepada raja di kerajaan lain. Seiring dengan berjalannya waktu, semakin lama metode enkripsi yang digunakan juga semakin rumit dengan harapan agar pesan atau data yang dikirim tidak dapat dengan mudah untuk dipecahkan atau dibaca oleh orang ang tidak berkepentigan. (Andik Susilo, 2010) II.4. Algoritma Kriptografi Ditinjau dari asal-usulnya, kata algoritma mempunyai sejarah yang menarik. Kata ini muncul di dalam kamus Webster sampai akhir tahun 1957. Kata

11 algorism mempunyai arti proses perhitungan dalam bahasa Arab. Algoritma berasal dari nama penulis buku Arab yang terkenal, yaitu Abu Ja far Muhammad Ibnu Musa Al-Khuwarizmi (al-khuwarizmi dibaca oleh orang barat sebagai algorism). Kata algorism lambat laun berubah menjadi algorithm. (Dony Ariyus, 2008) Defenisi terminology algoritma adalah urutan langkah-langkah logis untuk menyelesaikan masalah yang disusun secara sistematis. Menurut Dony Ariyus (2008), Algoritma Kriptografi merupakan langkahlangkah logis bagaimana menyembunyikan pesan dari orang-orang yang tidak berhak atas pesan tersebut. Algoritma kriptografi dibagi menjadi tiga bagian berdasarkan kunci yang dipakainya: 1. Algoritma Simetri (menggunakan satu kunci untuk enkripsi dan dekripsinya). 2. Algoritma Asimetri (menggunakan kunci yang berbeda untuk enkripsi dan dekripsi). 3. Hash Function. II.4.1 Algoritma Simetri Algoritma ini sering disebut dengan algoritma klasik karena memakai kunci yang sama untuk kegiatan enkripsi dan dekripsi. Algoritma ini sudah ada sejak lebih dari 4000 tahun yang lalu. Bila mengirim pesan dengan menggunakan algoritma ini, si penerima pesan harus diberitahu kunci dari pesan tersebut agar bisa mendekripsikan pesan yang dikirim. Algoritma yang memakai kunci simetri dia antaranya adalah: 1. Data Encryption Standard (DES)

12 2. RC2, RC4, RC5, RC6 3. International Data Encryption Algorithm (IDEA) 4. Advanced Encryption Standard (AES)\ 5. One Time Pad (OTP), 6. A5, dan lain sebagainya. II.4.2. Algoritma Asimetris Algoritma Asimetri sering juga disebut dengan algoritma kunci publik, denga arti kata kunci yang digunakan untuk melakukan enkripsi dan dekripsi berbeda. Pada algoritma asimetri kunci terbagi menjadi dua bagian, yaitu: 1. Kunci umum (public key) : Kunci yang boleh semua orang tahu (dipublikasikan). 2. Kunci rahasia (private key) : Kunci yang dirahasiakan (hanya boleh diketahui oleh satu orang). Kunci-kunci tersebut berhubungan satu sama lain. Dengan kunci pubik orang dapat mengenkripsi pesan tetapi tidak bisa mendekripsinya. Hanya orang yang memiiki kunci rahasia yang dapat mendekripsi pesan tersebut. Algoritma yang memakai kunci publik diantaranya adalah: 1. Digital Signature Algorithm (DSA) 2. RSA 3. Diffie-Hellman (DH) 4. Elliptic Curve Cryptography (ECC) 5. Kriptografi Quantum, dan lain sebagainya.

13 II.4.3. Fungsi Hash Fungsi Hash sering disebut dengan fungsi Hash satu arah (one-way function), message digest, fingerprint, fungsi kompresi dan message authentication code (MAC), merupakan suatu fungsi matematika yang mengambil masukan panjang variable dan mengubahnya ke dalam urutan biner dengan panjang yang tetap. Fungsi Hash biasanya diperlukan bila ingin membuat sidik jari dari suatu pesan. Tentang hal ini tidak akan dibahas pada skripsi ini. II.5. Algoritma AES Menurut Voni Yuniati, et al, (2009), Algoritma AES adalah algoritma kriptografi yang dapat mengenkripsi dan mendekripsi data dengan panjang kunci yang bervariasi, yaitu 128 bit, 192 bit, dan 256 bit. Input dan Output dari algoritma AES terdiri dari urutan data sebesar 128 bit. Urutan data yang sudah terbentuk dalam satu kelompok 128 bit tersebut disebut juga sebagai blok data atau plaintext yang nantinya akan di enkripsi menjadi ciphertext. Cipher key dari AES terdiri dari key dengan panjang 128 bit, 192 bit, atau 256 bit. Perbedaan panjang kunci akan mempengaruhi jumlah round yang akan diimplementasikan pada algoritma AES ini. Berikut ini adalah Tabel yang memperlihatkan jumlah round/putaran (Nr) yang harus diimplementasikan pada masing-masing panjang kunci.

14 Tabel II.1. Perbandingan Jumlah Round dan Key Jumlah Key (Nk) Ukuran Block (Nb) Jumlah Putaran (Nr) AES 128 4 4 10 AES 192 6 4 12 AES 256 8 4 14 (Sumber : Voni Yuniati, et al, 2009) Pada dasarnya, operasi AES dilakukan terhadap array of byte dua dimensi yang disebut dengan state. State mempunyai ukuran NROWS X NCOLS. Pada awal enkripsi, data masukan yang berupa in0, in1, in2, in3, in4, in5, in6, in7, in8, in9, in10, in11, in12, in13, in14, in15 disalin kedalam array state. State inilah yang nantinya dilakukan operasi enkripsi / dekripsi. Kemudian keluarannya akan ditampung ke dalam array out. Gambar 1 mengilustrasikan proses penyalinan dari input bytes, state array, dan output bytes: Gambar II.2. Proses Input Bytes, State Array, dan Output Bytes (Sumber : Voni Yuniati, et al, 2009) II.5.1. Proses Enkripsi Algoritma AES Garis besar Algoritma AES yang beroperasi pada blok 128 bit dengan kunci 128-bit adalah sebagai berikut(di luar proses pembangkitan round key) : 1. AddRoundKey : melakukan XOR antara state awal ( plainteks) dengan cipher key. Tahap ini disebut juga initial round.

15 2. Putaran sebanyak Nr 1 kali. Proses yang dilakukan pada setiap putaran adalah: a. SubBytes : substitusi byte dengan menggunakan tabel substitusi (S- box). b. ShiftRows : pergeseran baris-baris array state secara wrapping. c. MixColumns : mengacak data di masing -masing kolom array state. d. AddRoundKey: melakukan XOR antara state sekarang dengan round key. 3. Final round : proses untuk putaran terakhir: a. SubBytes b. ShiftRows c. AddRoundKey Gambar II.3. Diagram Proses Enkripsi (Sumber : Rinaldi Munir, 2004)

16 II.5.1.1. AddRoundKey Pada proses enkripsi dan dekripsi AES proses AddRoundKey sama, sebuah round key ditambahkan pada state dengan operasi XOR. Setiap round key terdiri dari Nb word dimana tiap word tersebut akan dijumlahkan dengan word atau kolom yang bersesuaian dari state sehingga : [ w i ] adalah word dari key yang bersesuaian dimana i = round*nb+c. Transformasi AddRoundKey pada proses enkripsi pertama kali pada round= 0 untuk round selanjutnya round = round+ 1, pada proses dekripsi pertama kali pada round= 10 untuk round selanjutnya round= round- 1. XOR-kan kolom pertama state dengan kolom pertama Round Key Hasil AddRoundKey terhadap seluruh kolom: Gambar II.4. AddRoundKey (Sumber : Rinaldi Munir, 2004)

17 II.5.1.2. Transformasi SubBytes Transf ormasi SubBytes memetakan setiap byte dari array state dengan menggunakan tabel substiusi S- box. Berikut adalah Tabel S-box yang digunakan: Gambar II.5. Tabel S-Box (Sumber : Rinaldi Munir, 2004) Cara pensubstitusian untuk setiap byte pada array state, misalkan S[r, c] = xy, yang dalam hal ini xy adalah digit heksadesimal dari nilai S[r, c], maka nilai substitusinya, dinyatakan dengan S [r, c], adalah elemen di dalam S box yang merupakan perpotongan baris x dengan kolom y. Misalnya S[0, 0] = 19, maka S [0, 0] = d4 II.5.1.3. Transformasi Shiftrows Transformasi Shiftrows pada dasarnya adalah proses pergeseran bit dimana bit paling kiri akan dipindahkan menjadi bit paling kanan ( rotasi bit ). Proses pergeseran Shiftrow ditunjukkan pada gambar berikut:

18 Gambar II.6. Transformasi Shiftrows (Sumber : Voni Yuniati, et al, 2009) II.5.1.4. Transformasi MixColumns MixColumns mengoperasikan setiap elemen yang berada dalam satu kolom pada state. Secara lebih jelas, transformasi mixcolumns dapat dilihat pada perkalian matriks berikut ini: Hasil dari perkalian matriks diatas dapat dianggap seperti perkalian yang ada di bawah ini:

19 II.5.2. Proses Dekripsi Algoritma AES Transformasi cipher dapat dibalikkan dan diimplementasikan dalam arah yang berlawanan untuk menghasilkan inverse cipher yang mudah dipahami untuk algoritma AES. Transformasi byte yang digunakan pada invers cipher adalah InvShiftRows, InvSubBytes, InvMixColumns, dan AddRoundKey. Algoritma dekripsi dapat dilihat pada skema berikut ini : Gambar II.7. Diagram Proses Dekripsi (Sumber : Voni Yuniati, et al, 2009) II.5.2.1. InvShiftRows InvShiftRows adalah transformasi byte yang berkebalikan dengan transformasi ShiftRows. Pada transformasi InvShiftRows, dilakukan pergeseran bit ke kanan sedangkan pada ShiftRows dilakukan pergeseran bit ke kiri. Ilustrasi transformasi InvShiftRows terdapat pada Gambar II.8.

20 Gambar II.8. Transformasi InvShiftrows (Sumber : Voni Yuniati, et al, 2009) II.5.2.2. Transformasi InvSubBytes InvSubBytes juga merupakan transformasi bytes yang berkebalikan dengan transformasi SubBytes. Pada InvSubBytes, tiap elemen pada state dipetakan dengan menggunakan tabel Inverse S-Box sebagai berikut: Gambar II.9. Tabel Inverse S-Box (Sumber : Voni Yuniati, et al, 2009)

21 II.5.2.3. Transformasi InvMixColumns Setiap kolom dalam state dikalikan dengan matrik perkalian dalam AES. Perkalian dalam matrik dapat dituliskan sebagai berikut: Hasil dari perkalian dalam matrik adalah: II.6. Android Android merupakan sistem operasi berbasis linux yang bersifat terbuka (open source) dan dirancang untuk perangkat seluler layar sentuh seperti smartphone dan komputer tablet. Android dikembangkan oleh Android,Inc., dibeli pada tahun 2005. Android dirilis secara resmi pada tahun 2007, bersamaan dengan didirikannya Open Handset Alliance. Awal sistem android yang dirilis yaitu Android beta pada bulan November 2007. Sedangkan versi komersial pertama, Android 1.0, dirilis pada September 2008. Sejak April 2009, versi Android yang dikembangkan diberi kode nama yang berdasarkan makanan pencuci mulut dan makanan manis. Tiap versi dirilis sesuai urutan alphabet, yakni:

22 Tabel II.2. Versi Android Versi Nama Android Tahun Rilis 1.1-2009 1.5 Cupcake 2009 1.6 Donut 2009 2.0 Eclair 2009 2.2 Froyo 2010 2.3 Gingerbread 2010 3.0 Honeycomb 2011 4.0 Ice Cream Sandwich (ICS) 2011 4.1 Jellybean 2012 (Sumber : Dhanar Intan Surya Saputra; 2013) II.6.1. Arsitektur Android Android dibangun dengan menggunakan asas object oriented, dimana elemen-elemen penyusun sistem operasinya berupa objek yang dapat kita gunakan kembali / reusable. Agar bisa membuat aplikasi dengan baik, tentunya kita harus mengetahui arsitektur OS Android beserta elemen elemennya. Gambar II.10 merupakan skema pembagian elemen pada arsitektur Android. Gambar II.10. Arsitektur Android (Sumber : Wandy Damarullah et all, 2013)

23 Secara garis besar arsitektur android terdiri dari lima layer komponen, yaitu: 1. Layer Applications dan Widget Inilah layer pertama pada OS Android, biasa dinamakan layer Applications dan Widget. Layer ini merupakan layer yang berhubungan dengan aplikasiaplikasi inti yang berjalan pada Android OS. Seperti klien email, program SMS, kalender, browser, peta, kontak, dan lain-lain. Semua aplikasi ini dibuat dengan menggunakan bahasa Java. Apabila kalian membuat aplikasi, maka aplikasi itu ada di layer ini. 2. Layer Applications Framework Applications Framework merupakan layer dimana para pembuat aplikasi menggunakan komponen-komponen yang ada di sini untuk membuat aplikasi mereka. Beberapa contoh komponen yang termasuk di dalam Applications Framework adalah sebagai berikut: 1. Views 2. Content Provider 3. Resource Manager 4. Notification Manager 5. Activity Manager 3. Layer Libraries Libraries merupakan layer tempat fitur-fitur android berada. Pada umumnya libraries diakses untuk menjalankan aplikasi. Beberapa library yang terdapat pada android diantaranya adalah libraries Media untuk memutar media

24 video atau audio, libraries untuk menjalankan tampilan, libraries Graphic, libraries SQLite untuk dukungan database, dan masih banyak library lainnya. 4. Android RunTime Android RunTime merupakan layer yang membuat aplikasi android bisa dijalankan. Android RunTime dibagi menjadi dua bagian yaitu: 1. Core Libraries : berfungsi untuk menerjemahkan bahasa Java/C 2. Dalvik Virtual Machine : sebuah mesin virtual berbasis register yang dioptimalkan untuk menjalankan fungsi-fungsi pada Android secara efisien. 5. Linux Kernel Linux Kernel merupakan layer tempat keberadaan inti dari operating sistem android. Layer ini berisi file-file sistem yang mengatur system processing, memory, resource, drivers, dan sistem android lainnya. Inilah yang membuat file sistem pada Android mirip dengan file sistem pada sistem operasi berbasis Linux. Kernel yang digunakan adalah kernel Linux versi 2.6, dan versi 3.x pada Android versi 4.0 ke atas. II.6.2. Android SDK Android SDK merupakan tools bagi para programmer yang ingin mengembangan aplikasi berbasis google android. Android SDK mencakup seperangkat alat pengembangan yang komprehensif. Android SDK terdiri dari debugger, libraries, handset emulator, dokumentasi, contoh kode, dan tutorial. (Wandy Damarullah, et al, 2013).

25 II.7. Eclipse IDE Menurut Hendra Nugraha Lengkong, et al (2015), Eclipse IDE adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform independent). Eclipse pada saat ini merupakan salah satu IDE favorit dikarenakan gratis dan open source, yang berarti setiap orang boleh melihat kode pemrograman perangkat ini. Selain itu, kelebihan dari Eclipse yang membuatnya populer adalah kemampuan untuk dapat dikembangkan oleh pengguna dengan komponen yang dinamakan plug-in. II.8. ADT Plugin for Eclipse Android Development Tools (ADT) adalah plugin untuk Eclipse IDE yang dirancang khusus untuk memberikan integrated environment yang kuat untuk membuat aplikasi android. ADT memberikan kemampuan kepada Eclipse untuk membuat projek baru Android secara tepat, membuat aplikasi User Interface, menambahkan komponen berdasarkan Android Framework API, melakukan debugging aplikasi yang dibuat dengan menggunakan Android SDK Tools dan bahkan melakukan distribusi aplikasi yang dibuat. Pembuatan aplikasi android dengan Eclipse beserta ADT sangat dianjurkan karena merupakan cara tercepat untuk memulai membuat projek Android. Dengan disediakannya project setup, serta tools yang sudah terintegrasi. (Hendra Nugraha Lengkong, et al, 2015).

26 II.9. UML Menurut Alfera Lesmana, S.Kom, et all, (2012), Unified modeling language (UML) adalah salah satu bantu yang sangat handal di dunia pengembangan sistem yang berorientasi obyek. Hal ini disebabkan karena UML menyediakan bahasa permodelan visual yang memungkinkan bagi pengembangan sistem untuk membuat cetak biru atas visi mereka dalam bentuk baku,mudah dimengerti serta dilengkapi dengan mekanisme yang efektif untuk berbagi (sharing) dan mengkomunikasikan rancangan mereka dengan yang lain. II.9.1 Use Case Menurut Alfera Lesmana, S.Kom, et all, (2012), Use case adalah deskripsi fungsi dari sebuah sistem dari perspektif pengguna. Use case bekerja dengan cara mendeskripsikan tipikal interaksi antara user (pengguna) sebuah sistem dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah sistem dipakai. II.9.2 Class Diagram Menurut Alfera Lesmana, S.Kom, et all, (2012), Class diagram bersifat statis, diagram ini memperlihatkan himpunan kelas-kelas, antarmuka-antarmuka, kolaborasi-kolaborasi, serta relasi-relasi. Diagram ini umum dijumpai pada pemodelan sistem berorientasi objek. Meskipun bersifat statis, sering pula diagram kelas memuat kelas-kelas aktif. II.9.3 Sequence Diagram Menurut Alfera Lesmana, S.Kom, et all, (2012), Sequence diagram bersifat dinamis. Diagram urutan adalah menggambarkan perilaku pada sebuah

27 skenario. Diagram ini menunjukkan sejumlah contoh objek dan message (pesan) yang diletakkan diantara objek-objek ini di dalam use case. II.9.4 Activity Diagram Menurut Alfera Lesmana, S.Kom, et all, (2012), Activity diagram adalah teknik untuk mendiskripsikan logika prosedural, proses bisnis dan aliran kerja dalam banyak kasus. Activity diagram mempunyai peran penting seperti halnya flowchart,akan tetapi perbedaanya dengan flowchart adalah activity diagram bisa mendukung perilaku paralel sedangkan flowchart tidak bisa.