Top Banner
PROPOSAL SKRIPSI IMPLEMENTASI KOMPRESI - ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN- VIGENERE CHIPER Trias Fahrudin 1110000356 DOSEN PEMBIMBING Dwi Yulian RL, S.Kom i
53

IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

Dec 08, 2022

Download

Documents

Trias Fahrudin
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

PROPOSAL SKRIPSI

IMPLEMENTASI KOMPRESI - ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

Trias Fahrudin

1110000356

DOSEN PEMBIMBING

Dwi Yulian RL, S.Kom

i

Page 2: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

PROGRAM STUDI TEKNIK INFORMATIKASEKOLAH TINGGI ILMU KOMPUTER PGRIBANYUWANGI2012

ii

Page 3: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

LEMBAR PERSETUJUAN

PROPOSAL SKRIPSI

Judul : IMPLEMENTASI KOMPRESI - ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

Oleh : Trias Fahrudin

NIM : 1110000356

telah disetujui untuk diseminarkan

Menyetujui:

Dosen Pembimbing:

1. Dwi Yulian RL, S.Kom

NIDN :

ii

Page 4: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADATELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA

HUFFMAN-VIGENERE CHIPER

Nama Mahasiswa : Trias FahrudinNIM : 1110000356Pembimbing : Dwi Yulian RL, S.Kom

ABSTRAK

Indonesia merupakan salah satu pasar mobile phone

terbesar di Asia Tenggara dengan sekitar 114,64 juta

pelanggan mobile phone pada tahun 2009, selain itu

volume penggunaan SMS di Indonesia juga tergolong

besar, menurut Acision (Acison.com – penyedia solusi

teknologi SMS yang dipakai oleh operator Telkomsel,

Indosat dan XL), volume SMS pada hari raya lebaran

2009 mencapai 3.4 milyar pesan dalam periode 72 jam

saja, hal ini mengalami peningkatan sekitar 144% dari

tahun lalu yang sebesar 1,4 milyar pesan. SMS sangat

populer diIndonesia karena dianggap sebagai alat

komunikasi yang paling murah, namun SMS tidak menjamin

keamanan bagi penggunaanya, karena dikirim tanpa

melalui enkripsi. Selain itu SMS juga hanya menyediakan

iii

Page 5: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

maksimal 160 karakter per-SMS yang dirasa kurang,

sehingga diperlukan metode untuk mengkompresinya.

Algoritma kompresi yang digunakan adalah

algoritma Huffman. Algoritma huffman merupakan

algoritma yang cukup terkenal untuk mengompres teks.

Prinsip yang digunakan oleh algoritma Huffman adalah

karakter yang sering muncul di encoding dengan

rangkaian bit yang pendek dan karakter yang jarang

muncul di encoding dengan rangkaian bit yang lebih

panjang. Teknik kompresi algoritma Huffman mampu

memberikan penghematan pemakaian memori sampai 30% ,

sedangkan untuk enkripsinya digunakan algoritma

Vigenere Chiper. Vigenere cipher merupakan salah satu

kriptografi klasik dengan teknik substitusi. Vigenere

cipher menggunakan suatu kunci yang memiliki panjang

tertentu. Panjang kunci tersebut bisa lebih pendek

ataupun sama dengan panjang plainteks. Jika panjang

kunci kurang dari panjang plainteks, maka kunci yang

tersebut akan diulang secara periodik hingga panjang

kunci tersebut sama dengan panjang plainteksnya

Tujuan utama dari implementasi ini adalah

menyediakan keamanan bagi pengguna SMS dan juga

penghematan biaya karena adanya proses kompresi.

Kata Kunci: SMS,kompresi huffman,kriptografi,enkrispi vigenere

iv

Page 6: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

LEMBAR PERSETUJUAN

ABSTRAK ....................................................

............................................................

............iii

v

Page 7: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

DAFTAR

ISI ........................................................

............................................................

.....v

DAFTAR

GAMBAR .....................................................

........................................................vii

DAFTAR

TABEL ......................................................

...........................................................v

iii

BAB 1 PENDAHULUAN..........................................1

1.1 Latar Belakang.......................................11.2. Perumusan Masalah...................................2

1.3.Batasan Masalah......................................21.4. Tujuan dan Manfaat Penelitian.......................2

BAB 2 KAJIAN PUSTAKA.......................................32.1 Short Message Service (SMS)..........................3

2.2 Teknologi Java 2.....................................42.3 Java 2 Micro Edition.................................4

2.3.1 Konfigurasi J2ME.................................42.3.2 Profil J2ME.....................................5

2.4 MIDP dan MIDlet......................................52.4.1 Daur Hidup MIDlet...............................5

2.4.2 Antarmuka Pemakai................................62.5 Wireless Messaging API (WMA).........................7

2.5.1 Interface TextMesage dan BinaryMessage...........82.5.2 Interface MessageConnection......................8

2.6 Mengirim SMS........................................10

vi

Page 8: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

2.7 Menerima SMS........................................11

2.8 Kompresi Data.......................................112.9 Kode Huffman........................................12

2.4 Dekompresi Algoritma Huffman........................182.10 Kriptografi........................................19

2.10.1 Algoritma Sandi................................202.10.2 Algoritma Kunci Simetris.......................22

2.10.3 Algoritma Kunci Asimetris......................222.11 Kriptografi Vigenere...............................23

BAB III METODE PENELITIAN.................................263.1 Metode Penelitian.................................26

3.2. Rancangan Algoritma................................273.3 Jadwal Kegiatan....................................28

DAFTAR PUSTAKA............................................29

vii

Page 9: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

DAFTAR GAMBAR

Gambar 2.1 Daur hidup MIDlet

Gambar 2.2 Hirarki kelas Displayable

Gambar 2.3 Interface pada paket WMA

Gambar 2.4 Diagram alir pohon Huffman

Gambar 2.5 Pembuatan node

Gambar 2.6 Dua node anak yang membentuk node orang tua

Gambar 2.7 Pohon Huffman yang terbentuk

Gambar 2.8 Pohon Huffman yang telah diberi tanda

Gambar 2.9 Struktur SMS setelah dikompresi

Gambar 2.10 Diagram alir kompresi algoritma Huffman

Gambar 2.11 Diagram alir dekompresi algoritma Huffman

Gambar 2.12 Table Vigenere

Gambar 3.1 Langkah-langkah penelitian.

Gambar 3.2 Proses enkripsi-kompresi SMS

Gambar 3.3 Proses dekompresi-dekripsi SMS

viii

Page 10: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

DAFTAR TABEL

Tabel 2.1 Contoh kode ASCII untuk beberapa karakter

Tabel 2.2 Tabel probabilitas dan kode Huffman untuk string

MISSISIPPI.

Tabel 2.3. Contoh inputan

Tabel 2.4. Perbandingan Kode ASCII dan Kode Huffman

Tabel 3.1. Perencanaan Jadwal Kegiatan

ix

Page 11: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

x

Page 12: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

BAB 1

PENDAHULUAN

1.1 Latar Belakang

Seiring perkembangan zaman, kebutuhan manusia

akan teknologi informasi dan komunikasi juga

meningkat. Salah satu teknologi alat komunikasi yaitu

telepon genggam atau dikenal sebagai HP (handphone). HP

memiliki fasilitas standart komunikasi suara yaitu

telephone dan SMS (Short Message Services), fasilitas

tersebut digunakan untuk berkirim pesan pendek berupa

teks. Dalam kehidupan sehari-hari, fasilitas SMS

menjadi pilihan banyak orang untuk berkomunikasi karena

relatif murah, mudah, jelas dan cepat.

Berkembangnya teknologi juga memicu keberadaan

data digital yang semakin bertambah besar ukurannya,

menyebabkan media penyimpanan digital juga membutuhkan

kapasitas yang semakin besar, hal tersebut berdampak

pula terhadap kebutuhan media transfer digital yang

lebih cepat. Kompresi data menjadi solusi untuk

menangani atau setidaknya mengimbangi berkembangnya

kebutuhan yang tidak terbendung tersebut. Kompresi

sangat berguna ketika data terlalu besar tetapi perlu

disimpan dalam tempat yang terbatas ataupun data akan

dikirim melalui sebuah saluran komunikasi yang memiliki

bandwidth terbatas. Ada banyak metode kompresi antara

1

Page 13: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

lain Lempel-Ziv Compression, Dynamic Markov Compression

(DMC), Arithmetic, PPM (Prediction by Partial

Matching), Burrows-Wheeler Block Sorting, Half Byte,

Huffman Coding, dan masih banyak lainnya. Data-data

yang dikompresi dapat berupa data biner, teks gambar,

suara, dan video. Format data SMS bisa berupa teks atau

data biner, sehingga tidak menutup kemungkinan untuk

dilakukan kompresi terhadap SMS.

Selain dari kebutuhan media transfer digital

yang lebih cepat, timbul pertanyaan mengenai keamanan

informasi jika seseorang ingin mengirimkan suatu

informasi rahasia melalui fasilitas SMS. Di luar negeri

pemanfaatan SMS untuk mengirim pesan rahasia telah

lebih dulu dikembangkan. Misalnya di Inggris sebuah

perusahaan operator telepon selular, staellium UK,

mengeluarkan layanan bernama “stealth text” yang

dapat digunakan untuk mengirim pesan dengan aman,

yaitu dengan cara menghapus pesan secara otomatis

segera setelah 40 detik pesan dibaca atau yang dikenal

dengan nama self-destruct text message. Kini dengan

memanfaatkan Wireless Messaging API (Application

Programming Interface) dari J2ME para pembuat program

Java dapat mengembangkan sendiri sebuah aplikasi

pengiriman pesan singkat atau SMS yang dimodifikasi

untuk mengamankan pesan.

Oleh karena itu, dalam penelitian ini diusulkan

metode untuk melakukan implementasi metode kompresi-

2

Page 14: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

enkripsi pada SMS yang tujuan akhirnya adalah

menyediakan keamanan bagi pengguna SMS dan juga

penghematan biaya karena adanya proses kompresi.

1.2. Perumusan Masalah

Rumusan masalah pada penelitian ini adalah

bagaimana merancang aplikasi pengiriman SMS yang

mengimplementasikan metode kompresi huffman dan

enkripsi vigenere

1.3.Batasan Masalah

Input berupa SMS tanpa image

Spesifikasi SMS (panjang satu pesan SMS) disesuaikan

dengan standart teknologi Global System for Mobile

Communication (GSM)

Telephon seluler yang digunakan harus mendukung

fitur MIDP minimal versi 2.0

1.4. Tujuan dan Manfaat Penelitian

Tujuan dari penelitian ini adalah merancang

aplikasi pengiriman SMS yang mengimplementasikan metode

kompresi Huffman dan Enkripsi Vigenere.

Kontribusi dari penelitian ini adalah menyediakan

keamanan bagi pengguna SMS dan juga penghematan biaya

karena adanya proses kompresi.

3

Page 15: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

BAB 2

KAJIAN PUSTAKA

2.1 Short Message Service (SMS)

Short Message Service (SMS) adalah layanan dasar

yang memperbolehkan pertukaran pesan teks singkat

antara pelanggan. SMS pertama kali berhasil diuji coba

pada tahun 1992 melalui jaringan saluran komunikasi GSM

Eropa. Sejak berhasil di ujicoba penggunaan SMS terus

berkembang. Di tahun 2001 tercatat sekitar 102.9 milyar

SMS saling dikirim di seluruh dunia. Pesan ini tidak

hanya bisa dikirim dari peralatan bergerak GSM tetapi

juga dari internet, telex, facsimillie. SMS adalah

teknologi yang sangat matang yang didukung 100%

perangkat GSM dan jaringan GSM dunia. (Bodic, 2003).

SMS atau Layanan pesan singkat adalah sebuah

layanan yang dilaksanakan dengan sebuah telepon genggam

untuk mengirim atau menerima pesan-pesan pendek.

Mulanya SMS dirancang sebagai bagian daripada GSM,

tetapi sekarang sudah didapatkan pada jaringan bergerak

lainnya termasuk jaringan Universal Mobile

Telecommunications System (UMTS)

(http://id.wikipedia.org/wiki/Layanan_pesan_singkat).

4

Page 16: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

Sebuah pesan SMS maksimal terdiri dari 140

bytes, dengan kata lain sebuah pesan bisa memuat 140

karakter 8-bit, 160 karakter 7-bit standar GSM 03.38

atau 70 karakter 16-bit standar Universal Character Set

2-byte (UCS-2) untuk bahasa Jepang, Bahasa Mandarin dan

Bahasa Korea yang memakai Hanzi (Aksara Kanji / Hanja).

SMS bisa dikirim melalui port tertentu, dengan

memanfaatkan 56-64 bit dari total 140 bytes yang ada,

jadi sebuah pesan hanya bisa memuat 133 karakter 8-

bit, 152 karakter 7-bit (GSM 03.38) atau 66 karakter

16-bit (UCS-2).

Adapula beberapa metode untuk mengirim pesan yang

lebih dari 140 bytes, tetapi seorang pengguna harus

membayar lebih dari sekali. SMS bisa pula untuk

mengirim gambar, suara dan film. SMS bentuk ini disebut

Multimedia Message Service (MMS).

Pesan-pesan SMS dikirim dari sebuah telepon

genggam ke pusat pesan atau Short Message Service

Center (SMSC), di sini pesan disimpan dan dicoba dkirim

selama beberapa kali. Setelah selama waktu yang telah

ditentukan, biasanya 1 hari atau 2 hari, lalu pesan

dihapus. Seorang pengguna bisa mendapatkan konfirmasi

dari pusat pesan ini.

2.2 Teknologi Java 2

Java adalah bahasa pemrograman Object Oriented

Programming (OOP) yang dibuat oleh Sun Microsystem.

5

Page 17: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

Java dirancang untuk menjadi bahasa yang memiliki

kemampuan tinggi dalam hal portabilitas dan pemanfaatan

jaringan tanpa mengabaikan kestabilan, keamanan, serta

kemudahan dari sisi desain dan pemrograman aplikasi.

Sebutan Java 2 diberikan untuk Java versi 1.2 dan

versi berikutnya. Java 2 terbagi dalam 3 kategori,

yaitu:

Java 2 Standard Edition (J2SE). Kategori ini

digunakan untuk menjalankan mengembangkan aplikasi

Java pada level komputer personal.

Java 2 Enterprise Edition (J2EE). Kategori ini

dikhususkan untuk pengembangan aplikasi Java pada

lingkungan enterprise/server.

Java 2 Micro Edition (J2ME). Kategori ini digunakan

untuk pengembangan aplikasi Java yang

diimplementasikan pada perangkat semacam ponsel,

Palm, PDA dan PocketPC.

2.3 Java 2 Micro Edition

Java 2 Micro Edition (J2ME) dirancang untuk

dapat menjalankan program Java pada perangkat yang

memiliki kemampuan terbatas misalnya kecilnya jumlah

memori yang dimiliki perangkat tersebut.

2.3.1 Konfigurasi J2ME

Konfigurasi J2ME adalah spesifikasi yang

mendefinisikan sebuah virtual machine dari kumpulan

6

Page 18: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

API-API dasar yang dapat digunakan dalam kelas tertentu

dari sebuah peralatan. Virtual machine pada J2ME

berbeda dengan yang ada pada J2SE karena hanya fitur-

fitur penting yang berkaitan dengan perangkat tanpa

kabel (Wireless) saja yang diimplementasikan.

Ada 2 konfigurasi pada J2ME, yaitu:

CLDC (Connected Limited Device Configuration)

CLDC merupakan perangkat atau konfigurasi dasar dari

J2ME. CLDC sebenarnya berupa library dan API

(Application Programming Interface) yang

diimplementasikan pada J2ME. Konfigurasi ini

biasanya untuk alat kecil seperti telepon seluler

(handphone), pager dan PDA. Peralatan tersebut

biasanya mempunyai keterbatasan memori (RAM), sumber

daya, dan kemampuan memproses.

CDC (Connected Device Configuration)

CDC merupakan perangkat atau konfigurasi superset

dari CLDC.Konfigurasi ini biasanya dipakai untuk

alat seperti Internet TV, Nokia Communicator dan Car

TV.

2.3.2 Profil J2ME

Sebuah profil dibangun dalam sebuah konfigurasi,

namun ditambahkan beberapa API khusus agar dihasilkan

sebuah lingkungan yang lengkap untuk membangun

aplikasi. Profil berisi daur hidup (life cycle),

antarmuka pemakai (user interface), serta

7

Page 19: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

penyimpanan. Salah satu profil J2ME adalah Mobile

Information Device Profile (MIDP). Profil MIDP

menyediakan sebuah platform standar untuk peralatan

komunikasi bergerak yang memiliki kapasitas memori

terbatas sehingga cocok untuk pengembangan aplikasi

pada ponsel.

2.4 MIDP dan MIDlet

MIDP merupakan profil yang banyak digunakan dan

popular dari J2ME dan MIDlet merupakan aplikasi-

aplikasi yang dibuat di dalam handphone menggunakan

profil MIDP.

2.4.1 Daur Hidup MIDlet

Daur hidup dari sebuh MIDlet ditangani oleh

Aplication Management Software (AMS). AMS adalah sebuah

lingkungan tempat siklus dari sebuah MIDlet diciptakan,

dijalankan, dihentikan, maupun dihilangkan. AMS sering

disebut dengan Java Aplication Manager (JAM). Dalam

daur hidupnya MIDlet memiliki tiga status, yaitu Pause,

Active dan, Destroy. Ketika masing-masing status

dipanggil, beberapa fungsi standar yang bersesuaian

akan dipanggil.

8

Page 20: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

Gambar 2.1 Daur hidup MIDlet

Dari gambar 2.1 dapat dijelaskan sebagai berikut :

Ketika MIDlet pertama kali diciptakan dan

diinisialisasi, MIDlet berada

dalam status pause.

Jika terjadi kesalahan selama konstruksi MIDlet,

MIDlet akan berpindah

ke status destroyed dan MIDlet batal diciptakan

dengan memanggil fungsi destroyApp().

Saat MIDlet dijalankan, MIDlet akan berada pada

status active dan memanggil fungsi startApp().

Jika saat dijalankan MIDlet dihentikan sementara,

maka MIDlet berada pada status pause dan memanggil

fungsi pauseApp().

2.4.2 Antarmuka Pemakai

Untuk membuat suatu antarmuka bagi pemakai,

program MIDlet harus mengimpor paket

javac.microedition.lcdui. Kelas yang dipergunakan untuk

membuat dan memanipulasi antarmuka tersebut adalah

9

Page 21: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

kelas yang diturunkan dari kelas Displayable. Melalui

kelas-kelas inilah sebuah aplikasi dapat berinteraksi

dengan pemakai. Pada MIDP, antarmuka terdiri dari API

tingkat tinggi (High-level) dan API tingkat rendah

(Low-level). API tingkat tinggi berbasis pada kelas

Screen, sedangkan API tingkat rendah berbasis pada

kelas Canvas. Diagram hirarki dari kelas Displayable

dapat dilihat pada gambar 2.2.

Gambar 2.2 Hirarki kelas Displayable

Dari gambar 2.2 dapat dilihat bahwa kelas Screen

terdiri dari beberapa kelas,

yaitu:

Alert, merupakan kelas yang menyediakan informasi

kecil kepada pemakai yang ditampilkan ke layar

sebelum kemudian berpindah ke objek lain. Biasanya

digunakan untuk menampilkan informasi kesalahan

(error).

TextBox, merupakan kelas yang menyediakan media

untuk menerima masukan berupa teks.

10

Page 22: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

List, merupakan kelas yang menyediakan masukan

pilihan (multiple choice) pada layar.

Form, merupakan kelas yang menyediakan fasilitas

untuk menampung beberapa item dalam satu layar,

seperti gambar (images), kolom tanggal (datefield),

kolom teks (textfield), gauge dan daftar pilihan

(choice group).

2.5 Wireless Messaging API (WMA)

WMA (Wireless Messaging API) adalah paket

opsional yang terdapat pada J2ME yang mengijinkan

developer untuk mengembangkan aplikasi-aplikasi yang

mampu melakukan pengiriman dan penerimaan pesan (baik

yang berupa pesan teks maupun dalam bentuk gambar)

melalui SMSC (Short Messaging Service Center) maupun

MMSC (Multimedia Messaging Service Center). WMA 1.0

menyediakan API (Application Programming Interface)

dasar untuk mengirim dan menerima pesan SMS. WMA 1.0

ini dikembangkan oleh JSR 120. Untuk menambahkan fitur

kedalam WMA, lahirlah WMA 2.0 oleh JSR 205, yang

memiliki fasilitas untuk pengiriman pesan multimedia

(MMS). kelas-kelas dalam paket ini tersimpan dalam

paket javax.wireless.messaging.

Dalam proses pengiriman dan penerimaan SMS,

terdapat tiga buah interface yang penting diketahui

kegunaannya. Adapun ketiga interface tersebut adalah

TextMessage,BinaryMessage,dan MessageConnection.

11

Page 23: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

2.5.1 Interface TextMesage dan BinaryMessage

Paket WMA menyediakan interface TextMessage dan

BinaryMessage. Kedua interface tersebut diturunkan dari

interface Message, yang mendefinisikan method umum

untuk mengeset alamat penerima dan juga mendapatkan

waktu pesan. Berikut ini bentuk deklarasi dari method-

method yang terdapat dalam interface Message.

String getAddress()void setAddress(String address)Date getTimeStamp()

Interface TextMessage adalah interface yang

merepresentasikan pesan berupa teks. Interface tersebut

menambhakan dua buah method untuk mengakses teks-teks

yang bersangkutan.String getPayloadText() //untuk mendapatkan isi dari pesanvoid setPayloadText(String body) //untuk mengeset isi pesan

Interface BinaryMessage adalah interface yang

merepresentasikan pesan biner. Interface tersebut

menambahkan dua buah method untuk mengakses pesan biner

yang terdapat di dalamnya. Isi dari pesan biner adalah

berupa array byte.byte[] getPayloadData()void setPayloadData(byte [] content)

2.5.2 Interface MessageConnection

Pada dasarnya, inti dari paket WMA berada pada

interface MessageConnection, yang merepresentasikan

12

Page 24: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

sebuah koneksi jaringan untuk melakukan proses

pengiriman maupun penerimaan pesan. Instance dari

MessageConnection dapat didapatkan dengan cara melewatkan

URL tertentu kedalam method Connector.open() . Berikut ini

aturan penulisan URL yang diizinkan di dalam WMA.

sms://no_telepon. MessageConnection akan

mengirimkan pesan ke nomor telephon tujuan. Pesan

akan terkirim ke inbox SMS dari device tujuan.

Dengan demikian, pesan secara otomatis akan

diterima oleh aplikasi yang telah disediakan oleh

device bersangkutan, bukan oleh aplikasi penerima

SMS yang di kembangkan sendiri.

sms://no_telephon:port. MessageConnection akan

mengirimkan pesan ke nomor telephon tujuan untuk

port yang ditentukan. Disini Pesan tidak akan

terkirim ke inbox SMS dari device tujuan,

melainkan akan dikirim desuatu MIDlet pada device

penerima yang bertugas mendengarkan port tersebut

sms://port. MessageConnection akan mendengarkan port

yang ditentukan. Disini MIDlet SMS yang berada di

client berperan sebagai server pada port tertentu.

Pesan akan terkirim melalui port tersebut. Koneksi

jenis ini dinamakan dengan koneksi mode server.

cbs://:port. MessageConnection akan mendengarkan

pada port tertentu yang ditetapkan untuk pesan CBS

(Cell Broadcast Service)

13

Page 25: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

Interface MessageConnection mendeklarasikan beberapa

buah method untuk keperluan pengiriman dan penerimaan

pesan, yaitu sebagai berikut:Message newMessage(String type)Message newMessage(String type,String address)int numOfSegments(Message msg)Message receive()void send(Message msg)void setMessageListener(MessageListener msgListener)

Parameter type yang terdapat pada method newMessage()

dapat berupa TEXT_MESSAGE atau BINARY_MESSAGE.

MessageConnection juga dapat memiliki sebuah object

listener. MIDlet yang memiliki object listener harus

mengimplementasikan interface MessageListener.

Interface MessageListener itu sendiri memiliki

sebuah method yang bernama notifyIncomingMessage(),

yang harus diimplementasikan oleh MIDlet bersangkutan

dan akan dijalankan ketika terdapat pesan yang masuk.

Berikut ini gambar yang menunjukkan daftar interface

pada paket WMA.

14

Connector

MessageConnecti

MessageList TextMessage BinaryMessa

Page 26: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

Gambar 2.3 Interface pada paket WMA

2.6 Mengirim SMS

Pengiriman SMS melibatkan object

MessageConnection dan TextMessage. Secara garis besar,

proses tersebut dapat dituliskan sebagai berikut:String address = "sms://+085233032565";MessageConnection conn = (MessageConnection)Connector.open(address);TextMessage msg = (TextMessage) conn.newMessage(MessageConnection.TEXT_MESSAGE);msg.setAddress(address);msg.setPayloadText("Coba mengirim SMS");conn.send(msg);

Kode diatas akan mengirimkan SMS dengan teks

"Coba mengirimkan SMS" kenomor 085233032565. Disini,

mula-mula dibuat object MessageConnection dengan menuliskan

perintah Connector.open(). Setelah itu dibuat object

TextMessage dengan memanggil method newMessage(). Karena

method ini mengembalikan object bertipe Message maka

perlu secara eksplisit melakukan typecasting terhadap

object tersebut ke tipe TextMessage. Selanjutnya,

melalui object TextMessage yang sudah terbentuk, alamat

tujuan dapat diset dengan method setAddress() dan juga

teks pesan yang akan dikirim menggunakan method

setPayloadText(). Setelah semuanya terpenuhi, maka method

15

Message

Page 27: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

sent() dapat langsung dipanggil untuk mengirimkan object

TextMessage bersangkutan.

2.7 Menerima SMS

Untuk menerima SMS, kode yang ada sebaiknya

ditempatkan dalam object Thread tersendiri secara

terpisah. Method yang diperlukan untuk menerima pesan

adalah method receive() dari object MessageConnection().

Dalam pembuatan aplikasi yang dapat menerima SMS,

diperlukan implementasi interface MessageListener, yaitu

dengan cara mendefinisikan ulang method

notifyIncomingMessage(). Method tersebut memiliki satu buah

parameter bertipe MessageConnection dan akan dieksekusi

pada saat terdapat SMS yang masuk. Berikut ini contoh

potongan kode yang diperlukan untuk menerima SMS:String smsPort = "50000";String address = "sms://:" + smsPort;MessageConnection conn = (MessageConnection) Connector.open(address);Message msg = conn.receive();if (msg instanceof TextMessage) { TextMessage tmsg = (TextMessage) msg; String text = tmsg.getPayloadText(); //lakukan sesuatu terhadap pesanbersangkutan}

2.8 Kompresi Data

Kompresi data ialah cara untuk memadatkan data

sehingga hanya memerlukan ruangan penyimpanan lebih

16

Page 28: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

kecil sehingga lebih efisien dalam menyimpannya atau

mempersingkat waktu pertukaran data tersebut.

Berdasarkan kompresi yang dihasilkan, metode

kompresi dapat dibagi ke dalam dua kategori, yaitu :

1. Lossy Compression

Lossy compression menyebabkan adanya perubahan

data dibandingkan sebelum dilakukan proses kompresi.

Sebagai gantinya lossy compression memberikan

derajat kompresi lebih tinggi. Tipe ini cocok untuk

kompresi file suara digital dan gambar digital.

2. Lossless Compression

Sebaliknya Lossless Compression memiliki

derajat kompresi yang lebih rendah tetapi dengan

akurasi data yang terjaga antara sebelum dan

sesudah proses kompresi. Kompresi ini cocok untuk

basis data, dokumen atau preadsheet. Pada lossless

compression ini tidak diijinkan ada bit yang hilang

dari data pada proses kompresi.

Secara umum kompresi data terdiri dari dua

kegiatan besar, yaitu Modeling dan Coding. Proses dasar

dari kompresi data adalah menentukan serangkaian bagian

dari data (stream of symbols) mengubahnya menjadi

kode (stream of codes). Jika proses kompresi

efektif maka hasil dari stream of codes akan

lebih kecil dari segi ukuran daripada stream of

symbols. Keputusan untuk mengindentikan symbols

17

Page 29: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

tertentu dengan codes tertentu adalah inti dari proses

modeling. Secara umum dapat diartikan bahwa sebuah

model adalah kumpulan data dan aturan yang menentukan

pasangan antara symbol sebagai input dan code sebagai

output dari proses kompresi. Sedangkan

coding adalah proses untuk menerapkan modeling

tersebut menjadi sebuah proses kompresi data.

2.9 Kode Huffman

Dalam komunikasi data, pesan yang dikirim

seringkali ukurannya sangat besar sehingga waktu

pengirimannya lama. Begitu juga dalam penyimpanan data,

arsip yang berukuran besar memakan ruang penyimpanan

yang besar. Kode ini digunakan untuk mengkompresi data.

Kompresi data dilakukan dengan pengkodean setiap

karakter di dalam pesan yang dikodekan dengan kode yang

lebih pendek. Sistem kode yang paling banyak digunakan

adalah kode ASCII. Contoh pada tabel 2.1. Tabel 2.1 Contoh kode ASCII untuk beberapa karakter

Karakter

Kode ASCII

M 01001101

P 01010000

S 01010011

I 01001001

18

Page 30: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

Misal kata MISSISIPPI diubah ke dalam rangkaian

bit menjadi

0100110101001001010100110101001101001001010100

1101001001010100000

101000001001001. Berdasarkan pada penggunaan pengkodean

metode ASCII, representasi 10 hurup membutuhkan 10 * 8

= 80 bit (10 byte). Untuk meminimumkan jumlah bit yang

dibutuhkan, panjang kode untuk setiap karakter sedapat

mungkin diperpendek, terutama untuk karakter yang

probabilitas kemunculannya besar. Hal inilah yang

mendasari munculnya pengkodean metode Huffman. Misalnya

pada pesan MISSISIPPI, probabilitas kemunculan I adalah

4, S adalah 3, P adalah 2 dan M adalah 1.

Tabel 2.2 Tabel probabilitas dan kode Huffman untuk string MISSISIPPI.

Karakter

Probabilitas

Peluang Kode Huffman

M 1 1/10 100

P 2 2/10 101

S 3 3/10 11

I 4 1/10 0

Dengan menggunakan kode Huffman ini, pesan

MISSISIPPI dipresentasikan menjadi rangkaian bit

1000111101101011010. Jadi dengan menggunakan kode

Huffman ini, jumlah bit yang dibutuhkan untuk string

19

Page 31: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

MISSISIPPI hanya 19 bit. Karakter yang sering muncul

direpresentasikan dengan kode yang lebih pendek

daripada karakter yang lain. Kode untuk setiap karakter

tidak boleh merupakan awalan dari karakter yang lain

sebab akan menimbulkan keraguan dalam proses decoding.

Pengkodean dengan metode Huffman dibangun dari

panjang variabel kode-kode yang disusun dari bit-bit

karakter dengan nilai probabilitas tertinggi akan

memperoleh kode terpendek, sedangkan karakter dengan

probabilitas terendah akan memperoleh kode terpanjang.

Penelusuran pada kode Huffman dilakukan dari simpul

daun ke simpul akar, dari setiap bit akan diperoleh

kode Huffman dan penelusuran selesai jika berakhir pada

akar. Setelah penelusuran selesai, selanjutnya akan

menutup jalur yang telah ditelusuri.

20

Page 32: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

Gambar 2.4 Diagram alir pohon Huffman

Adapun langkah-langkah penelusuran pohon tersebut

adalah sebagai berikut:

1. Inputkan teks/karakter yang akan dikompresi.

Contoh: MISSISIPPI

2. Hitung karakter inputan dan urutkan inputan

berdasarkan probabilitas kemunculan tiap karakter.Tabel 2.3. Contoh inputan

KarakterProbabil

itas Kode Huffman

M 1/10 100

P 2/10 101

21

Page 33: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

S 3/10 11

I 4/10 0

3. Buatlah node dari tiap karakter serta urutkan

karakter dari probabilitas terkecil sampai

probabilitas yang paling besar. Untuk karakter yang

memiliki probabilitas sama, maka disusun berdasarkan

susunan dalam standar ASCII.

Gambar 2.5 Pembuatan node

4. Buat pohon Huffman dari karakter yang sudah

diurutkan tadi, dengan cara mengambil dua node

karakter yang paling kecil lalu gabungkan keduanya

dan tambahkan probabilitasnya. Hasil penggabungan

dijadikan akar sedangkan daunnya adalah masing-

masing karakter. Lakukan langkah kedua dan ketiga

secara terus-menerus sehingga seluruh karakter

tergabung menjadi akar dengan akumulatif

probabilitasnya.

Dari langkah ini akan terbentuk pohon Huffman

(Gambar 2.6).

22

Page 34: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

Gambar 2.6 Dua node anak yang membentuk node orang tua

5. Setelah pohon terbentuk maka selanjutnya beri tanda

tiap daun sebelah kanan dengan 1, dan sebelah kiri

dengan angka 0. (Gambar 2.7 dan Gambat 2.8).

Gambar 2.7 Pohon Huffman yang terbentuk

23

Page 35: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

Gambar 2.8 Pohon Huffman yang telah diberi tanda

6. Untuk memperoleh kode hasil kompresi, baca pohon

yang terbentuk berdasarkan karakter yang dicari dari

akar sampai daun hingga ditemukan karakter tersebut,

ikuti tiap node perjalanannya dan catat angka-angka

yang dilalui. Sehingga akan terbentuk deretan angka

nol dan satu. Setelah menelusuri pohon yang

terbentuk pada Gambar 2.6 maka diperoleh kode

berikut: I = 0, M = 100, P = 101, S = 11. Dengan

kode baru yang dihasilkan ini maka ukuran awalnya

yang 80 bit menjadi 19 bit. Ini jelas akan menghemat

61 bit.Tabel 2.4. Perbandingan Kode ASCII dan Kode Huffman

Karakter Kode ASCII Kode Huffman

M 01001101 100

P 01010000 101

S 01010011 11

I 01001001 0

Dengan demikian didapat kode Huffman dari kata

MISSISIPI adalah 1000111101101011010 yang akan diurai

dengan menambahkan 24 bit untuk header, 8 bit untuk

jumlah jenis karakter, 8 bit untuk kode ASCII masing-

masing karakter, serta jumlah hasil kompresi pesan.

24

Page 36: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

Untuk lebih jelasnya perhatikan Gambar 2.9 di bawah

ini:

000000000000

00000000000000000100 01001101 01010000 01010011 0100100

1000111101

101011010

Header 24 bitJenis

KarakterAscii M Ascii P Ascii S Ascii I Isi Pesan

Gambar 2.9 Struktur SMS setelah dikompresi

Keterangan:

a. Header 24 bit menunjukkan jumlah karakter yang

dikirim.

b. Jenis karakter merupakan jumlah jenis karakter

yang digunakan pada penulisan pesan.

c. Ascii I merupakan kode Ascii dari karakter I.

d. Ascii S merupakan kode Ascii dari karakter S.

e. Ascii P merupakan kode Ascii dari karakter P.

f. Ascii M merupakan kode Ascii dari karakter M.

g. Isi pesan merupakan jumlah karakter yang

digunakan pada penulisan

pesan.

7. Lakukan langkah ini sampai seluruh karakter

mendapatkan kode biner yang baru.

Dengan langkah-langkah diatas, akan diperoleh hasil

kompresi. Dengan demikian kompresi data selesai. Gambar

2.2 adalah diagram alir pohon Huffman, dan Gambar 2.10

adalah diagram alir kompresi data.

25

Page 37: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

Gambar 2.10 Diagram alir kompresi algoritma Huffman

2.4 Dekompresi Algoritma Huffman

Jika ingin melakukan proses dekompresi, maka kode

isi pesan diurai ke dalam pohon Huffman, kemudian pohon

Huffman ditelusuri sampai semua kode isi pesan

berbentuk karakter yang sesuai dengan inputan.

Untuk melakukan proses pengembalian ke data asli

dengan algoritma ini, maka langkah-langkahnya adalah

sebagai berikut ini:

26

Page 38: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

1. Buka dan baca data yang dikompresi.

2. Bentuk pohon Huffman.

3. Telusuri pohon Huffman untuk mendapatkan kode

Huffman masing-masing karakter.

4. Ubah hasil kompresi ke dalam karakter yang

sebenarnya.

Alur dekompresi ditunjukkan seperti pada gambar 2.11.

Gambar 2.11 Diagram alir dekompresi algoritma Huffman

2.10 Kriptografi

Kriptografi, secara umum adalah ilmu dan seni

untuk menjaga kerahasiaan berita (Scheneier,2005:22).

Selain pengertian tersebut terdapat pula pengertian

27

Page 39: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

ilmu yang mempelajari teknik-teknik matematika yang

berhubungan dengan aspek keamanan informasi seperti

kerahasiaan data, keabsahan data, integritas data,

serta autentikasi data. Tidak semua aspek keamanan

informasi ditangani oleh kriptografi.

Ada empat tujuan mendasar dari ilmu kriptografiini yang juga merupakan aspek keamanan informasiyaitu :

1. Kerahasiaan, adalah layanan yang digunakan untuk

menjaga isi dari informasi dari siapapun kecuali

yang memiliki otoritas atau kunci rahasia untuk

membuka/mengupas informasi yang telah disandi.

2. Integritas data, adalah berhubungan dengan

penjagaan dari perubahan data secara tidak sah.

Untuk menjaga integritas data, sistem harus

memiliki kemampuan untuk mendeteksi manipulasi

data oleh pihak-pihak yang tidak berhak, antara

lain penyisipan, penghapusan, dan pensubsitusian

data lain kedalam data yang sebenarnya.

3. Autentikasi, adalah berhubungan dengan

identifikasi/pengenalan, baik secara kesatuan

sistem maupun informasi itu sendiri. Dua pihak

yang saling berkomunikasi harus saling

memperkenalkan diri. Informasi yang dikirimkan

melalui kanal harus diautentikasi keaslian, isi

datanya, waktu pengiriman, dan lain-lain.

28

Page 40: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

4. Non-repudiasi., atau nirpenyangkalan adalah usaha

untuk mencegah terjadinya penyangkalan terhadap

pengiriman/tercipta nya suatu informasi oleh yang

mengirimkan/membuat.

2.10.1 Algoritma Sandi

Algoritma sandi adalah algoritma yang berfungsi

untuk melakukan tujuan kriptografis. Algoritma tersebut

harus memiliki kekuatan untuk melakukan :

1. Konfusi/pembingungan (confusion), dari teks terang

sehingga sulit untuk direkonstruksikan secara

langsung tanpa menggunakan algoritma dekripsinya

2. Difusi/peleburan (difusion), dari teks terang

sehingga karakteristik dari teks terang tersebut

hilang.

sehingga dapat digunakan untuk mengamankan informasi.

Pada implementasinya sebuah algoritmas sandi harus

memperhatikan kualitas layanan/Quality of Service atau

QoS dari keseluruhan sistem dimana dia

diimplementasikan. Algoritma sandi yang handal adalah

algoritma sandi yang kekuatannya terletak pada kunci,

bukan pada kerahasiaan algoritma itu sendiri. Teknik

dan metode untuk menguji kehandalan algoritma sandi

adalah kriptanalisa.

Dasar matematis yang mendasari proses enkripsi dan

dekripsi adalah relasi antara dua himpunan yaitu yang

berisi elemen teks terang /plaintext dan yang berisi

29

Page 41: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

elemen teks sandi/ciphertext. Enkripsi dan dekripsi

merupakan fungsi transformasi antara himpunan-himpunan

tersebut. Apabila elemen-elemen teks terang dinotasikan

dengan P, elemen-elemen teks sandi dinotasikan dengan

C, sedang untuk proses enkripsi dinotasikan dengan E,

dekripsi dengan notasi D.

Enkripsi : E(P) = C (2.1)

Dekripsi : D(C) = P atau D(E(P)) = P

(2.2)

Secara umum berdasarkan kesamaan kuncinya,

algoritma sandi dibedakan menjadi :

1. kunci-simetris/symetric-key, sering disebut juga algoritma sandi konvensional karena umumnya diterapkan pada algoritma sandi klasik

2. kunci-asimetris/asymetric-key

Berdasarkan arah implementasi dan pembabakan

jamannya dibedakan menjadi :

1. algoritma sandi klasik classic cryptography

2. algoritma sandi modern modern cryptography

Berdasarkan kerahasiaan kuncinya dibedakan menjadi :

1. algoritma sandi kunci rahasia secret-key

2. algoritma sandi kunci publik publik-key

Pada skema kunci-simetris, digunakan sebuah kunci

rahasia yang sama untuk melakukan proses enkripsi dan

dekripsinya. Sedangkan pada sistem kunci-asimentris

digunakan sepasang kunci yang berbeda, umumnya disebut

30

Page 42: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

kunci publik(public key) dan kunci pribadi (private

key), digunakan untuk proses enkripsi dan proses

dekripsinya. Bila elemen teks terang dienkripsi dengan

menggunakan kunci pribadi maka elemen teks sandi yang

dihasilkannya hanya bisa didekripsikan dengan

menggunakan pasangan kunci pribadinya. Begitu juga

sebaliknya, jika kunci pribadi digunakan untuk proses

enkripsi maka proses dekripsi harus menggunakan kunci

publik pasangannya.

2.10.2 Algoritma Kunci Simetris

Skema algoritma sandi akan disebut kunci-simetris

apabila untuk setiap proses enkripsi maupun dekripsi

data secara keseluruhan digunakan kunci yang sama.

Skema ini berdasarkan jumlah data per proses dan alur

pengolahan data didalamnya dibedakan menjadi dua kelas,

yaitu block-cipher dan stream-cipher.

a. Block-Cipher

Block-cipher adalah skema algoritma sandi yang akan

membagi-bagi teks terang yang akan dikirimkan dengan

ukuran tertentu (disebut blok) dengan panjang t, dan

setiap blok dienkripsi dengan menggunakan kunci yang

sama. Untuk menambah kehandalan model algoritma sandi

ini, dikembangkan pula beberapa tipe proses enkripsi,

yaitu :

31

Page 43: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

1. ECB, Electronic Code Book2. CBC, Cipher Block Chaining3. OFB, Output Feed Back4. CFB, Cipher Feed Back

b. Stream-Cipher

Stream-cipher adalah algoritma sandi yang

mengenkripsi data persatuan data, seperti bit, byte,

nible atau per lima bit(saat data yang di enkripsi

berupa data Boudout). Setiap mengenkripsi satu satuan

data di gunakan kunci yang merupakan hasil pembangkitan

dari kunci sebelumnya.

2.10.3 Algoritma Kunci Asimetris

Skema ini adalah algoritma yang menggunakan kunci

yang berbeda untuk proses enkripsi dan dekripsinya.

Skema ini disebut juga sebagai sistem kriptografi kunci

publik karena kunci untuk enkripsi dibuat untuk

diketahui oleh umum (public-key) atau dapat diketahui

siapa saja, tapi untuk proses dekripsinya hanya dapat

dilakukan oleh yang berwenang yang memiliki kunci

rahasia untuk mendekripsinya, disebut private-key.

Keuntungan algoritma model ini, untuk berkorespondensi

secara rahasia dengan banyak pihak tidak diperlukan

kunci rahasia sebanyak jumlah pihak tersebut, cukup

membuat dua buah kunci, yaitu kunci publik bagi para

korensponden untuk mengenkripsi pesan, dan kunci privat

untuk mendekripsi pesan. Berbeda dengan skema kunci-

32

Page 44: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

simetris, jumlah kunci yang dibuat adalah sebanyak

jumlah pihak yang diajak berkorespondensi.

Apabila pengirim dan penerima hendak bertukar

informasi, maka dilakukan langkah-langkah sebagai

berikut:

1. Pengirim dan Penerima masing-masing membuat 2 buahkunci a. Pengirim membuat dua buah kunci, kunci-publik

Kpublik[pengirim] dan kunci-privat Kprivat[pengirim]

b. Penerima membuat dua buah kunci, kunci-publikKpublik[penerima] dan kunci-privat Kprivate[penerima]

2. Mereka berkomunikasi dengan cara: a. Pengirim dan Penerima saling bertukar kunci-

publik. Penerima mendapatkan Kpublik[pengirim] daripengirim, dan Pengirim mendapatkan Kpublik[penerima]

dari penerima.b. Pengirim mengenkripsi plaintext P ke penerima

dengan fungsi C = E(P, Kpublik[penerima]) (2.3)

c. Pengirim mengirim teks-sandi C ke penerimad. Penerima menerima C dari pengirim dan membuka

plaintext dengan fungsi P = D(C, Kprivate[penerima])(2.4)

2.11 Kriptografi Vigenere

Sandi Vigenère adalah metode menyandikan teks

alfabet dengan menggunakan deretan sandi Caesar

berdasarkan huruf-huruf pada kata kunci. Sandi Vigenère

merupakan bentuk sederhana dari sandi substitusi

polialfabetik. Kelebihan sandi ini dibanding sandi

33

Page 45: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

Caesar dan sandi monoalfabetik lainnya adalah sandi ini

tidak begitu rentan terhadap metode pemecahan sandi

yang disebut analisis frekuensi.

Sandi ini dikenal luas karena cara kerjanya mudah

dimengerti dan dijalankan, dan bagi para pemula sulit

dipecahkan. Metode pemecahan sandi ini baru ditemukan

pada abad ke-19. Pada tahun 1854, Charles Babbage

menemukan cara untuk memecahkan sandi Vigenère. Metode

ini dinamakan tes Kasiski karena Friedrich Kasiski-lah

yang pertama mempublikasikannya.

Sandi Vigenère sebenarnya merupakan pengembangan

dari sandi Caesar. Pada sandi Caesar, setiap huruf teks

terang digantikan dengan huruf lain yang memiliki

perbedaan tertentu pada urutan alfabet. Misalnya pada

sandi Caesar dengan geseran 3, A menjadi D, B menjadi E

and dan seterusnya. Sandi Vigenère terdiri dari

beberapa sandi Caesar dengan nilai geseran yang

berbeda.

Untuk menyandikan suatu pesan, digunakan sebuah

tabel alfabet yang disebut tabel Vigenère, sebagaimana

terlihat pada Gambar 2.12. Tabel Vigenère berisi

alfabet yang dituliskan dalam 26 baris, masing-masing

baris digeser satu urutan ke kiri dari baris

sebelumnya, membentuk ke-26 kemungkinan sandi Caesar.

Setiap huruf disandikan dengan menggunakan baris yang

berbeda-beda, sesuai kata kunci yang diulang.

34

Page 46: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

Gambar 2.12 : Table Vigenere

Misalnya, plaintext yang hendak disandikan adalah

perintah "Serbu Berlin":

serbuberlin

Sedangkan kata kunci antara pengirim dan tujuan adalah

"Pizza"."PIZZA" diulang sehingga jumlah hurufnya sama

banyak dengan plaintext:

PIZZAPIZZAP

Huruf pertama pada plaintext, S, disandikan dengan

menggunakan baris berjudul P, huruf pertama pada kata

kunci. Pada baris P dan kolom S di tabel Vigenère,

terdapat huruf H. Demikian pula untuk huruf kedua,

35

Page 47: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

digunakan huruf yang terletak pada baris I (huruf kedua

kata kunci) dan kolom E (huruf kedua teks terang),

yaitu huruf M. Proses ini dijalankan terus sehingga

Plaintext: Serbuberlin

Kata kunci: PIZZAPIZZAP

Chipertext: HMQAUQMQKIC

Proses dekripsi dilakukan dengan mencari huruf teks

bersandi pada baris berjudul huruf dari kata kunci.

Misalnya, pada contoh diatas, untuk huruf pertama, kita

mencari huruf H (huruf pertama teks tersandi) pada

baris P (huruf pertama pada kata kunci), yang terdapat

pada kolom S, sehingga huruf pertama adalah S. Lalu M

terdapat pada baris I di kolom E, sehingga diketahui

huruf kedua teks terang adalah E, dan seterusnya hingga

didapat perintah "serbuberlin".Enkripsi (penyandian)

dengan sandi Vigenère juga dapat dituliskan secara

matematis, dengan menggunakan penjumlahan dan operasi

modulus, yaitu:

Ci = (Pi + Ki) mod 26 (2.5)

dan dekripsi,

Pi = (Ci - Ki) mod 26 (2.6)

36

Page 48: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

dengan:

- Ci adalah huruf ke-i pada teks chipertext, - Pi adalah huruf ke-i pada plaintext, - Ki adalah huruf ke-i pada kata kunci, dan - mod adalah operasi modulus (sisa pembagian).

BAB III

METODE PENELITIAN

3.1 Metode Penelitian

Langkah-langkah dalam menyelesaikan penelitian ini

di perlihatkan pada gambar 3.1. Prinsip pengerjaannya

menggunakan metode waterfall yaitu pengerjaan dari atas

ke bawah secara berurutan, dengan rincian perencanaan

sebagai beriku :

37

Studi pustaka

Perancangan dan pengembangan perangkat lunak

Uji coba dan evaluasi

Penulisan laporan

Page 49: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

Gambar 3.1 : Langkah-langkah penelitian.

1. Studi pustaka adalah mempelajari teori-teori yang

perlu di pahami untuk mendukung kelancaran

penelitian ini. Berikut adalah teori-teori yang

pendukung yang dimaksud :

a. Mempelajari tentang kriptografi khususnya

vigenere, untuk mengetahui bagaimana seluk

beluk dan algoritma kriptografi vigenere dan

bagaimana mengimplementasikannya kedalam

aplikasi.

b. Mempelajari tentang algoritma Kompresi Huffman

dan bagaimana untuk mengimplementasikan kedalam

aplikasi.

c. mempelajari proses pengiriman dan penerimaan

SMS dengan J2ME.

2. Perancangan dan pengembangan perangkat lunak.

Lebih detailnya disajikan pada bagian 3.2.

3. Uji coba dan evaluasi diperlukan untuk melihat

sejauh mana aplikasi yang dibuat berhasil dalam

melakukan enkripsi dan dekripsi teks SMS dan juga

kompresi dan dekompresi teks SMS.

38

Page 50: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

4. Penulisan laporan dilakukan untuk

mendokumentasikan semua kegiatan-kegiatan dan

temuan-temuan selama pelaksanaan penelitian.

3.2. Rancangan Algoritma

Gambar 3.2 : Proses enkripsi-kompresi SMS

Gambar 3.3 : Proses dekompresi-dekripsi SMS

Gambar 3.2 menunjukkan proses yang dilakukan

untuk enkripsi-kompresi teks SMS. Proses dimulai dari

39

teks SMS Enkripsi kompresi

kirim SMS

teks SMS dekompresiHuffman

Dekripsi

plain teks

tampilkan

Page 51: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

proses enkripsi yang kemudian dilanjutkan dengan

kompresi, sedangkan gambar 3.3 merupakan proses yang

menggambarkan dekompresi-dekripsi teks SMS yang

diterima. Proses ini merupakan dimulai dengan

dekompresi, karena teks SMS yang diterima merupakan

teks yang telah dikompresi. Langkah selanjutnya adalah

mendekripsi teks SMS yang sudah di dekompresi tadi.

3.3 Jadwal Kegiatan

Pada tabel 3.1 ini akan diperlihatkan rencana

jadwal kegiatan selama penelitian, jadwal disajikan

perbulan selaman 5 bulan.

Tabel 3.1. Perencanaan Jadwal Kegiatan

Jenis Kegiatan

Bulan

April Mei Juni Juli Agustus

Studi Pustaka

Perancangan dan pengembangan perangkat lunak

Uji coba dan evaluasi

Penulisan Laporan

40

Page 52: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

DAFTAR PUSTAKABodic, G.L., 2003, "Mobile Messaging Technologies And Services : SMS, EMS and MMS," John Wiley & Sons.

Bruce Schneier, 1997," Applied Cryptography, 2nd edition", New York: John-Wiley & Sons

Budi Raharja, Imam Heryanto, Arif Haryono,2010, "Tuntunan Pemrograman Java untuk Hanphone dan Alat Telekomunikasi Mobile Lainnya". Informatika Bandung

Huffman Coding "http://www.en.wikipedia.org/wiki/Huffman_coding".Diakses tanggal 5 April 2012

Linawati dan Panggabean, H.P., 2004, "Perbandingan Kinerja Algoritma Kompresi Huffman, Lzw, Dan Dmc Pada Berbagai Tipe File".

Practical Huffman Coding " http://www.compressconsult.com/huffman". diakses tanggal 5 April 2012

Piroumian Vartan, 2002, "Wireless J2ME Platform Programming". Prentice Hall PTR.

Stalling. William, 2002, "Kriptografi dan keamanan Jaringan", Mc Graw Hill

41

Page 53: IMPLEMENTASI KOMPRESI-ENKRIPSI SMS PADA TELEPHON SELULER BERBASIS J2ME DENGAN ALGORITMA HUFFMAN-VIGENERE CHIPER

42