• Tidak ada hasil yang ditemukan

PERANCANGAN APLIKASI PENGAMANAN TEKS SMS DENGAN IMPLEMENTASI ALGORITMA BLOWFISH PADA MOBILE PHONE ANDROID

N/A
N/A
Protected

Academic year: 2022

Membagikan "PERANCANGAN APLIKASI PENGAMANAN TEKS SMS DENGAN IMPLEMENTASI ALGORITMA BLOWFISH PADA MOBILE PHONE ANDROID"

Copied!
129
0
0

Teks penuh

(1)

S K R I P S I

Oleh :

JEFRI LISTON SIAHAAN NIM. 0910000370

PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS POTENSI UTAMA MEDAN

2015

(2)
(3)
(4)
(5)
(6)
(7)

SKRIPSI

Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer

(8)
(9)

Ayah,

Terbersit di ingatanku kau selalu mencoba memberikan yang terbaik untuk ku, Memberikan kehidupan yang layak untuk seorang anak,

Memberikan pendidikan yang terbaik untuk ku, Memberikan kecukupan atas semua keluh kesahku,

Walau panas terik menghadang, keringat dan peluh tak terbendung lagi, Kau selalu mencoba bertahan karena memikirkanku.

Ibu,

Kaulah petunjuk jalan disetiap langkah hidupku.

Kaulah sinar yang selalu menerangiku dalam kegelapan, Disaat ku menangis kau coba tuk berikan aku kekuatan, Disaat ku merasa pasrah, kau dorong aku tuk maju ke depan,

Kau lah wanita mulia dalam hidupku.

Ya Tuhan,

Apa saja gangguan yang telah mereka rasakan atau, Kesusahan yang mereka derita karena aku atau, Hilangnya sesuatu hak mereka karena perbuatanku,

Maka jadikanlah itu semua penyebab susutnya dosa-dosa mereka dan, Bertambahnya pahala kebaikan mereka dengan campur tangan-Mu ya Allah,

Hanya Engkaulah yang berhak membalas kejahatan dengan kebaikan yang berlipat ganda begitu juga sebaliknya.

“ Penulis Sangat Menyayangi-mu Ayah Dan Ibu Tercinta “

(10)

ABSTRACT

With so many applications today help reduce the activities carried out by many people. One is sending SMS with Mobile Phone Andorid . SMS utilization in its use so allows each user to send or receive information quickly . SMS is a text message that has a predefined size , with a limit of 160 characters per SMS . With the use of SMS also depends on the provision of the service used by the cost has been determined by each operator . Security is also an important aspect to consider in the use of SMS . At adulthood , still often some irresponsible parties who do piercing SMS. To the importance of the application of safeguards in the SMS using Blowfish algorithm so as to guarantee the authenticity of SMS messages sent or received .

Keywords : "Security SMS " , "Mobile Phone Android " , " Blowfish algorithm " .

(11)

dengan Mobile Phone Andorid. Pemanfaatan SMS dalam penggunaannya sangat memungkinkan setiap pengguna dalam mengirim atau menerima informasi dengan cepat. SMS merupakan pesan teks yang mempunyai ukuran yang sudah ditetapkan, dengan batasan 160 karakter per SMS. Dengan penggunaan SMS juga tergantung ketentuan dari operator yang digunakan dengan biaya yang telah ditetapkan oleh masing-masing operator. Pengamanan juga menjadi aspek penting yang perlu diperhatikan dalam penggunaan SMS. Pada masa dewasa ini, masih seringnya beberapa pihak yang tidak bertanggung jawab yang melakukan pembobolan SMS. Untuk itu pentingnya penerapan pengamanan pada SMS dengan menggunakan algoritma Blowfish sehingga menjamin keaslian SMS yang dikirim maupun yang diterima.

Kata Kunci :”Pengamanan SMS”, “Mobile Phone Android”, “Algoritma Blowfish”

(12)

i

KATA PENGANTAR

Puji dan syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa yang telah memberikan kesehatan dan rahmat-Nya, sehingga penulis dapat menyelesaikan penyusunan skripsi ini dengan sebaik-baiknya.

Penulisan skripsi ini disusun untuk melengkapi salah satu syarat dalam menyelesaikan Program Pendidikan Strata Satu ( S-1 ) Jurusan Teknik Informatika. Dalam penulisan dan penyusunan skripsi ini tidak terlepas dari bantuan, saran, serta dukungan secara moril maupun materil dari berbagai pihak.

Oleh karena itu, dalam kesempatan ini dengan segala kerendahan hati, penulis mengucapkan terima kasih kepada :

1. Bapak Budi Triandi, M.Kom, selaku Dosen Pembimbing I serta selaku Ketua Program Studi Teknik Informatika yang telah menyediakan waktu, tenaga dan pikiran ditengah kesibukannya untuk memberikan bimbingan, petunjuk dalam menyelesaikan penulisan skripsi ini.

2. Bapak Helmi Kurniawan, ST, M.Kom, selaku Dosen Pembimbing II yang telah banyak memberikan bimbingan dan petunjuk serta meluangkan waktunya dalam menyelesaikan penulisan skripsi ini.

3. Ibu Hj. Nuriandy, BA, selaku Pembina Yayasan Potensi Utama Medan.

4. Bapak Bob Subhan Riza, ST, M.Kom, selaku Ketua Yayasan Potensi Utama Medan.

5. Ibu Rika Rosnelly, SH, M.Kom, selaku Rektor Universitas Potensi Utama Medan.

(13)

ii

(14)

iii

DAFTAR ISI

KATA PENGANTAR ………... i

DAFTAR ISI ………...… iii

DAFTAR GAMBAR ……….. vii

DAFTAR TABEL ………. viii

DAFTAR LAMPIRAN ………... ix

BAB I PENDAHULUAN ………... 1

I.1 Latar Belakang ………. 1

I.2 Ruang Lingkup Permasalahan Masalah ………..…. 2

I.2.1 Identifikasi Masalah ……..……….. 2

I.2.2 Perumusan Masalah …….……..………. 2

I.2.3 Batasan Masalah ………..………... 3

I.3 Tujuan dan Manfaat ………. 3

I.3.1 Tujuan ……….………... 3

I.3.2 Manfaat ……….………. 4

I.4 Metodologi Penyelesaian ………... 4

I.5 Keaslian Penelitian ………..……….………... 6

I.6 Sistematika Penulisan………...……….7

BAB II TINJAUAN PUSTAKA ………….………...9

II.1 Perancangan ………..…………. 9

(15)

iv

II.2 Aplikasi ………...………..………. 9

II.3 Keamanan ...10

II.4 SMS (Short Message Service)………….………..10

II.4.1 Kemanan SMS…………...……….………10

II.4.2 Pengiriman SMS………...………..11

II.5 Kriptografi…………...………..13

II.6 Terminologi Kriptografi……..………...…...13

II.7 Kriptografi Kunci Simetri (Kriptografi Kunci-Privat)…………..14

II.8 Algoritma Blowfish………...………...15

II.8.1 Bagian-Bagian Algoritma Blowfish………...…….16

II.9 Java………...………22

II.9.1 J2ME (Java 2 Micro Edition)……….……...…….23

II.10 Sistem Operasi Android………...……….….25

II.10.1 Android………….…………...………..25

II.10.2 Android OS………....…26

II.10.3 Android SDK (Software Development Kit)………...26

II.10.4 AVD (Android Virtual Device)………...27

II.11 UML (Unified Modelling Language)……...28

BAB III ANALISIS DAN DESAIN SISTEM ………...…………... 35

III.1 Analisa Masalah ... 35

III.2 Spefikasi Perangkat………...………...………..36

III.2.1 Teknik Pemecahan Masalah………..……....37

(16)

v

III.2.2 Analisa Proses Penyelesaian………...……..…….38

III.2.3 Ekspansi Kunci (Key-expansion)………...……39

III.2.4 Enkripsi Data………..………...……….…41

III.3 Desain Sistem………...45

III.3.1 Use Case Diagram……….….45

III.3.2 Activity Diagram………...………….………45

III.3.3 Sequence Diagram………...………..…46

III.4 Desain Interface……….………50

1. Rancangan Splash………….…...………..50

2. Rancangan Menu………50

3. Rancangan New Sms………..52

4. Rancangan Read Sms………...………..52

5. Rancangan Form About……….………53

6. Rancangan Form Tentang Aplikasi……….…..…54

BAB IV HASIL DAN UJI COBA ………. 55

IV.1 Hasil ... 55

IV.1.1 Tampilan Menu Splash ...55

IV.1.2 Tampilan Menu Utama……….56

IV.1.3 Tampilan Menu Pesan Baru………..57

IV.1.4 Tampilan Menu Pesan Masuk………...57

IV.1.5 Pesan Masuk……….58

IV.1.6 Pembahasan………...59

(17)

vi

IV.2 Uji Coba Sistem ... 60

IV.2.1 Sekenario ………... 60

IV.3 Kelebihan Sistem Yang Dirancang………61

IV.3.1 Kekurangan Sistem Yang Dirancang...62

BAB V KESIMPULAN DAN SARAN ... 63

V.1 Kesimpulan ... 63

V.2 Saran ... 64 DAFTAR PUSTAKA

LAMPIRAN

(18)

vii

DAFTAR GAMBAR

Gambar II.1 Penyederhanaan Jaringan SMS Dan Aliran SMS... 12

Gambar II.2 Diagram Algoritma Enkripsi Blowfish ... 19

Gambar II.3 Fungsi F dalam Blowfish………..20

Gambar II.4 Blok Diagram Dekripsi Blowfish ... 21

Gambar II.5 Tampilan AVD……….27

Gambar II.6 Use Case Diagram………30

Gambar II.7 Class Diagram ……….31

Gambar II.8 Contoh Squence Diagram ... 32

Gambar II.9 Activity Diagram ……….…34

Gambar III.1 Blok Diagram Algoritma Enkripsi Blowfish ... 42

Gambar III.2 Fungsi F Dalam Blowfish ………...……….. 43

Gambar III.3 Blok Diagram Dekripsi Blowfish ... 44

Gambar III.4 Use Case Diagram... 45

Gambar III.5 Activity Diagram Android………...46

Gambar III.6 Sequence Diagram Start Aplikasi...47

Gambar III.7 Sequence Diagram Menampilkan Menu SMS...47

Gambar III.8 Sequence Diagram Mengirim Pesan...48

Gambar III.9 Sequence Diagram Pesan Masuk...48

Gambar III.10 Sequence Diagram Pesan Terkirim...49

Gambar III.11 Sequence Diagram Pesan Tersimpan...49

Gambar III.12 Rancangan Form Splash...50

(19)

viii

Gambar III.13 Rancangan Menu...51

Gambar III.14 Rancangan New Sms...52

Gambar III.15 Rancangan Papan Permainan...53

Gambar III.16 Rancangan Form About Program...54

Gambar III.17 Rancangan Form Help...54

Gambar IV.1 Tampilan Menu Splash...55

Gambar IV.2 Tampilan Menu Utama...56

Gambar IV. 3 Tampilan Menu Pesan Baru...57

Gambar IV.4 Tampilan Menu Pesan Masuk...58

Gambar IV.5 Tampilan Menu Pesan Masuk...59

(20)

ix

DAFTAR TABEL

Tabel I.1 Keaslian Penelitian...6 Tabel IV.1 Hasil Pengujian Black Box Testing...60

(21)

x

DAFTAR LAMPIRAN

Lampiran-1 Listing Program

Lampiran-2 Surat Pengajuan Judul Skripsi Lampiran-3 Formulir Pendaftaran Judul Skripsi

Lampiran-4 Surat Pernyataan Kesediaan Pembimbing I Lampiran-5 Surat Pernyataan Kesediaan Pembimbing II

Lampiran-6 Jadwal Bimbingan Skripsi

Lampiran-7 Formulir Pendaftaran Seminar Hasil Skripsi Lampiran-8 Berita Acara Seminar Hasil

Lampiran-9 Formulir Pendaftaran Sidang Skripsi

(22)

BAB I

PENDAHULUAN

(23)

1

BAB I

PENDAHULUAN

I.1. Latar Belakang

Saat ini perkembangan teknologi informasi dan komunikasi dari waktu ke waktu kian meningkat. Kebutuhan manusia akan perangkat informasi dan komunikasi seakan menjadi kebutuhan yang tidak terpisahkan dalam kehidupan.

Dengan banyaknya aplikasi pada saat ini sangat membantu mengurangi aktifitas yang dilakukan oleh banyak orang. Salah satunya adalah pengiriman SMS dengan Mobile Phone Andorid. Pemanfaatan SMS dalam penggunaannya sangat memungkinkan setiap pengguna dalam mengirim atau menerima informasi dengan cepat. SMS merupakan pesan teks yang mempunyai ukuran yang sudah ditetapkan, dengan batasan 160 karakter per SMS. Dengan penggunaan SMS juga tergantung ketentuan dari operator yang digunakan dengan biaya yang telah ditetapkan oleh masing-masing operator.

Pengamanan juga menjadi aspek penting yang perlu diperhatikan dalam penggunaan SMS. Pada masa dewasa ini, masih seringnya beberapa pihak yang tidak bertanggung jawab yang melakukan pembobolan SMS. Untuk itu pentingnya penerapan pengamanan pada SMS sehingga menjamin keaslian SMS yang dikirim maupun yang diterima. Dengan latar belakang yang telah tertera, dalam perancangan dan penulisan skripsi ini, penulis berinisiatif memberikan judul “Perancangan Aplikasi Pengamanan Teks Sms Dengan Implementasi Algoritma Blowfish Pada Mobile Phone Android”.

(24)

2

I.2. Ruang Lingkup Permasalahan Masalah I.2.1. Identifikasi Masalah

Adapun identifikasi masalah yang penulis rangkum pada penelitian dan perancangan adalah :

1. Masih seringnya pembobolan pada SMS yang dilakukan oleh sebagian pihak yang tidak bertanggungjawab.

2. Masih kurangnya suatu aplikasi pengamanan SMS pada Mobile Phone Android.

3. Masih kurangnya pengembangan pengamanan SMS pada perangkat android dengan penerapan algoritma Blowfish.

I.2.2. Perumusan Masalah

Berdasarkan identifikasi masalah yang ada, maka akan dibahas rumusan masalah sebagi berikut:

1. Bagaimana merancang sebuah aplikasi pengamanan SMS pada Mobile Phone Android?

2. Bagaimana mengimplementasikan algoritma Blowfish pada pengamanan SMS?

3. Bagaimana membangun sebuah aplikasi pengamanan SMS yang dapat dengan mudah digunakan oleh pihak umum?

(25)

I.2.3. Batasan Masalah

Adapun batasan masalah yang ada dalam perancangan ini meliput :

1. Pada perancangan pengamanan SMS membatasi hanya pesan teks pada perangkat Android.

2. Pengembangan dan perancangan menggunakan algoritma Blowfish untuk pengamanan pesan teks.

3. Perancangan menggunakan pemrograman Java, sebagai bahasa pemrogramanan, Netbeans sebagai alat bantu pengkodean dan Eclipse sebagai editor pemrograman.

I.3. Tujuan Dan Manfaat I.3.1. Tujuan

Adapun tujuan dari perancangan apliaksi pengamanan SMS dengan metode Blowfish ini adalah :

1. Untuk membangun sebuah aplikasi pengamanan SMS pada perangkat Mobile Phone Android.

2. Untuk menghindari kecurangan yang dilakukan oleh sebagian pihak dalam penggunaan SMS pada perangkat Android.

3. Untuk mengukur kekuatan pengkodean SMS dengan penerapan algoritma Blowfish.

(26)

4

I.3.2. Manfaat

Adapun manfaat dari penulisan skripsi ini adalah:

1. Memberikan suatu aplikasi pengkodean dalam pesan teks pada mobile phone android bagi pihak umum.

2. Menambah wawasan penulis tentang pengamanan SMS pada perangkat Android.

3. Diharapkan manjadi sumber referensi bagi pengembang yang berminat dikemudian hari.

I.4. Metodologi Penyelesain

Adapun teknik-teknik pengumpulan data yang dilakukan penulisan adalah sebagai berikaut :

1. Penelitian ini bersifat teoritis dengan cara memperoleh informasi dalam buku bacaan, jurnal, artikel yang berhubungan dengan masalah yang akan dibahas yang berasal dari akedemik ataupun dari luar akedemik, terutama yang berkaitan dengan prosedur, implementasi bahasa pemrograman Java dalam perancangan pengamanan SMS.

2. Analisa Permasalahan.

Tahapan ini berupa proses pembelajaran lebih lanjut mengenai permasalahan yang ada menggunakan analisa sebab akibat sebagai dasar penentuan analisa kebutuhan.

3. Analisa Kebutuhan

Pada tahapan ini dilakukan analisa sehingga dapat didefinisikan kebutuhan- kebutuhan sistem meliputi input, output, operasi, dan resources sehingga dapat terbentuk suatu sistem baru yang lebih handal.

4. Analisa Keputusan

(27)

Tahapan ini bertujuan untuk menentukan solusi yang paling layak di dalam memecahkan permasalahan yang ada. Dalam hal ini berkaitan dengan perangkat keras dan perangkat lunak yang akan digunakan dalam perancangan.

5. Desain Sistem

Tahapan ini meliputi desain model, desain basis data, desain masukan dan keluaran, serta desain dan algoritma pengguna.

6. Pembuatan Sistem

Berdasarkan desain yang telah dibuat pada tahap sebelumnya dilakukan proses pembuatan sistem menggunakan perangkat yang telah ditentukan pada tahapan analisa keputusan.

7. Implementasi Sistem

Tahapan ini tidak akan dikerjakan seluruhnya, hanya tahap pengujian program hal ini disebabkan oleh keterbatasan waktu.

(28)

6

I.5. Keaslian Penelitian

Adapun keaslian dalam penelitian dapat dilihat pada tabel I.1 sebagai berikut :

Tabel I.1. Keaslian Penelitian

No Peneliti Judul Hasil Perbedaan

1 Tri

Andriyanto,

D. L.

Crispina Pardede 2008

Studi Dan Perbandingan Algoritma Idea Dan Algoritma Blowfish.

Algoritma IDEA dan Blowfish beroperasi pada panjang blok yang sama, yaitu 64 bit. Dan pada aplikasi ini dapat mengenkripsi berbagai bentuk file dokumen dan baik file gambar maupun file audio.

Pada aplikasi ini hanya menggunakan algoritma blowfish serta hanya dapat mengenkripsi teks yang ada pada sms.

2 Rohmat Nur Ibrahim (2012)

Kriptografi Algoritma DES,

AES/Rijndael, Blowfish untuk keamanan citra digital dengan Menggunakan metode discrete wavelet

Transformation (DWT)

Sistem yang dibangun untuk pengamanan citra digital menggunakan kriptografi Algoritma Des, Blowfish dan Rijndael dapat mengenkripsi dan mendekripsi citra digital, terbukti menghasilkan beberapa karakteristik dari mulai kecepatan proses, MSE, NPCR dan PSNR (dB).

Sangat jelas terlihat sistem yang dibangun untuk

merupakan pengamanan teks sms dan dapat

mengenkripsi dan

mendekripsi teks sms.

3 Suriski Sitinjak (2010)

Aplikasi

Kriptografi file Menggunakan Algoritma Blowfish

Aplikasi ini juga telah berhasil mengembalikan file yang telah diacak tersebut (cipherteks) seperti semula dengan menggunakan kunci yang sama sewaktu enkripsi.

Perebedaan yang terdapat terlihat pada pengamanan yang dapat dilakukan. Pada aplikasi hanya dapat

melakukan pengamanan pada teks sms namun juga dalam

pengembalian

(29)

pesan teks ke bentuk semula juga

menggunakan kunci key yang sama saat proses enkripsi dilakukan.

I.6. Sistematika Penulisan

Susunan dan sistematika penulisan skripsi ini terdiri dari beberapa sub bab dapat dilihat sebagai berikut.

BAB I : PENDAHULUAN

Pada bab ini secara ringkas diterangkan mengenai latar belakang, identifikasi masalah, batasan masalah, tujuan penelitian dan manfaat penelitian, metodologi penyelesaian masalah, serta sistematika penulisan.

BAB II : TINJAUAN PUSTAKA

Sub bab ini tentang teori yang berkaitan dengan pembuatan, desain dan tampilan rancangan aplikasi pengamanan SMS.

BAB III : ANALISA DAN PERANCANGAN PROGRAM

Berisi tentang analisa dan perancangan aplikasi, yang meliputi analisa masalah, perancangan interface, perangkat yang digunakan, metode serta ketentuan algoritma penggunaan.

(30)

8

BAB IV : HASIL DAN PEMBAHASAN

Berisi tentang tampilan hasil impelentasi program, beserta pembahasannya, serta kelebihan dan kekurangan sistem yang dirancang.

BAB V : KESIMPULAN DAN SARAN

Dalam bab ini diuraikan kesimpulan dan saran yang dapat diberikan untuk pengembangan aplikasi yang dirancang.

(31)

BAB II

TINJAUAN PUSTAKA

(32)

9

BAB II

TINJAUAN PUSTAKA

II.1. Perancangan

Perancangan mempunyai 2 maksud, yaitu untuk memenuhi kebutuhan kepada pemakai sistem dan untuk memberikan gambaran yang jelas kepada pemogram komputer dan ahli-ahli teknik lainnya yang terlibat. (Hanik Mujiati ; 2014 : 2)

II.2. Aplikasi

Aplikasi adalah suatu sub kelas perangkat lunak komputer yang memanfaatkan kemampuan komputer langsung untuk melakukan suatu tugas yagn diinginkan pengguna. Contoh utama aplikasi adalah pengolah kata, lembar kerja, memanipulasi foto, merancang rumah dan pemutar media. Beberapa aplikasi yang digabung bersama menjadi sutau pake disebut sebagai suatu paket atau suite aplikasi (application suite). Contohnya adalah Microsoft Office dan OpenOffice.org, yang menggabungkan suatu aplikasi pengolah kata, lembar kerja dan beberapa aplikasi lainnya. Aplikasi-aplikasi dalam suatu paket biasanya memiliki atarmuka pengguna yang memiliki kesamaan sehingga memudahkan pengguna untuk mempelajari dan menggunakan tiap aplikasi. Sering kali, mereka memiliki kemampuan untuk saling berinteraksi satu sama lain sehingga menguntungkan pengguna. Contohnya, suatu lembar kerja dapat dibenamkan dalam suatu dokumen pengolah kata walaupun dibuat pada aplikasi lembar kerja yang terpisah. (Dahlan Abdullah ; 2013 : 152)

(33)

10 II.3. Keamanan

Masalah keamanan merupakan salah satu aspek penting dari sebuah sistem Sayang sekali masalah keamanan ini sering kali kurang mendapat perhatian dari para pemilik dan pengelola sistem informasi. Seringkali masalah keamanan berada di urutan kedua, atau bahkan di urutan terakhir dalam daftar hal-hal yang dianggap penting. Apabila menggangu performansi dari sistem, seringkali keamanan dikurangi atau ditiadakan (Dowd & McHenry, 1998: 24-28) yang dikutip oleh Rahardjo. Keamanan itu tidak dapat muncul demikian saja. Dia harus direncanakan. Ambil contoh berikut. Jika kita membangun sebuah rumah, maka pintu rumah kita harus dilengkapi dengan kunci pintu. Jika kita terlupa memasukkan kunci pintu pada budget perencanaan rumah, maka kita akan dikagetkan bahwa ternyata harus keluar dana untuk menjaga keamanan. (Ilham Alamsyah ; 2013 :2)

II.4. SMS (Short Message Service)

Pertukaran pesan melalui Short Message Service (SMS) merupakan suatu layanan yang popular dikalangan pemakai telepon bergerak di Indonesia.

Pengiriman SMS dari satu perangkat ke perangkat lainnya melalui SMS Center untuk menyimpan dan menyampaikan SMS ke perangkat tujuan. (Hendra ; 2012 : 1)

II.4.1. Keamanan SMS

GSM menyediakan mekanisme keamanan untuk memastikan kerahasiaan dan integritas dari layanan, mekanisme ini ditempatkan antara perangkat bergerak

(34)

11

11

dengan jaringan operator dengan menggunakan algoritma A5, tetapi berdasarkan percobaan serangan kriptanalisis secara realtime terhadap keluaran algoritma A5/1 selama percakapan dua menit, kunci rahasia dapat dipecahkan dalam waktu satu detik, dan pada serangan kedua membutuhkan output dari algoritma A5/1 selama dua detik dari percakapan, dan kunci rahasia berhasil dipecahkan dalam waktu beberapa menit. (Hendra ; 2012 : 2)

II.4.2. Pengiriman SMS

Ada dua metode untuk mengirim sebuah pesan text ke suatu perangkat bergerak, yaitu melalui suatu perangkat bergerak ataupun melalui suatu External Messaging Entities (ESMEs). ESMEs terdiri dari sejumlah besar perangkat berbeda dan memiliki berbagai antarmuka seperti email, portal messaging berbasis web yang terkoneksi pada jaringan telepon bergerak melalui internet maupun kanal dedicated tertentu. Pesan awalnya dikirim ke suatu server yang menangani trafik SMS yang dikenal sebagai Short Messaging Service Center (SMSC). Suatu provider yang mendukung pesan text harus memiliki paling sedikit satu SMSC pada jaringan mereka. SMSC perlu untuk menentukan bagaimana pesan disampaikan ke perangkat target. SMSC menanyakan kepada suatu basis data Home Location Register (HLR) yang menyimpan data pemakai dan informasi lokasi. Melalui interaksi dengan elemen lainnya, HRL menentukan routing informasi ke tujuan. Jika SMSC menerima balasan bahwa target tidak dapat dicapai, maka pesan akan disimpan untuk dikirim nantinya, jika sebaliknya maka akan dibalas dengan alamat Mobile Switching Center (MSC) yang tersedia untuk melayani. Ketika suatu pesan tiba dari SMSC ke MSC, MSC menanyakan

(35)

12

kepada suatu basis data Visitor Location Register (VLR) yang akan mengembalikan suatu duplikat informasi dari perangkat target ketika dia tidak berada pada HLR-nya. MSC kemudian mengirim pesan kepada Base Station (BS) untuk disampaikan ke target. (Hendra ; 2012 : 2)

Proses pengiriman SMS ditunjukan oleh Gambar 1(a) dan 1(b) berikut :

(a). Jaringan SMS

(b). Aliran SMS

Gambar II.1. Penyederhanaan Jaringan SMS dan Aliran SMS Sumber : Hendra : 2012 : 2

(36)

13

13 II.5. Kriptografi

Kriptografi berasal dari bahasa Yunani yaitu cryptós yang artinya “secret”

(yang tersembunyi) dan gráphein yang artinya “writting” (tulisan). Jadi, kriptografi berarti ”secret writting” (tulisan rahasia). Definisi yang dikemukakan oleh Bruce Schneier (1996), kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan (Cryptography is the art and science of keeping messages secure). (Suriski Sitinjak ; 2010 : C-78)

II.6. Terminologi Kriptografi

Ada beberapa istilah-istilah yang penting dalam kriptografi, yaitu :

1. Pesan (Plaintext dan Ciphertext) : Pesan (message) adalah data atau informasi yang dapat dibaca dan dimengerti maknanya. Pesan asli disebut plainteks (plaintext) atau teks-jelas (cleartext). Sedangkan pesan yang sudah disandikan disebut cipherteks (chipertext)

2. Pengirim dan Penerima : Komunikasi data melibatkan pertukaran pesan antara dua entitas. Pengirim (sender) adalah entitas yang mengirim pesan kepada entitas lainnya. Penerima (receiver) adalah entitas yang menerima pesan.

3. Penyadap (eavesdropper) adalah orang yang mencoba menangkap pesan selama ditransmisikan.

4. Kriptanalisis dan Kriptologi : Kriptanalisis (cryptanalysis) adalah ilmu dan seni untuk memecahkan chiperteks menjadi plainteks tanpa mengetahui kunci yang digunakan. Pelakunya disebut kriptanalis. Kriptologi (cryptology) adalah studi mengenai kriptografi dan kriptanalisis.

(37)

14

5. Enkripsi dan Dekripsi : Proses menyandikan plainteks menjadi cipherteks disebut enkripsi (encryption) atau enciphering. Sedangkan proses mengembalikan cipherteks menjadi plainteks semula dinamakan dekripsi (decryption) atau deciphering.

6. Cipher dan Kunci : Algoritma kriptografi disebut juga cipher yaitu aturan untuk enchipering dan dechipering, atau fungsi matematika yang digunakan untuk enkripsi dan dekripsi. Kunci (key) adalah parameter yang digunakan untuk transformasi enciphering dan dechipering. Kunci biasanya berupa string atau deretan bilangan. (Suriski Sitinjak ; 2010 : C-79)

II.7. Kriptografi Kunci Simetri (Kriptografi Kunci-Privat)

Pada sistem kriptografi kunci-simetri, kunci untuk enkripsi sama dengan kunci untuk dekripsi, oleh karena itulah dinamakan kriptografi simetri. Keamanan sistem kriptografi simetri terletak pada kerahasiaan kuncinya. Ada banyak algoritma kriptografi modern yang termasuk ke dalam sistem kriptografi simetri, diantaranya adalah DES (Data Encryption Standard), Blowfish, Twofish, Triple- DES, IDEA, Serpent, AES (Advanced Encryption Standard). (Suriski Sitinjak ; 2010 : C-79)

Algoritma kriptografi (cipher) simetri dapat dikelompokkan menjadi dua kategori, yaitu (Suriski Sitinjak ; 2010 : C-79) :

1. Cipher aliran (stream cipher)

Algoritma kriptografi beroperasi pada plainteks/cipherteks dalam bentuk bit tunggal, yang dalam hal ini rangkaian bit dienkripsikan/didekripsikan bit per bit.

(38)

15

15 2. Cipher blok (block cipher)

Algoritma kriptografi beroperasi pada plainteks/cipherteks dalam bentuk blok bit, yang dalam hal ini rangkaian bit dibagi menjadi blok-blok bit yang panjangnya sudah ditentukan sebelumnya. (Suriski Sitinjak ; 2010 : C-79)

II.8. Algoritma Blowfish

Blowfish diciptakan oleh seorang Cryptanalyst bernama Bruce Schneier, Presiden perusahaan Counterpane Internet Security, Inc (Perusahaan konsultan tentang kriptografi dan keamanan komputer) dan dipublikasikan tahun 1994.

Dibuat untuk digunakan pada komputer yang mempunyai microposesor besar (32- bit keatas dengan cache data yang besar). Blowfish merupakan algoritma yang tidak dipatenkan dan licensefree, dan tersedia secara gratis untuk berbagai macam kegunaan. (Suriski Sitinjak ; 2010 : C-79)

Pada saat Blowfish dirancang, diharapkan mempunyai kriteria perancangan sebagai berikut (Suriski Sitinjak ; 2010 : C-79) :

1. Cepat, Blowfish melakukan enkripsi data pada microprocessors 32-bit dengan rate 26 clock cycles per byte.

b. Compact (ringan), Blowfish dapat dijalankan pada memori kurang dari 5K.

c. Sederhana, Blowfish hanya menggunakan operasi-operasi sederhana:

penambahan, XOR, dan lookup tabel pada operan 32-bit.

d. Memiliki tingkat keamanan yang bervariasi, panjang kunci yang digunakan oleh Blowfish dapat bervariasi dan bisa sampai sepanjang 448 bit.

Dalam penerapannya sering kali algortima ini menjadi tidak optimal.

Karena strategi implementasi yang tidak tepat. Algoritma Blowfish akan lebih

(39)

16

optimal jika digunakan untuk aplikasi yang tidak sering berganti kunci, seperti jaringan komunikasi atau enkripsi file otomatis. Selain itu, karena algoritma ini membutuhkan memori yang besar, maka algoritma ini tidak dapat diterapkan untuk aplikasi yang memiliki memori kecil seperti smart card. Panjang kunci yang digunakan, juga mempengaruhi keamanan penerapan algoritma ini. (Suriski Sitinjak ; 2010 : C-79)

II.8.1. Bagian-Bagian Algoritma Blowfish

Algoritma Blowfish terdiri atas dua bagian, yaitu ekspansi kunci dan enkripsi data menurut (Suriski Sitinjak ; 2010 : C-79) berikut :

1. Ekspansi kunci (Key-expansion)

Berfungsi merubah kunci (minimum 32-bit, maksimum 448-bit) menjadi beberapa array subkunci (subkey) dengan total 4168 byte (18x32-bit untuk P- array dan 4x256x32-bit untuk S-box sehingga totalnya 33344 bit atau 4168 byte).

Kunci disimpan dalam K-array:

K1, K2, ... Kj 1 _ j _ 14

Kunci-kunci ini yang dibangkitkan (generate) dengan menggunakan subkunci yang harus dihitung terlebih dahulu sebelum enkripsi atau dekripsi data.

Sub-sub kunci yang digunakan terdiri dari :

P-array yang terdiri dari 18 buah 32-bit subkunci : P1, P2, ..., P18

S-box yang terdiri dari 4 buah 32-bit, masing-masing memiliki 256 entri : S1,0, S1,1, ..., S1,255

(40)

17

17 S2,0, S2,1, ..., S2,255

S3,0, S3,1, ..., S3,255 S4,0, S4,1, ..., S4,255

Langkah-langkah perhitungan atau pembangkitan subkunci tersebut adalah sebagai berikut:

a. Inisialisasi P-array yang pertama dan juga empat S-box, berututan, dengan string yang telah pasti. String tersebut terdiri dari digit-digit heksadesimal dari phi, tidak termasuk angka tiga di awal.

Contoh :

P1= 0x243f6a88 P2= 0x85a308d3 P3= 0x13198a2e P4= 0x03707344

dan seterusnya sampai S-box yang terakhir (daftar heksadesimal digit dari phi untuk P-array dan Sbox bisa lihat Lampiran).

b. XOR-kan P1 dengan 32-bit awal kunci, XOR-kan P2 dengan 32-bit berikutnya dari kunci, dan seterusnya untuk semua bit kunci. Ulangi siklus seluruh bit kunci secara berurutan sampai seluruh P-array ter-XOR-kan dengan bit-bit kunci. Atau jika disimbolkan : P1 = P1 _ K1, P2 = P2 _ K2, P3

= P3 _ K3, . . . P14 = P14 _ K14, P15 = P15 _ K1, . . . P18 = P18 _ K4.

Keterangan : _ adalah simbol untuk XOR.

(41)

18

c. Enkripsikan string yang seluruhnya nol (all-zero string) dengan algoritma Blowfish, menggunakan subkunci yang telah dideskripsikan pada langkah 1 dan 2.

d. Gantikan P1 dan P2 dengan keluaran dari langkah 3.

e. Enkripsikan keluaran langkah 3 menggunakan algoritma Blowfish dengan subkunci yang telah dimodifikasi.

f. Gantikan P3 dan P4 dengan keluaran dari langkah 5.

g. Lanjutkan langkah-langkah di atas, gantikan seluruh elemen P-array dan kemudian keempat S-box secara berurutan, dengan hasil keluaran algoritma Blowfish yang terus-menerus berubah.

Total keseluruhan, terdapat 521 iterasi untuk menghasilkan subkunci- subkunci dan membutuhkan memori sebesar 4KB.

2. Enkripsi Data

Terdiri dari iterasi fungsi sederhana (Feistel Network) sebanyak 16 kali putaran (iterasi), masukannya adalah 64-bit elemen data X. Setiap putaran terdiri dari permutasi kunci-dependent dan substitusi kunci- dan data dependent. Semua operasi adalah penambahan (addition) dan XOR pada variabel 32-bit. Operasi tambahan lainnya hanyalah empat penelusuran tabel array berindeks untuk setiap putaran. (Suriski Sitinjak ; 2010 : C-80) Langkahnya adalah seperti berikut.

a. Bagi X menjadi dua bagian yang masing-masing terdiri dari 32-bit: XL, XR.

b. Lakukan langkah berikut For i = 1 to 16:

XL = XL _ Pi

(42)

19

19 XR = F(XL) _ XR

Tukar XL dan XR

c. Setelah iterasi ke-16, tukar XL dan XR lagi untuk melakukan membatalkan pertukaran terakhir.

d. Lalu lakukan XR = XR _ P17 XL = XL _ P18

e. Terakhir, gabungkan kembali XL dan XR untuk mendapatkan cipherteks.

Untuk lebih jelasnya, gambaran tahapan pada jaringan feistel yang digunakan Blowfish adalah seperti pada Gambar II.2.

Gambar II.2. Diagram Algoritma Enkripsi Blowfish Sumber : Suriski Sitinjak ; 2010 : C-81

(43)

20

Pada langkah kedua, telah dituliskan mengenai penggunaan fungsi F.

Fungsi F adalah: bagi XL menjadi empat bagian 8-bit: a,b,c dan d.

F(XL) = ((S1,a + S2,b mod 232) XOR S3,c) + S4,d mod 232 ...(2.1)

Agar dapat lebih memahami fungsi F, tahapannya dapat dilihat pada Gambar II.3.

Gambar II.3. Fungsi F dalam Blowfish Sumber : Suriski Sitinjak ; 2010 : C-81

Dekripsi sama persis dengan enkripsi, kecuali bahwa P1, P2,…, P18 digunakan pada urutan yang berbalik (reverse). Algoritmanya dapat dinyatakan sebagai berikut :

for i = 1 to 16 do XRi = XLi-1 _ P19-i;

XLi = F[XRi] _ XRi-1;

(44)

21

21 XL17 = XR16 _ P1;

XR17 = XL16 _ P2;

Blok diagram dekripsi seperti pada Gambar II.4 berikut :

Gambar II.4. Blok Diagram Dekripsi Blowfish Sumber : Suriski Sitinjak ; 2010 : C-82

(45)

22 II.9. Java

Java adalah nama untuk sekumpulan teknologi untuk membuat dan menjalankan perangkat lunak pada komputer standalone ataupun pada lingkungan jaringan Java 2 adalah generasi kedua dari Java platform (generasi awalnya adalah JDK atau Java Development Kit). Java inilah yang berdiri diatas mesin interpreter yang diberi nama Java Virtual Machine(JVM). JVM inilah yang akan membaca bytecode dalam file .class dari suatu program sebagai representasi langsung program yang berisi bahasa mesin”. Oleh karena itu bahasa java disebut juga sebagai bahasa pemrograman yang portable karena dapat dijalankan sebagai sistem operasi, asalkan pada sistem operasi tersebut terdapat JVM. (Utomo Budiyanto ; 2011 : 27)

Sun Microsystems telah mendefinisikan tiga platform java menurut Utomo Budiyanto 2011 yang masing – masing diarahkan untuk tujuan tertentu dan untuk lingkungan komputasi yang berbeda-beda:

1. Java Standard Edition (J2SE), adalah inti dari bahasa pemrograman java. JDK adalah salah satu tool dari J2SE untuk mengkompilasi program java pada JRE.

2. Java Enterprise Edition (J2EE), dengan built-in mendukung untuk servlets, JSP, dan XML, edisi ini ditujukan untuk aplikasi berbasis server.

3. Java Micro Edition (J2ME), didesain untuk meletakkan perangkat lunak java pada barang elektronik beserta perangkat pendukungnya.

Teknologi Java mencangkup 2 elemen penting yaitu bahasa pemrograman (programming language) dan lingkungan aplikasi (application environment). Java sebagai bahasa pemrograman dapat diartikan bahwa java sebanding dengan

(46)

23

23

bahasa pemrograman seperti C++, Pascal, Visual Basic, dan lainya, sedangkan Java sebagai lingkungan aplikasi berarti bahwa java dapat berjalan pada berbagai lingkungan seperti browser(Applets), server(servlets dan JSP) dan pada mobile device(midlet dan WAP). Java dalam hal ini mengungguli bahasa lainnya yang pernah ada jika dilihat dari sisi teknologi mobile. Hal ini dibuktikan dengan banyaknya jenis telepon genggam yang menggunakan java sebagai fitur utamanya. Microsoft.NET mobile pun kelihatannya belum dapat menyaingi keunggulan Java dalam bidang aplikasi mobile. Perlu diketahui bahwa Microsoft hanya mengandalkan solusi WAP yang mengembangkan ASP.NET untuk kebutuhan mobile device, sedangkan Java memiliki 2 solusi yaitu WAP dan MIDP (Mobile Information Device Profile). Solusi pertama adalah dengan mengandalkan J2EE (Java 2 Enterprise Edition) dengan produknya yang bernama JSP (Java Server Pages) dan Java Servlets. JSP dan Servlets ini digunakan untuk membentuk halaman WAP. Solusi kedua dengan menggunakan J2ME(Java 2 Micro Edition) MIDP dengan produknya yang bernama Midlets. Midlets inilah yang menjadi fitur andalan oleh beberapa jenis telepon genggam terbaru. (Utomo Budiyanto ; 2011 : 27)

II.9.1. J2ME (Java 2 Micro Edition)

Java Micro Editon atau yang biasa disebut J2ME adalah bagian dari J2SE, karena itu banyak pustaka yang ada pada J2SE dapat digunakan pada J2ME.

Tetapi J2ME mempunyai beberapa pustaka khusus yang tidak dimiliki J2SE.

Kelahiran platform J2ME timbul karena dibutuhkan adanya sebuah platform komputasi yang mengakomodasi piranti komputer elektronik dan embedded.

(47)

24

Piranti ini dikelompokkan menjadi dua kategori, menurut Utomo Budiyanto ; 2011 : 27 yaitu :

1. Personal, piranti mobile yang dapat digunakan untuk komunikasi melalui jaringan tertentu misalkan ponsel, Personal Digital Assistant (PDA), Palm, Pocket PC dan organizer.

2. Piranti informasi yang digunakan bersama dengan jaringan tetap, koneksi jaringan yang tidak putus-putus misalnya TV, internet dan sistem navigasi.

Kategori pertama mengarahkan piranti untuk tujuan khusus atau fungsi- fungsi tertentu yang terbatas dan tidak digunakan untuk mesin komputasi yang serba guna. Kategori kedua diarahkan untuk piranti yang mempunyai kapabilitas yang lebih besar dengan fasilitas user interface yang lebih baik, kemampuan komputasi yang lebih besar. (Utomo Budiyanto ; 2011 : 27)

1. Keunggulan J2ME

Salah satu kelebihan Java yang paling signifikan adalah run everywhere.

Dengan kelebihan ini, para pengembang yang sudah terbiasa mengembangkan aplikasi dalam bingkai kerja J2ME dan J2EE akan mampu bermigrasi dengan mudah untuk mengembangkan aplikasi J2ME. Selain itu, Java juga merupakan platform yang memiliki banyak keunggulan lain, keunggulan Java secara umum adalah :

a. Multiplatform, aplikasi J2ME bisa berjalan diatas banyak platform yang didalamnya terdapat JVM. Beberapa platform yang tersedia didalamnya terdapat JVM antara lain Windows CR, Symbian, Embedded Linux dan sebagainya.

(48)

25

25

b. Robust, kode-kode Java adalah kode-kode robust, karena virtual machine mengatur keamanan proses eksekusi aplikasi. Java virtual machine menyediakan garbage collector yang berfungsi mencegah kebocoran memory.

c. Terintegrasi dengan baik, J2ME bisa terhubung dengan back-end J2EE server dan web services dengan mudah karena menyediakan pustaka-pustaka API RMI dan web services.

d. Berorientasi obyek, Java merupakan salah satu bahasa pemrograman yang murni berorientasi obyek. Hal ini mempermudah dan mempercepat pengembangan sistem yang dikembangkan dengan metode analisa dan desain berorientasi obyek. (Utomo Budiyanto ; 2011 : 27)

II.10. Sistem Operasi Android II.10.1. Android

Android adalah sistem operasi untuk telepon seluler yang berbasis Linux, yang mencakup sistem operasi, middleware dan aplikasi. Android tidak terikat ke satu merek telepon seluler. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri hingga dapat digunakan oleh berbagai peranti mobile. Beberapa fitur utama dari Android antara lain WiFi hotspot, Multi-touch, Multitasking, GPS, support java, mendukung banyak jaringan (GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE, and WiMAX) dan juga kemampuan dasar telepon seluler pada umumnya. (Alicia Sinsuw ; 2013 : 2)

(49)

26 II.10.2. Android OS

Android OS adalah sistem operasi yang berbasis Linux, sistem operasi open source. Selain Android Software Development Kit (SDK) untuk pengembangan aplikasi, android juga tersedia bebas dalam bentuk sistem operasi.

Hal ini yang menyebabkan vendor-vendor smartphone begitu berminat untuk memproduksi smartphone dan komputer tablet berbasis Android. (Alicia Sinsuw ; 2013 : 2)

II.10.3. Android SDK (Software Development Kit)

Android SDK adalah tools API (Aplication Programming Interface) yang diperlukan untuk mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman Java. Beberapa fitur-fitur Android yang paling penting adalah mesin Virtual Dalvik yang dioptimalkan untuk perangkat mobile, integrated browser berdasarkan engine open source WebKit, Grafis yang dioptimalkan dan didukung oleh libraries grafis 2D, grafis 3D berdasarkan spesifikasi opengl ES 1.0 (Opsional akselerasi perangkat keras), kemudian SQLite untuk penyimpanan data (database). Fitur-fitur android lainnya termasuk media yang mendukung audio, video, dan gambar, juga ada fitur bluetooth, EDGE, 3G dan WiFi, dengan fitur kamera, GPS, dan kompas. Selanjutnya fitur yang juga turut disediakan adalah lingkungan Development yang lengkap dan kaya termasuk perangkat emulator, tools untuk debugging, profil dan kinerja memori, dan plugin untuk IDE Eclipse. (Alicia Sinsuw ; 2013 : 2)

(50)

27

27 II.10.4. AVD (Android Virtual Device)

Android Virtual Device merupakan emulator untuk menjalankan aplikasi android, yang tampilannya dapat dilihat pada gambar 1. Setiap AVD terdiri dari sebuah profil perangkat keras yang dapat mengatur pilihan untuk menentukan fitur hardware emulator. Misalnya, menentukan apakah menggunakan perangkat kamera, apakah menggunakan keyboard QWERTY fisik atau tidak, berapa banyak memori internal, dan lain-lain. AVD juga memiliki sebuah pemetaan versi Android, maksudnya kita menentukan versi dari platform Android akan berjalan pada emulator. Pilihan lain dari AVD, misalnya menentukan skin yang kita ingin gunakan pada emulator, yang memungkinkan untuk menentukan dimensi layar, tampilan, dan sebagainya. Kita juga dapat menentukan SD Card virtual untuk digunakan dengan di emulator. (Alicia Sinsuw ; 2013 : 2)

Gambar II.5. Tampilan AVD Sumber : (Alicia Sinsuw ; 2013 : 3)

(51)

28 II.11. UML (Unified Modelling Language)

Unified Modelling Language (UML) adalah sebuah "bahasa" yg telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem. Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasa-bahasa berorientasi objek seperti C++, Java, C# atau VB.NET. Walaupun demikian, UML tetap dapat digunakan untuk modeling aplikasi prosedural dalam VB atau C. Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax/semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar Jacobson OOSE (Object-Oriented Software Engineering). Sejarah UML sendiri cukup panjang. Sampai era tahun 1990 seperti kita ketahui puluhan metodologi pemodelan berorientasi objek telah bermunculan di dunia. Diantaranya adalah:

metodologi booch, metodologi coad, metodologi OOSE, metodologi OMT, metodologi shlaer-mellor, metodologi wirfs-brock, dsb. Masa itu terkenal dengan

(52)

29

29

masa perang metodologi (method war) dalam pendesainan berorientasi objek.

Masing-masing metodologi membawa notasi sendiri-sendiri, yang mengakibatkan timbul masalah baru apabila kita bekerjasama dengan group/perusahaan lain yang menggunakan metodologi yang berlainan. Dimulai pada bulan Oktober 1994 Booch, Rumbaugh dan Jacobson, yang merupakan tiga tokoh yang boleh dikata metodologinya banyak digunakan mempelopori usaha untuk penyatuan metodologi pendesainan berorientasi objek. Pada tahun 1995 direlease draft pertama dari UML (versi 0.8). Sejak tahun 1996 pengembangan tersebut dikoordinasikan oleh Object Management Group (OMG – http://www.omg.org).

Tahun 1997 UML versi 1.1 muncul, dan saat ini versi terbaru adalah versi 1.5 yang dirilis bulan Maret 2003. Booch, Rumbaugh dan Jacobson menyusun tiga buku serial tentang UML pada tahun 1999. Sejak saat itulah UML telah menjelma menjadi standar bahasa pemodelan untuk aplikasi berorientasi objek. (Yuni Sugiarti ; 2013 : 33)

Dalam pembuatan skripsi ini penulis menggunakan diagram Use Case yang terdapat di dalam UML. Adapun maksud dari Use Case Diagram diterangkan dibawah ini.

1. Use Case Diagram

Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan

“bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja, dan sebagainya. Seorang/sebuah aktor

(53)

30

adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu. Use case diagram dapat sangat membantu bila kita sedang menyusun requirement sebuah sistem, mengkomunikasikan rancangan dengan klien, dan merancang test case untuk semua feature yang ada pada sistem. Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case yang di-include akan dipanggil setiap kali use case yang meng-include dieksekusi secara normal. Sebuah use case dapat di- include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common. Sebuah use case juga dapat meng-extend use case lain dengan behaviour-nya sendiri.

Sementara hubungan generalisasi antar use case menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain. (Yuni Sugiarti ; 2013 : 41)

Gambar II.6. Use Case Diagram Sumber : (Junaedi Siregar ; 2013 : 76)

(54)

31

31 2. Class Diagram

Diagram kelas atau class diagram menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki apa yang disebut atribut dan metode atau operasi. Berikut adalah simbol- simbol pada diagram kelas :

Gambar II.7. Class Diagram Sumber : (Yuni Sugiarti ; 2013 : 59)

(55)

32 3. Sequence Diagram

Diagram Sequence menggambarkan kelakuan/prilaku objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antar objek. Oleh karena itu untuk menggambarkan diagram sequence maka harus diketahui objek-objek yang terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas yang diinstansiasi menjadi objek itu.

Banyaknya diagram sequence yang harus digambar adalah sebanyak pendefinisian use case yang memiliki proses sendiri atau yang penting semua use case yang telah didefinisikan interaksi jalannya pesan sudah dicakup pada diagram sequence sehingga semakin banyak use case yang didefinisikan maka diagram sequence yang harus dibuat juga semakin banyak.

Check Use Details Login Screen

Costomer Security Manager Users

Login

Validate User

[ User Details ] Validate

1 : Use Case Model >

Gambar II.8. Contoh Sequence Diagram Sumber : (Yuni Sugiarti ; 2013 : 63)

(56)

33

33 4. Activity Diagram

Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.

Activity diagram merupakan state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal processing). Oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum.

Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih.

Aktivitas menggambarkan proses yang berjalan, sementara use case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas.

Sama seperti state, standar UML menggunakan segiempat dengan sudut membulat untuk menggambarkan aktivitas. Decision digunakan untuk menggambarkan behaviour pada kondisi tertentu. Untuk mengilustrasikan proses- proses paralel (fork dan join) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal.

Activity diagram dapat dibagi menjadi beberapa object swimlane untuk menggambarkan objek mana yang bertanggung jawab untuk aktivitas tertentu.

(57)

34

[no coffee]

[no cola]

decision Find Beverage

Get Can of Cola

Drink Beverage Pour Coffee

Get Cups Add Water to

Reservoir Put Coffee In

Filter

Turn on Machine Put Filter In

Machine

Brew Coffee Start

End

Gambar II.9. Activify Diagram Sumber : (Yuni Sugiarti ; 2013 : 76)

(58)

10

BAB III

ANALISIS DAN DESAIN SISTEM

(59)

35

BAB III

ANALISIS DAN DESAIN SISTEM

III.1. Analisa Masalah

Kebutuhan manusia akan perangkat informasi dan komunikasi seakan menjadi kebutuhan yang tidak terpisahkan dalam kehidupan. Dengan banyaknya aplikasi pada saat ini sangat membantu mengurangi aktifitas yang dilakukan oleh banyak orang. Saat ini perkembangan teknologi informasi dan komunikasi dari waktu ke waktu kian meningkat. Salah satunya adalah pengiriman SMS dengan Mobile Phone Andorid. Pemanfaatan SMS dalam penggunaannya sangat memungkinkan setiap pengguna dalam mengirim atau menerima informasi dengan cepat. SMS merupakan pesan teks yang mempunyai ukuran yang sudah ditetapkan, dengan batasan 160 karakter per SMS. Dengan penggunaan SMS juga tergantung ketentuan dari operator yang digunakan dengan biaya yang telah ditetapkan oleh masing-masing operator. Pengamanan juga menjadi aspek penting yang perlu diperhatikan dalam penggunaan SMS. Pada masa dewasa ini, masih seringnya beberapa pihak yang tidak bertanggung jawab yang melakukan pembobolan SMS. Untuk itu pentingnya penerapan pengamanan pada SMS sehingga menjamin keaslian SMS yang dikirim maupun yang diterima.Salah satu dukungan yang ada pada perangkat seluler, pengguna dapat menggunakan pesan SMS atau dalam bahasa Indonesia adalah pesan singkat.

Dalam dunia komputer pengamanan dikenal dengan Kriptografi yang berasal dari bahasa Yunani yaitu cryptós yang artinya “secret” (yang tersembunyi)

(60)

36

dan gráphein yang artinya “writting” (tulisan). Jadi, kriptografi berarti ”secret writting” (tulisan rahasia). kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan sehingga memungkinkan kemanan yang dikirim. Salah satu metode kriptografi dalam pengamanan SMS adalah Blowfish. Penggunaan algoritma blowfish sangat memungkinkan Blowfish melakukan enkripsi data pada microprocessors 32-bit dengan rate 26 clock cycles per byte serta memiliki tingkat keamanan yang bervariasi, panjang kunci yang digunakan oleh Blowfish dapat bervariasi dan bisa sampai sepanjang 448 bit.

Pada desain menu pada aplikasi untuk keamanan sms dapat dijelaskan sebagai berikut.

1. Splash, yang berfungsi permulaan untuk mengload aplikasi.

2. Menu Sms, merupakan tampilan yang digunakan untuk memilih layanan aplikasi.

3. New Sms, merupakan menu yang berfungsi untuk membuat pesan baru.

4. Read Sms, merupakan menu yang berfungsi untuk membaca sms yang diterima oleh aplikasi.

III.2. Spesifikasi Perangkat

Dalam perancangan aplikasi untuk perangkat mobile android ini penulis menggunakan beberapa perangkat agar aplikasi berjalan dengan baik dan sesuai dengan yang diharapkan, yaitu sebagai berikut :

1. Perangkat Keras (Hardware) a. Komputer yang setara Core i3.

(61)

b. Smartphone Android dengan OS 4.1 atau diatasnya.

c. Mouse, keyboard, dan Monitor.

2. Perangkat Lunak (Software)

a. Operating System, OS yang digunakan dalam perancangan dan tes untuk adalah Windows 7 dan OS Android pada perangkat mobile.

b. JDK Java 1.7, sebagai bahasa program dan compiler Java.

c. Eclipse, sebagai editor source code Java.

III.2.1. Teknik Pemecahan Masalah

Teknik pemecahan masalah tentang perancangan aplikasi keamanan sms yang dibuat memiliki beberapa poin yaitu sebagai berikut:

1. Pada langkah awal analisa terhadap perancangan yang akan dibangun terutama tentang keamanan sms yang menggunakan perangkat mobile phone android.

2. Dalam perancangan aplikasi dalam persiapan adalah menentukan perangkat yang dibutuhkan dalam membangun aplikasi seperti perangkat keras maupun perangkat lunak.

3. Selanjutnya dilakukan perancangan sistem yang nantinya akan di implementasikan pada aplikasi yang akan dibangun.

4. Proses uji coba yang akan dilakukan terhadap inputan, proses ataupun output aplikasi, apakah sudah sesuai dengan perancangan yang telah direncanakan sebelumnya.

(62)

38

III.2.2. Analisa Proses Penyelesaian

Algoritma Blowfish diciptakan oleh seorang Cryptanalyst bernama Bruce Schneier, Presiden perusahaan Counterpane Internet Security, Inc (Perusahaan konsultan tentang kriptografi dan keamanan komputer) dan dipublikasikan tahun 1994. Dibuat untuk digunakan pada komputer yang mempunyai microposesor besar (32-bit keatas dengan cache data yang besar). Blowfish merupakan algoritma yang tidak dipatenkan dan licensefree, dan tersedia secara gratis untuk berbagai macam kegunaan (Syafari, 2007). Pada saat Blowfish dirancang, diharapkan mempunyai kriteria perancangan sebagai berikut (Schneier, 1996) :

1. Cepat, Blowfish melakukan enkripsi data pada microprocessors 32-bit dengan rate 26 clock cycles per byte.

2. Compact (ringan), Blowfish dapat dijalankan pada memori kurang dari 5K.

3. Sederhana, Blowfish hanya menggunakan operasi-operasi sederhana:

penambahan, XOR, dan lookup tabel pada operan 32-bit.

4. Memiliki tingkat keamanan yang bervariasi, panjang kunci yang digunakan oleh Blowfish dapat bervariasi dan bisa sampai sepanjang 448 bit. Dalam penerapannya sering kali algortima ini menjadi tidak optimal. Karena strategi implementasi yang tidak tepat. Algoritma Blowfish akan lebih optimal jika digunakan untuk aplikasi yang tidak sering berganti kunci, seperti jaringan komunikasi atau enkripsi file otomatis. Selain itu, karena algoritma ini membutuhkan memori yang besar, maka algoritma ini tidak dapat diterapkan untuk aplikasi yang memiliki memori kecil seperti smart card. Panjang kunci

(63)

yang digunakan, juga mempengaruhi keamanan penerapan algoritma ini.

Algoritma Blowfish terdiri atas dua bagian, yaitu ekspansi kunci dan enkripsi.

III.2.3. Ekspansi kunci (Key-expansion)

Berfungsi merubah kunci (minimum 32-bit, maksimum 448-bit) menjadi beberapa array subkunci (subkey) dengan total 4168 byte (18x32-bit untuk P- array dan 4x256x32-bit untuk S-box sehingga totalnya 33344 bit atau 4168 byte).

Kunci disimpan dalam K-array:

K1, K2, ... Kj 1 _ j _ 14

Kunci-kunci ini yang dibangkitkan (generate) dengan menggunakan subkunci yang harus dihitung terlebih dahulu sebelum enkripsi atau dekripsi data.

Sub-sub kunci yang digunakan terdiri dari : P-array yang terdiri dari 18 buah 32-bit subkunci, P1, P2, ..., P18

S-box yang terdiri dari 4 buah 32-bit, masing-masing memiliki 256 entri : S1,0, S1,1, ..., S1,255

S2,0, S2,1, ..., S2,255 S3,0, S3,1, ..., S3,255 S4,0, S4,1, ..., S4,255

Langkah-langkah perhitungan atau pembangkitan subkunci tersebut adalah sebagai berikut:

1. Inisialisasi P-array yang pertama dan juga empat S-box, berututan, dengan string yang telah pasti.

(64)

40

String tersebut terdiri dari digit-digit heksadesimal dari phi, tidak termasuk angka tiga di awal.

Contoh :

P1= 0x243f6a88 P2= 0x85a308d3 P3= 0x13198a2e P4= 0x03707344

dan seterusnya sampai S-box yang terakhir (daftar heksadesimal digit dari phi untuk P-array dan Sbox.

2. XOR-kan P1 dengan 32-bit awal kunci, XOR-kan P2 dengan 32-bit berikutnya dari kunci, dan seterusnya untuk semua bit kunci. Ulangi siklus seluruh bit kunci secara berurutan sampai seluruh P-array ter-XOR-kan dengan bit-bit kunci. Atau jika disimbolkan : P1 = P1 _ K1, P2 = P2 _K2, P3

= P3 _ K3, . . . P14 = P14_ K14, P15 = P15 _ K1, . . . P18 = P18 _ K4.

Keterangan : _ adalah simbol untuk XOR.

3. Enkripsikan string yang seluruhnya nol (all-zero string) dengan algoritma Blowfish, menggunakan subkunci yang telah dideskripsikan pada langkah 1 dan 2.

4. Gantikan P1 dan P2 dengan keluaran dari langkah 3.

5. Enkripsikan keluaran langkah 3 menggunakan algoritma Blowfish dengan subkunci yang telah dimodifikasi.

6. Gantikan P3 dan P4 dengan keluaran dari langkah 5.

(65)

7. Lanjutkan langkah-langkah di atas, gantikan seluruh elemen P-array dan kemudian keempat S-box secara berurutan, dengan hasil keluaran algoritma Blowfish yang terus-menerus berubah.

Total keseluruhan, terdapat 521 iterasi untuk menghasilkan subkunci subkunci dan membutuhkan memori sebesar 4KB.

III.2.4. Enkripsi Data

Terdiri dari iterasi fungsi sederhana (Feistel Network) sebanyak 16 kali putaran (iterasi), masukannya adalah 64-bit elemen data X. Setiap putaran terdiri dari permutasi kunci-dependent dan substitusi kunci- dan datadependent. Semua operasi adalah penambahan (addition) dan XOR pada variabel 32-bit. Operasi tambahan lainnya hanyalah empat penelusuran tabel array berindeks untuk setiap putaran. Langkahnya adalah seperti berikut :

1. Bagi X menjadi dua bagian yang masing-masing terdiri dari 32-bit: XL, XR.

2. Lakukan langkah berikut : For i = 1 to 16:

XL = XL _ Pi XR = F(XL) _ XR Tukar XL dan XR

3. Setelah iterasi ke-16, tukar XL dan XR lagi untuk melakukan membatalkan pertukaran terakhir.

4. Lalu lakukan : XR = XR _ P17 XL = XL _ P18

(66)

42

5. Terakhir, gabungkan kembali XL dan XR untuk mendapatkan cipherteks.

Untuk lebih jelasnya, gambaran tahapan pada jaringan feistel yang digunakan Blowfish adalah seperti pada Gambar III.1.

Gambar III.1. Blok Diagram Algoritma Enkripsi Blowfish

Pada langkah kedua, telah dituliskan mengenai penggunaan fungsi F.

Fungsi F adalah: bagi XL menjadi empat bagian 8-bit: a,b,c dan d. F(XL) = ((S1,a + S2,b mod 232) XOR S3,c) + S4,d mod 2. Agar dapat lebih memahami fungsi F, tahapannya dapat dilihat pada Gambar III.2 berikut ini :

(67)

Gambar III.2. Fungsi F dalam Blowfish

Dekripsi sama persis dengan enkripsi, kecuali bahwa P1, P2,…, P18 digunakan pada urutan yang berbalik (reverse). Algoritmanya dapat dinyatakan sebagai berikut :

for i = 1 to 16 do XRi = XLi-1 _ P19-i;

XLi = F[XRi] _ XRi-1;

XL17 = XR16 _ P1;

XR17 = XL16 _ P2;

Blok diagram dekripsi seperti pada Gambar III.3 berikut ini :

(68)

44

Gambar III.3. Blok Diagram Dekripsi Blowfish

(69)

III.3. Desain Sistem

Dalam proses perancangan ini akan akan membarikan beberapa penjelasan mengenai beberapa rancangan aplikasi yang akan dikerjakan yang menggunakan perangkat android yaitu sebagai berikut:

III.3.1. Use Case Diagram

Use case diagram berfungsi untuk menggambarkan kegiatan aktor atau pengguna aplikasi, adapun use case diagram aplikasi yang dirancang dapat dilihat pada gambar III.4 berikut.

Actor

Splash Menu Utama Read SMS

Keamanan SMS Draft

New SMS

Send SMS InBox Send Box

InBox

<Include>

<Extend> <Include>

<Include>

<Include> <Include>

<Include> <Include>

<Include>

<Extend>

Perancangan Aplikasi Pengamanan Teks SMS Dengan Implementasi Algoritma Blowfish Pada Perangkat Mobile Phone Andoid

Gambar III.4. Use Case Diagram

Dari gambar use case diagram diatas, pengguna memulai aplikasi dan memilih menu sms .

III.3.2. Activity Diagram

Pada activity diagram dibawah ini menggambarkan proses yang berjalan pada aplikasi android terdapat beberapa menu yang ditampilkan.Proses yang

(70)

46

Android Sistem

Menjalankan Aplikasi

Splash Logo Menu

New SMS

Inbox/OutBox

HelpProgram About Program

Exit

Form New SMS

Form Read SMS

Form About Program

Form Help Program

berlangsung terjadi setelah pengguna menjalankan aplikasi, yang dapat dilihat pada gambar III.5 berikut.

Gambar III.5. ActivityDiagramAndroid

Dari gambar Activty diagram diatas, proses aplikasi merupakan tahapan yang disajikan terhadap cara kerja aplikasi keamanan sms ketika digunakan oleh pengguna.

III.3.3. Sequence Diagram

Sequence diagram yang digunakan untuk menggambarkan sistem pada sebuah adegan untuk proses penggunaan aplikasi. Berikut ini adalah Sequence diagram yang dirancang

Gambar

Tabel I.1. Keaslian Penelitian
Gambar II.1.  Penyederhanaan Jaringan SMS dan Aliran SMS  Sumber : Hendra : 2012 : 2
Gambar II.2.  Diagram Algoritma Enkripsi Blowfish  Sumber : Suriski Sitinjak ; 2010 : C-81
Gambar II.3.  Fungsi F dalam Blowfish  Sumber : Suriski Sitinjak ; 2010 : C-81
+7

Referensi

Dokumen terkait

dengan sistem kebudayaan lain adalah simbol-simboldalam agama yang menyatakan. kepada kita bahwa terdapat sesuatu “yang benar - benar riil”, yang

Pada saat perolehan, perusahaan hrs mengklasifikasi investasi dalam obligasi dan saham ke dalam salah satu dari ketiga kelompok berikut ini :.. Diperdagangkan, yaitu sekuritas

Penelitian ini dilakukan untuk menghasilkan rancangan produk baby walker yang dapat memenuhi kebutuhan konsumen dengan meningkatan keamanan produk dan bermanfaat

bahwa berdasarkan pertimbangan sebagaimana dimaksud dalam huruf a dan huruf b, perlu menetapkan Peraturan Bupati Bantul tentang Penyesuaian Tarif Retribusi

Kurangnya informasi ke masyarakat tentang sekolah, kurangnya komunikasi antara guru, siswa, dan wali murid mengenai laporan nilai mata pelajaran siswa dan

Dalam penelitian dengan judul “Sistem Informasi Akademik pada MA Islamiyah Attanwir Bojonegoro Berbasis Web dengan menggunakan CodeIgniter ” dijelaskan

Proses pembelajaran yang sudah dilaksanakan, pasti ada hasil yang akan didapat yaitu berupa hasil belajar siswa. Untuk mengetahui hasil belajar siswa diperlukan suatu

Menindaklanjuti Surat Edaran dari Sekretariat Daerah Kota Yogyakarta Tanggal 26 Maret 2018 Nomor : 027/968/SE/2018 tentang Usulan RKMBD Pemerintah Kota Yogyakarta Tahun