You are on page 1of 88

1

BAB I
PENDAHULUAN

1.1.Latar Belakang
Al-quran kitab suci kaum muslimin, dari zaman ke zaman telah dijamin
keaslian dan kemurniannya oleh Allah SWT. Pada masa kenabian, setiap tahun
Malaikat Jibril datang kepada Nabi Muhammad SAW. Jibril lantas memeriksa
bacaan Al-quran dengan cara meminta Rasulullah mengucapkan ayat-ayat yang
telah diwahyukan sebelumnya. Hal yang sama kemudian juga dilakukan oleh
Rasulullah untuk mengontrol bacaan para sahabat. Demikianlah upaya yang
dilakukan untuk menjaga serta memelihara kemurnian ayat-ayat Al-quran
sepanjang masa. Hal ini telah ditegaskan oleh Allah dalam QS. Al Hijr:09 sebagai
berikut:
^^) }^4 4L^EO4^
4O^g]~.- ^^)4 +O
4pOOgO4O ^_
Artinya: Sesungguhnya Kami-lah yang menurunkan Al Quran, dan
Sesungguhnya Kami benar-benar baginya adalah para Pemeliharanya. (Q.S Al
Hijr: 09)

Menurut Shihab (2002/95), QS. Al Hijr:09 ini merupakan bantahan atas
ucapan orang-orang yang meragukan kemurnian Al Quran, dan merupakan
dorongan kepada orang-orang kafir untuk mempercayai Al-Quran, karena Al-
Quran dan nilai-nilainya tidak akan pernah punah tetapi akan terus bertahan,
2

yang berarti segala kepercayaan yang bertentangan dengan Al-Quran pasti akan
dikalahkan oleh ajaran Al-Quran. Pada kata mempunyai arti
Sesungguhnya Kami (Allah) yang mempunyai makna jamak(banyak), hal ini
menunjukkan adanya keterlibatan campur tangan selain Allah dalam menjaga
keaslian dan kemurnian Al-Quran yakni seluruh kaum muslimin dari zaman ke
zaman.
Al-Quran diwahyukan kepada Nabi Muhammad melalui malaikat jibril
secara berangsur-angsur dalam masa 22 tahun 2 bulan 22 hari yang biasa
dibulatkan menjadi 23 tahun (13 tahun di Mekkah dan 10 Madinah) dengan
jumlah 6666 ayat 114 surat dan 30 juz. Di dalam Al-Quran terkandung petunjuk
dan pedoman bagi seluruh umat manusia sampai akhir zaman, oleh karena itu Al-
quran harus terjamin keasliannya, agar umat manusia khususnya umat islam tidak
tersesat karena ketidak aslian Al-Quran tersebut. Oleh karena itu kaum muslimin
juga ikut memelihara otentitas Al Quran dengan banyak cara, yakni dengan
menghafalnya, menulis, dan membukukannya. Bahkan sesuai dengan
perkembangan teknologi pada masa sekarang, cara menjaga Al quran telah
dilakukan dengan cara merekam dan menyimpan dalam piringan hitam, kaset,
CD, dan berbagai media lainnya. Selain memelihara kemurnian tulisan dan makna
yang di kandung Al Quran, juga menjaga dalam menafsirkan maknanya, karena
jika ada yang salah menafsirkan maknanya, maka akan ada banyak orang yang
meluruskannya. Hal ini tidak lepas dari taufik dan bantuan dari Allah SWT.
Di era ICT (Information and Communication Technologi) saat ini,
dokumen-dokumen dan informasi yang sangat penting juga membutuhkan
penjagaan keaslian secara khusus, sebagaimana Al-Quran yang selalu dijaga
3

keasliannya, agar keaslian dokumen dan informasi dapat terjmain dari pihak-pihak
yang berkepentingan menyadap atau merubah dokumen. Stalling (2002:280)
mengungkapkan bahwa ancaman keamanan dokumen terbagi dalam dua kategori
yaitu pertama serangan pasif yang mencakup upaya-upaya penyerang
mendapatkan informasi yang berkaitan dengan komunikasi seperti membuka isi
pesan serta analisis lalu lintas, dan kedua adalah serangan aktif yaitu mencakup
beberapa modifikasi data yang ditransmisikan atau pembuatan transmisi yang
salah seperti penyamaran identitas, jawaban, modifikasi pesan dan penolakan
layanan pada manajemen fasilitas-fasilitas komunikasi.
Para ahli berusaha menemukan cara untuk penjamin keaslian dokumen dan
serangan-serangan tersebut, yakni salah satunya menggunakan teknik kriptografi
dengan menggunakan algoritma yang bermacam-macam seperti algoritma DES,
AES, RC4, vigenere .Orang yang ahli dalam bidang kriptografi disebut dengan
cryptographers,
Kriptografi, secara umum adalah ilmu dan seni untuk menjaga kerahasiaan
berita (Wikipedia, 2009). Selain pengertian tersebut terdapat pula pengertian
yang lebih luas yaitu ilmu yang mempelajari teknik-teknik matematika yang
berhubungan dengan aspek keamanan informasi seperti kerahasiaan data,
keabsahan data, integritas data, serta autentikasi data(Kurniawan, 2004).
Sistem kriptografi harus memenuhi tiga kebutuhan secara umum:
1. Proses transformasi enkripsi dan dekripsi harus efisien untuk semua
kunci
2. Sistem harus mudah untuk digunakan
4

3. Keamanan daris sistem sebaiknya hanya tergantung pada kerahasiaan
kunci dan tidak tergantung pada kerahasiaan dari algoritma enkripsi
maupun deskripsinya.
Dengan berkembangnya teknik-teknik pengamanan pesan ini, teknik
kriptografi tidak hanya dapat diaplikasikan pada perangkat komputer saja, salah
satunya dapat di aplikasikan pada perangkat telepon seluler. Telepon selular
merupakan alat komunikasi yang sudah dipakai banyak orang. Telepon selular
menyediakan media komunikasi yang beragam, salah satu diantaranya adalah
media MMS (Multimedia Message Service). MMS merupakan suatu layanan
yang berfungsi untuk mengirimkan pesan berupa text, image dan video kepada
pengguna telepon selular lain dengan cepat dan biaya yang terjangkau.
Layanan pengiriman pesan singkat ini sangatlah standar, sehingga banyak para
pengguna telepon selular yang menggunakan layanan ini untuk mengirimkan
suatu pesan multimedia yang penting dan rahasia. Akan tetapi para pengguna
layanan MMS ini sering kali tidak mengetahui, bahwa jalur komunikasi MMS
memiliki banyak sekali celah yang memungkinkan untuk terjadinya serangan
pada pesan teks maupun multimedia yang dikirim. Tingkat keamanan data yang
dikirim melalui MMS masih belum terjamin, karena pihak penyelenggara jaringan
atau operator masih dapat mengetahui isi pesan yang dikirim. Terutama karena
penerimaan dan pengiriman pesan melalui MMS menggunakan jalur dan protokol
IP yaitu WAP (Wireless Aplication Protocol), HTTP (Hypertext Transfer
Protocol), dan SMTP (Simple Mail Transfer Protocol) yang merupakan jalur yang
rentan terhadap serangan dari pihak-pihak yang tidak berhak (unauthorized
persons).
5

Komunikasi melalui media MMS bukanlah komunikasi point-to-point,
pesan yang dikirimkan melalui media MMS tidak langsung sampai pada tujuan,
melainkan melalui jaringan MMS. Oleh sebab itu, keamanan pesan merupakan hal
yang sangat penting. Data dan pesan yang jatuh kepada orang yang tidak berhak,
dapat diubah isinya tanpa diketahui oleh pengirim atau penerima. Akibatnya,
penerima akan menerima dokumen tersebut tanpa mencurigai adanya perubahan
yang dapat merugikan baik bagi pengirim maupun penerima.
Pencurian dan modifikasi pesan juga dapat dilakukan melalui penyusupan
MMSC (Multimedia Message Service Center). MMSC adalah pusat pesan
multimedia yang berfungsi untuk menyimpan pesan-pesan yang akan dikirim
sebelum pesan tersebut dikirimkan ke nomor tujuan. Maka dengan adanya MMSC
ini, apabila nomor tujuan atau jaringan MMS sedang sibuk, pesan yang dikirim
tetap dapat dikirimkan dengan menyimpan pesan tersebut terlebih dahulu pada
MMSC, dan akan dikirimkan kembali ketika tujuan sudah tidak sibuk lagi.
Untuk itu diperlukan sistem pengamanan untuk melindungi data yang
ditransmisikan melalui suatu jaringan komunikasi ini, salah satu caranya adalah
menerapkan suatu algoritma kriptografi pada pesan yang dikirimkan. Dengan
terenkripsinya pesan yang dikirim, maka seseorang yang berhasil menyusup
MMSC dan mencuri informasi pesan teks maupun multimedia yang dikirim,
akan tetap kesulitan membuka isi pesan tersebut.
Dari sekian banyak algoritma kriptografi yang telah dikembangkan saat
ini, algoritma DES(Data Encription Standard) menjadi algoritma pilihan penulis
untuk diterapkan pada pengamanan pesan image ini, karena algoritma DES
dianggap cukup kuat dan rumit untuk dipecahkan.
6

Oleh karena itu pada tugas akhir ini penulis mengambil topik tentang
kriptografi pada perangkat telepon seluler dengan menggunakan Algoritma DES
yang penulis khususkan pada kriptografi pengiriman image saja, sehingga judul
tugas akhir ini adalah KRIPTOGRAFI PENGIRIMAN IMAGE PADA
TELEPON SELULER DENGAN METODE DES.
1.2 Rumusan Masalah
Dari latar belakang di atas, maka rumusan masalah tugas akhir ini adalah
Bagaimana merancang dan membuat kriptografi pengiriman Image pada
telepon seluler dengan algoritma DES?

1.3 Batasan Masalah
Pada tugas akhir ini diberikan pembatasan masalah sebagai berikut:
a. Algoritma yang dipakai dalam enkripsi dan deskripsi ini menggunakan
algoritma DES.
b. MIDlet pemrograman MMS membatasi ukuran file image maximal 30KB
c. Type file image yang diproses adalah type JPEG, dan PNG.
d. Telepon seluler yang digunakan adalah telepon selular GSM yang
mendukung aplikasi java dan mempunyai fasilitas kamera.
1.2.Tujuan dan Manfaat penelitian
1. Tujuan Penelitian
Tujuan dari Penelitian ini adalah:
a. Memahami dengan baik algoritma DES.
b. Melakukan pengkajian algoritma DES yang diterapkan untuk enkripsi
pengiriman image pada telephon seluler
7

c. Melakukan pengujian dari perangkat lunak yang telah dibangun.
2. Manfaat Penelitian
Hasil penelitian ini diharapkan dapat digunakan sebagai langkah
penyalamatan data berupa pesan image yang dianggap penting dan rahasia,

1.3.Sistematika Pembahasan
Sistematika penulisan penelitian ini dibagi menjadi 5 (lima) bab, yakni:
Pada BAB I membahas tentang latar belakang permasalahan, rumusan
masalah, batasan masalah yang diambil, tujuan dan manfaat penilitian, dan
sistematika pembahasan.
Selanjutnya pada BAB II Membahas tentang teori dasar tentang
kriptografi, struktur jaringan MMS dan teori-teori yang berhubungan dengan
pembuatan tugas akhir sebagai penunjang dari permasalahan yang diambil.
BAB III ini berisi tentang metodologi serta analisis dan perancangan
sistem dengan menggunakan algoritma enkripsi dekripsi imgae dengan algoritma
DES pada telepon seluler.
Pada BAB IV ini akan dilakukan implementasi program, pengujian dan
analisa sistem perangkat lunak yang dibangun, yaitu apakah sudah sesuai dengan
Algoritma DES dan dapat di implementasikan pada pengiriman image perangkat
telepon seluler.
Sedangkan BAB V berisi tentang ringkasan atau kesimpulan dari seluruh
rangkaian penelitian serta saran kemungkinan pengembangan sistem.

8

BAB II
KAJIAN PUSTAKA

2.1. Struktur jaringan MMS
Multimedia Messaging Service (MMS) adalah sebuah standar layanan
pesan telepon yang memungkinkan untuk mengirim pesan yang mengandung
objek multimedia, seperti gambar, audio, video, dan rich text. (Wapedia, 2010).
MMS dapat dikatakan sebagai bentuk evolusi dari SMS atau Short Messaging
Service, dimana pada layanan pesan tersebut terdapat transmisi jenis media
tambahan yang meliputi teks, image, audio, animasi, videoklip atau kombinasi
antar media-media tersebut. Teknologi MMS ini dimunculkan pertama kali di
Eropa sekitar tahun 2002, oleh suatu badan yang disebut dengan 3G Partnership
Project (3GPP) yang bertanggung jawab dalam hal spesifikasi dan pengembangan
dari MMS, sedangkan teknis realisasinya dilakukan oleh Open Mobile Alliance
(OMA) yang sebelumnya dikenal sebagai WAP Forum.
Elemen dan arsitektur jaringan MMS terdiri dari :
a. MMS Centre: Disinilah pesan MMS yang dikirimkan atau yang akan diterima
disimpan. Pada waktu menerima MMS, penerima akan mendapatkan pesan
notifikasi dari MMSC menggunakan WAP push (suatu format khusus dari
MMS) yang secara otomatis memicu telepon genggam penerima untuk
mengambil pesan MMS dari MMSC. Sedangkan untuk pengiriman MMS,
pengirim akan mengirimkan pesan MMS secara langsung dari telepon
genggamnya ke MMSC, dimana MMS Centre sebenarnya mirip dengan Web
Server.
9

b. WAP Gateway: Perangkat ini bertindak sebagai penghubung antara MMSC
dengan telepon genggam pengguna. WAP ini sebenarnya hampir mirip
dengan protokol internet. Sewaktu mengirim pesan MMS, maka telepon
genggam akan menggunakan WAP Session Protocol (WSP)/HTTP POST ke
MMSC melalui WAP Gateway ini.
c. SMS Centre: Perangkat SMSC ini digunakan oleh MMSC untuk
mengirimkan pesan SMS notifikasi bahwa ada pesan MMS yang dikirimkan
kepada si penerima MMS.
Adapun bentuk jaringan MMS dapat dilihat pada gambar berikut ini:

(sumber: http://elektronika-elektronika.blogspot.com/2007/05/mms-multimedia-
messaging-service.html)
Gambar 2.1: Bentuk jaringan MMS

10

MMS distandarisasi WAP forum dan 3GPP, serta pesan MMS dapat
dikirim dan diterima antara person to person dan person to email. Mekanisme
pengiriman MMS person to person yaitu pada tahap pertama, pihak originator
melakukan send kepada receiver melalui MMSC dengan menggunakan WAP
Post, dan pesan tersimpan dalam MMSC. Kemudian pada tahap kedua, MMSC
memberitahukan atau memberikan notifikasi kepada receiver melalui SMS
dengan WAP Push. Tahap ketiga, setelah receiver menerima notifikasi, untuk
mengambil pesan MMS, receiver melakukan inisialisasi hubungan WAP Get
untuk mengambil MMS yang ada didalam MMSC. Dan tahap terakhir, setelah
semua proses tersebut berjalan maka report via SMS dikirim ke originator
Pada aplikasi pengiriman dan penerimaan pesan pada telephon seluler
dikenal istilah nomor port. Nomor port ini digunakan sebagai pengenal apabila
dalam sebuah telephon seluler terdapat dua buah atau lebih aplikasi penerimaan
pesan. Aplikasi penerimaan pesan tersebut akan menunggu pesan yang ditujukan
pada nomor port tersebut. Untuk mengirimkan pesan pada port yang spesifik,
pengirim harum menyertakan nomor port pada pesan yang dikirimnya. Jika
pengirim tidak menyertakan nomor port, maka pesan yang dikirim akan masuk
dan diterima oleh sistem penerima pesan pada aplikasi standard yang sudah
disediakan telephon seluler secara umum, karena pada aplikasi pengiriman pesan
standard mempunyai nomor port default yaitu nomor port 0, sehingga pesan yang
dikirim tanpa memasukkan nomor port yang baru dianggap menggunkan nomor
port default.

11

2.2 Format image PNG dan JPG
Portable Network Graphics (PNG) adalah format gambar bitmap yang
menggunakan kompresi lossless data. PNG diciptakan untuk memperbaiki dan
menggantikan GIF (Graphics Interchange Format), sebagai format file gambar
yang tidak memerlukan lisensi paten. Singkatan rekursif PNG adalah opsional, .
PNG mendukung gambar palet berbasis (dengan palet RGB 24-bit atau 32-bit
RGBA warna), gambar abu-abu (dengan atau tanpa alpha channel), dan RGB
gambar (dengan atau tanpa alpha channel). PNG dirancang bukan untuk grafis
cetak, tetapi untuk mentransfer gambar pada Internet, oleh karena itu PNG tidak
mendukung non-ruang warna RGB seperti CMYK. PNG file hampir selalu
menggunakan file ekstensi PNG atau ping dan ditugaskan tipe MIME media
"image / png";. Itu telah disetujui untuk digunakan oleh Internet Engineering
Steering Group pada tanggal 14 Oktober 1996.
Fitur lain yang memenangkan format PNG adalah kemampuannya untuk
menyesuaikan gamma berdasarkan pengaturan monitor. PNG digunakan di
Internet dan merupakan format terbaru setelah GIF, bahkan menggantikan GIF
untuk Internet image karena GIF terkena patent LZW yang dilakukan oleh Unisys.
Secara garis besar, format PNG mempunyai fitur sebagai berikut:
Sebagai pengganti format GIF dan TIFF.
Format terbuka atau open, efisien, gratis, dan kompresi jenis lossless.
Mempunyai tiga mode warna yaiut : paletted (8 bit), greyscale (16 bit),
truecolour (hinga 48 bit)
Dukungan terhadap profile colour, gamma, dan metadata.
12

Mempunyai fitur transparansi serta dukungan penuh terhadap alpha
channel.
Mendukung shoftware manipulasi grafis dan web browser.
Kelemahan dari format PNG adalah tidak dapat mengompres gambar-
gambar alam secara kompleks. Di sinilah keuntungan format JPG. Format JPG
yang dikembangkan oleh Joint Photographic Experts Group (JPEG) merupakan
teknik kompresi grafis high color bit-mapped dan tipe file gambar yang menjadi
standard untuk fotografer professional. Umumnya digunakan untuk kompresi
citra berwarna maupun gray scale.
Format JPG bisa mensupport sampai 16.7 juta warna. Jumlah tersebut
cukup untuk keperluan apapun bahkan pencitraan warna yg tidak bisa dicerna
mata manusia. Selain jumlah kombinasi warna yang cukup banyak, algoritma
kompresi jpeg bekerja dengan meresonansi informasi2 image keluar, dan
tergantung setting yang diberikan, Format JPG (Joint Photographic Ahli Group)
memiliki kompresi lebih rumit serta sistem pola dan warna yang dapat
menjelaskan setiap pixel secara terpisah.. Secara umum, format JPG dapat
mengkompresi foto natural dengan baik, karena kompresi JPG sangat kompleks
dan merupakan format kompresi yang sempurna. Sedikit kesalahan pengompresan
dapat muncul pada gambar ketika didekompresi jika proses kompresi secara tidak
benar. Contoh dari kesalahan proses pengompresan umumnya terdapat noise atau
kabur di sekitar teks dan warna. Kelemahan lain format JPG adalah tidak dapat
memproses area transparan dan terjadi degradasi kualitas gambar setiap kali JPEG
disimpan ulang. Untuk itu, JPEG kemudian mengembangkan teknologi JPG guna
menangani problem serius soal degradasi kualitas gambar tersebut.
13


2.3 Keamanan Data
Dalam dunia informasi, kita perlu menyadari bahwa banyak sekali
ancaman terhadap keamanan dan kerahasiaan data yang mungkin akan
mengganggu kita. Kita tidak bisa terus menerus terlena akan keadaan kondisi
dimana kita merasa dalam keadaan aman, oleh karena itu para ahli teknologi
informasi, dari hari ke hari terus mempelajari teknik dan strategi dalam
meningkatkan keamanan dan kerahasiaan data. Mereka menyebutkan bahwa,
kerahasiaan data akan tetap terjaga jika memenuhi aspek-aspek berikut ini.:
1

a. Authentication : agar penerima informasi dapat memastikan keaslian
pesan tersebut, dari orang yang dimintai informasi. Dengan kata lain
informasi tersebut benar-benar dari orang yang dikehendaki.
b. Integrity: keaslian pesan yang dikirim melalui sebuah jaringan dan dapat
dipastikan bahwa informasi yang dikirim tidak dimodifikasi oleh orang
yang tidak berhak dalam perjalanan informasi tersebut.
c. Nonrepudiation: merupakan hal yang bersangkutan dengan si pengirim. Si
pengirim tidak dapat mengelak bahwa dialah yang mengirim informasi
tersebut.
d. Authorithy : informasi yang berada pada sistem jaringan tidak dapat
dimodifikasi oleh pihak yang tidak berhak atas akses tersebut.
e. Confidentiality : merupakan usaha untuk menjaga informasi dari orang
yang tidak berhak mengakses.
f. Privacy :merupakan lebih kearah data-data yang sifatnya private(pribadi).

1
Dony Ariyus, Computer Security, (Penerbit Andi 2006), hal 2-3
14

g. Avability: ketersediaan informasi ketika dibutuhkan. Sistem informasi
yang disadap dapat menghambat akses informasi. Acces control : Aspek
ini berhubungan dengan cara pengaturan akses kepada informasi. Hal itu
biasanya berhubungan dengan masalah authentication dan juga privacy.
Aspek ini sering kali dilakukan menggunakan kombinasi user id dan
password atau dengan menggunakananmekanisme lainnya.
2.4 Keamanan Dalam Al Quran
4O- +.- Og~-.- 4O) )
4O- l)UE^- +EO^-
NUOO- }g`u^-
;g^OE_^- +OCjOE^-
+O*:E^- +O):4-^- _
=}E:c *.- O4N ]O)O;+C
^g@
Artinya : Dialah Allah yang tiada Tuhan selain Dia, Raja, yang Maha Suci,
yang Maha Sejahtera, yang Mengaruniakan Keamanan, yang Maha Memelihara,
yang Maha perkasa, yang Maha Kuasa, yang memiliki segala Keagungan, Maha
suci Allah dari apa yang mereka persekutukan. (QS.Al Hashr:23)
Allah berfirman dalam Al Quran, sebagimana tertera pada ayat di atas,
bahwasanya Allah Tuhan Maha Suci telah mengaruniakan keamanan kepada kita
sebagai tanda Keagungan dan Kekuasaan-Nya. Untuk itu kita harus
mensyukurinya.
15

Menurut Sayyid Quthb dalam kitabnya Tafsir fi Zhilalil Quran, kalimat
yang berarti Maha Sejahtera yang Mengaruniakan Keamanan,
merupakan nama yang menyebarkan tentang keselamatan, keamanan, dan
kedamaian dalam lembaran-lembaran ruang alam semesta, dalam hati orang-orang
yang beriman kepada Tuhannya, maka mereka merasa aman di sisi-Nya dan
merasa selamat di bawah naunganNya. Selain itu lafadz di atas memberikan
kesadaran dalam hati tentang nilai iman, dimana ia bertemu dengan Allah di
dalam nama itu. Dari nama ini hati merasa terlindungi dengan keselamatan,
ketenangan dan kedamian. Keliaran nafsu dan guncangannya pun menjadi tenang
dan mereda sehingga selalu condong kepada keharmonisan, ikatan, dan kedamian.
Salah satu rahmat dan karunia Allah adalah rasa aman, sebagaimana
teraktub pada ayat di atas. Rasa aman ini tidak semata-mata diberikan kepada
hamba-Nya dengan cuma-cuma, hal ini tergantung dengan hamba itu sendiri.
Apakah dia mau berusaha untuk mendapatkan rahmat dan karunia-Nya itu atau
tidak?. Sebagaimana yang telah disebutkan oleh Sayyid Quthb, hati kita akan
merasa terlindungi dengan keselamatan, ketenangan dan kedamian jika kita selalu
meningkatkan nilai keimanan kepada Allah
Jika keamanan secara bathiniah dapat diperoleh dengan cara
meningkatkan nilai keimanan kita kepada Allah SWT, sekarang bagaimana cara
kita meningkatkan kemanan dalam dunia teknologi informasi?. Di zaman modern
ini telah ditemukan banyak cara bagaimana meningkatkan keamanan ketika kita
bergelut dalam dunia teknologi dan informasi, salah satunya adalah teknik
penyandian kode-kode, atau lebih dikenal dengan sebutan teknik kriptografi,
sebagaimana menjadi topik utama dalam pembuatan tugas akhir ini. Namun
16

barangkali tidak ada yang menyangka bahwa Islam juga ikut andil dalam
menyumbang kontribusi dalam teknik pengkodean ini. Karena Al-Kindilah yang
memperkenalkan teknik penguraian kode atau sandi-sandi yang sulit dipecahkan.
Al-Kindi juga mengklasifikasikan sandi-sandi rahasia serta menjelaskan
ilmu fonetik Arab dan sintaksisnya. Yang paling penting lagi, dalam bukunya ini
ia mengenalkan penggunaan beberapa teknik statistika untuk memecahkan kode-
kode rahasia. Yang kemudian ia tulis dalam kitab yang berjudul Risalah fi
Istikhraj al-Muamma(Manuscript for the Deciphering Cryptographic Messages).
Bekerja di bidang sandi-sandi rahasia dan pesan-pesan tersembunyi dalam
naskah-naskah asli Yunani dan Romawi mempertajam nalurinya dalam bidang
kriptoanalisa. Ia menjabarkannya dalam sebuah makalah, yang setelah dibawa ke
Barat beberapa abad sesudahnya diterjemahkan sebagai Manuscript on
Deciphering Cryptographic Messages. Di dalamnya antara lain mengungkapkan:
Satu cara untuk memecahkan kode rahasia, jika kita tahu bahasanya, adalah
dengan menemukan satu naskah asli yang berbeda dari bahasa yang sama, lalu
kita hitung kejadian-kejadian pada tiap naskah. Pilah menjadi naskah kejadian
satu, kejadian dua, dan seterusnya. Kemudian kita lihat teks rahasia yang ingin
kita pecahkan, dan mulailah mengklasifikasikan simbol-simbolnya. Kita lalu
menemukan simbol yang paling sering muncul, lalu ubahlah dengan catatan
kejadian satu, dua dan seterusnya itu, sampai seluruh simbol itu terbaca. Teknik
Al Kindi ini kemudian dikenal sebagai analisa frekuensi dalam kriptografi, yaitu
cara paling sederhana untuk menghitung persentase bahasa khusus dalam naskah
asli, persentase huruf dalam kode rahasia, dan menggantikan simbol dengan huruf.
2.5 Kriptografi
17

Kriptografi berasal dari kata yunani. Menurut bahasa tersebut, kata
kriptografi dibagi menjadi dua bagian, yaitu kripto dan graphia. Kripto berarti
secret (rahasia) dan rahasia berarti writing (tulisan). Menurut terminologinya
kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan dikirim dari
suatu tempatke tempat yang lain. Dalam perkembangannya, kriptografi juga
digunakan untuk mengidentifikasi pengiriman pesan dengan tangan digital untuk
keaslian pesan dengan sidik jari digital (fingerprinting).
2

2.5.1 Sejarah Kriptografi
Kriptografi memiliki sejarah yang sangat menarik dan panjang. Teknik
kriptografi sudah digunakan 400 tahun yang lalu dan diperkenalkan oleh orang-
orang mesir untuk mengirim pesan ke pasukan militer yang berada di lapangan.
Dengan demikian, pesan tersebut tidak bisa terbaca oleh pihak musuh.
Pada zaman romawi kuno dikisahkan tentang Julius Caesar yang ingin
mengirimkan satu pesan rahasia kepada seorang jendral di medan perang. Pesan
tersebut harus dikirimkan melalui seorang kurir. Karena pesan tersebut bersifat
rahasia dan Julius Caesar pesan tersebut bocor sebelum diterima orang yang
berhak, maka Julius Caesar kemudian memikirkan bagaiman caranya mengatasi
hal tersebut. Kemudian Julius Caesar mempunyai ide untuk mengacak pesan
tersebut menjadi suatu pesan yang tidak dapat dipahami oleh orang lain kecuali
jendral saja. Tentu saja sang jendral sudah tahu bagaimana cara membaca pesan
tersebut dengan kuncinya. Hal yang dilakukan Caesar Julius adalah mengganti

2
Dony Ariyus, Computer Security, (Penervit Andi 2006), hal 78

18

semua susunan alphabet dari a, b, c dan.seterusnya, dengan a menjadi d, b
menjadi e, c menjadi f dan seterusnya.
Dari ilustrasi tersebut, beberapa istilah kriptografi dipergunakan untuk
menandai aktifitas-aktifitas rahasia untuk mengirim pesan. Apa yang dlakukan
Julius Caesar dengan cara mengacak pesannya disebut sebagai encription,
sedangkan saat jendral merapikan pesan yang teracak disebut dengan istilah
decription. Sedangkan pesan yang teracak disebut dengan plaintext..
Pada cipher yang digunakan oleh Julius Caesar ini, huruf-huruf
distubstitusi dengan huruf-huruf yang lain pada alfabet yang sama. Karena hanya
satu alfabet yang digunakan, cipher ini merupakan substitusi mono alfabetik.
Cipher semacam ini mencakup penggeseran alphabet dengan 3 huruf dan
mensubstitusikan huruf tersebut. Substitusi ini kadang dikenal dengan C3 (untuk
Caesar menggeser 3 tempat). Secara umum sistem cipher Caesar dapat ditulis
sebagai berikut.
Zi=Cn(Pi)
Dimana Zi adalah karakter-karakter ciphertext, CN adalah transformasi substitusi
alfabetik, n adalah jumlah huruf yang digeser, dan Pi adalah karakter-karakter
plaintext..
Huruf-huruf dengan bentuk tegak akan memiliki lebar huruf yang lebih
kecil dibandingkan dengan huruf-huruf yang melintang, sehingga dengan huruf
yang sama, hutruf yang melintang akan memakan banyak tempat. Spasi antar
huruf juga akan terlihat berfariasi pada huruf yang melintang daripada huruf
tegak.
19

Pada perang kedua, Jerman menggunakan enigma atau disebut dengan
mesin rotor yang digunakan oleh Hitler untuk mengirim pesan kepada tentaranya.
Jerman sangat percaya bahwa pesan yang dikirim melalui enigma tidak aakn
terpecahkan kode-kode enkripsinya. Akan tetapi anggapan itu keliru. Ternyata
setelah bertahun-tahun sekutu dapat memecahkan kode-kode tersebut setelah
mempelajarinya. Setelah Jerman mengetahui bahwa kode-kode tersebut telah
dipecahkan oleh sekutu, maka enigma yang digunakan pada saat itu beberapa kali
mengalami perubahan.
Enigma yang digunakan Jerman bisa mengenkripsikan satu pesan
sehingga memiliki 15 milyar kemungkinan untuk dapat mendeskripsikan satu
pesan. Dari kemungkinan tersebut, Jerman tidak percaya bahwa pesan yang
dikirim dapat dipecahkan oleh sekutu.
Selama bertahun-tahun, kriptografi menjadi bidang khusus yang dipelajari
pihak militer, seperti agen Keamanan Nasional Amerika (National Amerika
Agency), Uni Soviet, INggris, Perancis, Israel, dan Negara-Negara lainnya yang
telah membelanjakan miliaran dolar untuk mengamankan komunikasi mereka dari
pihak luar. Namun demikian, mereka tetap mempelajari kode-kode rahasia Negara
lain. Adanya persaingan tersebut memungkinkan kriptografi terus berkembang
sesuai dengan perkembangan zaman. Namun, pada 30 tahun terakhir ini,
kriptografi tidak hanya dimonopoli oleh pihak militer saja. Hal yang sama juga
dilakukan oleh individu-individu yang menginginkan pesan dan komunikasi
mereka tidak diketahui oleh pihak lain, dan setiap individu berhak mengamankan
informasi. Apalagi pada zaman sekarang ini, persaingan disetiap hal sangat ketat
20

dan tinggi, sehingga perlu pengaman disetiap individu, agar privasi mereka tidak
diketahui oleh lawannya.
2.5.2 Algoritma Kriptografi
Perkembangan kriptografi memang sangat pesat. Para ahli kriptografi
(cryptographers) terus menerus menciptakan algoritma-algoritma kriptografi
yang baru. Hal ini dikarenakan pula semakin banyak orang-orang ahli yang
mampu memecahkan kode-kode ciphertext ke dalam plaintext.. Orang-orang ahli
semacam ini sering disebut cryptoanalisis. Ketika suatu algoritma kriptografi
sudah dapat dipecahkan, maka diperlukan algoritma-algoritma baru yang lebih
handal, agar keamanan data dapat terjaga. Hal ini menyebakan kriptografi tak
akan pernah berhenti berkembang.
Definisi terminologinya algoritma adalah urutan langkah-langkah logis
untuk penyelesaian logis untuk penyelesaian masalah yang disusun secara
sistematis. Algoritma kriptografi merupakan langkah-langkah logis bagaimana
menyembunyikan pesan dari orang-orang yang tidak berhak atas pesan tesebut.
Algotitma kriptografi terdiri dari tiga fungsi dasar yaitu:
3

a) Enkripsi merupakan hal yang sangat penting dalam kriptografi yang
merupakan pengamanan data yang dikirimkan terjaga kerahasiaannya. Pesan
asli disebut plaintext. yang dirubah menjadi kode-kode yang tidak dimengerti.
Enkripsi dapat diartikan cipher atau kode. Sama halnya dengan kita tidak
mengerti akan sebuah kata, maka kita akan melihatnya di dalam kamus atau

3
Dony Arius, Kriptografi Keamanan Data dan Komunikasi, (Yogyakarta: Graha
Ilmu 2006) hal 13
21

daftar istilah. Beda halnya dengan enkripsi, untuk merubah plaintext. ke
bentuk ciphertext kita menggunakan algoritma yang dapat mengkodekan data
yang kita inginkan.
b) Dekripsi merupakan kebalikan dari dekripsi, pesan yang telah dienkripsi
dikembalikan kebentuk aasalnya disebut dengan dekripsi pesan. Algoritma
yang digunakan untuk dekripsi berbeda dengan yang digunakan untuk
enkripsi.
c) Kunci. Kunci yang dimaksud disini adalah kunci yang dpakai untuk
melakukan enkripsi dan dekripsi.

Gambar 2.2 Proses Enkripsi dan Dekripsi
Kategori algoritma yang handal adalah algoritma yang kekuatannya
terletak pada kunci, bukan terletak pada kekuatan algoritma itu sendiri. Dasar
matematis yang mendasari proses enkripsi dan dekripsi adalah relasi antara dua
himpunan yaitu yang berisi elemen teks terang plaintext. dan yang berisi 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. maka kita dapat
rumuskan sebagai berikut:
22

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

Algoritma Kriptografi merupakan bagian dari cryptosistem. Secara umum
cryptosistem dapat digolongkan menjadi dua buah, yaitu:
5

a. Symmetric cryptosistem
Dalam Symmetric cryptosistem ini, kunci yang digunakan untuk proses
enkripsi dan dekripsi pada dasarnya identik. Tetapi satu buah kunci dapat
pula diturunkan pula dari kunci yang lainnya. Kunci-kunci ini harus
dirahasiakan. Oleh karena itulah sistem ini sering disebut sebagai secret-key
ciphersistem. Jumlah kunci yang dibutuhkan umumnya adalah:
n
C
2
= n .
(-1)
2

Dengan n menyatakan banyaknya pengguna, contoh dari sistem ini adalah
DES(Data Encryptuon Standard), blowfish, AES.
b. Assymmetric cryptosistem
Dalam Assymmetric cryptosistem ini digunakan dua buah kunci. Satu kunci
yang disebut kunci publik (publik key) dapat dipublikasikan, sedang kunci
yang lain disebut kunci privat (private key) harus dirahasiakan. Proses dalam
menggunakna kunci dapat diterangkan secara sederhana sebagai berikut: bila

4
http://wikepedia.com/kriptografi
5
Wahana komputer semarang, Memahami Model Enkripsi dan Scurity Data,
(Yogyakarta: Andi, 2003), hal 106-107.
23

A ingin mengirimkan pesan kepada B, A dapat menyandikan pesannya
dengan menggunakan kunci publik B, dan bila B ingin membaca surat
tersebut, ia perlu mendiskripsikan surat tersebut dengan kunci privatnya.
Dengan demikian kedua belah pihak dapat menjamin asal surat serta keaslian
surat tersebut, karena adanya mekanisme ini. Contoh sistem iniantara lain
RSA Scheme dan Merkle-Hellman Scheme.
2.5.3 Algoritma klasik
Algoritma ini sudah jarang digunakan karena sudah tidak aman lagi. Hal
ini dikarenakan metode yang dibuat dianggap terlalu sederhana dengan mikanisme
perhitungan yang tidak terlalu sulit dipecahkan. Pada algoritma klasik ini,
menggunakan teknik subsitusi dan transposisi.
2. 5.3.1 Teknik Subsitusi
Sutsitusi merupakan penggantian karakter dari plaintext. dengan karakter lainnya,
ada empat istilah dari subtitusi cipher diantaranya adalah: monoalohabet,
polyalphabet, monograf, polygraph.
a. Caesar Cipher
Subsitusi cipher yang pertama dalam dunia penyandian pada waktu
pemerintahan Yulius Caesar yang dikenal sebagai Caesar Cipher, dengan
mengganti posisi huruf awal dari alphabet sebagai contoh:
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 .

24

Menjadi
D E F G H I J K L M N O P .
3 4 5 6 7 8 9 10 11 12 13 14 15 .

Jika penggeseran yang dilakukan sebanyak tiga kali maka, kunci untuk
deskripsinya adalah 3 kali maka deskripsinya adalah 3, penggeseran kunci
yang dilakukan tegantung pada keinginan pengirim pesan, bisa saja kunci
yang dipakai a=7, b=9 dan seterusnya.
Jadi rumusnya dapat dibuat sebagi berikut:
C=E(P)=(P+K)mod(26) .enkripsi
P=D(C)=(C-K)mod(26)..dekripsi
b. Playfair Cipher
Playfair cipher ditemukan oleh Sir Charkes Wheatstone dan Baron Lyon.
Playfair cipher pada tahun 1854 dan digunakan pertama kali pada awal abad
20.
c. Shift Cipher
Teknik dari subtitusi shift chipper dengan modulus 26, memberikan angka ke
setiap alphabet seperti A0, B1Z25, jadi dalam
penulisan pesan yang telah di enkripsi berupa angka-angka sesuai dengan
keinginan pengirim.
d. Hill Cipher
Hill cipher termasuk dalam salah satu kriptosistem polialfabetik, artinya
setiap karakter alphabet bisa dipetakan lebi dari satu macam karakter
25

alphabet. Cipher ini ditemukan pada tahun 1929 oleh Lester S. Hill. Misalkan
m adalah bilangan bulat positif, dan P=C=(Z
26
)
m
. ide dari Hill cipher adalah
dengan mengambil m kombinasi linier dan m karakter alphabet dalam satu
elemen plaintext., sehingga menghasilkan m alphabet karakter dalam satu
elemen plaintext..
Misalkan m=2, maka kita dapat menuliskan suatu elemen plaintext.
sebagai x=(x
1
,x
2
)dan suatu elem ciphertext sebagai y=(y
1
,y
2
). Di sini y
1
,y
2

adalah kombinasi linier dari x
1
,x
2.

y
1
=11x
1
+3x
2

y
2
=8x
1
+7x
2

e. Vigere Cipher
Bila pada teknik-teknik sebelumnya ciphertext selalu menggantikan nilai dari
setiap plaintext. tertentu (tidak peduli apakh jumlah dari ciphertextnya yang
ekivalen dengan plaintext. tertentusatu atau lebih) pada teknik subsitusi
vigenere setiap ciphertext bisa memiliki banyak kemungkinan plaintext.nya.
2.4.3.2 Teknik Transposisi
Metode ini menggunakan permutasi karakter, yang mana dengan menggunakan
teknik ini pesan yang asli tidak dapat dibaca kecuali memiliki kunci untuk
mengembelikan pesan tersebut kebentuk semula atau disebut dengan dekripsi.
Sebagai contoh:
Ada kunci yang digunakan untuk melakukan permutasi cipher,
1 2 3 4 5 6
26

3 5 1 6 4 2

Dan kunci untuk invers dari permutasi tersebut
1 2 3 4 5 6
3 5 1 6 4 2

SAYA SEDANG MENGERJAKAN TUGAS
Terlebih dahulu kalimat tersebut dibagi menjadi 6 block adan apabila terjadi
kekurangan dari block bisa ditambah dengan huruf yang disukai misalkan
menambahkan huruf X. hal ini berguna untuk mempersulit analisis dari chipper
tersebut.
SAYASE DANGME NGERJA KANTUG ASXXXX
Setelah dibagi menjadi 6 blok maka dengan menggunakan kunci diatas setiap
block akan terjadi perubahan seperti di bawah ini:
YSSEAA NMDEGA EJNARG NUKGTA XXAXXS
Jadi cipher yang dihasilkan adalah:
YSSEAANMDEGAEJNARGNUKGTA XXAXXS
Untuk mengembalikannya kebentuk plaintext. dilakukan invers terhadap
ciphertext dengan mengikuti kunci nomor dua di atas. Banyak dari teknik lain
permutasi ini seperti zig, zag, segi tiga, spiral, diagonal.
2.4.4 Algoritma Modern
27

Perbedaan algoritma modern dengan algoritma klasik adalah, algoritma
modern memiliki kerumitan yang sangat kompleks dan dalam pengoperasiannya
sudah menggunakan komputer. Pada algoritma modernterdapat berbagao macam
algoritma yang brtujuan untuk mengamankan informasi yang dikirim melalui
jaringan maupun tidak. Algoritma modern terdiri dua bagian yaitu Simetri
Algoritma (DES, 3DES, AES) dan Asimetri Algoritma (RSA, ECC, dll). Akan
tetapi penulis hanya akan menjelaskan algoritma DES, karena pada laporan tugas
akhir ini menggunakan algoritma DES,
Data Encryption Standard (DES) merupakan nama algoritma untuk
mengenkripsi data yang dikeluarkan oleh Federal Information Processing
Standard (FIPS) 46-1 Amerika Serikat. Algoritma pada dasarnya dikembangkan
oleh IBM, NSA, dan NBS yang berperan penting dalam pengembangan akhir
algoritmanya. DEA dan DES dipelajari secara ekstensif sejak publikasi
pertamanya dan diketahui sebagai simetris algoritma yang paling baik dan banyak
digunakan di dunia.
Simetri algoritma adalah algoritma yang menggunakna kunci yang sama
pada enkripsi dan dekripsinya. Sedangkan Asimetri algoritma adalah algoritma
yang kuncinya berbeda, salah satu kuncinya digunakan untuk proses enkripsi dan
salah satunya yang lain digunakan untuk proses dekripsi.
DES memiliki blok kunci 64 bit, akan tetapi yang digunakan dalam proses
eksekusi adalah 56 bit. Secara umum DES terbagi menjadi 3 kelompok, yaitu
pemrosesan kunci, enkripsi data 64 bit, dan dekripsi data 64 bit, yang mana satiu
kelompok saling berinteraksi satu dengan yang lainnya.
28

Algoritma DES dirancang untuk menulis dan membaca berita blok data
yang terdiri dari 64 bit dibawah kontrol kunci 64 bit. Dalam pembacaan pesan
harus dikerjakan dengan menggunakan kunci yang sama dengan waktu menulis
berita, dengan penjadwalan alamat kunci bit yang diubah sehingga proses
membaca adalah kebalikan dari proses menulis.



Sumber: (Dony Arius, 2006)
Gambar 2.3 pemakaian kunci dalam DES
Secara global skema DES dapat dijelaskan sebagi berikut:
1. Blok plainteks dipermutasi dengan matriks permutasi awal (initial
permutation atau IP).
2. Hasil permutasi awal kemudian dienciphering sebanyak 16 kali (16
putaran). Setiap putaran menggunakan kunci internal yang berbeda.
3. Hasil enciphering kemudian dipermutasi dengan matriks permutasi
balikan (invers initial permutation atau IP-1 ) menjadi blokcipherteks.
Di dalam proses enciphering, blok plainteks terbagi menjadi dua bagian,
kiri (L) dan kanan(R), yang masing-masing panjangnya 32 bit.Kedua bagian ini
masuk ke dalam 16 putaranDES. Pada setiap putaran i, blok R merupakan
masukan untuk fungsi transformasi yang disebut f. Pada fungsi f, blok R
dikombinasikan dengan kunci internal Ki. Keluaran dari fungsi f di-XORkan

DATA
Fungsi
Enkripsi
Data
acak
Fungsi
Dekripsi


DATA
KODE KUNCI
29

dengan blok L untuk mendapatkan blok R yang baru. Sedangkan blok L yang baru
langsung diambil dari blok R sebelumnya. Ini adalah satu putaran DES.
Secara matematis, satu putaran DES dinyatakan sebagai
Li = Ri 1
Ri = Li 1 f(Ri 1, Ki)
2.5.5 Mode Enkripsi dan Dekripsi pada API
Untuk mengenkripsi atau mendekripsi lebih dari 64 bit ada 4 model resmi
yang telah ditetapkan oleh FIPS PUB 81. Salah satu model yang digunakan adalah
untuk memeriksa proses untuk masing-masing blok secara berurutan. Model ini
disebut dengan model Electronic Code Book (EBC). Kelebihan dari metode ini
adalah melakuakn XOR masing-masing blok plaintext. dengan blok ciphertext
sebelumnya untuk proses enkripsi. Model ini dinamakan Chipper Blok Chaining
(CBC). Dua model yang lain adalah Output Feedback (OFB) dan Cipher
Feedback (CFB). Adapun mode enkripsi dan dekripsi yang didukung pada API ini
adalah sebagai berikut:
2.4.5. 1 Mode Electric Code Book (ECB)
Menggunakan mode ini suatu block cipher yang panjang dibagi dalam
bentuk sequence biner menjadi satu block tanpa mempengaruhi block yang lain,
satu block terdiri dari 64 bit atau 128 bit, setiap block merupakan bagian dari
pesan yang di enkripsi.
Mode ini merupakan suatu enkripsi yang sederhana, kerusakan satu block
data tidak mempengaruhi block lainnya, sehingga jika penerima mendapatkan satu
block yang rusak, maka penerima hanya minta dikirimkan kembali hanya block
yang rusak, tanpa harus meminta semua block, hal ini membantu pengiriman

block yang rusak dengan cepat. Pada dasarnya sifat yang paling mendasar dari
mode ECB ini adalah
yang sama.
Keuntungan dari mode OBC ini adalah kemudahan dalam implementasi
dan pengurangan resiko salahnya semua
plaintext.. Namun mode ini memiliki kelemahan pada aspek keamanannya.
Dengan mengetahui pasangan
menyusun suatu code book
2.4.5 .2 Mode Cipher
Sistem dari mode
sama akan di enkripsi ke dalam bentuk
cipher yang satu tidak berhubungan dengan
tergantung pada cipher
yang rusak dengan cepat. Pada dasarnya sifat yang paling mendasar dari
mode ECB ini adalah block plaintext. yang sama akan di kodekan menjadi






Sumber : (Yusuf Kurniawan, 2004)
Gambar 2.4 Mode Operasi ECB
Keuntungan dari mode OBC ini adalah kemudahan dalam implementasi
dan pengurangan resiko salahnya semua plaintext. akibat kesalahan pada satu
. Namun mode ini memiliki kelemahan pada aspek keamanannya.
Dengan mengetahui pasangan plaintext. dan ciphertext, seorang cryptanalist
code book tanpa perlu mengetahui kuncinya.
Cipher Block Chainning (CBC)
Sistem dari mode cipher block chainning (CBC) adalah
a akan di enkripsi ke dalam bentuk cipher yang berbeda, disebabkan
yang satu tidak berhubungan dengan block cipher yang lain. Melainkan
cipher yang sebelumnya.
30
yang rusak dengan cepat. Pada dasarnya sifat yang paling mendasar dari
yang sama akan di kodekan menjadi cipher
Keuntungan dari mode OBC ini adalah kemudahan dalam implementasi
akibat kesalahan pada satu
. Namun mode ini memiliki kelemahan pada aspek keamanannya.
cryptanalist dapat
(CBC) adalah plaintext. yang
yang berbeda, disebabkan block
yang lain. Melainkan
31

K
IV
P1
P2
P3
P1
P2
P3
C1
C2
C3
IV
K K
K K K
DES
E
DES
E
DES
E
DES
D
DES
D
DES
D
Pada CBC digunakan operasi umpan balik atau dikenal dengan operasi
berantai (chaining). Pada CBC, hasil enkripsi dari blok sebelumnya adalah
feedback untuk enkripsi dan dekripsi pada block berikutnya. Dengan kata lain,
setiap block ciphertext dipakai untuk memodifikasi proses enkripsi dan dekripsi
pada block berikutnya.






Sumber : (Yusuf Kurniawan, 2004)
Gambar 2.5 Mode Operasi CBC
Pada CBC diperlukan data acak sebagai block pertama. Blok data acak ini
sering disebut initialization vector atau IV. IV digunakan hanya untuk membuat
suatu pesan menjadi unik dan IV tidak mempunyai arti yang penting sehingga IV
tidak
2.4.5 .3 Mode Cipher Feed Back (CFB)
Pada mode CBC, proses enkripsi atau dekripsi tidak dapat dilakukan
sebelum blok data yang diterima lengkap terlebih dahulu. Masalah ini diatasi pada
mode Cipher Feedback (CFB). Pada mode CFB, data dapat dienkripsi pada unit-
32

unit yang lebih kecil atau sama dengan ukuran satu block. Misalkan pada CFB 8
bit, maka data akan diproses tiap 8 bit.

Sumber : (Yusuf Kurniawan, 2004)
Gambar2.6 Mode Operasi CFB
Pada permulaan proses enkripsi, IV akan dimasukkan dalam suatu register
geser. IV ini akan dienkripsi dengan menggunakan kunci yang sudah ada. Dari
hasil enkripsi tersebut, akan diambil 8 bit paling kiri atau Most Significant Bit
untuk di-XOR dengan 8 bit dari plaintext.. Hasil operasi XOR inilah yang akan
menjadi ciphertext dimana ciphertext ini tidak hanya dikirim untuk ditransmisikan
tetapi juga dikirim sebagai feedback ke dalam register geser untuk dilakukan
proses enkripsi untuk 8 bit berikutnya.
2.4.5 .4 Mode Output Feedback (OFB)
Sama pada mode CFB, mode OFB juga memerlukan suatu register geser
dalam pengoperasiannya. Pertama kali, IV akan masuk ke dalam register geser
dan dilakukan enkripsi terhadap IV tersebut. Dari hasil proses enkripsi tersebut
akan diambil 8 bit paling kiri untuk dilakukan XOR dengan plaintext. yang
Shift Register Shift Register
1 Byte Terkirii 1 Byte Terkirii
8 Byte 8 Byte
DES DES
K
K
P
1
C
1
C
1
P
1

33

nantinya akan menghasilkan ciphertext. Ciphertext tidak akan diumpan balik ke
dalam register geser, tetapi yang akan diumpan balik adalah hasil dari enkripsi IV.

Sumber : (Yusuf Kurniawan, 2004)
Gambar 2.7 Mode Operasi OFB
Di dalam algoritma DES dijabarkan menjadi dua bagian yaitu penulisan
pesan dan penguraian pesan.
a. Penulisan Pesan
Perhitungan dalam penulisan pesan pada gambar 2.7 64 bit dari blok input yang
dienkripsi adalah subjek pertamadari permutasi yang disebut permutasi dengan
inisial IP. Perhatikan table permutasi inisial IP pada lampiran 1.
IP
58 50 42 34 26 18 10 2
60 52 44 36 28 20 12 4
62 54 46 38 30 22 14 6
64 56 48 40 32 24 16 8
57 49 41 33 25 17 9 3
Shift Register Shift Register
1 Byte Terkirii 1 Byte Terkirii
8 Byte 8 Byte
DES DES
K
K
P
1
C
1
C
1
P
1

34

61 53 45 37 29 21 13 5
63 55 47 39 31 23 15 7
Input yang mengalami permutasi mempunyai bit 58 dari input bit pertamanya, bit
50 sebagai bit ke 2 dan bit ke 7 sebagai bit terakhir. Blok input mengalami
permutasi kemudian menjadi input pada perhitungan dan tergantung pada kunci
kompleks.
Output perhitungan ini, disebut preoutput dan output ini akan diteruskan
pada permutasi berikutnya yang mempunyai kebalikan dari permutasi inisial.
Perhatikan table kebalikan dari permutasi inisial IP yaitu IP
-1
.
IP
-1

40 8 48 16 56 24 64 32
39 7 47 15 55 23 63 31
36 6 46 14 54 22 62 30
37 5 45 13 53 21 61 29
36 4 44 12 52 20 60 28
35 3 43 11 51 19 59 27
34 2 42 10 50 18 58 26
33 1 41 9 49 17 57 25
Outout dari algoritma diatas mempunyai bit 40 dari blol preoutput sebagai bit
pertamanya, bit 8 sebagai bit ke dua samapai 25 sebagai bit terakhir.
Perhitungan yang menggunakan blok input dikenakan permutasi sebagai inputnya
untuk mengahsilkan blok preoutput. Tetapi untuk pertukaran blok akhir, dari 16
35

iterasi dari kalkulasi yang dijelaskan di bawah ini merupakan fungsi cipher f yang
mengoperasikan 12 blok, yaitu salah satu dari 32 bit dan salah satu dari 48 bit.
Kalkulasi tersebut akan menghasilkan blok sepanjang 32 bit.
64 bit dariblok input terdirii dari 32 bit blok L dan diikuti oleh 32 bit blok
L, input blok ini didefinisikan sebagi LR. K menjadi input blok dari 48 bit yang
dipilih dari 64 bit kunci. Kemudian output LR dari iterasi dengan input LR
menghasilkan persamaan 1:
L=R
R=L f(R,K) .Persamaan (1)
Di mana merupakan penambahan bit demi bit kemudian dibagi 2.
Input iterasi pertama drai perhitungan tadi adalah blok input yang mengalami
permutasi. LR adala output dari iterasi ke 16, kemudian RL adalah blok
preoutput. Pad amasing-masing itersi sebuah blok yang berbeda. K merupakan
kunci bit yang dipilih dari 64 kunci yang ditunjukkan oleh KEY.
Dengan notasi diatas, kita bisa menjelaskan iterasi menjadi lebih rinci. KS
menjadi sebua fungsi yang menggunakan bilangan bulat n dengan jangkauan dari
bilangan 1 sampai bilangan 16 dan blok 64 bit KEY sebagai input serta hasilnya
sebagai output blok 48 bitKn, di mana bisa dilihat pada persamaan 2 berikut:
Kn=KS(n,KEY) .Persamaan (2)
Dengan Kn, ditentukan oleh bit dalam posisi bit yang berbeda dengan KEY. KS
disebut kunci schedule karena blok K digunakan dalam iterasi ke-n (persamaan 1)
dan blok Kn ditentukan oleh persamaan 2. Karena sebelumnya blok input
dipermutasikan dengan LR, akhirnya L
0
dan R
0
berubah menjadi L dan R,
sedangkan L
n
dan R
n
berubah menjadi L dan R(persamaan 1). Selanjutnya L dan
36

R berubah menjadi L
n-1
dan R
n-1
. K adalah Kn, yaitu ketika n dalam jangkauan
bilangan 1 sampai 16. Perhatikan persamaan 3 berikut ini:
L
n
=R
n-1

R
n
n=L
n-1
f(R
n-1
,K
n
) ..Persamaan (3)
Blok preoutput dari persamaan di atas adalah R
16
L
16

b. Penguraian Pesan
Permutasi IP
-1
menerapkan blok preoutput yang merupakan kebalikan dari
permutasi dengan inisial IP. Adapun persamaan 4 berikut ini merupakan
kelanjutan dari persamaan 1.
R=L
L=R f(L,K) Persamaan (4)
Akibatnya, penguraian pesan ini harus menerapkan algoritma yang sama pada
waktu pesan ditulis. Dengan mengambil masing-masing iterasi dari perhitungan
blok yang sama dari kunci bit K maka penguraian itu dilakukan. Dengan
menggunakna notasi-notasi dari persamaan seblumnya. Persamaan 5 berikut ini
menjelaskan kondisi berikut:
R
n-1
=L
n

L
n-1
=R
n
f(L
n
,K
n
) Persamaan (5)
Setelah adanya persamaan diatas, sekarang R
16
L
16
adlah blok input dari permutasi
dalam perhitungan penguraian dan L
0
dan R
0
adala blok preoutput. Untuk
penguraian perhitungan dengan R
16
L
16
sebagai input permutasi. K
16
digunakan
dalam iterasi yang pertama. K
15
sebagai yang kedua dan seterusnya sampai
dengan K
1
digunakan dalam iterasi ke-16.
37


2.6. J2ME
Java menurut definisi Sun adalah nama sekumpulan teknokogi untuk
membuat dan menjalankan perangkat lunak computer standalone ataupun pada
lingkungan jaringan. Java2 adalah generasi kedua dari java platform, java berdiri
diatas sebuah mesin interpreter yang diberi nama Java Virtual Mechine (JVM).
JVM inilah yang akan membaca bytecode dalam file .class dari suatu program
sebagai representasi langsung program yang berisi bahasa mesin. Oleh karena itu
bahasa java disebut sebagai bahasa pemgrograman yang portable karena dapat
dijalankan pada berbagai system operasi, asalkan pada system itu terdapat JVM.
Platform Java memiliki tiga buah edisi yang berbeda yaitu J2EE (Java2
Enterprise Edition), J2ME (Java2 Micro Edition), dan J2SE (Java2 Second
Edition). J2EE adalah kelompok dari beberapa API dari java dan teknologi selain
Java. J2EE dibuat untuk membuat aplikasi yang kompleks. J2EE sering dianggap
sebagai middleware atau teknologi yang berjalan di server, namun sebenarnya
J2EE tidah hanya terbatas untuk itu. Faktanya J2EE juga mencakup teknologi
yang dapat digunakan disemua lapisan dari sebuah sistem informasi.
Implementasi J2EE menyediakan kelas dasar dan API dan java yang mendukung
pengembangan dan rutin standart untuk aplikasi clien maupun server, termasuk
aplikasi yang berjalan di browser. J2SE adalah lingkungan dasar dari java,
sedangkan J2ME (Java2 Micro Edition) adalah lingkungan pengembangan yang
didesain untuk meletakkan perangakat perangkat lunak pada barang elektronik
38

beserta perangkat pendukungnya. Ruang lingkup keterhubungan J2EE, J2SE, dan
J2ME dapat dilihat pada gambar 2.8 berikut,
6





Sumber : (Sholahuddin dan Rosa, 2006)
Gambar 2.9 Ruang lingkup keterhubungan J2SE, J2EE, dan J2ME
Pada J2ME, jika perangkat lunak berfungsi baik pada sebuah perangkat,
maka belum tentu java berfungsi baik pada perangkat lainnya. J2ME membawa
java ke dunia informasi, komunikasi dan perangkat komputasi selain perangkat
komputer dekstop yang biasanya lebih kecil dibandingkan perangakat komputer
dekstop. J2ME biasa digunakan pada telephon seluler, pager, personal digital
assistants (PDAs), SmartCard, Embedded Device, dan sebagainya.
J2ME adalah bagian dari J2SE, karena itu tidak semua library yang ada
pada J2SE dapat digunakan pada J2ME. Tetapi J2mE mempunyai library khusus
yang tidak dimiliki J2SE. Arsitektur J2ME dapat dilihat pada gambar 2.9
7


6
Sholahuddin dan Rosa AS, Pemrograman J2ME Belajar Cepat Pemrograman
Perangkat Telekomunikasi Mobile, (Bandung : Informatika, 2006), hal 4
7
Sholahuddin dan Rosa AS, Pemograman J2ME Belajar Cepat Pemograman
Perangkat Telekomunikasi Mobile, (Bandung: Informatika, 2006), hal 5

J2ME


J2SE
CDC
Fondation
Profile
Lainnya
MIDP
CLDC
KVM
JVM
Package
Opsional

J2EE


Package
Opsional
39

Profile
Configuration
Kumpulan Library
JVM
Sistem Operasi
Sumber : (Sholahuddin dan Rosa, 2006)
Gambar 2.10 Arsitektur J2ME
Teknologi J2ME juga mempunyai keterbatasan terutama jika iaplikasikan
pada ponsel. J2mE sangat tergantung pada perangkat (device) yang digunakan,
bisa dari segi merk ponsel, maupun kemampuan ponsel, dan dukungannya
terhadap teknologi J2ME. Misalnya,jika sebuah ponsel tidak memiliki kamera
maka jelas J2ME pada ponsel tersebut tidak dapat mengakses kamera.
Keterbatasannya adalah pada ukuran aplikasi, karena memori pada ponsel sangat
terbatas. Sebagian besar ponsel tidak mengijinkan aplikasi J2ME menulis pada
file karena alasan keamanan.
Konfigurasi adalah sekumpulan API lebel rendah dan mesin maya yang
dioptimasi untuk sekeluarga perangkat. Terdapat dua konfigurasi yang sering
digunakan yaitu:
CDC (Connected Device Configuration)
CLDC (Connected Limited Device Configuration)
CDC menyediakan mesin maya dan pustaka kelas dasar yang mendukung aplikasi
java untuk perangkat seperti smart comunicator, pager, PDA, dan television set-
top box. `Perangkat-perangkat ini umumnya memiliki pemroses 32 bit dan
memory lebih dari 2 MB untuk menyimpan mesin maya dan pustaka.
40

Fungsionalitas mesin maya java dipenuhi CVM virtual mechine yang merupakan
mesin maya dengan fitur penuh.
CLDC menyediakan platform Java standar yang cook untuk perangakat
kecil dengan sumber daya terbatas. Perangkat ini umumnya mempunyai pemroses
16bit atau 32 bit dan memory 160 KByte sampai 512 Kbyte untuk menyimpan
mesin maya dan pustaka. Perangkat-perangajat ini diberdayakan dengan baterai
dan mempunyai konektivitas suatu jenis jaringan, biasanya wiereless dengan
koneksi tak tetap berbanwidth 9600 bps, layar tampil sempit. Inti CLDC adalah
mesin maya K (KVM). Lingkup CLDC dan CDC dapat dilihat pada gambar
2.10
8






Sumber : (Sholahuddin dan Rosa, 2006)
Gambar 2.11 Lingkup Konfigurasi.

8
Sholahuddin dan Rosa AS, Pemograman J2ME Belajar Cepat Pemograman Perangkat
Telekomunikasi Mobile, (Bandung: Informatika, 2006), hal 6

J2SE

CDC

CLDC


41

Profile adalah spesifikasi yang merinci kumpulan API yang dibangun
menggunakan konfigurasi. Bersama-sama menyediakan lingkungan jalan lengkap
untuk suatu jenis perangkat. Sebagai contoh implementasi profile adalah:
9

Foundation profile yang dibangun pada CDC. Profile ini menyediakan
lingkungan jalan J2ME lengkap untuk aplikasi yang ditargetkan pada
gateway, smartphone, dan pager dua arah.
Contoh lain adalah MIDP (Mobile Information Device Profile) yang
dibangun pada CLDC dan menyediakan lingkungan jalan J2ME
lengkap untuk aplikasi pada perangkat seperti mobile phone dan entry-
level PDA. MIDP mengatasi isu-isu seperti antarmuka pemakai.
MIDP ditargetkan untuk perangkat komunikasi dua arah yang
mengimplementasikan J2ME CLDC dengan fasilitas toolkit, metode pemasukan
dari pemakai, penyimpanan data menggunakan model basisdata berorientasi
record sederhana. MIDP memiliki lapisan diatas CLDC, API tambahan untuk
daur hidup aplikasi, antarmuka, jaringan, dan penyimpanan persistem.

9
Bambang Hariyanto, Esensi-Esensi Bahasa Pemrograman Java, (Bandung: Informatika, 2005),
hal 779

42

BAB III
ANALISIS DAN PERANCANGAN SISTEM

Pada bab tiga ini akan dilakukan analisis terhadap sistem, yang bertujuan
untuk menemukan solusi dari permasalahan implementasi algoritma DES pada
enkripsi pengiriman image di telepon seluler. Hasil anlisis ini akan membantu
dalam penyelesaian implementasi aplikasi dan penulisan bab selanjutnya,
3.1 Analisis Masalah
Masalah utama pada tugas akhir ini adalah melakukan implementasi
algoritma DES untuk mengenkripsi pengiriman image pada telepon seluler.
Pada subbab berikut akan dibahas analisis dari faktor-faktor penting yang perlu
diperhatikan dalam melakukan implementasi algoritma DES tersebut.
3.1.1 Analisis Struktur Pesan
Struktur Pesan secara garis besar dibagi menjadi dua bagian, yaitu
Message Header dan Message Body. Perlu diperhatikan, pada message header
terdiri dari instruksi-instruksi pada komponen-komponen jaringan SMS, maka
apabila terjadi kehilangan data atau kerusakan data pada bagian message
header akan mengakibatkan pesan gagal kirim.
Sehingga, Agar pesan dapat dikirim dengan baik, dalam melakukan
enkripsi, yang dienkripsi hanya bagian message body saja karena jika bagian
dari message header dienkripsi, maka pesan tidak akan disampaikan dengan
baik. Sebagai contoh, salah satu bagian dari message header adalah nomor
tujuan, apabila nomor tujuan ini dienkripsi, maka nomor tidak akan dapat
43


dikenali atau berubah menjadi nomor lain sehingga pesan tidak dapat
dikirimkan bahkan salah kirim.
3.1.2 Analisis Algoritma DES
Algoritma DES dalam melakukan proses enkripsi dan dekripsi
menggunakan teknik fietsel yakni sebagai berikut:
Li XOR f(Ri, Ki+1) XOR f(Ri,Ki+1)=Li
Fungsi fietsel ini sudah dibuktikan, sehingga dijamin dapat didekripsi selama
fungsi f dalam setiap tahap dikembalikan juga.
3.1.3 Analisis penerapan enkripsi pengiriman image pada telepon seluler
Algoritma DES merupakan salah satu algoritma yang dianggap cukup kuat
dalam pengamanan data. Aplikasi enkripsi dengan algoritma DES yang akan
dibangun merupakan aplikasi pengiriman dan penerimaan pesan berupa image
yang berdiri sendiri, karena dalam aplikasi ini menggunakan nomor port
khusus. Hal ini didasarkan pertimbangan, bahwa standart aplikasi pengiriman
pesan image dan kemampuan melakukan konkanitasi pada setiap telepon
seluler tidaklah sama, selain itu juga tergantung pada ukuran besar file image
yang akan dikirimkan, sedangkan kemampuan midlet J2ME untuk aplikasi
MMS hanya membatasi maksimal 30KB, maka aplikasi ini tidak mengikuti
jalur port standart jaringan MMS telepon seluler biasa.
Penggunaan nomor port pada sebuah aplikasi pengiriman dan penerimaan
pesan image dapat berdiri sendiri dan tidak mengganggu aplikasi standart yang
terdapat pada telepon seluler. Penerimaan pesan image akan melalui port
tersebut dan akan selalu ditujukan pada nomor port tersebut. Nomor port yang
digunakan tentunya akan menggunakan nomor port yang belum digunakan
44


oleh aplikasi-aplikasi standar pada telepon seluler. Hal inilah yang
menyebabkan besar ukuran file image harus dibatasi maksimal 30KB, karena
informasi port tersebut ikut dikirimkan. Nomor port tersebut dibawa pada UDH
(User Data Header) pada paket pesan. Pemakian port ini juga menyebabkan
aplikasi dapat berdiri sendiri, namun tidak akan menerima pesan jika aplikasi
ini dipakai pada jenis kartu SIM berjenis CDMA.
Pembangunan aplikasi MMS yang berdiri sendiri akan memiliki
kekurangan yaitu aplikasi tidak akan menerima pesan jika aplikasi tersebut
diaplikasiakn pada telepon seluler CDMA, sehingga hanya dapat digunakan
pada telepon seluler GSM, namun jika aplikasi yang dibangun bukan aplikasi
yang berdiri sendiri maka kompatibilitas aplikasi akan lebih terbatas karena
telepon seluler yang digunakan hanya akan terbatas pada aplikasi standar.
Maka atas dasar alasan tersebut, apalikasi pada tugas akhir ini hanya akan
dapat digunakan pada telepon seluler berjenis GSM saja.
3.1.4 Analisis Dampak Sistem
Pada subbab ini merupakan analisis dampak sistem yang dibangun
terhadap sistem telepon seluler dan juga dampak keamanan yang ditimbulkan
oleh perangakat lunak
a) Dampak perangkat lunak terhadap sistem telepon seluler
Perangkat lunak yang akan dibangan bersifat berdiri sendiri, oleh
karena itu perangkat lunak tersebut tidak melakukan komunikasi atau
berinteraksi dengan aplikasi yang sudah dibangun pada telepon seluler.
Pada dasarnya, sebuah telepon seluler hanya memiliki sebuah saluran
untuk melakukan pengiriman pesan, oleh karena itu ketika perangkat lunak
45


yang baru dibangun sedang melakukan pengiriman pesan, maka selama
pengiriman pesan itu berlangsung, aplikasi pengiriman pesan yang lain
tidak dapat melakukan pengiriman pesan, begitu pula sebaliknya. Hal
sama juaga terjadi ketika penerimaan pesan, walupun menggunakan nomor
port berbeda, namun pada dasarnya saluran penerimaan pesan pada telepon
seluler hanya satu, nomor port tersebut hanya digunakan untuk menandai
aplikasi yang akan menerima pesan.
b) Dampak keamanan oleh perangkat lunak
Dengan dienkripsinya pesan image yang dikirimkan, maka
serangan berjenis man-in-the-middle-attack yang terjadi ketika pesan
berada pada jaringan SMS maupun MMS dapat dihindarkan. Pesan image
yang dikirimkan oleh pengirim akan berhenti di Multimedia Message
Center, sehingga memungkinkan penyerang dapat membuka pesan image
tersebut, namun dengan dienkripsinya pesan image tersebut, penyerang
tidak akan dapat membuka dan melihat image yang dikirim,
kerahasiaanpun akan tetap terjaga apabila terjadi salah kirim, karena tanpa
memasukkan kunci yang benar, pesan tidak akan dapat terbaca.
3.2 Analisis Kebutuhan Perangkat Lunak
Pada subbab ini akan dilakukan analisis dari proses pembangunan
perangkat lunak berdasarkan analisis yang telah dilakukan pada subbab
sebelumnya. Perangkat lunak yang akan di bangun di beri nama The Security
Sendding Image yang penulis singkat menjadi TSSI Ver.01. Analisis yang akan
dibahas meliputi analisis kebutuhan perangkat lunak, perancangan arsitektur
perangkat lunak dan proses perangkat lunak.
46


3.2.1 Deskripsi umum sistem
Sistem yang akan dibangun, merupakan perangkat lunak yang diterapkan
pada telepon seluler dan memiliki fungsi untuk melakukan enkripsi pesan
berupa image. Perangkat lunak yang dibangun harus dapat melakukan
pengiriman dan penerimaan pesan.
Pengguna akan berinteraksi dengan perangkat lunak melalui user interface
yang disediakan oleh perangkat lunak. Pengguna memasukkan image melalui
menu yang terdapat pada perangkat lunak, pesan image akan dienkripsi
kemudian dikirimkan melalui jaringan MMS. Secara umum, arsitektur global
proses pengiriman pesan pada telepon seluler dapat dilihat pada gambar berikut
ini.






Gambar 3-1: arsitektur proses pengiriman MMS
Data yang akan digunakan dalam sistem:
1. Pesan berupa Image
2. Pesan image yang terenkripsi
3. Data kunci enkripsi
4. Pesan image keluaran
Untuk lebih jelas bagaimana data tersebut akan bekerja pada sistem, dapat
dilihat pada alur proses sistem di bawah ini:
Jaringan
MMS
Pengirim
Pengirim
MMS
dikirim
MMS
diterima

Pengirim
47












Sumber : (Dony Arius, 2006)
Gambar 3-2 : Alur proses sistem pengiriman dan menerimaan pesan yang terenkripsi















Data
kunci
Enkrip
si
Ke
y
Se
tu
p
Data
Pesan
Image
E

Data
Pesan
Terenkr
ipsi
D

Ke
y
Se
tu
p
Data
kunci
Dekri
psi
Pesan
Image
Keluaran
48































49































50































51































52































53































54


























3.2.2 Analisa Spesifikasi dan Kebutuhan Perangkat Lunak
Perangkat lunak yang akan dibangun memiliki dua buah fitur utama, yaitu:
1. Melakukan Enkripsi pengiriman pesan image pada telepon seluler dengan
algoritma DES. Pada perangkat ini pengguna harus memasukkan image
55


sebagai pesan yang akan dikirim ke nomor tujuan tertentu yang kemudian
dapat dienkripsi dan dikirimkan ke nomor tujuan oleh perangkat lunak
yang akan dibangun ini.
2. Melakukan dekripsi dari MMS image terenkripsi yang telah diterima oleh
telepon seluler dengan algoritma DES. Sehingga Perangkat lunak harus
dapat menerima pesan image yang telah terenkripsi dan perangkat lunak
juga harus dapat mendekripsi dengan baik pesan yang telah terenkripsi
tersebut, jika kunci dimasukkan dengan benar.
Agar kedua fitur tersebut dapat terpenuhi dan pengguna dapat menggunakan
sistem dengan mudah, maka perangkat lunak yang akan dibangun memeliki
beberapa kebutuhan yang harus tersedia pada perangkat lunak, adapun
kebutuhan tersebut adalah:
a. Sistem memiliki kemampuan untuk dapat melakukan pengiriman pesan
berbentuk binary
b. Sistem dapat melakukan enkripsi pesan image dengan menggunakan
algoritma DES
c. Sistem harus dapat menerima pesan. Untuk dapat menerima pesan image
yang terenkripsi tersebut, sistem harus dapat berjalan terus dan dapat
memberikan pemberitahuan jika pesan datang.
d. Sistem harus mampu melakukan dekripsi. Pesan yang telah terenkripsi
arus dapat dikembalikan menjadi pesan semula jika memasukkan kunci
dari pengguna dengan benar.
56


Selain kebutuhan fungsional diatas, sistem juga arus mempunyai kebuthan non
fungsional, untk memudahkan pengguna dalam mengoperasikan sistem,
diantaranya:
1. Interface yang menarik dan dapat dimengerti, sehingga pengguna dapat
mengoperasikan sistem dengan mudah
2. Menyediakan menu help/bantuan
3.2.3 Model Use Case
Hal-hal yang dapat dilakukan oleh pengguna terhadap sistem ketika
mengirim ddan menerima pesan image dapat dilihat pada gambar diagram use
case global berikut ini:

Gambar 3.3: Use Case Global Sistem
Penjelasan use case diatas adalah sebagai berikut:
1. Mengirim pesan terenkripsi
Pengguna dapat melakukan pengiriman pesan melalui MMS, pesan yang
dikirim berupa pesan image yang telah terenkripsi. Pada use case dilakukan
pula proses penginputan kunci sebelum pesan image dikirimkan. Use Case
detail dan Activity Diagram untuk pengiriman pesan image dapat dilihat pada
Mengenkripsi Pesan Image
User
Mendekripsi Pesan terenkripsi
57


gambar sebagai berikut:

Gambar 3.4: Use Case Sistem Pengiriman Enkripsi Image

inputImage
KirimEnkripsiImage
Bantuan
UserPengirim
SYSTEM
MasukkanKunci EnkripsiImage
<<extend>>
Start
input Image
input kunci
input no.
tujuan
mengenkripsi
pesan image
mengirimkan
pesan terenkripsi
selesai
System User Pengirim
58


Gambar 3.5: Activity Diagram proses pengiriman MMS

2. Mendekripsi pesan yang diterima
Pengguna dapat menerima pesan yang telah dikirim oleh perangkat lunak.
Pesan Image yang diterima telah terenkripsi akan dapat didekripsikan dan
kembali menjadi image awal jika kunci yang dimasukkan benar, sehingga
penerima dapat mengetahui pesan image yang telah diterima. Pada use
case ini, terdapat proses penerimaan pesan, pemrosesan kunci kunci untuk
proses dekripsi, kemudian pesan image ditampilkan. Proses dari use case
menerima pesan detail dan Activity Diagram penerimaan pesan dapat
dilihat pada gambar berikut ini:
Gambar 3.6: Use case Penerimaan Pesan
TerimaPesan
verifikasikunci
userPenerima
DekripsiPesan
<<extend>>
SYSTEM
59



Gambar 3.6: Activity Diagram penerimaan pesan terenkripsi
3.2.4 Analisis Kelas pada Perangkat Lunak
Berikut adalah kelas-kelas yang akan dibutuhkan pada perangkat lunak yang
akan dibangun:
1. Kelas User Interface
Kelas Interface merupakan kelas yang berfungsi sebagai antar muka
antara pengguna dengan perangkat lunak yang akan dibangun.
Pengguna akan berinterakasi dengan perangkat lunak melalui menu-
menu yang telah disediakan oleh perangkat lunak, seperti memasukkan
Memasukkan
kunci
Menerima
pesan Image
Start
Verifikasi kunci
kunci benar
tidak
ya
Dekripsi pesan
Image Terenkripsi
pesan "Eror"
selesai
User Penerima Sytem penerimaan
60


image yang akan dikirim, membuka petunjuk penggunaan sistem.
Selain itu perangkat lunak ini akan memberi sebuah peringatan kepada
pengguna apabila ada pesan masuk.
2. Kelas DES
Pada Kelas ini, terdapat algoritma DES yang akan melakukan enkripsi
dan dekripsi pesan image. Selain itu, kelas ini juga berfungsi untuk
memproses kunci yang telah dimasukkan oleh pengguna untuk diproses
dengan pesan yang akan dienkripsi dan didekripsi.
3. Kelas MMS Sender
Kelas MMS sender ini merupakan kelas yang berfungsi untuk
penginputan nomor tujuan, dan kunci. Dan pada kelas ini juga
dilakukan proses pengiriman image kepada nomor tujuan.
4. Kelas MMS Receiver
Proses penerimaan pesan image dilakukan pada kelas MMS Receiver,
kemudian di kelas ini pula dilakukan proses input kunci, dan
selanjutnya akan di dekripsi oleh kelas DES jika kunci yang
dimasukkan oleh penerima pesan tersebut benar.
5. Kelas RMS (Record Menegemant Sistem)
Kelas RMS adalah kelas yang mengatur penyimpanan berbentuk
record. Fungsi RMS sama dengan data base yang sering kita pakai
dalam pemrograman berbasis dekstop. Dalam kelas RMS inilah
terdapat pengaturan penyimpanan MMS yang dikirim.
Berikut ini gambar Class Diagram sistem Enkripsi pengiriman Image dengan
algoritma DES:
61



Gambar 3.7: Clas Diagram Sytem

DES
MMS_Sender
MMS_Recieve RMS
UserInterface

62

BAB IV
HASIL DAN PEMBAHASAN

Lingkungan implementasi yang akan dipaparkan disini meliputi
lingkungan perangkat keras dan lingkungan perangkat lunak.
4.1 Lingkungan perangkat keras
Perangkat keras yang digunakan dalam pengembangan sistem enkripsi image
dan uji sistem meliputi:
a. Perangkat keras pengembangan sistem dalam lingkup simulasi:
1. Intel(R) Core(TM) 2 Duo 2,53 GHz
2. RAM 1024 MB
3. HardDisk 80 GB
4. Keyboard
5. Mouse
6. Monitor 16
b. Perangkat keras dalam uji sistem:
1. Handphone Nokia N730
2. Handphone Sony Erycson Type S312
3. Card Reader iTech
4.2 Lingkungan Perangkat Lunak
Perangkat lunak yang digunakan dalam pengembangan sistem enkripsi
pengiriman image ini adalah :
63


1. Sistem Operasi Windows Xp Service pack 2.
2. jdk1.6.0_10
3. NetBeans IDE 6.0
4. J2ME Wireless toolkit 2.2
5. Library Bouncycastle
4.3 Implementasi Sistem
Sistem yang akan di implementasikan menggunakan bahasa pemrograman
Java2 Micro Edition (J2ME) dengan antar muka sebagai berikut:
4.3.1 Halaman Menu Utama
Pada halaman ini pengguna diberikan beberapa menu atau fitur-fitur untuk
dapat meneruskan proses sesuai dengan kebutuhan pengguna. Menu-menu tersebut
antara lain:
a. Create Message
b. Inbox
c. Help
d. Properties
e. About
Kode program halaman Menu Utama sebagaimana dibawah ini dengan class file
MenuUtama.java:




64




















Bagian kode
try
{
alertpesan= Image.createImage("/picture/alertpesan.png");
alertError= Image.createImage("/picture/alerterror.png");

} catch (Exception e)
{}
Merupakan proses membuat menu image, aplikasi akan langsung mengakses file
yang terdapat pada direktori picture, diberikan sebuah statemen try catch untuk
menangkap error jika file gambar yang dicari ternyata tidak ada, sehingga membuat
aplikasi menjadi error, selain itu juga terdapat kode
this.append("Create MMS", tulisPic);
//menempelkan ticker/tulisan berjalan pada menu
tck =new Ticker(" Choose the menu that you want .::-The Scurity of Sending Image-::.");
this.setTicker(tck);
peringatan_alert= new Alert("Information","", null, AlertType.INFO);
try
{
// akses dan input image pada direktori
alertpesan= Image.createImage("/picture/alertpesan.png");
alertError= Image.createImage("/picture/alerterror.png");
alertSend= Image.createImage("/picture/sent.png");
tulisPic =Image.createImage("/picture/tulismms.png");
recivePic =Image.createImage("/picture/inboxmms.png");
helpPic =Image.createImage("/picture/help.png");
sistemPic =Image.createImage("/picture/sistem.png");
aboutPic =Image.createImage("/picture/about.png");
} catch (Exception e)
{}
peringatan_alert.setTimeout(3000);

// menempelkan image pada form menu pilihan
this.append("Create MMS", tulisPic);
this.append("Inbox MMS", recivePic);
this.append("Help", helpPic);
this.append("Sistem Properties", sistemPic);
this.append("About", aboutPic);

//menempelkan tombol exit pada form
exit = new Command("Exit",Command.EXIT, 1); //
this.setCommandListener(this);
this.addCommand(exit);
class file
MenuUtama.java
65


this.append("Inbox MMS", recivePic);
..
exit = new Command("Exit",Command.EXIT, 1);
this.setCommandListener(this);
adalah kode proses untuk menenpelkan tombol command dan gambar pada form,
sedangkan peringatan_alert= new Alert("Information","", null, AlertType.INFO);
peringatan_alert.setTimeout(3000); Merupakan proses untuk memberikan peringatan
kepada pengguna berupa suara dan message. Berikut ini adalah gambar tampilan
Menu Utama:













Gambar 4.1: Halaman Menu Utama
Dalam gambar di atas terdapat 5 menu List yang harus dipilih, dengan
masing-masing fungsi sebagai berikut:
66


4.3.2 Create Message
Menu ini berfungsi untuk membuat pesan Image yang akan dikirimkan ke
nomor tujuan. Selain itu pada menu ini juga terdapat input kunci atau password untuk
proses enkripsi sebelum pesan dikirimkan ke nomor tujuan. Kode program dari
halaman Create Message dapat dilihat dibawah ini :





























Sebagaimana penjelasan kode program sebelumnya, bagian kode
cmSend = new Command("Kirim", Command.OK, 1);
cmExit = new Command("Keluar", Command.EXIT, 1);
cmgb1= new Command("Gambar 1", Command.OK, 1);
..
Merupakan poses menu untuk memilih gambar yang akan dikirim, ketika pengguna
memilih gambar 1 maka, sistem akan mengakses image pada direktori picture dengan
//membuat menu input gambar
cmSend = new Command("Kirim", Command.OK, 1);
cmExit = new Command("Keluar", Command.EXIT, 1);
cmgb1= new Command("Gambar 1", Command.OK, 1);
cmgb2= new Command("Gambar 2", Command.OK, 1);
cmgb3= new Command("Gambar 3", Command.OK, 1);
cmgb4= new Command("Gambar 4", Command.OK, 1);
cmgb5= new Command("Gambar 5", Command.OK, 1);
this.setTicker(ticker);
setCommandListener(this);
addCommand(cmgb1);
addCommand(cmgb2);
addCommand(cmgb3);
addCommand(cmgb4);
addCommand(cmgb5);
addCommand(cmSend);
addCommand(cmExit);

// input akses dan diretori image
try {
bg1 = Image.createImage("/picture/gambar1.jpg");
bg2 = Image.createImage("/picture/gambar2.jpg");
bg3 = Image.createImage("/picture/gb3.jpg");
bg4 = Image.createImage("/picture/gb4.jpg");
bg5 = Image.createImage("/picture/gb1.jpg");
} catch (java.io.IOException e) {
Sistem.out.print("tidak ditemukan gambar");
}
gambartampil= new ImageItem("", null,ImageItem.LAYOUT_CENTER, "");

class file
tulisMms_frm1.java
67


nama file gambar1.jpg dan menampilkannnya melalui kode gambartampil= new
ImageItem("",null,ImageItem.LAYOUT_CENTER, ""); Tampilan untuk halaman Create
Message sebagaimana gambar di bawah ini:





















Gambar 4.2 : Halaman Input Pesan
4.3.3 Inbox Message
Menu ini merupakan, kelas untuk menyimpan semua pesan yang masuk
dalam sistem, semua pesan yang diterima akan di simpan dalan Record Store
sehingga peran kelas ini sama dengan data base sistem pada aplikasi berbasis dekstop.
Adapun kode program halaman inbox adalah sebagai berikut:




tck =new Ticker("MMS akan disimpan pada MMS ke
"+(midlet.data_obj.ambilID("dataMms")-1)); // akses RMS dengan obyek midlet
this.setTicker(tck);
cback = new Command("Back", Command.BACK, 1);
cLihat = new Command("lihat", Command.ITEM, 1);
addCommand(cLihat); //menempel command atau tombol
addCommand(cback);
setCommandListener(this);

// membuat menu inbox
this.append("", null);
this.append("", null);
class file
inboxReceiveMms_frm.java
68










Kode (midlet.data_obj.ambilID("dataMms")-1) merupakan proses untuk memanggil data
pada Record Store sytem dengan nama dataMms, untuk menampilkan informasi
nomor pengirim dan waktu pengiriman pesan. Sedangkan kode this.append("", null)
berfungsi untuk membuat menu gambar inbox. Di bawah ini merupakan gambar
tampilan dari halaman Inbox Sistem.












Gambar 4.3: Halaman Inbox Pesan
4.3.4 Help
69


Menu ini merupakan menu berisi tentang petunjuk dan bantuan bagi
pengguna untuk menjalankan sistem, berikut ini merupakan kode program dan
gambar tampilan halaman Help dengan class file help.java:





















Gambar 4.4: Halaman Bantuan
4.3.5 Sistem Propertis
//menempel item image pada form
append(new ImageItem(null, image,ImageItem.LAYOUT_CENTER, null));
// menempel item string pada form
append(" Aplikasi the Security of Sending Image adalah aplikasi untuk mengenkripsi
Pesan Image" +"yang akan dikirim agar kerahasiaan pesan tetap terjaga. " +"\n Aplikasi ini
menggunaan algoritma enkripsi DES. " +"\n Aplikasi ini harus di instal pada kedua
handphone atau device " +"dan harus sama-sama aktif. " +
"Untuk mengirim enkripsi Image, " +
"pengguna harus memasukan password sejumlah 8 character. " +
"\n Untuk membuka pesan Image, pengguna harus memasukkan password yang
sama " +
"dengan password ketika akan dikirim. "
);
append( "PETUNJUK PENGGUNAAN the Encryptor Delivered Image \n"+
"1. Untuk Enkripsi \n "+
" Masukkan pesan Image -> Menu ->pilih gambar \n"+
"2. Untuk Dekripsi \n "+
" Buka pesan -> dekripsi \n"+
"By Irjatul Wardah");

class file
70


Pada class ini merupakan menu untuk mengeluarkan data-data mengenai
dukungan terhadap multimedia atau properti apa saja yang terdapat pada perangkat
yang digunakan. Di bawah ini merupakan kode program dari class Sistem.java:






Pada potongan kode program diatas terdapat kode sebagai berikut message = message
+ midlet.propbuf; s2 = new StringItem( message,""). Kode tersebut berfungsi untuk
memanggil dan mengeluarkan data-data mengenai dukungan terhadap multimedia
dan property Midlet perangkat.
4.3.6 About
Menu ini merupakan menu yang menjelaskan tentang versi sistem, berikut ini
kode program class about.java:













4.3.7 Fungsi Enkripsi
cmBack = new Command("Menu Utama", Command.BACK, 1);
addCommand(cmBack);
setCommandListener(this);
message = message + midlet.propbuf;
s2 = new StringItem( message,"");
append(new ImageItem(null, image,ImageItem.LAYOUT_CENTER, null));
append(s2);

class file sistem.java
cmBack = new Command("Menu Utama", Command.BACK, 1);
addCommand(cmBack);
setCommandListener(this);
message = message + midlet.propbuf; // fungsi untuk memngetahui property device
// menempel dan menampilkan item keterangan property device pada form
s2 = new StringItem( message,"");
append(new ImageItem(null, image,ImageItem.LAYOUT_CENTER, null));
append(s2);

class file sistem.java

s2= new StringItem("Aplikasi The Security of Sending Image " +"\nBy",null);
//s2.setLayout(s2.LAYOUT_CENTER);
append(new ImageItem(null, image,ImageItem.LAYOUT_CENTER, null));
append(s2);
append("\nIRJATUL WARDAH " +"\n05550046 " +"\nTeknik informatika UIN Malang"
+"\n\n\n\n\nrootkit_87@yahoo.co.id" );
cmBack = new Command("Menu Utama", Command.BACK, 1);
addCommand(cmBack);
setCommandListener(this);

class file
about.java
71


Fungsi ini berfungsi untuk melakukan proses enkripsi pesan, setelah pengguna
memasukkan kunci, maka sistem akan secara otomatis mengauntentifikasi kunci.
Dalam proses enkripsi ini, dilakukan 2 cara yaitu dengan cara mengenkripsi file dan
mengenkripsi pixelnya.
a. Proses enkripsi file dilakukan dengan cara merubah image menjadi stream, berikut
ini potongan kode program proses enkripsi file:












Sistem akan mengambil kunci yang dimasukkan oleh pengguna dari TextField
kemudian merubahnya menjadi byte array dengan menggunakan kode program
if(pass1.getString().equals(pass2.getString())), kemudian sytem akan merubah image ke
bentuk stream, dan selanjutnya dirubah menjadi byte array untuk dilakukan proses
enkripsi dengan menggunakan kode dibawah ini:

if(pass1.getString().equals(pass2.getString()))
{
//obyek class proses enkripsi
midlet.des=new Encryptor(pass1.getString());
try
{
//enkripsi image
// merubah image ke stream/byte
InputStream is = getClass().getResourceAsStream(lokasiImage);
byte[] contents = new byte[is.available()];
is.read(contents);
//proses enkripsi
enkrip = midlet.des.encrypt(contents);
// memasukkan nomor telephon tujuan
midlet.phoneInput_obj = new tulisMms_frm2(midlet, display,enkrip,
midlet.mmsPort);
display.setCurrent(midlet.phoneInput_obj);
}
catch (CryptoException ex) {
Sistem.out.print("error"+ ex.getMessage());
}
catch(Exception e) {
Sistem.out.print("erorr "+e);
}
}

72


InputStream is = getClass().getResourceAsStream(lokasiImage);
byte[] contents = new byte[is.available()];
is.read(contents);
enkrip = midlet.des.encrypt(contents);

b. Memproses enkripsi dengan cara mencari pixel image dari nilai RGB image,
berikut ini kode program untuk mencari nilai RGB image:



















try{
Image img=Image.createImage(lokasiImage);
// mencari nilai RGB image
int[] rgb=new int[img.getWidth()*img.getHeight()];
byte[] Brgb=new byte[rgb.length*4]; // merubah nilai int ke byte array
int inw=0;
img.getRGB(rgb, 0, img.getWidth(), 0, 0, img.getWidth(), img.getHeight());
for(int i=0; i<rgb.length; i++)
{
int p=rgb[i];
int alpha, red, green, blue;
alpha=((p & 0xFF000000)>>32);
red=((p & 0x00FF0000)>>16);
green=((p & 0x0000FF00)>>8);
blue=((p & 0x000000ff)>>0);

Brgb[i*4]=(byte)alpha;
Brgb[i*4+1]=(byte)red;
Brgb[i*4+2]=(byte)green;
Brgb[i*4+3]=(byte)blue;
}

enkrip=midlet.des.encrypt(Brgb); // proses enkripsi
midlet.phoneInput_obj = new tulisMms_frm2(midlet, display,enkrip,
midlet.mmsPort); /
display.setCurrent(midlet.phoneInput_obj);
} catch (CryptoException ex)
{
System.out.print("error"+ ex.getMessage());
}
catch(Exception e)
{
System.out.print("erorr "+e);
}

73








Gambar 4.5 Pesan Image type file JPG sebelum dan sesudah di enkripsi








Gambar 4.6 Pesan Image type file PNG sebelum dan sesudah di enkripsi
Pada potongan kode img.getRGB(rgb, 0, img.getWidth(), 0, 0, img.getWidth(),
img.getHeight()); merupakan potongan kode untuk mendapatkan nilai RGB dari image
inputan yang akan dienkripsi. Pada potongan kode program 2 proses enkripsi diatas,
baik pada proses enkripsi file maupun pixel, terdapat sebuah obyek class des, class
ini merupakan obyek dari class Encryptor yang berfungsi untuk memanggil class dari
package library untuk mengenkripsi pesan image yaitu class DESEngine. Sedangkan
74


DESEngine merupakan library class inti, karena dalam class ini terdapat pemrosesan
kunci dan block. Berikut ini kode program pemroses kunci pada class DESEngine :










Pc1 merupakan method yang berfungsi untuk pemrosesan permutasi pertama, dan
hasil dari permutasi pertama selanjutnya di permutasi kembali dengan method pc2.
Hal ini dilakukan terus menerus hingga 16 kali putaran.
Setelah pemrosesan kunci, selanjutnya dilakukan pemrosesan blok pesan,
dengan cara dilakukan proses permutasi awal pada block data 64 bit, block data
tersebut dibagi menjadi 2, yaitu blok kanan (Right) dan blok kiri (Left). selain itu
terdapat method-method yang menunjukkan proses substitution box sebanyak 8 buah
iterasi. Permutasi dilakukan kembali pada kombinasi hasil stubtitusi dari SP1-SP8,
kemudian hasil permutasi di XOR, hal ini dilakukan hingga 16 kali putaran.
Permutasi akhir dilakukan kembali dengan table permutasi yang merupakan invers
dari permutasi awal.
Pemrosesan Kunci
static byte[] pc1 = //method permutasi choice 1
{
56, 48, 40, 32, 24, 16, 8, 0, 57, 49, 41, 33, 25, 17,
9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35,
62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21,
13, 5, 60, 52, 44, 36, 28, 20, 12, 4, 27, 19, 11, 3
};

static byte[] totrot =
{
1, 2, 4, 6, 8, 10, 12, 14,
15, 17, 19, 21, 23, 25, 27, 28
};

static byte[] pc2 = //method permutasi choice 2
{
13, 16, 10, 23, 0, 4, 2, 27, 14, 5, 20, 9,
22, 18, 11, 3, 25, 7, 15, 6, 26, 19, 12, 1,
40, 51, 30, 36, 46, 54, 29, 39, 50, 44, 32, 47,
43, 48, 38, 55, 33, 52, 45, 41, 49, 35, 28, 31
};

75


4.3.8 Fungsi Dekripsi
Sebagaimana fungsi enkripsi di atas, fungsi dekripsi juga membutuhkan input
kunci yang sama dengan kunci ketika proses enkripsi. Ketika pengguna memasukkan
kunci yang benar, sistem akan secara otomatis melakukan dekripsi pesan. Proses
dekripsi sebagaimana proses enkripsi, mempunyai 2 cara proses yakni dekripsi file
dan dekripsi pixel dari nilai RGB image.
a. Proses dekripsi file pesan yang terenkripsi dimulai dari memanggil data pesan
yang telah diterima dan disimpan pada RMS system dengan menggunakan kode



Kemudian dilakukan proses dekripsi pesan dengan menggunakan kode program
berikut ini:










b. Proses dekripsi pixel image pesan yang terenkripsi dimulai dari memanggil data
pesan yang telah diterima dan disimpan pada RMS system, kemudian dilakukan
proses dekripsi dengan kode program:




midlet.data_obj.open_RecordStore("dataMms");
byte[] viewg=midlet.data_obj.readData(namaMms+2);


midlet.data_obj.open_RecordStore("dataMms");
byte[] dekrip = des.decrypt(midlet.data_obj.readData(namaMms+2));
byte[] kk=dekrip;
Image image = Image.createImage(kk, 0, kk.length);
receiveMms_frm3 form = new receiveMms_frm3(midlet, display, image);
display.setCurrent(form);


//proses dekripsi
byte[] dekrip = des.decrypt(midlet.data_obj.readData(namaMms+2)); //memanggil pesan
// proses merubah byte array ke integer array
ByteArrayInputStream bin=new ByteArrayInputStream(dekrip);
DataInputStream din=new DataInputStream(bin);
int remaining=(dekrip.length)/4;
int[] rawdata=new int[remaining];
for(int k=0; k<rawdata.length; k++)
{
rawdata[k]=din.readInt();
}
bin.close();
din.close();
76








Pada potongan kode program diatas terdapat proses convert dari byte array
ke integer array, hal ini berfungsi untuk membuat image baru hasil dari dekripsi
system, baru kemudian membuat image baru hasil dari dekripsi system.
Berikut ini gambar pesan image yang diterima sebelum dan sesudah di dekripsi
,







Gambar 4.7 Pesan Image type file JPG yang diterima sebelum dan sesudah didekripsi




77






Gambar 4.8 Pesan Image type file PNG yang diterima sebelum dan sesudah
didekripsi
4.3.9 Fungsi Pengiriman dan Penerimaan Pesan
Pesan Image yang telah dipilih oleh pengguna dan terenkripsi akan di
kirimkan ke nomor tujuan dengan menggunakan fungsi-fungsi sebagai berikut:
4.3.9.1 Pengiriman Pesan Image
Ketika Pesan Image terenkripsi dan telah dirubah ke bentuk byte, sistem akan
secara otomatis membuka koneksi MMS, memaket pesan, dan mengirimkannya,.
Proses tersebut dilakukan dengan kode sebagai berikut:






Sedangkan dalam pemaketan pesan Image yang telah dirubah menjadi byte akan
ditambahkan pada MessagePart, kode pemaketan pada metode ini adalah sebagai
berikut:


mmsconn = (MessageConnection) Connector.open(address);
MultipartMessage mmmessage = (MultipartMessage)
mmsconn.newMessage(MessageConnection.MULTIPART_MESSAGE);
mmmessage.setAddress(address);
MessagePart[] parts = getParts(part);
for (int i = 0; i < parts.length; i++){
mmmessage.addMessagePart(parts[i]);}
//tulis time.....................
mmmessage.setSubject("MMS Pertama");
mmsconn.send(mmmessage);
al.setImage(midlet.mUtm.alertSend);
display.setCurrent(al,midlet.MSFormSend_obj);

mimeType = "image/jpg";
try
{
mpart = new MessagePart(msg, 0, msg.length,mimeType,"id" +
counter,"contentLocation", null);
parts.addElement(mpart);
counter ++;
}
catch(Exception e) {
78






4.3.9.2 Penerimaan Pesan Image
Pada fungsi penerimaan pesan ini, sytem membuka koneksi dan mengeset
MessageListener untuk menangkap even jika ada pesan yang masuk, prosesnya
dilakukan dengan kode program sebagai berikut:
mmsconn = (MessageConnection) Connector.open(mmsConnection);
mmsconn.setMessageListener(this);

Kemudian jika MMS telah masuk, maka sistem otomatis mengambil alamat pengirim,
subjek MMS, dan waktu pengiriman MMS dengan menggunakann kode program
sebagai berikut:





4.4 Pengujian Perangkat Lunak
Pengujian yang dilakukan dibagi menjadi 2 bagian yaitu pengujian performansi
perangkat lunak, pengujian enkripsi dan dekripsi, dan analisis Root Mean Square
(RMSE). Dalam pengujian ini, plainteks atau pesan gambar telah disediakan pada
msg = mmsconn.receive();
if (msg != null)
{
senderAddress =msg.getAddress();
if (msg instanceof MultipartMessage)
{
al.setTitle("MESSAGE");
al.setString("MMS Accepted");
al.setImage(mUtm.alertpesan);
al.setType(AlertType.INFO);
display.setCurrent(al);
MultipartMessage mpm = (MultipartMessage)msg;
String k = mpm.getTimestamp().toString();
}

79


menu sistem, untuk lebih jelasnya pesan gambar dan keterangan ukuran gambar dapat
dilihat pada table 4.1 yang terlampir pada Lampiran 2.
4.4.1 Pengujian Performansi Perangkat Lunak
Pengujian ini dilakukan dengan melakukan pengujian terhadap algoritma
enkripsi yang diimplementasikan oleh perangkat lunak. Pengujian ini dilakukan
pada telepon seluler Nokia 5530 dan Nokia 2700 yang memiliki memory card 2
MB dan Sony Ericsson G502 dan S312 dengan memory card 1GB. Dan setelah
dilakukan pengujian dengan cara menginstal aplikasi pada setiap HP, diperoleh
beberapa masalah sebagaimana tertera pada table 4.1 yang terlampir pada lampiran
3.
Setelah dilakukan pengujian perangkat lunak terhadap device, sebagaimana
terlampir pada lampiran 4 berikut ini hasil uji coba perangkat lunak terhadap
beberapa device sebagaimana disebutkan diatas antara lain:
4.4.1.1 Pengujian perangkat lunak dengan cara enkripsi file image
a. Penginstalan perangkat lunak pada hp Nokia type 5530, 2700 dan Sony Ericsson
G502,berhasil dilakukan, dan aplikasi dapat dijalankan. Sedangkan pada hp Sony
Ericsson S312 tidak dapat diinstal dan muncul pesan Out Of Memory Error
java/lang/OutOfMemoryError, hal ini desebabkan MIDP dan fitur hp pada Sony
Ericsson type S312 tidak mendukung WMA multipart.
b. Pesan image dapat dienkripsi dan dikirim dengan baik
c. Pesan image terenkripsi yang dikirimkan tidak bisa masuk pada inbox aplikasi,
tetapi masuk pada inbox standart telephon seluler, dan tidak dapat dilihat isi
pesannya.
80


d. Tidak bisa melakukan proses dekripsi karena pesan yang dikirim tidak bisa
masuk pada inbox aplikasi.
4.4.1.2 Pengujian perangkat lunak dengan cara enkripsi pixel image
Penginstalan perangkat lunak pada hp Nokia type 5530, 2700 dan Sony
Ericsson G502, S312 tidak berhasil diinstal dan muncul pesan Out Of Memory
Error java/lang/OutOfMemoryError. Sehingga kriptografi dengan cara enkripsi
dekripsi pixel gambar ini, belum dapat diaplikasikan pada device, akan tetapi
secara simulasi proses enkripsi dan dekripsi pixel image ini dapat berjalan dengan
baik.
Oleh karena itu dalam pembahasan uji coba sistem selanjutnya, penulis
hanya akan menjelaskan sesuai dengan hasil uji coba sistem menggunakan
emulator atau simulator saja.
4.4.2 Pengujian Kunci
Pada bagian ini akan diberikan hasil pengujian keamanan aplikasi yang
dihasilkan dari proses enkripsi dan dekripsi dengan kasus-kasus tertentu. Kasus-
kasus yang akan diujikan adalah sebagai berikut:
1. Menguji kebenaran enkripsi dan dekripsi
2. Menguji pemakaian kunci
Hasil pengujian kasus-kasus tersebut dapat dilihat pada Tabel 4.2 yang terlampir
pada lampiran 3.
4.4.3 Analisis Root Mean Square Error (RMSE)
81


Akar kesalahan kuadrat rata rata (root mean square error) adalah ukuran
kesalahan yang didasarkan pada selisih antara dua buah nilai yang bersesuaian,
didefinisikan sebagai :
H =
_
_((

) -

)
2


Berikut ini proses perhitungan RMSE:
Ditanya : RMSE?
Diketahui,
x
i
= bit hexa sebelum di enkripsi
y
i
= bit hexa setelah di enkripsi
N = Jumlah bit hexa


Gambar 4.9 Image yang akan di kirim
Jumlah byte kode hexa gambar diatas adalah 4,244 bytes dengan ukuran 4,1KB,
sedangkan jumlah bytes kode hexa image yang telah terenkripsi adalah 4,244 bytes
dengan ukuran 4,1 KB.
Maka untuk perhitungan RMSEnya adalah
82


Di ketahui:
Xi= 4,244 Bytes
Yi= 4,244 Bytes
N= 2
H =
_
_((

) -

)
2


H =
_
(. -.)
2


H =
_
()
2


Jadi RMSE= 0,0

Berikut ini table hasil perhitungan RMSE pada gambar selain gambar diatas.
Table 4.4 Hasil Perhitungan RMSE
Plainteks
Jumlah Byte
sebelum di proses
Jumlah Byte
setela didekripsi
RMSE
Gambar 1 4,244 Bytes 4,244 Byte 0,0
Gambar 2 69, 981 Bytes
Gagal dalam proses
dekripsi
-
Gambar 3 5,305 Bytes 5,305 Bytes 0,0
Gambar 4 30,44 Bytes 15,917 Bytes 0,0
Gambar 5 3,45 Bytes
Gagal dalam proses
dekripsi
-

83


Sebagai bahan wacana untuk pengembangan teknik kriptografi di masa
mendatang, penulis sertakan table perbandingan hasil analisis perhitungan RMSE
antara algoritma DES dan Rindjael, sebagaimana terlihat pada table.4.5 berikut ini.
Table. 4.5 Perbandingan perhitungan analisis RMSE antara algoritma Rindjael
Plainteks
Algoritma DES Algoritma Rindjael
Byte
sebelum
diproses
Byte
setelah
diproses
RMSE Byte
sebelum
diproses
Byte
setelah
diproses
RMSE
Gambar 1
4,244
Bytes
4,244
Byte
0,0
4,244
Bytes
4,244
Byte
0,0
Gambar 2
69, 981
Bytes
Gagal
dalam
proses
dekripsi
-
69, 981
Bytes
Gagal
dalam
proses
dekripsi
-
Gambar 3
5,305
Bytes
5,305
Bytes
0,0
5,305
Bytes
5,305
Bytes
0,0
Gambar 4
15,917
Bytes
15,917
Bytes
0,0
15,917
Bytes
15,917
Bytes
0,0
Gambar 5
50,399
Bytes
Gagal
dalam
proses
dekripsi
-
50,399
Bytes
Gagal
dalam
proses
dekripsi
-

4.5 Analisis Hasil Pengujian
Berdasarkan hasil pengujian yang dilakukan, hasil pengujian enkripsi dan
dekripsi pada lingkungan telephon seluler tidak bisa berjalan dengan baik, seperti
terlihat pada Tabel 4.3. Aplikasi teknik enkripsi file image dapat diinstal pada HP
Nokia 2700, 5530 dan Sony Ericsson G502, akan tetapi pesan image terenkripsi tidak
dapat masuk inbox aplikasi, disebabkan terjadi debug pada palikasi. Sedangkan
aplikais teknik enkripsi pixel image hanya dapat diinstal pada HP Sony Ericsson
G502 dan tidak dapat diinstal pada Nokia 2700, 5530 dan Sony Ericsson S312. Dan
84


hal ini tidak hanya dialami oleh penulis saja, dari beberapa penelitian yang membahas
tentang enkripsi pengiriman MMS juga terdapat masalah yang sama yaitu pesan
image terenkripsi tidak dapat masuk dalam inbox aplikasi yang penulis bangun,
sehingga tidak dapat dilakukan proses selanjutnya. Akan tetapi pesan yang masuk
dalam inbox HP, tetap tidak bisa dibaca atau ditampilkan. Oleh karena itu dalam
analisis selanjutnya dilakukan pada pengujian emulator atau simulator saja.
Pada table 4.4 da 4.5 merupakan hasil dari uji coba enkripsi 2 cara dan
pengujian pengiriman image dengan berbagai ukuran. Pada dasarnya, dari berbagai
teori tentang pengiriman MMS menyebutkan bahwa MIDlet tidak bisa mengirimkan
pesan image yang ukurannya lebih besar dari 30KB, meskipun sistem mampu
mengenkripsi pesan image yang ukurannya lebih besar dari 30KB. Akan tetapi uji
coba yang telah dilakukan menunjukkan bahwa batas pengiriman image dapat
dispesifikkan lagi menjadi maximal 30.44KB. Karena pada ukuran 30.44KB MIDlet
masih mampu mengirimkan pesan, sedangkan pada 30.45KB keatas MIDlet sudah
tidak mampu mengirimkan pesan image. Dapat dilihat pula pada kolom ke-3 yaitu
perbedaan ukuran dimensi, berapapun ukuran dimensi image tidak dapat
mempengaruhi proses enkripsi dan pengiriman pesan, asalkan ukuran file pesan tidak
melebihi 30.44KB.
Hasil pengamatan selanjutnya berdasarkan hasil uji coba pada lampiran 7,
ukuran file sangat terbatas sekali baik karena pengiriman maupun enkripsinya, dalam
hasil uji coba dapat disimpulkan bahwa type file berjenis PNG agar dapat dienkripsi
dan dikirim ke nomor tujuan max 10KB, sedangkan type file berjenis JPG agar dapat
dienkripsi dan dikirim, ukuran filenya max 3KB. Hal ini dikarenakan image yang
85


bertype PNG ketika dienkripsi bertambah besar 3 kali lipat dan JPG bertambah besar
10 kali lipat dari ukuran sebenarnya, sedangkan MIDP membatasi ukuran pesan yang
mampu dikirim max 30,44KB. Selain itu dimensi image juga sangat berpengaruh
pada proses enkripsi, karena jika demensinya terlalu besar walaupun ukurannya
masih kecil, system tetap tidak bisa mengenkripsi image.
Selanjutnya dari hasil perhitungan RMSE pada table 4.4, kita dapat ambil
kesimpulan bahwa sistem dalam proses enkripsi file image telah akurat dalam
mendekripsi chipertext yang telah terenkripsi, karena semua image yang dapat
diproses sistem tingkat keerorannya 0,0. Sedangkan dari hasil perbandingan
perhitungan analisis RMSE antara algoritma DES dan Rindjael, kita dapat
menyimpulkan bahwa kedua algoritma ini akurat dalam mendekripsi chipertext yang
telah terenkripsi. Akan tetapi secara teori kita telah tahu bahwa Rindjael merupakan
algoritma baru dan merupakan perkembangan algoritma lama seperti halnya
algoritma DES, sehingga tingkat kecepatan proses dan keauntetikannya lebih besar
dari pada DES.
Melalui hasil pengujian secara emulator dan perhitungan RMSE, kita dapat
simpulkan bahwa algoritma DES dapat direalisasikan dengan baik pada proses dan
enkripsi dekripsi pengiriman image secara simulasi, akan tetapi terhadap device atau
telephon seluler tidak dapat dijalankan dengan baik, karena pesan yang masuk tidak
bisa masuk dalam inbox aplikasi sehingga tidak bisa dilakukan proses dekripsi.
Masalah ini bukanlah terdapat pada algoritma DESnya, tetapi karena pada text Editor
NetBeans yang membangun aplikasi terdapat debug yang menyebabkan masalah
tersebut.
86

86

BAB V
KESIMPULAN

Pada bab V ini merupakan kesimpulan dari kegiatan-kegiatan yang telah
dilakukan selama pengerjaan skripsi, selain itu terdapat saran-saran untuk
pengembangan lebih lanjut yang dapat diberikan dari skripsi ini.
5.1 Kesimpulan
Kesimpulan yang didapat selama pengerjaan tugas akhir ini adalah sebagai
berikut:
a) Sebuah perangkat lunak yang mengimplementasikan suatu algoritma
kriptografi kunci publik untuk enkripsi pengiriman pesan berupa image telah
berhasil dibangun. Secara simulasi perangkat lunak yang dibangun tersebut
dapat melakukan pengiriman pesan dan penerimaan pesan terenkripsi tersebut
dengan baik. Perangkat lunak tersebut menggunakan algoritma DES untuk
enkripi pengiriman image. Perangkat lunak tersebut dapat ditanamkan pada
telepon selular, akan tetapi kurang berjalan dengan baik karena pesan image
terenkripsi tidak dapat masuk ke inbox aplikasi sehingga tidak bisa dilakukan
proses dekripsi.
b) Meskipun pesan image terenkripsi tidak dapat masuk inbox aplikasi dan pesan
tersebut masuk inbox telephon seluler, pesan image tidak dapat dibuka dan
dibaca dan aplikasi tetap berhasil melakukan enkripsi pada telephon seluler.
c) Selain kekurangan diatas, implementasi algoritma DES untuk enkripsi
pengiriman pesan image ini adalah
87


1. Pesan yang dikirimkan menjadi lebih besar karena harus bekerja pada 8 bit
dan dibutuhkan padding untuk memenuhi panjang blok.
2. Perangkat lunak tidak dapat mengirimkan pesan image yang ukurannnya
lebih besar 30,44KB untuk enkripsi file image, sedangkan untuk enkripsi
pixel jenis file JPG max 3KB dan PNG max 10KB.
5.2 Saran
Berikut adalah saran-saran yang diberikan penulis untuk pengembangan lebih
lanjut:
1. Agar perangkat lunak untuk mengenkripsi pengiriman pesan image ini dapat
berjalan lebih baik, sebaiknya diterapkan sebuah algoritma kompresi untuk
melakukan kompresi image terlebih dahulu sebelum image di enkripsi,
sehingga perangkat lunak ini tidak perlu membatasi ukuran image yng akan
dikirimkan ke nomor tujuan.
2. Sebagaimana kekurangan yang telah disebutkan diatas yakni pesan image
terenkripsi tidak dapat masuk pada inbox aplikasi ketika di apliksikan pada
telephon seluler karena terdapat debug pada text editor NetBeans, sehingga
pada penelitian masa mendatang sebaiknya mencoba text editor selain
NetBeans dengan harapan aplikasi yang dibangun dengan text editor selain
Netbeans tersebut tidak terdapat debug yang menyebabkan masalah tersebut.


80

DAFTAR PUSTAKA

Ariyus, Doni. 2006. Kriptografi Keamanan Data dan Konunikasi. Yogyakarta :
Graha Ilmu
Bambang Hariyanto. 2005. Esensi-Esensi Bahasa Pemrograman Java. Bandung.
Informatika.
M. Shalahuddin dan Rosa A.S. 2006. Pemrograman J2ME Belajar Cepat
Pemrograman Perangakat Telekomunikasi Mobile. Bandung.
Informatika.
Quthb, Sayyid. 2004. Tafsir fi Zhilalil Quran di Bawah Naunagn Al-Quran.
Jakrta. Gema Insani.
Sembiring, Krisantus. Studi Implementasi dan Perbandingan DES, TDES, AES
pada J2ME. Sekolah Teknik Elektro dan Informatika Institut Teknologi
Bandung
Shihab, Quraisy. 2002. Tafsir Al-Mishbah Psan, Kesan, dan Keserasian Al
Quran. Jakarta. Lentera Hati.
Wahana Komputer Semarang, 2003. Memahami Model Enkripsi dan Security
Data , Yogyakarta. ANDI
Yuniar Supardi, Ir. 2008. Pemrograman Handphone dengan J2ME. Jakarta. Alex
Media Komputindo.
Yusuf Kurniawan, Ir. 2004. Keamanan Internet dan Jaringan Komunikasi.
Bandung. Informatika.
http://www.beritanet.com/Literature/Kamus-Jargon/Image-JPG.html
http://www.mywebsite.force9.co.uk/png/

You might also like