bab ii landasan teori - library & knowledge...

28
11 BAB II LANDASAN TEORI 2.1 Teori Umum Teori umum adalah teori – teori pokok yang dipakai sebagai landasan untuk teori – teori lainnya 2.1.1 Android Menurut Safaat (2012 : 1), Android adalah sistem operasi berbasis Linux bagi telepon seluler seperti telepon pintar dan komputer tablet. Android juga menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri yang akan digunakan untuk berbagai macam piranti gerak. Awalnya, Google Inc. membeli Android Inc., pendatang baru yang membuat piranti lunak untuk ponsel. kemudian dalam pengembangan Android, dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan piranti keras, piranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia. Dalam sub bab ini, kami akan membahas mengenai berbagai macam hal mengenai Android, serta tools apa saja yang akan digunakan untuk mengembangkan aplikasi yang kami rancang ini.

Upload: vankhue

Post on 02-Mar-2019

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BAB II LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00509-IF Bab2001.pdf · Ponsel pertama yang menggunakan sistem operasi ini adalah

11

BAB II

LANDASAN TEORI

2.1 Teori Umum

Teori umum adalah teori – teori pokok yang dipakai sebagai landasan untuk teori – teori

lainnya

2.1.1 Android

Menurut Safaat (2012 : 1), Android adalah sistem operasi berbasis Linux bagi telepon

seluler seperti telepon pintar dan komputer tablet. Android juga menyediakan platform terbuka

bagi para pengembang untuk menciptakan aplikasi mereka sendiri yang akan digunakan untuk

berbagai macam piranti gerak. Awalnya, Google Inc. membeli Android Inc., pendatang baru

yang membuat piranti lunak untuk ponsel. kemudian dalam pengembangan Android, dibentuklah

Open Handset Alliance, konsorsium dari 34 perusahaan piranti keras, piranti lunak, dan

telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia.

Dalam sub bab ini, kami akan membahas mengenai berbagai macam hal mengenai

Android, serta tools apa saja yang akan digunakan untuk mengembangkan aplikasi yang kami

rancang ini.

Page 2: BAB II LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00509-IF Bab2001.pdf · Ponsel pertama yang menggunakan sistem operasi ini adalah

12

2.1.1.2 Versi Android

Safaat (2012 : 10) memaparkan penjelasan berbagai macam versi Android seperti di

bawah ini :

1. Android versi 1.1

Pada 9 Maret 2009, Google merilis Android versi 1.1. Android versi ini dilengkapi

dengan pembaruan estetis pada aplikasi, jam alarm, voice search (pencarian suara), pengiriman

pesan dengan Gmail, dan pemberitahuan email.

2. Android versi 1.5 (Cupcake)

Pada pertengahan Mei 2009, Google kembali merilis telepon seluler dengan

menggunakan Android dan SDK (Software Development Kit) dengan versi 1.5 (Cupcake).

Terdapat beberapa pembaharuan untuk penambahan beberapa fitur dalam seluler versi ini yakni

kemampuan merekam dan menonton video dengan modus kamera, mengunggah video ke

Youtube dan gambar ke Picasa langsung dari telepon, dukungan Bluetooth A2DP, kemampuan

terhubung secara otomatis ke headset Bluetooth, animasi layar, dan keyboard pada layar yang

dapat disesuaikan dengan sistem.

3. Android versi 1.6 (Donut)

Donut (versi 1.6) dirilis pada September dengan menampilkan proses pencarian yang

lebih baik dibanding sebelumnya, penggunaan indikator baterai dan kontrol applet VPN. Fitur

lainnya adalah galeri yang memungkinkan pengguna untuk memilih foto yang akan dihapus;

Page 3: BAB II LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00509-IF Bab2001.pdf · Ponsel pertama yang menggunakan sistem operasi ini adalah

13

kamera, camcorder dan galeri yang dintegrasikan; CDMA / EVDO, 802.1x, VPN, Gestures, dan

Text-to-speech engine; kemampuan dial kontak; teknologi text to change speech (tidak tersedia

pada semua ponsel; pengadaan resolusi VWGA.

4. Android versi 2.0/2.1 (Eclair)

Pada 3 Desember 2009 kembali diluncurkan ponsel Android dengan versi 2.0/2.1

(Eclair), perubahan yang dilakukan adalah pengoptimalan hardware, peningkatan Google Maps

3.1.2, perubahan UI dengan browser baru dan dukungan HTML5, daftar kontak yang baru,

dukungan flash untuk kamera 3,2 MP, digital Zoom, dan Bluetooth 2.1.

Agar dapat bergerak cepat dalam persaingan perangkat generasi yang berikutnya, Google

melakukan investasi dengan mengadakan kompetisi aplikasi mobile terbaik (killer apps - aplikasi

unggulan). Kompetisi ini berhadiah $25,000 bagi setiap pengembang aplikasi terpilih. Kompetisi

diadakan selama dua tahap yang tiap tahapnya dipilih 50 aplikasi terbaik.

Dengan semakin berkembangnya dan bertambahnya jumlah handset Android, semakin

banyak pihak ketiga yang berminat untuk menyalurkan aplikasi mereka dalam sistem operasi

Android. Aplikasi terkenal yang diubah ke dalam sistem operasi Android adalah Shazam,

Backgrounds, dan WeatherBug. Sistem operasi Android dalam situs Internet juga dianggap

penting untuk menciptakan aplikasi Android asli, contohnya oleh MySpace dan Facebook.

5. Android versi 2.2 (Froyo: Frozen Yoghurt)

Pada 20 Mei 2010, Android versi 2.2 (Froyo) diluncurkan. Perubahan-perubahan umum

terhadap versi – versi sebelumnya antara lain dukungan Adobe Flash 10.1, kecepatan kinerja

Page 4: BAB II LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00509-IF Bab2001.pdf · Ponsel pertama yang menggunakan sistem operasi ini adalah

14

dan aplikasi 2 sampai 5 kali lebih cepat, intergrasi V8 JavaScript engine yang dipakai Google

Chrome yang mempercepat kemampuan rendering pada browser, pemasangan aplikasi dalam

SD Card, kemampuan WiFi Hotspot portabel, dan kemampuan auto update dalam aplikasi

Android Market.

6. Android versi 2.3 (Gingerbread)

Pada 6 Desember 2010, Android versi 2.3 (Gingerbread) diluncurkan. Perubahan-

perubahan umum yang didapat dari Android versi ini antara lain peningkatan kemampuan

permainan (gaming), peningkatan fungsi copy paste, layar antar muka (User Interface) yang

sudah didesain ulang, dukungan format video VP8 dan WebM, efek audio baru (reverb,

equalization, headphone virtualization, dan bass boost), dukungan kemampuan Near Field

Communication (NFC), dan dukungan jumlah kamera yang lebih dari satu.

7. Android versi 3.0/3.1 (Honeycomb)

Android Honeycomb dirancang khusus untuk tablet. Android versi ini mendukung ukuran

layar yang lebih besar. User Interface pada Honeycomb juga berbeda karena sudah didesain

untuk tablet. Honeycomb juga mendukung multi processor dan juga akselerasi perangkat keras

(hardware) untuk grafis. Tablet pertama kali yang dibuat dengan menjalankan Honeycomb

adalah Motorola Xoom. Perangkat tablet tersebut bernama Eee Pad Transformer yang

merupakan produk dari Asus yang masuk ke pasar Indonesia pada Mei 2011.

Page 5: BAB II LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00509-IF Bab2001.pdf · Ponsel pertama yang menggunakan sistem operasi ini adalah

15

8. Android versi 4.0 (ICS: Ice Cream Sandwich)

Pada tanggal 19 Oktober 2011, diperkenalkannya Android versi 4.0 yang membawa fitur

Honeycomb untuk smartphone, menambahkan fitur baru termasuk membuka kunci dengan

pengenalan wajah, jaringan data pemantauan penggunaan dan kontrol, kontak jaringan sosial

terpadu, perangkat tambahan fotografi, pencarian email secara offline, dan berbagi informasi

dengan menggunakan NFC. Ponsel pertama yang menggunakan sistem operasi ini adalah

Samsung Galaxy Nexus.

9. Android versi 4.1 (Jelly Bean)

Android Jelly Bean yaang diluncurkan pada acara Google I/O membawa sejumlah

keunggulan dan fitur baru. Adapun penambahan fitur baru diantaranya yaitu meningkatkan input

keyboard, desain baru fitur pencarian, UI yang baru dan pencarian melalui Voice Search yang

lebih cepat.

Google Now yang juga menjadi bagian yang diperbarui pun tak ketinggalan. Google Now

memberikan informasi yang tepat pada waktu yang tepat pula. Salah satu kemampuannya adalah

dapat mengetahui informasi cuaca, lalu-lintas, ataupun hasil pertandingan olahraga. Sistem

operasi Android Jelly Bean 4.1 muncul pertama kali dalam produk tablet Asus, yakni Google

Nexus 7.

2.1.1.3 Fitur Android

Adapun beberapa fitur – fitur menurut Safaat (2012 : 5) yang tersedia di Android adalah

sebagai berikut ini :

Page 6: BAB II LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00509-IF Bab2001.pdf · Ponsel pertama yang menggunakan sistem operasi ini adalah

16

• Kerangka aplikasi: memungkinkan penggunaan dan penghapusan komponen yang

tersedia.

• Dalvik mesin virtual: mesin virtual dioptimalkan untuk perangkat telepon seluler.

• Grafik: grafik di 2D dan grafis 3D berdasarkan pustaka OpenGL.

• SQLite: untuk penyimpanan data.

• Mendukung media: audio, video, dan berbagai format gambar (MPEG4, H.264, MP3,

AAC, AMR, JPG, PNG, GIF)

• GSM, Bluetooth, EDGE, 3G, 4G dan WiFi (tergantung piranti keras)

• Kamera, Global Positioning System (GPS), kompas, NFC dan accelerometer (tergantung

piranti keras)

2.1.1.4 Android SDK

Menurut Safaat (2012 : 5), Android SDK adalah tools API (Application Programming

Interface) yang diperlukan untuk mengembangkan aplikasi pada platform Android yang

menggunakan bahasa pemrograman Java. Android merupakan subset perangkat lunak untuk

ponsel yang meliputi sistem operasi, middleware dan aplikasi kunci yang di-release oleh Google.

Saat ini disediakan Android SDK (Software Development Kit) sebagai alat bantu dan API untuk

mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman Java.

Sebagai platform Android aplikasi – netral, Android memberi Anda kesempatan untuk membuat

Aplikasi yang kita butuhkan yang bukan merupakan aplikasi bawaan Handphone/Smartphone.

Page 7: BAB II LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00509-IF Bab2001.pdf · Ponsel pertama yang menggunakan sistem operasi ini adalah

17

2.1.1.5 ADT (Android Development Tools)

Safaat (2012 : 6) juga memaparkan bahwa Android Development Tools (ADT) adalah

plug-in yang didesain untuk IDE Eclipse yang memberi kita kemudahan dalam mengembangkan

aplikasi Android dengan menggunakan IDE Eclipse. Dengan menggunakan ADT untuk Eclipse,

ini akan memudahkan kita dalam membuat aplikasi project Android, membuat GUI aplikasi, dan

menambahkan komponen – komponen yang lainnya. Selain itu kita juga dapat melakukan

running aplikasi menggunakan Android SDK melalui Eclipse. Dengan ADT kita juga dapat

melakukan pembuatan package Android (.apk) yang digunakan untuk distribusi aplikasi Android

yang kita rancang.

Mengembangkan aplikasi Android dengan menggunakan ADT di Eclipse sangat mudah

dan baik untuk memulai mengembangkan aplikasi Android. Semakin tinggi platform Android

yang kita gunakan, maka penggunaan ADT dianjurkan untuk memakai versi yang lebih baru,

karena munculnya platform baru diikuti oleh munculnya versi ADT yang terbaru. Versi ADT

yang kami gunakan untuk Eclipse dalam pembuatan aplikasi ini adalah versi terbaru ADT yang

telah dirilis, yaitu ADT 20.0.3 (Agustus 2012).

2.1.1.6 AVD (Android Virtual Device)

Menurut Safaat (2012 : 19), AVD merupakan emulator yang digunakan untuk

menjalankan program aplikasi Android yang telah dirancang. AVD dapat dikonfigurasi agar

dapat menjalankan berbagai macam versi Android yang telah diinstal. Dalam perancangan

aplikasi ini, kami menggunakan konfigurasi Android versi 4.0 (Ice Cream Sandwich)

Page 8: BAB II LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00509-IF Bab2001.pdf · Ponsel pertama yang menggunakan sistem operasi ini adalah

18

2.1.2 IDE Eclipse

Menurut Fatimah (2011), Eclipse adalah sebuah IDE (Integrated Development

Environment) untuk mengembangkan perangkat lunak agar dapat dijalankan di semua platform

(platform-independent). Berikut ini adalah sifat dari Eclipse:

• Multi-platform: Target sistem operasi Eclipse adalah Microsoft Windows, Linux, Solaris,

AIX, HP-UX dan Mac OS X.

• Mulit-language: Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi

Eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman lainnya,

seperti C/C++, Java, Cobol, Python, Perl, PHP, dan lain sebagainya.

• Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun dapat

digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak, seperti

dokumentasi, test perangkat lunak, pengembangan web, dan lain sebagainya.

Eclipse pada saat ini merupakan salah satu IDE favorit dikarenakan gratis dan bersifat

open source, yang berarti setiap orang boleh melihat kode pemrograman perangkat lunak ini.

Selain itu, kelebihan dari Eclipse adalah kemampuannya untuk dapat dikembangkan oleh user

dengan komponen yang dinamakan plug-in. Eclipse yang kami gunakan untuk mengembangkan

aplikasi ini adalah Eclipse Classic 4.2.1

Page 9: BAB II LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00509-IF Bab2001.pdf · Ponsel pertama yang menggunakan sistem operasi ini adalah

19

2.1.3 JDK (Java Development Kit)

Menurut DeCoster (2012), Java adalah sebuah teknologi yang diperkenalkan oleh Sun

Microsysytems pada pertengahan tahun 1990. Menurut definisi Sun, Java adalah nama untuk

sekumpulan teknologi untuk membuat dan menjalankan perangkat lunak pada

computer standalone ataupun pada lingkungan jaringan. Untuk membuat program Java

dibutuhkan kompiler dan interpreter untuk program Java berbentuk Java Development Kit (JDK)

yang diproduksi oleh Sun Microsystems. Sebelum memulai instalasi Android SDK, terlebih

dahulu kita harus melakukan instalasi JDK di komputer. JDK yang kami gunakan untuk dapat

mengompilasi aplikasi android yang kami rancang ini adalah Java SE Development Kit 7

2.1.4 Kriptografi

Menurut Sadikin (2012 : 9), suatu sistem kriptografi (kriptosistem) bekerja dengan cara

menyandikan suatu pesan menjadi suatu kode rahasia yang hanya dimengerti oleh pelaku sistem

informasi saja. Pada dasarnya mekanisme kerja semacam ini telah dikenal sejak jaman dahulu.

Bangsa Mesir kuno sekitar 4000 tahun yang lalu bahkan telah mempraktekkannya dengan cara

yang sangat primitif.

Namun pada pengertian modern, Kriptografi adalah ilmu yang bersandarkan pada teknik

matematika yang berkaitan dengan keamanan informasi seperti kerahasiaan, keutuhan data dan

otentikasi tentitas. Jadi pengertian kriptografi modern adalah tidak hanya berkaitan dengan

penyembunyian pesan namun lebih tertuju pada sekumpulan teknik yang menyediakan kemanan

informasi. Berikut ini diberikan beberapa istilah yang umum digunakan dalam pembahasan

kriptografi.

Page 10: BAB II LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00509-IF Bab2001.pdf · Ponsel pertama yang menggunakan sistem operasi ini adalah

20

1. Plaintext

Plaintext (message) merupakan pesan asli yang ingin dikirimkan dan dijaga

keamanannya. Pesan ini tidak lain berupa dari informasi tersebut.

2. Chipertext

Chipertext merupakan pesan yang telah dikodekan (disandikan) sehingga siap untuk

dikirimkan.

3. Chiper

Chiper merupakan algoritma matematis yang digunakan untuk proses penyandian

plaintext menjadi ciphertext.

4. Enkripsi

Enkripsi (encryption) merupakan proses yang dilakukan untuk menyandikan plaintext

sehingga menjadi chipertext.

5. Dekripsi

Dekripsi (decryption) merupakan proses yang dilakukan untuk memperoleh kembali

plaintext dari chipertext.

Page 11: BAB II LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00509-IF Bab2001.pdf · Ponsel pertama yang menggunakan sistem operasi ini adalah

21

Urutan-urutan proses kriptografi dapat digambarkan sebagai berikut (Sadikin, 2012) :

Gambar 2.1. Mekanisme Kriptografi

Pada dasarnya, prosesnya sangat sederhana. Sebuah plaintext (m) akan dilewatkan pada

proses enkripsi (E) sehingga menghasilkan suatu ciphertext (c). Kemudian untuk memperoleh

kembali plaintext, maka ciphertext (c) melalui proses dekripsi (D) yang akan menghasilkan

kembali plaintext (m). Secara matematis proses ini dapat dinyatakan sebagai berikut :

E(m) = c

D(c) = m

D(E(m)) = m

Kriptografi sederhana seperti ini menggunakan algoritma penyandian yang disebut

cipher. Keamanannya bergantung pada kerahasiaan algoritma penyandian tersebut, karena itu

algoritmanya harus dirahasiakan. Pada kelompok dengan jumlah besar dan anggota yang

senantiasa berubah, penggunaannya akan menimbulkan masalah. Jika ada anggota yang

meninggalkan kelompok, maka algoritma harus diganti karena anggota ini bisa saja

membocorkan algoritma.

Kriptografi modern selain memanfaatkan algoritma juga menggunakan kunci (key) untuk

memecahkan masalah tersebut. Proses enkripsi dan dekripsi dilakukan dengan menggunakan

Plaintext Chipertext Plaintext

Enkripsi Dekripsi

Page 12: BAB II LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00509-IF Bab2001.pdf · Ponsel pertama yang menggunakan sistem operasi ini adalah

22

kunci ini. Setiap anggota masing-masing memiliki kunci yang digunakan untuk proses enkripsi

dan dekripsi yang akan dilakukannya. Dengan demikian ada sedikit perubahan yang harus

dilakukan pada mekanisme yang digambarkan pada gambar 2.1 menjadi seperti gambar 2.2

berikut ini.

Gambar 2.2 Kriptografi Berbasis Kunci

Mekanisme kriptografi seperti ini dinamakan kriptografi berbasis kunci. Dengan

demikian kriptosistemnya akan terdiri atas algoritma dan kunci, beserta segala plaintext dan

ciphertextnya.

Persamaan matematisnya menjadi seperti berikut,

Ee(m) = c

Dd(c) = m

Dd(Ee(m)) = m

Dengan : e = kunci enkripsi, d = kunci dekripsi.

kunci

plaintext ciphertext plaintext

Enkripsi Dekripsi

kunci

Page 13: BAB II LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00509-IF Bab2001.pdf · Ponsel pertama yang menggunakan sistem operasi ini adalah

23

2.1.4.1 AES (Advanced Encryption Standard)

Menurut Adiwidya (2009), AES dipublikasikan oleh NIST (National Institute of

Standard and Technology) pada tahun 2001 yang digunakan untuk menggantikan algoritma

DES yang semakin lama semakin mudah untuk membobol kuncinya. AES diperoleh dari hasil

kompetisi yang diadakan NIST pada tahun 1997. Pada tahap pertama, 15 peserta dari 21 peserta

lolos ke tahap berikutnya berdasarkan penilaian tingkat keamanan, harga, algoritma, dan

karakteristik implementasi. Sepuluh dari 15 peserta tersebut gugur pada tahap berikutnya

karena dianggap kurang aman dan kurang efektif. Pada Agustus 1999 dipilih lima kandidat

untuk seleksi akhir, yaitu Mars (IBM, Amerika Serikat), RSA (RSA corp., Amerika Serikat),

Rijndael (Belgia), Serpent (Israel, Norwegia, dan Inggris), dan Twofish (Counterpane, Amerika

Serikat).

Pada tahap ini, NIST memberikan penilaian terhadap general security, implementasi

software, ruang lingkup, implementasi hardware, implementasi atas serangan, enkripsi dan

dekripsi, kemampuan kunci, kemampuan lain dan fleksibilitas, dan kepotensialan untuk tingkat

intruksi paralel. Akhirnya, pada tanggal 2 Oktober 2000 terpilihlah algoritma Rijndael, yang

dibuat oleh Dr. Vincent Rijment dan Dr. Joan Daemen, sebagai pemenang.

Dalam proses enkripsi input, diperlukanlah empat macam operasi yang dilakukan

berulang-ulang dalam beberapa putaran dan menggunakan kunci cipher. Jumlah putaran yang

digunakan algoritma ini ada tiga macam seperti pada tabel di bawah ini.

Page 14: BAB II LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00509-IF Bab2001.pdf · Ponsel pertama yang menggunakan sistem operasi ini adalah

24

Panjang Panjan Jumlah

AES-128 128 bit 128 bit 10 AES-192 192 bit 128 bit 12 AES-256 256 bit 128 bit 14

� Operasi

Ada empat macam operasi yang dilakukan setiap putaran.

� Putaran

Seperti yang di ketahui sebelumnya pada Tabel 1.Jumlah putaran pengoperasian blok input

untuk setiap macam panjang blok berbeda-beda akan tetapi , jumlah putaran untuk proses

enkripsi dan dekripsi tetap sama .Proses enkripsi dan dekripsi dapat di gambarkan sebagai

berikut:

Tabel 1. Jumlah Putaran Pengoperasian AES

Page 15: BAB II LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00509-IF Bab2001.pdf · Ponsel pertama yang menggunakan sistem operasi ini adalah

25

Putaran 1

- Penambahan Kunci

Gambar 2.3 Proses Enkripsi pada AES

Plaintext

Putaran 2

- Subtitusi Byte

- Pergeseran Baris

- Percampuran Kolom

- Penambahan Kunci

Putaran 3

- Subtitusi Byte

- Pergeseran Baris

- Percampuran Kolom

- Penambahan Kunci

Putaran Terakhir

- Subtitusi Byte

- Pergeseran Baris

- Penambahan Kunci

Chipertext

Page 16: BAB II LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00509-IF Bab2001.pdf · Ponsel pertama yang menggunakan sistem operasi ini adalah

26

Gambar 2.4 Proses Dekripsi pada AES

Chipertext

Putaran 1

- Penambahan Kunci

Putaran 2

- Inversi Subtitusi Byte

- Inversi Pergeseran Baris

- Inversi Percampuran Kolom

- Penambahan Kunci

Putaran 3

- Inversi Subtitusi Byte

- Inversi Pergeseran Baris

- Inversi Percampuran Kolom

- Penambahan Kunci

Putaran Terakhir

- Inversi Subtitusi Byte

- Inversi Pergeseran Baris

- Inversi Percampuran Kolom

- Penambahan Kunci

Plaintext

Page 17: BAB II LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00509-IF Bab2001.pdf · Ponsel pertama yang menggunakan sistem operasi ini adalah

27

2.1.4.2 MD5

Menurut Abrari (2010) ,dalam ilmu kriptografdi, MD5 (Message Digest Algorithm

Version 5) adalah salah satu hasil algoritma hash yang paling popular. Hash atau Hashing

merupakan proses perubahan suatu data menjadi data lain dengan panjang tertentu,sedemikian

sehingga data itu tidak dapat dipulihkan kembali.Teknik ini biasa digunakan dalam enkripsi

data,misalnya untuk menyimpan password agar tidak ada yang mengetahuinya meskipun dia

dapat melihat hash dari password itu.

Algoritma hash MD5 sendiri menerima input berupa data dengan panjang bebas, dan

menghasilkan output heksadesimal sepanjang 32 karakter.jadi seberapapun panjang data input,

output yang di hasilkan akan selalu sepanjang 32 karakter. Perubahan sedikit sajaj di input akan

mengubah output dengan drastis. Sebagai contoh :

Input: Test

Output: 0cbc6611f5540bd0809a388dc95a615b

Misalkan kita ubah input dengan huruf kecil:

Input: test

Output: 098f6bcd4621d373cade4e832627b4f6

Page 18: BAB II LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00509-IF Bab2001.pdf · Ponsel pertama yang menggunakan sistem operasi ini adalah

28

Simbol s menunjukkan perputaran bit kiri oleh s; s bervariasi untuk tiap-tiap operasi.

menunjukkan tambahan modulo 232. MD5 memproses variasi panjnag pesan kedalam keluaran

128-bit dengan panjang yang tetap. Pesan masukan dipecah menjadi dua gumpalan blok 512-bit;

Pesan didata sehingga panang pesan dapat dibagi 512. Penataaan bekerja sebagai berikut: bit

tunggal pertama, 1, diletakkan pada akhir pedan. Proses ini di ikuti oleh serangkaian nol (0) yang

di perlukan agar panjang pesan lebih dari 64-bit dan kurang dari kelipatan 512. Bit-bit sisa diisi

dengan diisi 64-bit interger untuk menunjukkan panjang pesan yang asli. Sebuah pesan selalu

ditata setidaknya dengan 1-bit tunggal, seperti jika panjang pesan adalah kelipatan 512 dikurangi

64-bit untuk informasi panjang (panjang mod(512) = 448), sebuah blok baru dari 512-bit di

tambahkan dengan 1-bit diikuti dengan 447 bit-bit nol (0) diikuti dengan panjang 64-bit.

Algoratima MD5 yang utama beroperasi pada kondisi 128-bit, dibagi menjadi empat

word 32-bit, menunjukkan A,B,C, dan D.Operasi tersebut diinsialisasi dijaga untuk tetap

konstan. Algortima untuk kemudian beroperasi pada masing-masing blok pesan 512-bit, masing

– masing blok melakukan pengubahan terhadap kondisi.pemrosesan blok pesan terdiri atas empat

tahap,batasan putaran; tiap putusan membuat 16 operasi serupa berdasar pada fungsi non-linear

Gambar 2.5 Satu Operasi MD5

Page 19: BAB II LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00509-IF Bab2001.pdf · Ponsel pertama yang menggunakan sistem operasi ini adalah

29

F, tambhan modular, dan rotasi ke kiri. Gambar 2.1 mengilustrasikan satu operasi dalam putaran.

Ada empat macam kemungkinan fungsi F,berbeda dari yang di gunakan pada tiap-tiap putaran:

menunjukkan operasi logikan XOR, AND, OR dan NOT.

2.2 Teori Khusus

Teori khusus adalah teori – teori yang berhubungan dengan topic yang dibahas dalam

skripsi ini

2.2.1 Unified Modeling Language (UML)

2.2.1.1 Use Case Diagram

Menurut Fowler dan Scot (2000 : 39), use – case diagaram adalah gambaran graphical

dari beberapa atau semua actor , use – case, dan interaksi antara komponen - komponen tersebut

yang memperkenalkan suatu system yang akan dibangun. Use – case diagram menjelaskan

manfaat suatu system jika dilihat menurut pandang orang yang berada di luar system. Diagram

ini menunjukkan fungsionalitas suatu system atau kelas dan bagaimana system tersebut

berinteraksi dengan dunia luar.

Use – case diagram dapat digunakan selamam proses analisi untuk menangkap

requirement sisem dan untuk memahami bagaimana system seharusnya bekerja. Selama tahap

Page 20: BAB II LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00509-IF Bab2001.pdf · Ponsel pertama yang menggunakan sistem operasi ini adalah

30

desain. Use-case diagram berperan untuk menetapkan perilaku(behavior) sistem saat

diimplementasikan.

Dalam sebuah model mungkin terdapat satu atau beberapa use – case diagram.

Kebutuhan atau requirements system adalah fungsionalitas apa yang harus disediakan oleh

system kemudian didokumentasikan pada mdoel use-case yang menggambarkan fungsi system

yang diharapkan (use - case), dan mengelilinginya (actor), serta hubungan antara actor dengan

use-case (use – case diagram) itu sendiri.

2.2.1.1.1 Actor

Pada dasarnya actor bukanlah bagian dari use-case diagram, namun untuk dapat

terciptanya suatu use – case diagram diperlukan beberapa actor. Actor tersebut

mempresentasikan seseorang atau sesuatu (seperti perangkat, sistem lain) yang berinteraksi

dengan sistem. Sebuah actor mungkin hanya memberikan informasi inputan pada sistem, hanya

menerima informasi dari system atau keduannya menerima dan memberiinformasi pada sistem.

Actor hanya berinteraksi dengan use – case ,tetapi tidak memiliki control atas use –

case.Actor digambarkan dengan stick man.Actor dapat dapat digambarkan secara umu atau

spesifik,dimanan untuk membedakannya kita dapat menggunakan relationship.

Ada beberapa kemungkinan yang menyebakan actor tersebut terkait dengan sistem antara lain:

− Yang berkepentingan terhadap sistem dimana adanya arus informasi ,baik yang

diterimanya maupun yang dia inputkan ke sistem

− Orang atau pihak yang akan mengelola sistem tersebut

Page 21: BAB II LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00509-IF Bab2001.pdf · Ponsel pertama yang menggunakan sistem operasi ini adalah

31

− External resource yang digunakan oleh sistem

− Sistem lain yang berinteraksi dengan sistem yang akan dibuat

2.2.1.1.2 Use-case

Use – case adalah gambaran fungsionalitas dari suatu sistem, pengguna sistem paham

dan mengerti mengenai kegunaan system yang akan dibangun. Use-case diagram adalah

penggambaran sistem dari sudut pandang pengguna sistem tersebut (users), sehingga pembuatan

use-case lebih dititikberatkan pada fungsionalitas yang ada pada sistem, bukan berdasarkan alur

atau urutan kejadian.

Berikut ini simbol – simbol yang digunakan oleh perancangan use-case diagram :

Tabel 2.1 Simbol – simbol dalam Class Diagram

Page 22: BAB II LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00509-IF Bab2001.pdf · Ponsel pertama yang menggunakan sistem operasi ini adalah

32

2.2.1.2 Class Diagram

Menurut Fowler dan Scott (2003 : 53),Class diagram mendeskripsikan jenis – jenis

obyek dalam sistem dan berbagai macam hubungan statis yang terjadi.Class diagram juga

menunjukkan property dan operasi sebuah Class dan batasan yang terdapat dalam hubungan

dengan obyek,Class diagram merupakan alat terbaik dalam perancangan perangkat lunak. Class

diagram membantu pengembang mendapatkan struktur sistem dan menghasilkan rancangan

sistem yang baik.

Berikut ini simbol – simbol yang digunakan oleh perancangan Class diagram

(Booch,1999) :

Nama

Keterangan

Simbol Class Class adalah blok-blok pembangunan

pada pemograman berorientasi obyek.

Sebuah kotak yang terbagi atas 3

bagian.Bagian atas dalah bagian anama

dari class. Bagian tengah mendefenisikan

Tabel 2.2 Simbol – simbol dalam Class Diagram

Page 23: BAB II LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00509-IF Bab2001.pdf · Ponsel pertama yang menggunakan sistem operasi ini adalah

33

Association Sebuah asosiasi merupakan sebuah

relationship paling umum antara 2 class

dan dilambangkan oleh sebuah garis

yang menghubungkan antara 2 class.

Garis ini bisa melambangkan tipe-tipe

relationship dan juga dapat

menampilkan hukum-hukum

Composition Jika sebuah class tidak bisa berdiri

sendiri dan harus merupakan bagian

dari class yang lain, maka class tersebut

memiliki relasi Composition terhadap

class tempat dia bergantung tersebut.

Dependency Kadangkala sebuah class menggunakan

class yang lain. Hal ini disebut

dependency. Umumnya penggunaan

dependency digunakan untuk

menunjukkan operasi pada suatu class

Aggregation Aggregation mengindikasikan

keseluruhan bagian relationship dan

biasanya disebut sebagai relasi

2.2.1.3 Activity Diagram

Menurut Fowler dan Scott (2000 : 129),Activity Diagram adalah representasigrafis dari

alur kerja tahapan aktivitas.Diagram ini mendukung pilihan tindakan, iterasi, dan

concurrency.Pada pemodelan UML activity diagram dapat digunakan untuk menjelaskan bisnis

Page 24: BAB II LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00509-IF Bab2001.pdf · Ponsel pertama yang menggunakan sistem operasi ini adalah

34

dan alur kerja professional/secara step-by-step dari komponen suatu sistem. Activity diagram

menunjukkan keseluruhan dari aliran kontrol.

Berikut ini adalah symbol – symbol yang digunakan dalam perancangan Activity

Diagram (Booch, 1999) :

2.2.2 Waterfall Process Model

Nama model ini sebenarnya adalah “Linear Sequential Model”.Model ini sering di sebut

dengan “classic life cycle” atau model waterfall. Model ini adalah model yang muncul pertama

kali yaitu sekitar tahun 1970 sehingga sering dianggap kuno. Tetapi merupakan model yang

paling banyak di pakai di dalam Software Engineering (SE).

Model ini melakukan pendekatan secara sistematis dan urut mulai dari level kebutuhan

sistem lalu menuju ke tahap analisis,desain,coding,testing/verification dan maintenance. Disebut

dengan waterfall karena tahap demi tahap yang dilalui harus menunggu selesainya tahap

sebelumnya dan berjalan berurutan. Sebagai contoh tahap desain harus menunggu selesainya

Tabel 2.3 Simbol – simbol dalam Activity Diagram

Page 25: BAB II LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00509-IF Bab2001.pdf · Ponsel pertama yang menggunakan sistem operasi ini adalah

35

tahap sebelumnya yaitu tahap requirement. Secara umum tahapan pada model Waterfall dapat

dilihat pada gambar berikut (Pressman 2010 : 39 ):

1. Communication

Langkah ini merupakan analisis terhadap kebutuhan software, dan tahap

mengadakan pengumpulan data dengan melakukan pertemuan dengan costumer, maupun

mengumpulkan data – data tambahan baik yang ada di jurnal, artikel, maupun dari

internet

2. Planning

Proses planning merupakan lanjutan dari proses communication (analysis

requirement). Tahapan ini akan menghasilkan dokumen user requirement atau bisa

dikatakan sebagai data yang berhubungan dengan keinginan user dalam pembuatan

software, termasuk rencana yang akan dilakukan.

Gambar 2.6 Waterfall Pressman

Page 26: BAB II LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00509-IF Bab2001.pdf · Ponsel pertama yang menggunakan sistem operasi ini adalah

36

3. Modeling

Proses modeling ini akan menerjemahkan syarat kebutuhan ke sebuah

perancangan software yang dapat diperkirakan sebelum dibuat coding. Proses ini

berfokus pada rancangan struktur data, arsitektur data, arsitektur software, representasi

interface, dan detail (algoritma) procedural. Tahapan ini akan menghasilkan dokumen

yang disebut software requirement.

4. Construction

Construction merupakan proses membuat kode. Coding atau pengkodean

merupakan penerjemahan desain dalam bahasa yang bisa dikenali oleh komputer.

Programmer akan menerjemahkan transaksi yang diminta oleh user. Tahapan inilah yang

merupakan tahapan secara nyata dalam mengerjakan suatu software, artinya penggunaan

komputer akan dimaksimalkan dalam tahapan ini. Setelah pengkodean selesai maka akan

dilakukan testing terhadap sistem yang telah dibuat tadi. Tujuan testing adalah

menemukan kesalahan – kesalahan terhadap sistem tersebut untuk kemudian bisa

diperbaiki.

5. Deployment

Tahapan ini bisa dikatakan final dalam pembuatan sebuah software atau sistem.

Setelah melakukan analisis, desain dan pengkodean maka sistem yang sudah jadi akan

digunakan oleh user. Kemudian software yang telah dibuat harus dilakukan pemeliharaan

secara berkala.

Page 27: BAB II LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00509-IF Bab2001.pdf · Ponsel pertama yang menggunakan sistem operasi ini adalah

37

2.2.3 Blackbox Testing

Menurut Pressman (2010) metode uji coba blackbox memfokuskan pada keperluan

fungsional dari software. Karena itu uji coba blackbox memungkinkan pengembang software

untuk membuat himpunan kondisi input yang akan melatih seluruh syarat – syarat fungsional

suatu program. Uji coba blackbox bukan merupakan alternatif dari uji coba whitebox, tetapi

merupakan pendekatan yang melengkapi untuk menemukan kesalahan lainnya, selain

menggunakan metode whitebox.

Uji coba blackbox berusaha untuk menemukan kesalahan dalam beberapa kategori, di

antaranya :

1. Fungsi – fungsi yang salah atau hilang

2. Kesalahan interface

3. Kesalahan dalam struktur data atau akses database eksternal

4. Kesalahan performa

5. Kesalahan inisialisasi dan terminasi

Tidak seperti metode whitebox yang dilaksanakan di awal proses, uji coba blackbox

diaplikasikan di beberapa tahapan berikutnya. Karena uji coba blackbox dengan sengaja

mengabaikan struktur kontrol, sehingga perhatiannya difokuskan pada informasi domain.

Uji coba blacbox didesain untuk dapat menjawab pertanyaan – pertanyaan berikut :

1. Bagaimana validitas fungsionalnya diuji?

2. Jenis input seperti apa yang akan menghasilkan kasus uji yang baik ?

Page 28: BAB II LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00509-IF Bab2001.pdf · Ponsel pertama yang menggunakan sistem operasi ini adalah

38

3. Apakah sistem secara khusus sensitif terhadap nilai input tertentu ?

4. Bagaimana batasan – batasan kelas data diisolasi?

5. Berapa rasio data dan jumlah data yang dapat ditoleransi oleh sistem?

6. Apa akibat yang akan timbul dari kombinasi spesifik data pada operasi sistem?

Dengan mengaplikasikan uji coba blackbox, diharapkan dapat menghasilkan sekumpulan

kasus uji yang memenuhi kriteria berikut :

1. Kasus uji yang berkurang, jika jumlahnya lebih dari 1, maka jumlah dari uji kasus

tambahan harus didesain untuk mencapai uji coba yang cukup beralasan

2. Kasus uji yang memberitahukan sesuatu tentang keberadaan atau tidaknya suatu jenis

kesalahan, dari pada kesalahan yang terhubung hanya dengan suatu uji coba yang

spesifik.

Comparison Testing

Dalam beberapa situasi (seperti : aircraft avionic, nuclear power plant control) dimana

keandalan suatu software amat kritis, beberapa aplikasi sering menggunakan software dan

hardware ganda (redundant). Ketika software redundant dibuat, tim pengembangan software

lainnya membangun versi independen dari aplikasi dengan menggunakan spesifikasi yang sama.

Setiap versi dapat diuji dengan data uji yang sama untuk memastikan seluruhnya menyediakan

output yang sama. Kemudian seluruh versi dieksekusi secara paralel dengan perbandingan hasil

real-time untuk memastikan konsistensi.