• Tidak ada hasil yang ditemukan

Implementasi kriptografi menggunakan algoritma RSA untuk mengamankan SMS Berbasis J2ME

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi kriptografi menggunakan algoritma RSA untuk mengamankan SMS Berbasis J2ME"

Copied!
202
0
0

Teks penuh

(1)

Oleh :

Kiki Maria Al Qibtiyah

106091002941

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UIN SYAHID JAKARTA

JAKARTA

(2)

v

KIKI MARIA AL QIBTIYAH, Implementasi Kriprografi Menggunakan Algoritma RSA Untuk Mengamankan SMS Berbasis J2ME, dibimbing oleh Khodijah Hulliyah, M.Si dan Fitri Mintarsih,M.Kom.

Pada tugas akhir ini dibangun suatu perangkat lunak pengiriman teks yang berguna untuk meningkatkan keamanan pesan yang terjadi pada komunikasi melalui SMS. SMS merupakan suatu komunikasi yang saat ini banyak digunakan oleh semua orang, karena efisien dan biayanya yang murah. SMS yang bersifat penting sangat diharapkan dalam pengirimannya dapat dikirimkan dengan aman kepada penerima, akan tetapi dengan fasilitas sekarang sangat dimungkin informasi SMS dapat dibaca oleh pihak-pihak tertentu. Oleh karena itu, diperlukan adanya suatu mekanisme yang dapat menjaga kerahasiaan pesan penting tersebut. Salah satu metode menjaga kerahasian pesan yakni algoritma RSA, yang memfaktorkan 2 bilangan prima yang besar yang hanya dapat dihitung oleh komputer. Pada tugas akhir ini, penulis berusaha mengimpelementasikan aplikasi enkripsi SMS pada handphone yang berbasis Java 2.0 dengan menggunakan simulasi wireless toolkit 2.5.2. Aplikasi enkripsi ini dianalisis dari waktu respon dan penggunaan memori serta keamanan pada enkripsi dan dekripsi pesan. Dari hasil percobaan, algoritma RSA merupakan salah satu algoritma yang tepat untuk digunakan dalam proses enkripsi pada handphone. Tetapi, dalam hal ini penulis menekankan pada hasil implementasi kriptografi RSA ini bukan segi keamanan data.

(3)

vi

(4)

viii

LEMBAR JUDUL ...

i

LEMBAR PERSETUJUAN DOSEN

...

ii

HALAMAN PENGESAHAN. ...

iii

HALAMAN PERNYATAAN...

iv

ABSTRAK ...

v

KATA PENGANTAR.. ...

vi

DAFTAR ISI ... viii

DAFTAR GAMBAR ...

xii

DAFTAR TABEL ... xiv

DAFTAR LAMPIRAN ...

xv

BAB I.

PENDAHULUAN ...

1

1.1 Latar Belakang ...

1

1.2 Rumusan Masalah ...

2

1.3 Batasan Masalah ...

4

1.4 Tujuan dan Manfaat Penulisan………...

4

1.4.1 Tujuan Penulisan...

4

1.4.2 Manfaat Penulisan...

4

1.5 Metode Penelitian ...

5

1.5.1 Metode Pengumpulan Data. ...

5

1.5.2 Metode Pengembangan Sistem. ...

6

1.6 Sistematika Penulisan ...

8

BAB II.

LANDASAN TEORI ...

10

2.1

Keamanan Sistem Komputer...

10

(5)

ix

2.1.2 Aspek-aspek Keamanan Komputer...

11

2.3 Teknik-teknik Pengenalan Kriptografi. ...

12

2.3 Pengenalan Sistem Kriptografi...

12

2.3.1 Prinsip Dasar Kriptografi ...

23

2.3.2 Terimnologi Dalam Kriptografi...

24

2.4 Algoritma Kriptografi ...

25

2.4.1 Algoritma Kriptografi simetris ...

26

2.4.2 Algoritma Kriptografi asimetris ...

27

2.5 Algoritma RSA ...

28

2.5.1 Pembangkitan Kunci ...

29

2.5.2 Proses Enkripsi SMS...

30

2.5.3 Proses Dekripsi SMS...

30

2.5.4 Teori Bilangan RSA. ...

30

2.5.4.1 Pembagi Bersama. ...

30

2.5.4.2 Pembagi Bersama Terbesar. ...

30

2.5.4.3 Bilangan Prima...

31

2.5.4.4 Aritmetika Modulo...

31

2.6 Standard ASCII ...

31

2.7 Java. ...

38

2.8 Java2 Micro Edition (J2ME). ...

39

2.8.1 Pengertian J2ME...

39

2.8.2

Connected Limited Configuration

(CLDC)...

41

2.8.3

Connected Device Configuration

(CDC). ...

41

2.8.4

Mobile Information Device Profile

(MIDP)...

42

2.8.5

Kilobyte Virtual Machine

(KVM)...

42

2.8.6

C-Virtual Machine. ...

43

2.8.7 MIDLET. ...

43

2.8.7.1 Daur Hidup Midlet. ...

43

(6)

x

2.8.8 JAD

(Java Application Descriptor). ...

44

2.8 RMS

(Record Management System).

...

44

2.9 UML

(Unified Modelling Language).

...

45

2.9.1 Definisi UML...

45

2.10 SMS

(ShorMessage Service ).

...

52

2.11 RUP (Rational Unified Process)...

59

2.11.1 Fase RUP. ...

61

2.12 Skripsi Pembanding. ...

63

BAB III. METODE PENELITIAN ...

64

3.1 Metode Pengumpulan Informasi dan Data ………..

64

3.2 Metodologi Pengembangan Sistem ...

66

3.2.1 Inception ...

67

3.2.2 Elaboration...

67

3.2.3 Construction...

69

3.2.3.1 Implementasi. ...

70

3.2.3.1.1 Coding...

70

3.2.3.1.2 Testing...

70

3.2.4 Transition...

70

BAB IV. ANALISA DAN PERANCANGAN SISTEM ...

73

4.1

Inception

...

73

4.2

Elaboration

...

74

4.2.1 Analisis. ...

74

4.2.1.1 Analisis Masalah...

74

4.2.1.2 Analisis Perayaratan...

79

4.3.1.3 Analisis Keputusan. ...

83

4.2.2 Perancangan Aplikasi.. ...

85

(7)

xi

4.4.2.2 Use Case Diagram. ...

87

4.4.2.3 Use Case Scenario. ...

88

4.4.2.4 Activity Diagram. ...

93

4.4.2.5 Sequence Diagram...

98

4.4.2.6 Class Diagram. ... 103

4.4.2.7 Spesifikasi Sistem yang diusulkan ... 109

4.4.2.7.1 Rancangan Pembangkitan Kunci... 109

4.4.2.7.2 Contoh Kasus RSA. ... 116

4.2.2. 8 Perancangan

User Interface

. ... 123

4.3

Contruction

... 127

4.3.1 Implementasi Sistem . ... 127

4.3.1.1 Coding Aplikasi... 128

4.3.1.2 Testing ... 128

4.4

Transition

. ... 135

4.4.1 User Manual. ... 135

BAB V. PENUTUP.

... 136

5.1 Kesimpulan ... 136

5.2 Saran ... 137

(8)

xii

Halaman

Gambar 2.2 : Model Sistem Kriptografi Simetris ... 27

Gambar 2.3 : Model Sistem Kriptografi Asimetris ... 28

Gambar 2.3 : Karakter ASCII. ... 32

Gambar 2.4 : Arsitektur J2ME ... 39

Gambar 2.5 : Ruang Lingkup CLDC dan CDC... 40

Gambar 2.6 : Hubungan J2ME dan J2SE... 40

Gambar 2.7 : CLDC ... 41

Gambar 2.8 : Alur Hidup MIDLET ... 43

Gambar 2.9 : Arsitektur GSM... 53

Gambar 2.10: Diagram Alir SMS Mobile Terminating ... 55

Gambar 2.11: Diagram Alir SMS NO... 57

Gambar 2.12: Arsitektur Rational Unified Process ... 60

Gambar 3.1 : Tahapan RUP... 67

Gambar 3.2 : Kerangka Berfikir ... 71

Gambar 4.1 : Alir Kerja Sistem Yang Diusulkan ... 84

Gambar 4.2 : Use Case Diagram... 87

Gambar 4.3 : Activity Diagram Dari Use Case Kirim SMS ... 94

Gambar 4.4 : Activity Diagram Dari Use Case Inbox ... 34

Gambar 4.5 : Activity Diagram Dari Use Case Outbox... 96

Gambar 4.6 : Activity Diagram Dari Use Case Terima SMS... 97

Gambar 4.7 : Activity Diagram Dari Use Case Bantuan ... 98

Gambar 4.8: Sequence Diagram Dari Use Case Kirim SMS ... 99

Gambar 4.9 : Sequence Diagram Dari Use Case Inbox ... 100

Gambar 4.10: Sequence Diagram Dari Use Case Outbox... 101

Gambar 4.11: Sequence Diagram Dari Use Case Terima SMS ... 102

Gambar 4.12: Sequence Diagram Dari Use Case Bantuan ... 103

(9)

xiii

Gambar 4.17: Flowchart Proses Dekripsi Algoritma RSA ... 115

Gambar 4.18: Rancangan Tampilan Awal Aplikasi ... 123

Gambar 4.19: Rancangan Menu Utama ... 123

Gambar 4.20: Perancangan Tampilan Kirim SMS ... 124

Gambar 4.21: Perancangan Tampilan Terima SMS. ... 124

Gambar 4.22: Perancangan Tampilan Inbox ... 125

Gambar 4.23: Perancangan Tampilan Outbox... 126

Gambar 4.24: Perancangan Bantuan ... 126

Gambar 4.26: Proses Pengiriman SMS di Pengujian 1 ... 131

Gambar 4.27: Proses Penerimaan SMS di Pengujian 1 ... 132

Gambar 4.28: Proses Pengiriman SMS di Pengujian 2 ... 133

Gambar 4.29: Proses Penerimaan SMS di Pengujian 2 ... 133

Gambar 4.30: Proses Pengiriman SMS di Pengujian 3 ... 134

(10)

xiv

Tabel 2.1 : Perbandingan CLDC dan CDC... 42

Tabel 2.2 : Penyimpanan Record Dalam RecordStore ... 44

Tabel 2.3 : Notasi UML ... 50

Tabel 4.1 : Cause and Effect Objectives... 78

Tabel 4.2 : System Improvement Objectives ... 79

Tabel 4.3 : Nonfunctional Requirement ... 81

Tabel 4.4 : Perbedaan Objek-objek dalam Model Bisnis dan Model Sistem85 Tabel 4.5 : Requiremeny Actor dan Use Case ... 86

Tabel 4.6 : Use Case Scenario Kirim SMS ... 88

Tabel 4.7 : Use Case Scenario Inbox... 89

Tabel 4.8 : Use Case Scenario Outbox ... 91

Tabel 4.9 : Use Case Terima SMS ... 92

Tabel 4.10 : Use Case Bantuan ... 93

Tabel 4.11 : Daftar Operasi Dari Kelas Kirim SMS ... 105

Tabel 4.12 : Daftar Atribut Dari Kelas Kirim SMS ... 105

Tabel 4.13 : Daftar Operasi Dari Kelas Ekripsi SMS ... 106

Tabel 4.14 : Daftar Operasi Dari Kelas Receive SMS ... 106

Tabel 4.15 : Daftar Atribut Dari Kelas Receive SMS ... 107

Tabel 4.16 : Daftar Atribut Dari Kelas Outbox ... 108

Tabel 4.17 : Daftar Atribut Dari Kelas Inbox ... 108

Tabel 4.18 : Hasil Pengujian Program... 129

Tabel 4.19 : Kesimpulan Hasil Pengujian 1... 130

Tabel 4.20 : Kesimpulan Hasil Pengujian 2... 132

(11)
(12)

BAB I

PENDAHULUAN

1.1. Latar Belakang Masalah

Dengan perkembangan teknologi yang sangat pesat dapat membantu hidup manusia lebih mudah dan lebih efisien terutama dalam bidang komunikasi. Komunikasi jarak jauh dapat kita lakukan dengan bantuan teknologi nirkabel (tanpa kabel), dengan tekonologi nirkabel ini kita dapat berkomunikasi kapan saja dan dimana saja tanpa dibatasi kabel yang berada di area cakupan infrastruktur nirkabel tersebut.

Contoh produk dari perkembangan teknologi nirkabel ini adalah SMS (Short Message Service). Penggunaan SMS telah mengalami pengembangan saat ini di berbagai lapisan masyarakat. Namun seiring dengan berkembangnya teknologi membuat SMS yang kita gunakan bisa saja diketahui orang lain dengan cara menyadapnya. Berikut aadalah contoh kasus penyadapan yang ditulis di blog Attayaya.

(13)

menyadap sms pasangan suami istri yang sedang ber-SMSan. Pembicaraan melalui sms antara Ayu seorang istri dan ibu rumah tangga yg baik dengan suaminya Hary seorang PNS di salah satu departemen yang kerja/jabatannya sangat menentukan dalam mengesahkan suatu proyek. Dalam artikel tersebut ditemukan, bahwa Atta memiliki alat yang bisa menyadap komunikasi berbentuk SMS. Tidak menutup kemungkinan juga bahwa komunikasi verbal juga bisa disadap oleh Atta . Begitulah realita bahwa teknologi yang semakin canggih saat ini memungkinkan orang lain dengan mudah masuk ke dalam kehidupan pribadi kita (http://www.attayaya.net/2009/04/kpk-menyadap-telepon.html)

Untuk mencegah terjadinya penyelusupan terhadap informasi-informas kita yang kmgkinan disadap orang lain, maka dalam berkomunikasi menggunakan SMS harus menggunakan enkripsi SMS agar tdak menjadi korban penyadapan maka perlu ditambahkan aplikasi untuk mengamankan SMS. Metode yang digunakan untuk meningkatkan keamanan dalam aplikasi enkripsi dan dekripsi pesan SMS ini adalah metode RSA. Dengan metode RSA ini diharapkan dapat meningkatkan keamanan pada layanan SMS.

(14)

Berdasarkan atas informasi diatas, penulis membuat sebuah implementasi dengan menerapkan metode Algoritma Kriptografi RSA dengan J2ME yang diimplementasikan kedalam software di HP. Didalam pengimplementasian aplikasi ini komunitas penggunanya diberi tambahan password yang telah mereka sepakati dan hanya diketahui oleh komunitas tersebut. Dalam skripsi ini penulis membuat pengimplementasian kriptografi RSA untuk mengamankan SMS dengan judul “IMPLEMENTASI KRIPTOGRAFI MENGGUNAKAN ALGORTIMA RSA UNTUK MENGAMANKAN SMS BERBASIS J2ME ”.

1.2. Perumusan Masalah

Berdasarkan latar belakang diatas, yang menjadi rumusan masalah dalam skripsi ini adalah sebagai berikut:

1. Bagaimana mengimplementasikan algoritma RSA ke dalam Aplikasi Pengamanan Pada SMS di telepon seluler??

(15)

1. 3. Batasan Masalah

Adapun batasan masalah dalam penulisan tugas akhir ini:

1. Perancangan program enkripsi-dekripsi SMS ini menggunakan bahasa Java diimplementasikan melalui J2ME pada tpn slluler yang digunkn.

2. Analisis Keamanan tidak akan dibahas

3. Dalam melakukan perancangan aplikasi, penulis menggunakan Unified Modelling Language (UML) sebagai tools-nya.

4. Aplikasi yang dibangun akan terpisah dari aplikasi SMS standart pada telepon selluler.

5. Telepon seluler yang digunakan adalah Samsung 6270 dengan spesifikasi CLDC 2.0 dan WMA 1.1

1.4 Tujuan dan Manfaat Penelitian

1.4.1 Tujuan Penelitian

Tujuan penyusunan tugas akhir (skripsi) ini secara umum adalah untuk mengimplementasikan suatu algoritma kriptografi yang dapat diterapkan untuk mengamankan SMS.

1.4.2 Manfaat Penelitian

Adapun Manfaat Penelitian dari penelitian ini adalah:

(16)

a. Mengetahui lebih mendalam tentang kriptografi(tentang pembuatan, fungsi dan kegunaannya).

b. Menerapkan kriptografidalam suatu aplikasi SMS.

c. Untuk memenuhi salah satu syarat kelulusan strata satu (S1), Teknik Informatika, Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta.

2. Bagi Pengguna

a. Dapat mengamankan data-data SMS. 3. Bagi Universitas

a. Mengetahui kemampuan mahasiswa dalam menguasai materi pelajaran yang diperoleh dibangku kuliah.

b. Mengetahui kemampuan mahasiswa dalam menerapkan ilmunya dan sebagai bahan evaluasi.

c. Memberikan gambaran tentang kesiapan mahasiswa dalam menghadapi dunia kerja yang sebenarnya.

1.5 Metode Penelitian

1.5.1 Metode Pengumpulan Data

(17)

a. Studi Pustaka

1) Mempelajari buku-buku atau dokumen-dokumen dan artikel-artikel yang berhubungan dengan teknologi SMS, teknik mengamankan pesan dengan kriptografi.

2) Menganalisa bahasa pemrograman yang sesuai untuk perangkat bergerak seperti telepon seluler. Pustaka-pustaka yang dijadikan acuan dapat dilihat di Daftar Pustaka.

3) mempelajari penelitian sebelumnya yaitu enkripsi SMS dibangun untuk telepon sellular yang memanfaatkan bidang kriptografi seperti metode RC4, vigener chipper, dan metode RSA yang akan diimplementasikan penulis.

1.5.2 Metode Pengembangan Sistem

Metode yang penulis gunakan dalam melakukan perancangan dan pengembangan sistem yaitu menggunakan metodologi Rational Unified Process (RUP) tahapannya adalah:

1. Inception

(18)

2. Elaboration

Pada tahap ini setelah penulis mengadakan observasi, hasil dari observasi tersebut kemudian penulis melakukan identifikasi masalah yang terjadi pada sistem yang sedang berjalan, dan menentukan alur bisnis dan aplikasi serta wilayah persoalan data yang akan didukung oleh sistem yang akan dikembangkan serta ditentukan pula jangkauan atau batasan sistem.

3. Construction

Setelah mengetahui definisi aplikasi yang akan dibuat, yang meliputi analisis terhadap sistem, maka tahapan berikutnya adalah melakukan perancangan (design). Perancangan yang dimaksud meliputi perancangan aplikasi dan perancangan antarmuka (interface)

aplikasi sendiri, penulis melakukan perancangan Graphical User Interface (GUI) dari aplikasi ini. Pada tahap ini penulis melakukan

(19)

4. Transition

Pada tahap ini penulis membuat apa yang sudah dimodelkan ditahapan-tahapan sebelumnya menjadi suatu barang yang layak jadi.

1.6 Sistematika Penulisan

Adapun untuk sistematika penulisan skripsi ini terdiri dari 5 bab, yaitu :

BAB I : PENDAHULUAN

Bab ini berisikan Latar Belakang Masalah, Perumusan Masalah, Batasan Masalah, Tujuan dan Manfaat Penelitian, Metodologi Penelitian dan Sistematika Penelitian.

BAB II : LANDASAN TEORI

Bab ini berisi tentang segala macam teori serta konsep yang berkaitan dengan penelitian, seperti java, J2ME.

BAB III : METODOLOGI PENELITIAN

Bab ini membahas tentang bagaimana dan seperti apa metodologi yang digunakan dalam melakukan penelitian, mulai dari tahap pengumpulan data sampai pada tahap pengembangan aplikasi.

BAB IV : ANALISA DAN PERANCANGAN SISTEM

(20)

BAB V : KESIMPULAN DAN SARAN

(21)

10

BAB II

LANDASAN TEORI

2.1 Keamanan Sistem Komputer

Sistem keamanan komputer (Janner Simarmata, 2006) digunakan untuk menjamin agar sumber daya/informasi tidak digunakan atau dimodifikasi orang yang tidak diotorisasi. Pengamanan termasuk masalah teknis, manajerial, dan legalitas.

2.1.1 Ancaman Keamanan

Masalah keamanan merupakan salah satu aspek terpenting dari sebuah sistem informasi. Masalah keamanan seringkali kurang mendapat perhatian dari para perancang atau pengelola sistem informasi. Setingkali masalah keamanan berada diurutan setelah tampilan, atau bahkan diurutan terakhir dalam daftar hal-hal yang dianggap penting.

Semakin majunya bidang teknologi informasi membuat banyaknya pertukaran informasi setiap detik melalui jaringan Internet. Ancaman keamanan yang terjadi terhadap informasi adalah (Dony Ariyus, 2008) :

Interruption : merupakan suatu ancaman yang ada dalam sistem komputer dengan dirusak, dihapus sehingga jika data dibutuhkan tidak ada lagi.

Interception : Ancaman terhadap kerahasiaan ( secrecy ).

(22)

Modifikasi : Ancaman terhadap Integritas. Orang yang tidak berhak berhasi menyadap lalu lintas informasi yang sedang dikirim dan dirubah dengan keinginan orang tersebut.

Fabrication : Ancaman terhadap Integritas. Orang yang tidak berhak berhasil meniru/ memalsukan suatu informasi.

2.1.2 Aspek – aspek keamanan komputer

Aspek keamanan komputer meliputi delapan aspek, diantaranya (Dony Ariyus, 2008) :

Authentication : Penerima informasi dapat memastikan keaslian pesan tersebut datang dari orang yang benar dikehendaki.

Integrity: Keaslian pesan yang dikirim memalui sebuah jaringan dapat dipastikan bahwa informasi tersebut tidak dimodifikasi oleh orang yang tidak berhak.

Nonrepudiation: si pengirim tidak dapat mengelak bahwa dialah yang mengirim informasi tersebut.

Authority: Informasi yang berada pada sistem jaringan tidak dapat dimodifikasi oleh orang yang tidak berhak.

Confidentiality: Usaha untuk menjaga informasi dari orang yang tidak berhak.

Privacy: Lebih kearah data-data yang bersifat pribadi.

(23)

Access Control : Aspek ini berhubungan dengan cara pengaturan akses kepada informasi. Akses kontrol seringkali dilakukan dengan menggunakan kombinasi user id dan password atau mekanisme lainnya.

2.2 Teknik-Teknik Kriptografi 1.Teknik Substitusi

Substitusi merupakan penggantian setiap karakter teks-asli dengan karakter lain.

Terdapat empat istilah substitusi kode, antara lain:

1. Monoalphabet: setiap karakter kode menggantikan slah satu karakter teks-asli.

2. Polyalphaber: setiap karakter teks-kode dapat menggantikan lebih dari satu macam karakter teks-asli.

3. Monograf: satu enkripsi dilakukan terhadap satu karakter teks-asli.

4. Polygraph: satu enkripsi dilakukan terhadap lebih dari satu karakter teks-asli.

A. Kode Kaisar

Substitusi kode ysng pertama dalm dunia penyandian terjadi pada pemerintahan Yulius Caesar yang dikenal dengan kode Kaisar, dengan mengganti posisi huruf awal dari alphabet atau disebut juga dengan algoritma ROT3.

Caesar Chiper (ROT3)

Plain Text Encoded Text

ABC DEF

Hello Khoor Attack Dwwdfn

A B C D E F G H I J K L M N O P Q R S T U V W X Y

(24)

Secara lebih detail, coba perhatikan contoh berikut:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Menjadi:

D E F G H I J K L M N O P Q R S T U V W X Y Z A B C 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2

Jika penggeseran yang dilakukan sebanyak tiga kali maka kunci untuk dekripsinya adalah 3. Penggeseran kunci yang dilakukan tergantung keingina pengirim pesan. Bila saja kunci yang dipakai a = 7, b = 9, dan seterusnya.

Contoh algoritma kode Kaisar: Untuk asli diberikan symbol “P” dan teks-kodenya “C” dan kunci “K”. Jadi rumusnya dapat dibuat sebagai berikut:

C=E(P) = (P+K) mod (26)

Pada contoh diatas kita bisa memasukkan kunci dengan nilai tiga sehingga menjadi:

C=E(P) = (P+3) mod (26)

Rumus dekripsinya menjadi seperti berikut: P = D(C) = (C-K) mod (26)

Dari contoh diatas, dengan memasukkan kunci tiga, maka: P = D(C) = (C-3) mod (26)

Jika diberikan teks-asli sebagai berikut:

GEMPA DI YOGYA MENELAN KORBAN TIDAK SEDIKIT DAN SAMPAI SEKARANG MASIH MENYISAKAN TRAUMA BAGI ORANG-ORANG KOTA GUDEG.

Dengan menggunakan kunci tiga maka akan didapat teks-kode berikut:

(25)

B. Kode Geser

Teknik Substitusi kode geser (shift) dengan modulus 26 memberikan angka ke setiap alphabet seperti a ←→ 0, B ←→ 1 ……….. Z ←→ 25. Agar lebih jelas, perhatikan contoh dibawah ini:

A B C D E F G H I J K L M 0 1 2 3 4 5 6 7 8 9 10 11 12

Teks-asli: “We Will Meet a Mid Night”

Kalimat di atas mendapat angka dari setiap huruf sebagai berikut: 22 4 22 8 11 11 12 4 4 19 0 19 12 8 3 13 8 6 7 19

Untuk mendapatkan teks-kode, kita mempunyai kunci 11. Dengan menambahkan setiap nilai dari teks-asli dengan kunci 11 maka didapat:

7 15 7 19 22 22 23 15 15 4 11 4 23 19 14 24 19 17 18 4

Jika lebih dari 20, setelah ditambah dengan kunci mka akan dikurangi dengan 26. Misalnya, 22+11= 33-26=7. Setelah dikonversi menjadi huruf maka akan didapatkan teks-kode:

“HPHTWWXPPELEXTOYTRSE” Teks- asli : We will meet a mid night”

Teks-kode : HPHTWWXPPELEXTOYTRSE” Kunci : 11

C. Kode Hill

Kode Hill termasuk salah satu system kripto polialfabetik, yang berarti setiap karakter alphabet bisa dipetakan ke lebih dari satu macam karakter. Kode ini ditemukan pada tahun 1929 oleh Lester S. Hill. Misalkan m adalah bilangan bulat positif, dan P = C = (Z ) . Ide dari kode Hilladalah dengan mengambil m kombinasi linear dari m karakter dalam satu elemen teks-asli sehingga dihasilkan

(26)

m alphabet karakter dalam satu elemen teks-asli.

Misalkan m = 2 maka dapat ditulis suatu elemen teks-asli sebagai x = (x1 , x2)

dan suatu elemen teks-kode sebagai y = (y1, y2). Di sini y1, y2 adalah kombinasi linear dari x1 dan x2. Misalkan:

Y1 = 11x1+ 3x2 Y2 = 8x1 + 7x2

Dapat ditulis dalam notasi matriks sebagai berikut:

Secara umum dengan menggunakan matriks K m x m sebagai kunci. Jika elemen pada baris I dan kolom j dari matriks K adalah kI,j, maka dapat ditulis K = ( kI,j). Untuk x = (x1, …. , xm) € P dan K K, dihitung y = ek (x) = (y1, …, ym)

Sebagai berikut:

dengan kata lain, y = xK

Dikatakan bahwa teks-kode diperoleh dari teks-asli dengan cara transformasi linear. Untuk melakukan dekripsi menggunakan matriks inverse K-1, dekripsi dilakukan dengan rumus y = xK-1.

1. Perkalian matriks memiliki sifat asosiatif, yaitu (AB)C = A(BC).

2. Matriks identitas m x m, yang ditulis dengan Im, adalah matriks yang berisi 1 pada diagonal pertama dan berisi 0 pada elemen lainnya.

(27)

Im disebut disebut dengan matriks identitas karena AIm = A untuk sembarang

matriks 1 x m dan ImB = B untuk sembarang matriks m x n.

3. Matriks inverse dari A (jika ada) adalah A-1dimana AA-1 = A-1 A = Im.

Dengan menggunakan sifat-sifat matriks diatas, maka:

Y= Xk

Yk-1 = (Xk)K-1= x(KK-1)= x Im=x

Contoh:

Dapat dilihat bahwa matriks enkripsi pada contoh sebelumnya memiliki invers pada Z26:

11 8 7 18

3 7 23 11 Karena

11 8 7 18 11*7+8*23 11*18+8*11 3 7 23 11 3*7+7*23 3*18+7*11

= 261 286 182 131

= 1 0 0 1

Sebuah contoh untuk memberikan gambaran tentang enkripsi dan dekripsi dalam kode Hill.

Misalkan kunci yang diapakai adalah: 11 8

K =

3 7

Dari perhitungan diatas diperoleh bahwa: 7 18

K-1 =

23 11

untuk mengenkripsi teks-asli JULY, ada 2 elemen teks-asli untuk dienkripsi: 1. (9,20) → JU

2. (11,24) → LY

Kemudian lakukan perhitungan berikut:

(28)

dan

(11 , 24) = (121+72 , 88+168) = (11 , 22) → LW

sehingga enkripsi untuk JULY adalah DELW. Untuk mendekripsi dilakukan dengan cara:

(3 , 4) = (9 , 20)

Dan

(11 , 22) = (11 , 24)

sehingga teks-asli diperoeh kembali.

Dekripsi hanya mungkin dilakukan jika matriks K memiliki inverse. Suatu matriks K memiliki inverse jika dan hanya jika determinannya tidak nol.

Namun karena Z26 maka matriks K memiliki inverse modulo 26 jika dan hanya jika gcd (det K, 26)=1.

Untuk matriks A = (ai,j) berukuran 2 x 2, nilai determinannya adalah: det A = a1,1a2,2 – a1,2a2,1)

dan matriks inverse dari A adalah:

a2,2 -a1,2 A-1 = (det A)-1

-a2,1 a1,1

Contoh:

11 8 K =

3 7 maka

11 8

det K = det = 11*7-8*3 mod 26 3 7

(29)

Kemudian 1-1 mod 26 = 1, sehingga matriks inversenya adalah: 11 8 -1 7 18

K-1 = =

3 7 23 11

Contoh:

Kode Hill dengan menggunakan matriks 3 x 3 dengan kunci matriks (4 2 3; 6 3 3; 3 1 2).

Diketahui teks-asli berikut: “KENAIKAN HARGA BBM MEMBUAT RAKYAT KECIL MENDERITA”.

D. Kode Vigenere

1. Angka

Teknik substitusi Vigenere dengan menggunakan angka dilakukan dengan menukarkan huruf dengan angka, hampir sama dengan kode geser.

A B C D E F G H I J K L M 0 1 2 3 4 5 6 7 8 9 10 11 12

N O P Q R S T U V W X Y Z 13 14 15 16 17 18 19 20 21 22 23 24 25

Kunci dengan 6 huruf kode jika ditukar dengan angka akan menjadi K = (2, 8, 15, 7, 4, 17), dan teks-aslinya “This Cryptosystem is Not Secure”.

T H I S C R Y P T O S Y S T 19 7 8 18 2 17 24 15 19 14 18 24 18 19

2 8 15 7 4 17 2 8 15 7 4 17 2 8 21 15 23 25 6 8 0 23 8 21 22 15 20 1

(30)

15 7 4 17 2 8 15 7 4 17 2 8 15 19 19 12 9 15 22 8 25 8 19 22 25 19

Teks-asli : This cryptosystem is not secure Kunci : (2, 8, 15, 7, 4, 17)

Teks-kode : VPXZGIAXIVWPUBTTMIJPWIZITWZT)

2. Teknik Transposisi

Di atas kita sudah mengenal teknik substitusi kode. Pada bagian ini akan dinahas teknik permutasi (transposisi kode). Teknik ini menggunakan permutasi karakter, yang mana dengan menggunakan teknik ini pesan yang asli tidak dapat dibaca kecuali oleh orang yang memiliki kunci untuk mengembalikan pesan tersebut ke bentuk semula. Sebagai contoh:

Ada 6 kunci untuk melakukan permutasi kode:

Dan 6 kunci untuk inverse darinpermutasi tersebut:

Seandainya melakukan permutasi terhadap kalimat di bawah ini: “SAYA SEDANG BELAJAR KEAMANAN KOMPUTER”

Terlebih dahulu kalimat tersebut dibagi menjadi 6 blok dan apabila terjadi kekurangan dari blok bisa ditambah dengna huruf yang disukai. Dalam contoh ini ditambah dengan huruf X. Hal ini berguna untuk mempersulit analisis dari kode tersebut.

SAYA SEDANG BE LAJAR KEAMANAN KOMPUTER

Setelah dibagi menjadi 6 blok maka dengan menggunakan kunci di atas setiap blok akan berubah menjadi seperti dibawah ini:

(31)

Jadi teks-kode t yang dihasilkan:

“YSSEAANBDEGAJRLKAAMNEAAAOPNUMKRXTXXE”

Untuk mengembalikan ke bentuk teks-asli maka dilakukan inverse terhadap chipertext dengan mengikuti kunci nomor dua di atas. Ada banyak teknik untuk permutasi ini, seperti zig-zag, segitiga, spiral dan diagonal.

1. Zig-zag: memasukkan teks-asli dengan pola zig-zag seperti contoh di bawah ini:

A G A A M X Y S N B J R M N O P R A E A E A K A A K U E S D L E N T

2. Segitiga: masukkan teks-asli dengan pola segitiga dan dibacadari atas ke bawah.

S A Y A B E L A J R K E A M A N A N K O M P U T E R X X X X X X X X X X

Teks-kodenyaadalah:

“RAXRNXBKKXAEEOXSYLAMXAAMPXJAUXNTXEXX”

3. Spiral: teks-asli dimasukkan secara spiral dan dapat dibaca dari atas ke bawah. Lihat contoh di bawah ini:

(32)

R U P M O G A J A L E B

Teks-kodenya adalah:

“SAEKRAAMETUJYARXPAANXXMLSANKOEEDANGB”

4. Diagonal: Dengan menggunakan pola ini teks-asli dimasukkan dengan cara diagonal. Coba perhatikan contoh dibawah ini:

S D L E N E A A A A K R Y N J M O X A G A A M X E E K A U X Teks-kodenya adalah:

“SDLENEAAAAJRYNHMOXAGAAMXSBRNPXEEKAUX” Teknik transposisi (permutasi) memiliki bermacam-macam pola yang bisa digunakan untulk menyembunyikan pesan dari tangan orang-orang yang tidak berhak. Kombinasi tersebut merupakan dasar dari pembentukan algoritma kriptografi yang kita kenal sekarang ini (modern).

3. Enkripsi Super

(33)

Diketahui teks-asli:

“KENAIKAN HARGA BBM MEMBUAT RAKYAT KECIL MENDERITA” 1. Menggunakan teknik substitusi kode dengan memakai algoritma kode kaisar dengan kunci 6.

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z G H I J K L M N O P Q R S T U V W X Y Z A B C D E F

Teks-kode yang didapat:

“QKTGOQGTN GXMGHHSSKSHAGZQKIORSKTJKXOZG” 2. Menggunakan teknik transposisi kode (permutasi kode) dengan menggunakan teknik diagonal permutasi dengan kunci 4.

Q K T G O Q G T N G X M G H H S S K S H A G Z Q K I O R S K T J K X O Z G X X X

Maka didapat hasil akhir sebagai berikut:

(34)

2.3 Pengenalan Sistem Kriptografi 2.3.1 Prinsip Dasar Kriptografi

Kriptografi sudah dipergunakan sejak zaman Julius Caesar. Beliau pada saat itu akan mengirimkan pesan kepada panglimanya tetapi tidak mempercayai kurir sebagai pembawa pesan tersebut sehingga Julius Caesar mempunyai ide untuk menyandikan pesan tersebut dengan tujuan agar pesan tidak dapat dimengerti oleh orang yang tidak berhak. Sehingga munculah isilah kriptografi (cryptography) yang berasal dari bahasa Yunani yaitu “Crypto” yang berarti “secret” (rahasia) dan “graphy” yang berarti “writing” (tulisan) (Flourensia Sapti Rahayu, 2005).

Secara umum, kriptografi (Rinaldi Munir, 2004) adalah ilmu dan seni untuk menjaga kerahasiaan berita. Kriptografi (cryptography) dilakukan oleh seorang kriptografer.

Di zaman modern, pada mulanya kriptografi tidak cukup dikenali di masyarakat luas. Hanya di kalangan pemerintahan dan instansi-instansi tertentu, seperti militer saja kriptografi sering dipakai untuk mengamankan informasi yang bersifat rahasia. Namun terutama setelah diperkenalkannya

Dat Encryption Standard (DES) pada tahun 1976 oleh National Buraeu of Standard (NBS), maka kriptografi pun mulai dikenal secara luas untuk keperluan pengamanan informasi terutama yang berbentuk digital.

(35)

jaringan komputer berskala luas yang dipakai untuk berbagai keperluan telah pula mendorong berkembangnya kajian tentang sistem kriptografi

Masyarakat semakin didasarkan akan perlunya melindungi privacy

dan secrecy informasi yang bersifat individu, karena ancaman penyadapan maupun penyerangan pun kian tinggi dengan teknik-teknik yang semakin canggih.

2.3.2 Terminologi dalam Kriptografi

Istilah-istilah kriptografi yang digunakan dalam pembahasan ini selanjutnya akan selalu menunjukkan sistem enkripsi digital, yaitu sederetan bit ditransformasikan secara matematik atau fungsi logic menurut algortima tertentu menjadi deretan bit baru. Proses transformasi dari deretan bit yang lama menjadi deretan bit yang baru ini memerlukan elemen-elemen yang berupa (Erwan Susanto, 2005) :

1) Algoritma Kriptografi

Merupakan fungsi matematis yang digunakan untuk enkripsi dan dekripsi data.

2) Kunci Kriptografi

Satu set variabel yang terdiri dari urutan bit untuk mentransformasikan data.

Algoritma berfungsi melakukan transformasi terhadap data. Istilah

(36)

Disini terkenal istilah encipher atau encrypt (enkripsi), yang menunjukkan pada transformasi yang dilakukan disisi pengirim. Adapun decipher atau

decrypt adalah transformasi invers yang dilakukan pada sisi penerima. Masukkan algoritma pada proses enkripsi adalah data asli yang disebut

plaintext atau cleartext (teks asal), sedangkan keluarannya adalah data yang telah tertransformasi yang disebut ciphertext (teks tersandi).

Proses dekripsi yang dilakukan disisi penerima bertujuan untuk memperoleh kembali plaintext dari ciphertext. Adapun pesan yang ditransmisikan adalah dalam bentuk ciphertext sehingga orang yang menyadap media transmisi tidak akan memahami arti pesan yang diperolehnya. Kunci berfungsi sebagai pengontrol transformasi yang dilakukan algoritma terhadap plaintext maupun ciphertext. Usaha untuk memecahkan sistem kriptografi disebut dengan kriptanalisis sedangkan orang yang melakukannya disebut kriptanalis.

2.4 Algoritma Kriptografi

Algoritma kriptografi merupakan fungsi matematis yang digunakan untuk proses dekripsi dan enkripsi. Algoritma kriptografi ini bekerja dalam kombinasi dengan menggunakan kunci (key) seperti kata, nomer atau frase tertentu.

(37)

• Konfusi / pembingungan (confusion), dari plaintext sehingga sulit untuk direkonstruksikan secara langsung tanpa menggunakan algoritma dekripsinya

• Difusi / peleburan (difusion), dari plaintext sehingga karakteristik dari plaintext tersebut hilang. sehingga dapat digunakan untuk mengamankan informasi.

Algoritma kriptografi yang handal adalah algoritma kriptografi yang kekuatannya terletak pada kunci, bukan pada kerahasiaan algoritma itu sendiri.

Berdasarkan jenis kunci yang digunakannya, algoritma kriptografi dikelompokkan menjadi dua bagian, yaitu Algoritma Simetris (Algoritma konvensional) dan Algoritma Asimetris (Algoritma Kunci Publik).

2.4.1 Algoritma kriptografi simetris / private key algorithm.

(38)

Keamanan dari kunci simetrik ini tergantung dari kerahasiaan kunci. Apabila seorang penyusup dapat menemukan kunci (K) maka dengan mudahnya penyusup tersebut dapat membaca pesan yang sudah dienkripsi. Oleh karena itu, kunci simetris ini lebih dikenal dengan privat key. Contoh algoritma kriptografi kunci simetris adalah DES, 3DES, AES, IDEA dan lain-lain.

[image:38.612.147.540.61.407.2]

Gambar 2.1 model sistem kriptografi simetris

2.4.2 Algoritma kriptografi asimetris/ public key algorithm.

Konsep kriptografi kunci umum pertama kali dikemukakan oleh Whitfield Diffie dan Martin Hellman sebagai suatu terobosan di bidang kriptografi. Sistem ini muncul sebagai jawaban atas permasalahan bagaimana meminimasi pengguna kanal rahasia untuk keperluan pendistribusian kunci pada sistem kriptografi konvensional. Karena menggunakan kanal rahasia untuk pendistribusian kuncinya maka pada sistem ini membutuhkan lebih banyak memori dan waktu proses yang dibutuhkan untuk melakukan proses enkripsi juga lebih lama apabila dibandingkan dengan sistem kriptografi simetris.

(39)

Disebut kunci publik karena kunci yang digunakan pada proses enkripsi dapat diketahui oleh orang banyak tanpa membahayakan kerahasiaan kunci dekripsi, sedangkan kunci yang digunakan untuk proses dekripsi hanya diketahui oleh pihak yang tertentu (penerima). Mengetahui kunci publik semata tidak cukup untuk menentukan kunci rahasia. Pasangan kunci publik dan kunci rahasia menentukan sepasang transformasi yang merupakan invers satu sama lain, namun tidak dapat diturunkan satu dari yang lain.

Gambar 2.2 model sistem kriptografi asimetris

2. 5 Algoritma RSA (RIVEST SHAMIR ADLEMAN)

Algoritma RSA ( Rinaldi Munir, 2004 ) dibuat oleh 3 orang peneliti dari MIT (Massachussets Institute of Technology) pada tahun 1976, yaitu: Ron (R)ivest, Adi (S)hamir, dan Leonard (A)dleman.

Dibidang kriptografi, RSA adalah sebuah algoritma pada enkripsi public key. RSA merupakan salah satu algoritma yang paling maju dalam bidang kriptografi public key. RSA masih digunakan secara luas dalam protokol

[image:39.612.139.528.61.430.2]
(40)

Menurut (Douglas R Stinson,1995) kekuatan dan keamanan algoritma RSA yaitu Kekuatan algoritma RSA terletak pada tingkat kesulitan dalam memfaktorkan bilangan non prima menjadi faktor primanya, yang dalam hal ini n

= pxq

2.5.1. Pembangkitan Kunci

1. Pilih dua buah bilangan prima sembarang, p dan q.

2. Hitung r = pq. Sebaiknya pq, sebab jika p=q maka r=p2 sehingga p

dapat diperoleh dengan menarik akar pangkat dua dari r. 3. Hitung (r) = (p – 1)(q – 1).

4. Pilih kunci publik, PK, yang relatif prima terhadap (r), (relatif prima berarti( GCD(PK, (r)) = 1)

5. Bangkitkan kunci rahasia dengan menggunakan persamaan yaitu SK

PK 1 (mod (r)).

Perhatikan bahwa SKPK 1 (mod (r)) ekivalen dengan SKPK = 1 +

m(r), sehingga SK dapat dihitung dengan

Akan terdapat bilangan bulat m yang menyebabkan memberikan bilangan bulat SK.

(41)

2.5.2. Proses enkripsi pesan

Plainteks disusun menjadi blok-blok x1, x2, …, sedemikian

sehingga setiap blok merepresentasikan nilai di dalam rentang 0 sampai r

– 1. Setiap blok xidienkripsi menjadi blok yi dengan rumus

yi = xi PK mod r

2.5.3. Proses dekripsi pesan

Setiap blok cipherteks yididekripsi kembali menjadi blok xi dengan rumus

xi = yiSK mod r

2.5.4 Teori Bilangan pada RSA

Banyak teori yang dapat membangun algoritma kriptografi. Salah satunya adalah teori bilangan yang merupakan teori mendasar dalam memahami teknik kriptografi khususnya untuk algoritma kriptografi RSA. Berikut adalah beberapa teorema yang mendukung terhadap proses enkripsi dan deskripsi pada algoritma RSA.

2.5.4.1 Pembagi Bersama

Misalkan a,b฀ Ζ, dengan a,b ≠ 0 . Bilangan bulat positif c

dikatakan pembagi bersama dari a dan b jika c | a dan c | b

(42)

Pembagi Bersama Terbesar ( greatest common divisor) dari a

dan b, ditulis gcd(a,b) .

2.5.4.2 Pembagi Bersama Terbesar (PBB)

Dua bilangan bulat a dan b dikatakan prima relatif atau

koprima jika gcd(a,b) = 1 ( Sukirman, 2004 ).

2.5.4.3 Bilangan Prima

Bilangan bulat lebih dari 1 dan tidak habis dibagi oleh sembarangan bilangan bulat positif selain 1 dan dirinya sendiri disebut bilangan prima. Bilangan bulat yang lebih besar dari 1 dan bukan prima disebut bilangankomposit.

2.5.4.4 Aritmetika Modulo

Aritmetika modulo (modular arithmetic) memainkan peranan yang penting dalam komputasi integer, khususnya pada aplikasi kriptografi. Operator yang digunakan pada aritmetika modulo adalah mod. Operator mod memberikan sisa pembagian. Misalnya 23 dibagi 5 memberikan hasil 4 dan sisa 3, sehingga kita tulis 23 mod 5 = 3.

2.6 Standar ASCII (America Standard Code for information Interchange)

Ascii atau kode standar amerika untuk pertukaran informasi merupakan suatu standar internasional dalam kode huruf dan symbol seperti Hex dan

(43)
[image:43.612.151.534.56.446.2]

Gambar 2.3 Karakter-karakter Ascii

Contoh Kasus RSA

a. Pembangkitan Kunci

 Pilih bilangan p dan q :

p = 47 dan q = 71 (keduanya prima)

 Selanjutnya, hitung nilai

r = pq = 3337 dan

(r)= (p – 1)(q – 1) = 3220.

(44)

 Selanjutnya akan dihitung kunci dekripsi SK dengan menggunakan persamaan :

79

)

3220

(

1

m

SK

Dengan mencoba nilai-nilai m = 1, 2, 3, …, diperoleh nilai SK yang bulat adalah 1019. Ini adalah kunci dekripsi yang harus dirahasiakan.

b. Proses Enkripsi

Misalkan plainteks yang akan dienkripsikan adalah

X = Keamanan Sistem Komputer

(45)

n : 110 Spasi : 32 r : 114

X=7510197109971109711032831051151161011093275111109112 117116101114

Pecah X menjadi blok yang lebih kecil, misalnya X dipecah menjadi enam blok yang berukuran 3 digit:

x1=751 x9=105 x17=911 x2=019 x10=115 x18=211 x3=710 x11=116 x19=711 x4=997 x12=101 x20=610 x5=110 x13=109 x21=111 x6=971 x14=327 x22=004 x7=103 x15=511

x8=283 x16=110

Ket : jika pada digit terakhir sisa 1 angka maka didepan angka tersebut ditambah 00, dan jika sisa 2 digit angka maka didepan angka tersebut ditambah 0.

Blok-blok plainteks dienkripsikan dengan rumus :

xi PK mod r

Ket : PK = 79, r = 3337

(46)

75179 mod 3337 = 3289= y1

01979 mod 3337 = 1265= y2

71079 mod 3337 = 1633= y3

99779 mod 3337 = 1436= y4

11079 mod 3337 = 2668= y5

97179 mod 3337 = 387= y6

10379 mod 3337 = 101= y7

28379 mod 3337 = 283= y8

10579 mod 3337 = 193= y9

11579 mod 3337 = 732= y10

11679 mod 3337 = 1031= y11

10179 mod 3337 = 1113= y12

10979 mod 3337 = 1864= y13

32779 mod 3337 = 856= y14

51179 mod 3337 = 1486= y15

11079 mod 3337 = 2668= y16

91179 mod 3337 = 447= y17

21179 mod 3337 = 127= y18

(47)

61079 mod 3337 = 1127= y20

11179 mod 3337 = 2237= y21

00479 mod 3337 = 2497= y22

Jadi, cipherteks yang dihasilkan adalah

Y=328912651633143626683871012831937321031111318648561486266 84471272415112722372497 22

c. Proses Dekripsi

Dekripsi dilakukan dengan menggunakan rumus

yi SK mod r

Ket : SK = 1019, r = 3337

Blok-blok cipherteks didekripsikan sebagai berikut: 32891019 mod 3337 = 751= x1

12651019 mod 3337 = 019= x2

1633mod 3337 = 710= x3

14361019 mod 3337 = 997= x4

26681019 mod 3337 = 110= x5

3871019 mod 3337 = 971= x6

1011019 mod 3337 = 103= x7

(48)

1931019 mod 3337 = 105= x9

7321019 mod 3337 = 115= x10

10311019 mod 3337 = 116= x11

11131019 mod 3337 = 101= x12

18641019 mod 3337 = 109= x13

8561019 mod 3337 = 327= x14

14861019 mod 3337 = 511= x15

26681019 mod 3337 = 110= x16

4471019 mod 3337 = 911= x17

1271019 mod 3337 = 211= x18

24151019 mod 3337 = 711= x19

11271019 mod 3337 = 610= x20

22371019 mod 3337 = 111= x21

24971019 mod 3337 = 4= x22

Blok plainteks yang lain dikembalikan dengan cara yang serupa. Akhirnya kita memperoleh kembali plainteks semula

X=7510197109971109711032831051151161011093275111 109112117116101114

(49)

2.7 Java

Java adalah suatu teknologi di dunia software komputer, yang merupakan suatu bahasa pemrograman, dan sekaligus suatu platform. Sebagai bahasa pemrograman, Java dikenal sebagai bahasa pemrograman tingkat tinggi. Java mudah dipelajari, terutama bagi programmer yang telah mengenal C/C++. Java merupakan bahasa pemrograman berorientasi objek yang merupakan paradigma pemrograman masa depan.

Sebagai bahasa pemrograman Java dirancang menjadi handal dan aman. Java juga dirancang agar dapat dijalankan di semua platform. Dan juga dirancang untuk menghasilkan aplikasi – aplikasi dengan performansi yang terbaik, seperti aplikasi database Oracle 8i/9i yang core-nya dibangun menggunakan bahasa pemrograman Java. Sedangkan Java bersifat neutral architecture, karena Java Compiler yang digunakan untuk mengkompilasi kode program Java dirancang untuk menghasilkan kode yang netral terhadap semua arsitekture perangkat keras yang disebut sebagai Java Bytecode. Sebagai sebuah platform, Java terdiri atas dua bagian utama, yaitu:

1. Java Virtual Machine (JVM).

(50)

1. Enterprise Java (J2EE) untuk aplikasi berbasis web, aplikasi sistem tersebar dengan beraneka ragam klien dengan kompleksitas yang tingg. Merupakan superset dari Standar Java. 2. Standar Java (J2SE), ini adalah yang biasa dikenal sebagai bahasa

Java.

3. Micro Java (J2ME) merupakan subset dari J2SE dan salah satu aplikasinya yang banyak dipakai adalah untuk wireless device / mobile device. (Asep, Modul Pemrograman Java, 2010).

2.8 Java2 Micro Edition (J2ME) 2.8.1 Pengertian J2ME

Java2 Micro Edition atau yang biasa disebut J2ME adalah lingkungan pengembangan yang didesain untuk meletakkan perangkat lunak Java pada barang elektronik beserta perangkat pendukungnya. J2ME adalah bagian dari J2SE, karena itu tidak semua library yang ada di J2SE terdapat juga di J2ME. Tetapi J2ME mempunyai beberapa library khusus yang tidak dimilki oleh J2SE. (Sholahudin,Rosa. 2010)

[image:50.612.136.541.57.406.2]

Pemrograman Arsitektur J2ME dapat dilihat pada gambar berikut:

Gambar 2.4 Arsitektur J2ME

Configuration merupakan Java library minimum dan kapabilitas yang dipunya oleh pengembang J2ME. Configuration hanyalah mengatur hal-hal tentang

(51)
[image:51.612.132.537.159.639.2]

kesamaan sehingga dapat dijadikan ukuran kesesuaian antar-device. Dalam J2ME telah didefinisikan dua buah konfigurasi yaitu CLDC (Connected Limited Device Configuration) untuk perangkat kecil dan CDC (Connected Device Configuartion) untuk perangkat yang lebih besar.

Gambar 2.5 Ruang Lingkup CLDC dan CDC

Profile membahas sesuatu yang spesifik untuk sebuah perangkat. Dalam J2ME terdapat 2 buah profile yaitu MIDP dan Foundation Profile. Keterhubungan antara configuration dan profile yang ada pada J2ME beserta jenis mesin virtualnya, dapat dilihat pada gambar:

aplikasi J2ME Aplikasi J2ME Applet/Aplikasi (Midlet ) J2SE

Kompleks

Gambar 2.6 Hubungan J2ME dan J2SE J2SE CDC CLDC

KVM MIDP

CLDC

CVM

Foundation Profile

CDC

JVM

(52)
[image:52.612.133.539.55.442.2]

2.8.2 Connected Limited Device Configuration (CLDC)

Gambar 2.7 CLDC

CLDC atau Connected Limited Device Configuration adalah perangkat dasar J2ME, spesifikasi dasar yang berupa library dan API yang diimplementasikan pada J2ME. Spesifikasi CLDC pada J2ME adalah spesifikasi minimal dari package kelas, dan sebagian fungsi Java Virtual Machine yang dikurangi agar dapat diimplementasikan dengan keterbatasan sumber daya pada alat-alat tersebut, JVM yang digunakan disebut KVM (Kilobyte Virtual Machine).

2.8.3 Connected Device Configuration (CDC)

CDC atau Connected Device Configuration adalah spesifikasi dari J2ME. CDC terdiri dari virtual machine dan kumpulan library dasar untuk dipergunakan pada profile industri. Implementasi CDC pada J2ME adalah source code yang menyediakan sambungan dengan macam-macm platform. (Sholahudin,Rosa. 2010)

Berikut adalah perbandingan antara CLDC dan CDC: MIDP

Sistem Operasi CLDC

(53)
[image:53.612.129.537.54.427.2]

Tabel 2.1 Perbandingan CLDC dan CDC:

CLDC CDC

Mengimplementasikan sebagian dari J2SE

Mengimplementasikan seluruh fitur J2SE

JVM yang digunakan adalah KVM JVM yang digunakan adalah CVM Digunakan pada perangkat genggam

(handphone, PDA, twoway pager) dengan memory terbatas (160-512 KB)

Digunakan pada perangkat genggam (internet TV, Nokia Communicator, car TV) dengan memori 2MB

Prosesor: 16/32 bit Prosesor: 32 bit

2.8.4 Mobile Information Device Profile (MIDP)

MIDP atau Mobile Information Device Profile adalah spesifikasi untuk sebuah profil J2ME. MIDP memiliki lapisan diatas CLDC, API tambahan untuk daur hidup aplikasi, antarmuka, jaringan, dan penyimpanan persisten. Pada saat ini MIDP 1.0 DAN midp 2.0. Fitur tambahan MIDP 2.0 dibanding MIDP 1.0 adalah API untuk multimedia.

2.8.5 Kilobyte Virtual Machine (KVM)

(54)

2.8.6 C-Virtual Machine (CVM)

CVM adalah paket JVM optimal yang digunakan pada CDC. CVM mempunyai seluruh fitur dari virtual machine yang didesain untuk perangkat yang memerlukan fitur-fitur Java2 virtual machine.

2.8.7 MIDLET

MIDlet adalah aplikasi yang ditulis untuk MIDP. Aplikasi MIDP adalah bagian dari kelas javax.microedition.midlet.MIDLET yang didefinisikan pada MIDP. MIDLET berupa sebuah kelas abstrak yang merupakan subkelas dari bentuk dasar aplikasi sehingga antarmuka antar aplikasi dan aplikasi manajemen pada perangkat dapat terbentuk.

2.8.7.1 Daur Hidup MIDlet

MIDlet terdiri dari beberapa metode yang harus ada, yaitu constructor (), protected void startApp( ) throws MIDlet StateChangeException, protected void pauseApp ( ), protected void destroyApp (Boolean unconditional) throws MIDletStateChangeException. Alur Hidup MIDlet sebagai berikut:

Gambar 2.8 Alur Hidup Midlet konstruktor

jedah aktif

terminasi MIDlet memanggil

PauseApp ( ) MIDlet memanggil

startApp ( )

MIDlet memanggil destroyApp ( ) untuk

(55)

2.8.7.2 Emulator Perangkat MIDlet

J2ME Wireless Toolkit dapat didownload di

http://java.sun.com/j2me/ secara gratis. J2ME Wireless Toolkit adalah kakas yang menyediakan lingkungan emulator, dokumentasi beserta contoh-contoh aplikasi Java untuk perangkat kecil (small device). J2ME WTK berbasiskan pada CLDC dan MIDP.

2.8.8 JAD (Java Application Descriptor)

Digunakan untuk mendeskripsikan isi aplikasi untuk keperluan pemetaan. File JAD berisi deskripsi file JAR (Java Archive) dan pemetaan atribut MIDlet, sedangkan JAR berisi kumpulan kelas dan resource.

2.9 RMS (Record Management System)

RMS adalah kumpulan record, dan record disimpan sebagai array dari byte dalam sebuah record store. RMS memiliki orientasi record basis data yang sederhana sehinggaMIDlet dapat menyimpan informasi dan mengaksesnya. MIDlet yang berbeda dapat mengakses RMS yang sama.

Pada konsepnya , record yang disimpan dalam record store diakses berdasarkan recorded yang berupa integer. RecordId ini biasanya digunakan untuk mengakses

record seperti indeks pada pengaksesan array berikut: (Sholahudin,Rosa. 2010)

Record

(56)

3 Byte 0 Byte 1 Byte 2 …….. Byte n . . . . …….. Byte n N Byte 0 Byte 1 Byte 2 …….. Byte n

Tabel 2.2 Penyimpanan Record dalam RecordStore

2.10 UML (Unified Modelling Language) 2.10.1 Definisi UML

UML adalah bahasa grafis untuk mendokumentasikan, menspesifikasikan, dan membangun sistem perangkat lunak. UML berorientasi objek menerapkan banyak level abstraksi, tidak bergantung proses pengembangan, tidak tergantung pada bahasa dan teknologi, pemaduan beberapa notasi di beragam metodologi, usaha bersama dari banyak pihak. Standar UML dikelola oleh OMG (Object Management Group). ( Bambang Hariyanto, 2004).

UML adalah bahasa permodelan untuk menspesifikasikan, memvisualisasikan, membangun dan mendokumentasikan artifak-artifak dari sistem. Kelebihan UML diantaranya:

1. Di dalam (system intensive process), metode diterapkan sebagai proses untuk menurutkan atau mengevolusikan sistem.

(57)

3. Sebagai bahasa permodelan, UML focus pada pemahaman subjek melalui formulasi model dari subyeks ( dan konsep yang terhubung). Model memuat pengetahuan pada subyek, dan aplikasi dari pengetahuan ini berkaitan dengan intelejensia.

4. Berkaitan dengan unifikasi, UML memadukan praktek rekayasa terbaik sistem informasi dan industry, meliputi beragam tipe sistem (perangkat lunak dan non lunak), domain (bisnis,perangkat lunak) dan proses siklus hidup.

5. Ketika diterapkan untuk menspesifikasikan sistem,UML dapat digunakan untuk mengkomunikasikan “apa” yang diperlukan dari sistem dan “bagaimana” sistem dapat direalisasikan.

6. Ketika diterapkan untuk memvisualisasikan sistem, UML dapat digunakan untuk menjelaskan sistem secara visual sebelum direalisasikan.

7. Ketika diterapkan untuk membangun sistem, UML dapat digunakan untuk memandu realisasi sistem serupa dengan “blueprint”.

8. Ketika diterapkan untuk mendokumentasikan sistem, UML dapat digunakan untuk menangkap pengetahuan mengenai sistem pada seluruh siklus hidup.

Diagram-diagram yang terdapat pada permodelan UML sebagai berikut : 1. Use Case Diagram

(58)

sekumpulan use case, actor dan hubungannya. Diagram use case digunakan untuk memvisualisasikan, memspesifikasikan dan mendokumentasikan kebutuhan perilaku sistem. Diagram -diagram use case merupakan pusat permodelan perilaku sistem, subsistem dan kelas.

2. Class Diagram

Class diagram adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Classdiagram menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain.( Bambang Hariyanto, 2004).

Classdiagram memiliki tiga area pokok : 1. Nama (dan stereotype)

2. Atribut 3. Metoda

3. Statechart Diagram

Statechart diagram menggambarkan transisi dan perubahan keadaan (dari satu state ke state lainnya) suatu objek pada sistem sebagai akibat dari stimuli yang diterima. Pada umumnya statechart diagram menggambarkan

(59)

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.

5. Sequence Diagram

Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message

yang digambarkan terhadap waktu. Sequence diagram terdiri atar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait).

Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang menjadi trigger

aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan.

6. Collaboration Diagram

(60)

sequence diagram, tetapi lebih menekankan pada peran masing-masing objek dan bukan pada waktu penyampaian message. Setiap message memiliki

sequence number, di mana message dari level tertinggi memiliki nomor 1. Messages dari level yang sama memiliki prefiks yang sama.

7. Component Diagram

Component diagram menggambarkan struktur dan hubungan antar komponen piranti lunak, termasuk ketergantungan (dependency) di antaranya. Komponen piranti lunak adalah modul berisi code, baik berisi source code

maupun binary code, baik library maupun executable, baik yang muncul pada compile time, link time, maupun run time. Umumnya komponen terbentuk dari beberapa class dan/atau package, tapi dapat juga dari komponen-komponen yang lebih kecil.

8. Deployment Diagram

Deployment/physical diagram menggambarkan detail bagaimana komponen di-deploy dalam infrastruktur sistem, di mana komponen akan terletak (pada mesin, server atau piranti keras apa), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisik. Sebuah node adalah server, workstation, atau piranti keras lain yang digunakan untuk men-deploy komponen dalam lingkungan sebenarnya. Hubungan antar node (misalnya TCP/IP) dan requirement dapat juga didefinisikan dalam diagram ini.

(61)

Pada penelitian kali ini penulis menggunakan visual paradigm for UML 7.0 edition dan Rational Rose untuk merancang aplikasi. Visual paradigm for UML 7.0 edition dan rational rose adalah perangkat lunak yang digunakan untuk perancangan aplikasi dengan tools UML.

Tabel 2.3 Notasi UML

No Notasi Keterangan

1 Class Diagram, digunakan untuk mengambarkan kelas-kelas program.

Terdiri atas nama kelas, ttribute

yaitu properties yang dimiliki oleh kelas, dan operation yaitu aktifitas yang dapat dilakukan oleh kelas

tersebut

2 Relationship merupakan hubungan

antar class. Dapat berupa one to one,

one to many, maupun many to one

3 Aktor merupakan pelaku-pelaku yang terlibat di dalam sistem.

4 Use case merupakan penjelasan

(62)

5 Initial node digunakan sebagai notasi awal dari proses yang dijalankan.

6 Action merupakan notasi yang

menggambarkan aksi yang terjadi di dalam suatu proses

7 Activity Final Node merupakan notasi

yang melambangkan akhir dari sebuah proses

8 Activity merupakan aktifitas yang ada

di dalam sistem. Biasa digunakan pada proses yang melibatkan proses

lainnya.

9 Activity dengan parameter biasa

digunakan pada proses yang melibatkan proses lainnya serta mengambil parameter dari proses

tersebut.

10 Lifeline merupakan state dari sebuah proses yang ada di dalam sistem. Nantinya, setiap bagian dari proses

(63)

2.11 SMS

2.11.1 Pengertian SMS

Short Message Service (SMS) adalah layanan dasar telekomunikasi seluler, yang tersedia baik di jaringan GSM maupun CDMA. Sebagai layanan dasar, service sms dapat digunakan pada semua jenis hand phone (HP). Setiap SIM card dari sebuah operator yang diaktifkan hampir dipastikan dapat langsung dapat digunanakan untuk sms, karena SIM card akan otomatis menyediakan setting service center di HP tersebut. (David Sudana, 2009).

(64)

1.Arsitektur Jaringan GSM

Dalam jaringan GSM umumnya ada beberapa perangkat pokok diantaranya BTS, BSC, MSC/VLR, HLR dan SMSC. Berikut ini penjelasan masing-masing perangkat. (David Sudana, 2009).

Arsitektur Jaringan GSM

Gambar 2.9 Arsitektur GSM

Dalam jaringan GSM umumnya ada beberapa perangkat pokok diantaranya BTS, BSC, MSC/VLR, HLR dan SMSC. Berikut ini penjelasan masing-masing perangkat.Base Transceiver Station (BTS)

(65)

2.Base Station Controller (BSC)

BSC menyediakan fungsi pengaturan pada beberapa BTS yang dikendalikannya. Diantaranya fungsi handover, konfigurasi cell site, pengaturan sumber daya radio, serta tuning power dan frekuensi pada suatu BTS. BSC merupakan simpul (konmsentrator) untuk menghubungkan dengan core network. Dalam jaringan GSM umumnya sebuah BSc dapat mengatur 70 buah BTS. (David Sudana, 2009).

3. Mobile Switching Center (MSC) and Visitor Location Register (VLR)

MSC berfungsi melakukan fungsi switching dan bertanggung jawab untuk melakukan pengaturan panggilan, call setup, release, dan routing. MSC juga melakukan fungsi billing (terhubung ke billing system) dan sebagai gateway ke jaringan lain. VLR berisi informasi user yang bersifat dinamis yang sedang “attach” berada pada jaringan mobile, termasuk letak geografis. Biasanya VLR terintegrasi dengan MSC.

Dari MSC sebuah jaringan seluler berkomunikasi dengan jaringan luar, misalnya : jaringan telepon rumah/Public Switched Telephone Network (PSTN), jaringan data Integrated Services Digital Network (ISDN),

Circuit Switched Public Data Network (CSPDN), dan Packet Switched Public Data Network (PSPDN). (David Sudana, 2009)

4.Home Location Register (HLR)

(66)

(MSISDN), International Mobile Subscriber Identity (IMSI), profile service subscriber,dll. Untuk komunikasi dengan elemen jaringan lain, HLR menggunakan protokol MAP (Mobile Application Part)

5.Short Message Service Center (SMSC)

SMSC mempunyai peran penting dalam arsitektur sms. SMSC berfungsi menyampaikan pesan sms antar Mobile Station(MS)/ HP, dan juga melakukan fungsi store-and-forwarding sms jika nomor penerima sedang tidak dapat menerima pesan. Didalam jaringanya sebuah operator dapat mempunyai lebih dari satu perangkat SMSC, sesuai besar trafik sms jaringan tersebut. SMSC dapat berkomunikasi dengan elemen lain seperti MSC, dan HLR dengan menggunakan protokol MAP. Seiring berkembangnya layanan, SMSC juga dapat berkomunikasi dengan server aplikasi menggunakan sebuah protokol yang cukup pupuler yaitu, Short Message Peer tio Peer Protocol (SMPP). (David Sudana, 2009).

5.Diagram Alir SMS

Ada dua macam layanan dasar SMS (David Sudana, 2009) :

- Mobile terminated (from a SMS–C to a mobile station (MS)) SMS - Mobile originated (from a mobile station to a SMS–C) SMS

SMS Mobile Terminating (SMS MT)

(67)

ulang.

Diagram Alir SMS

Gambar 2.10 Diagram Alir SMS Mobile Terminating

Diagram Alir SMS Mobile Terminating. (David Sudana, 2009)

1. A (misal: aplikasi) mengirim pesan ke SMSC 2. SMSC mengirimkan pesan ke SMS–GMSC.

3. SMS–GMSC menginterogasi HLR untuk informasi routing. 4. HLR membalas informasi routing ke SMS-GMSC.

5. SMS-GMSC meneruskan pesan ke MSC/VLR.

6. MS di-paging dan koneksi terbentuk antara MS dan network, sebagaimana dalam setup pangilan normal. (Dengan demikian posisi MS diketahui dan apakah MS boleh berada dalam network / proses otentikasi).

7. Jika otentikasi berhasil, MSC/VLR mengirim pesan sms tersebut ke MS. SMS dikirim melalui kanal signaling SDCCH)

(68)

dikirim ke SMS–C.

Pada kasus pengiriman yang gagal, HLR dan VLR akan mendapat informasi “Messages wai

Gambar

Gambar 2.1 model sistem kriptografi simetris
Gambar 2.2  model sistem kriptografi asimetris
Gambar 2.3 Karakter-karakter Ascii
Gambar 2.4 Arsitektur J2ME
+7

Referensi

Dokumen terkait

FRINNA SHINTA 500644607 Magister Manajemen MM PENGARUH PELATIHAN, INTERAK.SI SOSIAL, DAN MOTIVASI KERJA TERHADAP KINERJA PENYULUH MELALUI KOMPETENSI Studi pada Kantor

Beberapa hal yang menyebabkan lebih rendahnya capaian kinerja BPS Kabupaten Kepulauan Mentawai Tahun 2016 dibandingkan dengan target 2016 pada renstra 2015-

Tujuan dari penelitian ini adalah untuk mengetahui pengaruh motivasi, persepsi, dan sikap konsumen perusahaan terhadap keputusan pembelian produk Rajawali Nusindo

Titin Soegiharti (2011) dengan Tesis Kajian Semiotik Gurindam Dua Belas Karangan Raja Ali Haji dan Aplikasinya dalam Pembelajaran Sastra di SMA. Pemilihan bahan ajar

“Dokumentasi sudah sejak lama digunakan dalam penelitian karena dalam banyak hal dokumen sebagai sumber data yang dapat dimanfaatkan untuk menguji, menafsirkan, bahkan

Pola penyebaran MPT dari Muara sungai yang tinggi dan terlihat relatif sama menuju perairan Bengkulu, karena arus yang terjadi mempunyai gerakan yang sama sehingga sebaran MPT

Muara Sungai Bengawan Solo berpotensi mengalami pendangkalan akibat terendapnya sedimen tersuspensi dalam kurun waktu tertentu.Pendangkalan dapat merubah garis pantai

Hasil penelitian ini menunjukkan bahwa karakteristik ibu hamil berdasarkan tingkat pengetahuan dalam kategori tinggi yaitu 24 orang (42,9%), jumlah bayi yang di lahirkan