Eko Hari Rachmawanto Lengkap sekali

97
LAPORAN TUGAS AKHIR TEKNIK KEAMANAN DATA MENGGUNAKAN KRIPTOGRAFI DENGAN ALGORITMA VERNAM CHIPER DAN STEGANOGRAFI DENGAN METODE END OF FILE (EOF) Laporan ini disusun guna memenuhi salah satu syarat untuk menyelesaikan program studi Teknik Informatika S-1 pada Fakultas Ilmu Komputer Universitas Dian Nuswantoro Disusun oleh: Nama : Eko Hari Rachmawanto NIM : A11.2006.02767 Program Studi : Teknik Informatika ( S-1 ) FAKULTAS ILMU KOMPUTER UNIVERSITAS DIAN NUSWANTORO SEMARANG 2010

description

bisa di download oleh siapa ja :D

Transcript of Eko Hari Rachmawanto Lengkap sekali

Page 1: Eko Hari Rachmawanto Lengkap sekali

LAPORAN TUGAS AKHIR

TEKNIK KEAMANAN DATA MENGGUNAKAN

KRIPTOGRAFI DENGAN ALGORITMA VERNAM CHIPER

DAN STEGANOGRAFI DENGAN METODE END OF FILE

(EOF)

Laporan ini disusun guna memenuhi salah satu syarat untuk menyelesaikan program studi

Teknik Informatika S-1 pada Fakultas Ilmu Komputer

Universitas Dian Nuswantoro

Disusun oleh:

Nama : Eko Hari Rachmawanto

NIM : A11.2006.02767

Program Studi : Teknik Informatika ( S-1 )

FAKULTAS ILMU KOMPUTER

UNIVERSITAS DIAN NUSWANTORO

SEMARANG

2010

Page 2: Eko Hari Rachmawanto Lengkap sekali

PERSETUJUAN LAPORAN TUGAS AKHIR

Nama Pelaksana : Eko Hari Rachmawanto

NIM : A11.2006.02767

Program Studi : Teknik Informatika

Fakultas : Ilmu Komputer

Judul Tugas Akhir : Teknik Keamanan Data Menggunakan Kriptografi

dengan Algoritma Vernam Chiper dan Steganografi

dengan Metode End of File (EoF)

Tugas Akhir ini telah diperiksa dan disetujui,

Semarang, 14 April 2010

Menyetujui :

Pembimbing

M. Arief Soelaeman, M. Kom

Mengtahui :

Dekan Fakultas Ilmu Komputer

Dr.Eng.Yuliman Purwanto,M.Eng

Page 3: Eko Hari Rachmawanto Lengkap sekali

PENGESAHAN DEWAN PENGUJI

Nama : Eko Hari Rachmawanto

NIM : A11.2006.02767

Program Studi : Teknik Informatika

Fakultas : Ilmu Komputer

Judul Tugas Akhir : Teknik Keamanan Data Menggunakan Kriptografi

dengan Algoritma Vernam Chiper dan

Steganografi dengan Metode End of File (EoF)

Tugas akhir ini telah diujikan dan dipertahankan dihadapan Dewan Penguji pada

Sidang Tugas Akhir bulan 14 April 2010. Menurut pandangan kami, tugas akhir

ini memadai dari segi kualitas maupun kuantitas untuk tujuan penganugrahan

gelar Sarjana Komputer (S. Kom)

Semarang, 14 April 2010

Dewan Penguji

Slamet Sudaryanto, M.Kom Edi Faisal, M.Kom

Anggota Anggota

Agus Winarno, M.Kom

Ketua Penguji

Page 4: Eko Hari Rachmawanto Lengkap sekali

PERNYATAAN KEASLIAN TUGAS AKHIR

Sebagai mahasiswa Universitas Dian Nuswantoro, yang bertanda tangan dibawah

ini, saya :

Nama : Eko Hari Rachmawanto

NIM : A11.2006.02767

Menyatakan bahwa karya ilmiah saya yang berjudul :

TEKNIK KEAMANAN DATA MENGGUNAKAN KRIPTOGRAFI

DENGAN ALGORITMA VERNAM CHIPER DAN STEGANOGRAFI

DENGAN METODE END OF FILE (EOF)

Merupakan karya asli saya (kecuali cuplikan dan ringkasan yang masing-masing

telah saya jelaskan sumbernya). Apabila di kemudian hari, karya disinyalir bukan

merupakan karya asli saya, yang disertai dengan bukti-bukti yang cukup, maka

saya bersedia untuk dibatalkan gelar saya beserta hak dan kewajiban yang melekat

pada gelar tersebut. Demikian surat pernyataan ini saya buat dengan sebenarnya.

Dibuat di : Semarang

Pada tanggal : 13 April 2010

Yang menyatakan

(Eko Hari Rachmawanto)

Page 5: Eko Hari Rachmawanto Lengkap sekali

PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH

UNTUK KEPENTINGAN AKADEMIS

Sebagai mahasiswa Universitas Dian Nuswantoro, yang bertanda tangan dibawah

ini, saya :

Nama : Eko Hari Rachmawanto

NIM : A11.2006.02767

Demi mengembangkan Ilmu pengetahuan, menyetujui untuk memberikan kepada

Universitas Dian Nuswantoro Hak Bebas Royalti Non-Ekskusif (non-exclusif

Royalti-Free Right) atas karya ilmiah saya yang berjudul :

TEKNIK KEAMANAN DATA MENGGUNAKAN KRIPTOGRAFI

DENGAN ALGORITMA VERNAM CHIPER DAN STEGANOGRAFI

DENGAN METODE END OF FILE (EOF)

beserta perangkat yang diperlukan (bila ada). Dengan Hak Bebas Royalti Non-

Ekseklusif ini Universitas Dian Nuswantoro berhak untuk menyimpan, mengcopy

ulang (memperbanyak), menggunakan, mengelolanya dalam bentuk pangkalan

data (database), mendistribusikannya dan menampilkan/mempublikasikannya di

internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari

saya selama tetap mencantumkan nama saya sebagai penulis/pencipta.

Saya bersedia untuk menanggung secara pribadi, tanpa melibatkan pihak

Universitas Dian Nuswantoro, segala bentuk tuntutan hukum yang timbul atas

pelanggaran Hak Cipta dalam karya ilmiah saya ini.

Demikian surat pernyataan ini saya buat dengan sebenarnya.

Dibuat di : Semarang

Pada tanggal : 13 April 2010

Yang menyatakan

(Eko Hari Rachmawanto)

Page 6: Eko Hari Rachmawanto Lengkap sekali

UCAPAN TERIMA KASIH

Dengan memanjatkan puji syukur kehadirat Allah, Tuhan yang Maha

Pengasih dan Maha Penyayang yang telah melimpahkan segala rahmat-Nya

kepada penulis sehingga laporan Tugas Akhir dengan judul “Teknik Keamanan

Data Menggunakan Kriptografi dengan Algoritma Vernam Chiper dan

Steganografi dengan Metode End of File (EoF)” dapat penulis selesaikan sesuai

dengan rencana karena dukungan dari berbagai pihak yang tidak ternilai besarnya.

Oleh karena itu penulis menyampaikan terima kasih kepada :

1. Dr. Ir. Edi Noersasongko, M.Kom, selaku Rektor Universitas Dian

Nuswantoro Semarang.

2. Dr.Eng.Yuliman Purwanto,M.Eng, selaku Dekan Fakultas Ilmu Komputer

Universitas Dian Nuswantoro Semarang.

3. Ayu Pertiwi, S. Kom.,M.T, selaku Ka.Progdi Teknik Informatika

4. M. Arief Soelaeman, M.Kom, selaku pembimbing tugas akhir yang

memberikan semangat, dukungan, membantu pemunculan ide penelitian,

memberikan informasi referensi yang penulis butuhkan dan bimbingan yang

berkaitan dengan penelitian penulis.

5. Dosen-dosen pengampu pada Fakultas Ilmu Komputer Teknik Informatika

Universitas Dian Nuswantoro Semarang yang telah memberikan ilmu dan

pengalamannya masing-masing, sehingga penulis dapat mengimplementasikan

ilmu yang telah disampaikan.

6. Teman-teman seperjuangan angkatan 2006, yang telah memberikan semangat

dan dukungan dalam penyelesaian Tugas Akhir ini.

Semoga Tuhan Yang Maha Esa memberikan balasan yang lebih besar

kepada beliau-beliau, dan pada akhirnya penulis berharap bahwa penulisan

laporan tugas akhir ini dapat bermanfaat dan berguna sebagaimana fungsinya.

Semarang, April 2010

Penulis

Page 7: Eko Hari Rachmawanto Lengkap sekali

ABSTRAK

Seiring dengan perkembangan zaman, kebutuhan manusia meningkat,

terutama kebutuhan akan informasi. Oleh sebab itu, pengiriman dan penyimpanan

data memerlukan suatu proses yang mampu menjamin keamanan dan keutuhan

dari data tersebut.

Untuk menjamin keamanan dan keutuhan dari suatu data, dibutuhkan

suatu proses penyandian. Enkripsi dilakukan ketika data akan dikirim. Proses ini

akan mengubah suatu data asal menjadi data rahasia yang tidak dapat dibaca.

Sementara itu, proses dekripsi dilakukan oleh penerima data yang dikirim

tersebut. Data rahasia yang diterima akan diubah kembali menjadi data asal.

Dengan cara penyandian tadi, data asli tidak akan terbaca oleh pihak yang

tidak berkepentingan, melainkan hanya oleh penerima yang memiliki kunci

dekripsi. Didorong oleh kegunaan yang penting tadi, teknik (algoritma)

penyandian telah berkembang sejak zaman dahulu kala. Mulai dari era sebelum

masehi, hingga sekarang algoritma penyandian ini selalu berkembang.

File merupakan salah satu media yang digunakan sebagai penympanan

data pada era komputer sekarang ini. Banyak orang mengirim atau menerima file

sebagai komunikasi jarak jauh.

Salah satu usaha untuk mengamankan file yaitu dengan

mengimplementasikan kriptografi untuk penyandian data, contohnya adalah

algoritma Vernam Cipher. Sebagai contoh sistem kriptografi simetri, algoritma ini

cukup mampu untuk mengamankan informasi termasuk file. Sehingga algoritma

ini dapat digunakan untuk mengamankan file.

Dalam hal ketajaman dalam keamanan, diperlukan teknik penyembunyian

file ke dalam file lain yang sering kita sebut dengan steganografi. Hal ini untuk

mengurangi kecurigaan pihak yang tidak berkepentingan untuk mengolah file.

Pada hal ini digunakan teknik penyembunyian file dengan metode End of File

supaya tidak terlihat secara jelas.

Dengan berdasar pada algoritma Vernam Cipher dan End of File, maka

dibuatlah program aplikasi kriptosistem yang digunakan untuk melakukan

pengamanan file sehingga hanya orang-orang tertentu saja yang dapat mengolah

file.

Kata kunci: file, penyandian, kriptosistem, steganografi, algoritma, Vernam

Cipher, End of File.

xiii + 83 halaman + 42 gambar + 9 tabel

Page 8: Eko Hari Rachmawanto Lengkap sekali

DAFTAR ISI

HALAMAN SAMPUL DALAM ............................................................... i

HALAMAN PERSETUJUAN ................................................................... ii

HALAMAN PENGESAHAN .................................................................... iii

HALAMAN PERNYATAAN KEASLIAN TUGAS AKHIR .................... iv

HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI ................... v

HALAMAN UCAPAN TERIMA KASIH ................................................. vi

HALAMAN ABSTRAK ............................................................................ vii

HALAMAN DAFTAR ISI......................................................................... viii

HALAMAN DAFTAR TABEL ................................................................. xii

HALAMAN DAFTAR GAMBAR ............................................................ xiii

BAB I PENDAHULUAN

1.1 Latar Belakang ............................................................. 1

1.2 Rumusan Masalah ........................................................ 3

1.3 Batasan Masalah .......................................................... 3

1.4 Tujuan Penelitian ......................................................... 3

1.5 Manfaat Penelitian ....................................................... 4

Page 9: Eko Hari Rachmawanto Lengkap sekali

BAB II TINJAUAN PUSTAKA

2.1. Data dan Informasi ....................................................... 5

2.2. Pengertian File ............................................................. 5

2.3 Kode ASCII ................................................................. 6

2.4 Operator Logika ........................................................... 10

2.4.1 Operator XOR (Exclusive OR) ......................... 11

2.5 Kriptografi .................................................................. 11

2.5.1 Gambaran Umum Kriptografi .......................... 11

2.5.2 Tujuan Kriptografi ........................................... 14

2.6 Pola-pola Penyerangan Data ........................................ 15

2.7 Enkripsi dan Dekripsi ................................................... 16

2.8 Algoritma Kriptografi ................................................. 17

2.9 Algoritma Kriptografi Modern ..................................... 21

2.9.1 Algoritma Subtitusi ........................................... 22

2.9.2 Algoritma Transposisi ...................................... 23

2.9.3 Book Key Chiper ............................................. 23

2.9.4 Vernam Chiper ................................................. 24

2.10 Jenis Serangan terhadap Chiper Aliran ......................... 27

2.11 Steganografi ................................................................. 28

2.12 Metode Steganografi .................................................... 30

2.12.1 Metode Steganografi pada Text ........................ 30

Page 10: Eko Hari Rachmawanto Lengkap sekali

2.12.2 Metode Steganografi pada Gambar .................. 33

2.12.3 Metode Steganografi pada Suara ...................... 34

2.12.4 Metode End of File (EoF) ................................ 36

2.13 Microsoft Visual Basic 6.0 ........................................... 36

2.14 Unified Modelling Language (UML) ............................ 40

BAB III METODOLOGI PENELITIAN

3.1 Metode Pengumpulan Data .......................................... 45

3.2 Metode Pengembangan Sistem ..................................... 45

3.3 Fase-fase Pengembangan Sistem .................................. 46

3.4 Kekurangan dan Kelebihan Pengembangan Sistem ....... 48

3.4.1 Kekurangan RAD ............................................ 48

3.4.2 Kelebihan RAD ............................................... 49

3.5 Kondisi Pengembangan Sistem .................................... 49

3.5.1 Kondisi yang Sesuai dengan RAD .................... 49

3.5.2 Kondisi yang Tidak Sesuai dengan RAD .......... 50

BAB IV PERANCANGAN DAN HASIL IMPLEMENTASI

4.1 Analisa Kebutuhan Aplikasi ......................................... 51

4.2 Prosedur Persiapan Pembuatan Aplikasi ....................... 52

4.3 Unit Bahasa Pemodelan ............................................... 52

Page 11: Eko Hari Rachmawanto Lengkap sekali

4.4 Desain Input Output (I/O) ............................................ 60

4.4.1 Desain I/O Submenu Stego................................ 62

4.4.2 Desain I/O Submenu Unstego ........................... 62

4.4.3 Desain I/O Submenu About Us ......................... 63

4.5 Implementasi ............................................................... 63

4.6 Analisa Percobaan ........................................................ 65

4.7 Pengujian Program (Testing) ......................................... 68

4.7.1 Pengujian GUI / Black Box Testing ................... 69

4.7.2 Pengujian White Box Testing ............................ 69

4.8 Kuesioner ..................................................................... 72

BAB V PENUTUP

5.1 Kesimpulan ................................................................... 75

5.2 Saran ............................................................................. 75

DAFTAR PUSTAKA ............................................................................... 76

LAMPIRAN ............................................................................................. 77

Page 12: Eko Hari Rachmawanto Lengkap sekali

DAFTAR TABEL

Tabel 2.1 Kode ASCII .................................................................................... 7

Tabel 2.2 Tabel Operator Logika .................................................................... 10

Tabel 2.3 Tabel Nilai Kebenaran Operator XOR ............................................. 11

Tabel 4.1 Skenario Use Case Proses Kripto dan Stego .................................... 53

Tabel 4.2 Skenario Use Case Proses Unkripto dan Unstego.............................. 55

Tabel 4.3 Daftar Aspek Pengujian ................................................................... 67

Tabel 4.4 Ringkasan Hasil Pengujian .............................................................. 67

Tabel 4.5 Tabel Kuesioner .............................................................................. 73

Tabel 4.6 Tabel Hasil Pengujian ..................................................................... 73

Page 13: Eko Hari Rachmawanto Lengkap sekali

DAFTAR GAMBAR

Gambar 2.1 Struktur File .................................................................................... 6

Gambar 2.2 Skenario Komunikasi Dasar Kriptografi .......................................... 17

Gambar 2.3 Ilustrasi Kinerja Proses Enkripsi Konvensional ................................ 19

Gambar 2.4 Klasifikasi Kriptografi .................................................................... 21

Gambar 2.5 Tampilan Tool Box ......................................................................... 37

Gambar 2.6 Tool Textbox .................................................................................. 37

Gambar 2.7 Tool Combobox .............................................................................. 38

Gambar 2.8 Tool Command ............................................................................... 38

Gambar 2.9 Tampilan Properties ........................................................................ 39

Gambar 2.10 Tampilan Window Code Editor ....................................................... 39

Gambar 2.11 Notasi Actor .................................................................................... 40

Gambar 2.12 Notasi Class .................................................................................... 41

Gambar 2.13 Notasi Use Case .............................................................................. 41

Gambar 2.14 Notasi Package ............................................................................... 43

Gambar 2.15 Notasi Note ..................................................................................... 43

Gambar 2.16 Notasi Dependency ......................................................................... 43

Gambar 2.17 Notasi Association .......................................................................... 44

Gambar 2.18 Notasi Generalization ...................................................................... 44

Gambar 2.19 Notasi Realization ........................................................................... 44

Gambar 3.1 Fase-fase RAD ................................................................................ 47

Page 14: Eko Hari Rachmawanto Lengkap sekali

Gambar 4.1 Use Case Kripto dan Stego .............................................................. 55

Gambar 4.2 Class Diagram Kripto dan Stego ...................................................... 55

Gambar 4.3 Activity Diagram Kripto dan Stego .................................................. 56

Gambar 4.4 Activity Diagram Unkripto dan Unstego .......................................... 57

Gambar 4.5 Activity Diagram Enkripsi dan Dekripsi .......................................... 57

Gambar 4.6 Activity Diagram Stego pada File .................................................... 58

Gambar 4.7 Activity Diagram Unstego pada File ............................................... 58

Gambar 4.8 Sequence Diagram Kripto dan Stego ............................................... 59

Gambar 4.9 Sequence Diagram Unkripto dan Unstego ....................................... 60

Gambar 4.10 Storyboard Menu Utama ................................................................. 61

Gambar 4.11 Storyboard Submenu Stego ............................................................... 62

Gambar 4.12 Storyboard Submenu Unstego .......................................................... 62

Gambar 4.13 Storyboard Submenu About Us ........................................................ 63

Gambar 4.14 Tampilan Awal Program ................................................................. 64

Gambar 4.15 Tampilan Menu Stego ..................................................................... 64

Gambar 4.16 Tampilan Menu Unstego ................................................................. 65

Gambar 4.17 Tampilan Message Box About Us ................................................... 65

Gambar 4.18 Menu Stego File .............................................................................. 66

Gambar 4.19 Tampilan MessageBox Setelah Selesai Stego .................................. 67

Gambar 4.20 Menu Unstego File .......................................................................... 67

Gambar 4.21 Tampilan MessageBox Setelah Selesai Unstego .............................. 68

Gambar 4.22 Graph Kripto Stego ......................................................................... 71

Page 15: Eko Hari Rachmawanto Lengkap sekali

BAB I

PENDAHULUAN

1.1 Latar Belakang

Teknologi komunikasi dan informasi berkembang dengan pesat

dan memberikan pengaruh besar bagi kehidupan manusia. Seiring dengan

perkembangan teknologi sekarang ini yang semakin pesat maka proses

pengiriman data dapat dilakukan dengan mudah dan melalui berbagai

macam media yang telah ada antara lain, melalui media internet dengan

menggunakan fasilitas e-mail, melalui transfer data antar perangkat mobile

(handphone, PDA dan flashdisk) maupun dengan teknologi radio

frequency (bluethooth, IrDA, GPRS) hingga dengan menggunakan

jaringan komputer. [1]

Perkembangan yang pesat dalam proses pengiriman data

membawa dampak yang besar, yaitu masalah keamanan data yang di

kirim. Untuk itu, tidak mungkin mengirim data melalui media-media

tersebut secara polos (plain), melainkan harus dilakukan proses

pengamanan untuk data yang akan di kirim, salah satunya dilakukan

dengan cara melakukan enkripsi pada sebuah file.

Kriptografi dapat menjadi jawaban dari masalah tersebut. Sebagai

ilmu yang telah diaplikasikan untuk pengamanan data, kriptografi dapat

digunakan untuk mengamankan data-data penting pada sebuah file. Data

yang terkandung dalam file disandikan atau dienkripsi untuk diubah

menjadi simbol tertentu sehingga hanya orang tertentu saja yang dapat

mengetahui isi dari data tersebut.

Dalam perkembangan ilmu kritografi masa sekarang ini, telah

banyak tercipta algoritma-algoritma yang dapat digunakan untuk

mengubah data asli (plain text) menjadi simbol tertentu (chiper text). Salah

satu contohnya adalah algoritma Vernam Chiper. Algoritma ini termasuk

Page 16: Eko Hari Rachmawanto Lengkap sekali

dalam algoritma kriptografi modern dan merupakan algoritma stream

chiper.

Namun pada era sekarang ini masih di rasa kurang dalam

pengamanan data menggunakan kriptografi. Setelah file tersebut di

enkripsi, kita perlu melakukan penyembunyian file ke dalam file lain

supaya pihak yang bukan berkepentingan tidak begitu curiga dalam

melihat file tersebut. Langkah seperti ini sering disebut dengan

Steganografi.

Steganografi merupakan salah satu cara yang sangat efektif untuk

mengurangi rasa curiga dari pihak-pihak lain (selain pengirim dan

penerima yang sah). Kebanyakan algoritma steganografi menggunakan

sebuah kombinasi dari bidang jenis teknik untuk melakukan sebuah tugas

dalam penyelubungan pesan rahasia dalam sebuah selubung file.

Dalam perkembangan ilmu steganografi sekarang ini, terdapat

berbagai macam metode yang dapat digunakan untuk menyembunyikan

file tersebut. Salah satu contohnya adalah metode End of File (EoF).

Ada sedikit perbedaan antara steganografi dengan kriptografi.

Pada steganografi, penyembunyian atau penyamaran pesan ini dibuat

sedemikian rupa sehingga pihak lain tidak mengetahui bahwa ada pesan

lain di dalam pesan yang dikirim. Pesan inti tersebut tetap dipertahankan,

hanya dalam penyampaiannya dikaburkan atau disembunyikan dengan

berbagai cara. Hanya pihak penerima yang sah saja yang dapat mengetahui

pesan lain tersebut.

Sedang pada kriptografi, karakter pesan diubah atau diacak

menjadi bentuk lain yang tidak bermakna. Pesan yang disampaikan dalam

kriptografi menjadi mencurigakan karena ketidakbermaknaannya tersebut.

Sedang pesan dalam steganografi, terlihat seperti pesan biasa sehingga

kecil kemungkinan untuk dicurigai. Namun demikian, bukan berarti tidak

ada kekurangan pada steganografi ini. Kelemahan pada steganografi ini

terjadi apabila kita mengubah format pesan yang dikirimkan, maka pesan

rahasianyapun menjadi hilang.

Page 17: Eko Hari Rachmawanto Lengkap sekali

Ada persamaan diantara steganografi dan kriptografi ini yaitu

keduanya digunakan secara bersamaan untuk menjamin keamanan pesan

rahasianya.

Berdasar pada analisa dari masalah tersebut, maka penulis

mengusulkan judul penelitian “Teknik Keamanan Data Menggunakan

Kriptografi dengan Algoritma Vernam Chiper dan Steganografi dengan

Metode End of File (EoF)” sebagai bahan pertimbangan dalam proses

pengamanan data sehingga diharapkan tidak terjadi pencurian atau

penyadapan data.

1.2 Rumusan Masalah

Rumusan masalah yang muncul dari latar belakang yang telah di

sajikan di atas adalah sebagai berikut :

1. Bagaimana efek perubahan file antara sebelum dan sesudah proses ?

2. Bagaimana pengaruh ukuran data terhadap ukuran media file ?

1.3 Batasan Masalah

Dalam penelitian ini, agar tidak menyimpang dari maksud dan

tujuan dari penyusunan tugas akhir ini, maka penulis menitikberatkan pada

cara implementasi dari algoritma Vernam Chiper pada Kriptografi

ditambahkan metode End of File pada Steganografi. Aplikasi yang

dihasilkan hanya digunakan untuk membantu menggambarkan proses

enkripsi kemudian di sisipkan pada file lain dan dekripsi untuk

pengamanan file. Adapun aplikasi tersebut dibangun dengan menggunakan

software Microsoft Visual Basic 6.0.

1.4 Tujuan Penelitian

Tujuan dari penelitian ini adalah untuk mengamati perubahan file

yang terbentuk dari sebelum dan sesudah diproses serta mengetahui

pengaruh ukuran file terhadap ukuran media file yang terbentuk sehingga

akan menghasilkan sebuah perangkat lunak yang dapat

Page 18: Eko Hari Rachmawanto Lengkap sekali

mengimplementasikan algoritma Vernam Chiper pada Kriptografi

ditambahkan metode End of File pada Steganografi untuk penyandian

berupa enkripsi dan dekripsi data dalam pengamanan file.

1.5 Manfaat Penelitian

Manfaat yang diperoleh dalam penelitian ini adalah :

1. Manfaat bagi Universitas

Sebagai usaha untuk mengamankan sebuah file yang merupakan data

penting dimana hanya orang tertentu saja yang berhak mengetahui.

2. Manfaat bagi Akademik

Sebagai bahan acuan bagi akademik untuk dijadikan tolak ukur

pemahaman dan penguasaan tentang teori yang telah diberikan di

bangku kuliah.

3. Manfaat bagi Penulis

a. Penulis dapat menerapkan ilmu yang telah diperoleh selama kuliah.

b. Memberi bekal pengetahuan yang dapat dipergunakan untuk

persiapan dalam menghadapi kerja di masa yang akan datang.

Page 19: Eko Hari Rachmawanto Lengkap sekali

BAB II

TINJAUAN PUSTAKA

2.1 Data dan Informasi

Data adalah sesuatu yang belum mempunyai arti bagi

penerimanya dan masih memerlukan adanya suatu pengolahan. Data bisa

berwujud suatu keadaan, gambar, suara, huruf, angka, matematika, bahasa

ataupun simbol-simbol lainnya yang bisa kita gunakan sebagai bahan

untuk melihat lingkungan, objek, kejadian ataupun suatu konsep. [2]

Data merupakan besaran yang menyampaikan suatu arti. Data

komputer disimpan sebagai barisan muatan (listrik) yang diatur dalam satu

pola sehingga merepresentasikan sebuah informasi. Dengan kata lain data

menunjuk pada bentuk informasi (pola elektris). Data bukan merupakan

informasi itu sendiri.

Sedang informasi merupakan hasil pengolahan dari sebuah

model, formasi, organisasi ataupun suatu perubahan bentuk dari data yang

memiliki nilai tertentu dan bisa digunakan untuk menambah pengetahuan

bagi yang menerimanya. Informasi juga bisa disebut sebagai hasil

pengolahan atau pemrosesan data.

2.2 Pengertian File

File atau Berkas adalah sekumpulan data (informasi) yang

berhubungan yang diberi nama dan tersimpan di dalam media

penyimpanan sekunder (secondary storage). File memiliki ekstensi.

Ekstensi berkas merupakan penandaan jenis berkas lewat nama berkas.

Ekstensi biasanya ditulis setelah nama berkas dipisahkan dengan sebuah

tanda titik. Pada sistem yang lama (MS-DOS) ekstensi hanya

diperbolehkan maksimal 3 huruf, contohnya : exe, bat, com, txt. Batasan

itu dihilangkan pada sistem yang lebih baru (Windows), contohnya : mpeg,

Page 20: Eko Hari Rachmawanto Lengkap sekali

java. Pada UNIX bahkan dikenal ada file yang memiliki lebih dari satu

ekstensi, contohnya : tar.Z, tar.gz. [1]

Struktur pada file terdiri dari 2 bagian yaitu header file dan isi

file. Pada header file terdapat kode biner maupun kode ASCII yang

berisikan tentang fungsi utama pada file. Pada isi file terdapat isi dari file

yang telah terbentuk baik berupa text, lagu, video, dll. Di bawah ini

merupakan gambar struktur file yang ada pada semua file.[3]

Gambar 2.1 : Struktur File

2.3 Kode ASCII

Beberapa aplikasi menggunakan data yang bukan hanya bilangan

tetapi juga huruf dari alfabet dan karakter khusus lainnya. Data semacam

ini disebut dengan data alfanumerik dan mungkin dapat ditunjukkan

dengan kode numerik. Jika bilangan-bilangan dimasukkan dalam data,

maka bilangan-bilangan tersebut juga dapat ditunjukkan dengan kode

khusus.

Set karakter alfanumerik secara khusus mencakup 26 huruf alfabet

(termasuk huruf besar dan huruf kecil), angka dalam digit sepuluh desimal,

dan sejumlah simbol seperti +, =, *, $, …, dan !. Dua kode alfabet yang

paling umum dipakai adalah ASCII (American Standard Code for

Information Interchange) dan EBCDIC (Extended Binary Coded Decimal

Interchange Code). ASCII merupakan kode 7-bit dan EBCDIC berupa

kode 8- bit. Jika suatu komputer menangani 8-bit (1-byte) kode lebih

efisien, versi 8-bit, disebut dengan ASCII-8 juga telah dikembangkan.

Page 21: Eko Hari Rachmawanto Lengkap sekali

Sistem American Standard Code for Information Interchange

(ASCII): ASCII dan EBCDIC merupakan cikal bakal dari set karakter

lainnya. ASCII merupakan set karakter yang paling umum digunakan

hingga sekarang. Set karakter ASCII terdiri dari 128 – (27) buah karakter

yang masing-masing memiliki lebar 7-bit atau gabungan tujuh angka 0 dan

1, dari 0000000 sampai dengan 1111111. Mengapa 7-bit? Karena

komputer pada awalnya memiliki ukuran memori yang sangat terbatas,

dan 128 karakter dianggap memadai untuk menampung semua huruf Latin

dengan tanda bacanya, dan beberapa karakter kontrol. ASCII telah

dibakukan oleh ANSI (American National Standards Institute) menjadi

standar ANSI X3.4-1986. Adapun kode-kode pada sistem-sistem tersebut

di atas dapat dilihat pada tabel di bawah ini:

Tabel 2.1 : Kode ASCII [2]

Des Hex Biner ASCII Des Hex Biner ASCII

0 0 00000000 null 128 80 10000000 Ç

1 1 00000001 129 81 10000001 ű

2 2 00000010 ☻ 130 82 10000010 é

3 3 00000011 ♁ 131 83 10000011 â

4 4 00000100 ♂ 132 84 10000100 ä

5 5 00000101 ♀ 133 85 10000101 à

6 6 00000110 ☿ 134 86 10000110 å

7 7 00000111 ● 135 87 10000111 ç

8 8 00001000 ╼ 136 88 10001000 ê

9 9 00001001 ╻ 137 89 10001001 ë

10 A 00001010 ╽ 138 8A 10001010 è

11 B 00001011 ☾ 139 8B 10001011 ï

12 C 00001100 ☽ 140 8C 10001100 î

13 D 00001101 ♃ 141 8D 10001101 ì

14 E 00001110 ♄ 142 8E 10001110 Ä

15 F 00001111 ☼ 143 8F 10001111 Å

16 10 00010000 ╸ 144 90 10010000 É

17 11 00010001 ╺ 145 91 10010001 æ

18 12 00010010 ↕ 146 92 10010010 Æ

19 13 00010011 !! 147 93 10010011 ô

Page 22: Eko Hari Rachmawanto Lengkap sekali

20 14 00010100 ¶ 148 94 10010100 ö

21 15 00010101 § 149 95 10010101 ò

22 16 00010110 ╶ 150 96 10010110 û

23 17 00010111 ↖ 151 97 10010111 Ù

24 18 00011000 ↑ 152 98 10011000 ij

25 19 00011001 ↓ 153 99 10011001 Ö

26 1A 00011010 → 154 9A 10011010 Ü

27 1B 00011011 ← 155 9B 10011011 ¢

28 1C 00011100 ↗ 156 9C 10011100 £

29 1D 00011101 ↔ 157 9D 10011101 ¥

30 1E 00011110 ╷ 158 9E 10011110 Pt

31 1F 00011111 ╹ 159 9F 10011111 ƒ

32 20 00100000 Spasi 160 A0 10100000 á

33 21 00100001 ! 161 A1 10100001 í

34 22 00100010 “ 162 A2 10100010 ó

35 23 00100011 # 163 A3 10100011 ú

36 24 00100100 $ 164 A4 10100100 ñ

37 25 00100101 % 165 A5 10100101 Ñ

38 26 00100110 & 166 A6 10100110 а

39 27 00100111 „ 167 A7 10100111 о

40 28 00101000 ( 168 A8 10101000

41 29 00101001 ) 169 A9 10101001 ⌐

42 2A 00101010 * 170 AA 10101010 ¬

43 2B 00101011 + 171 AB 10101011 ½

44 2C 00101100 , 172 AC 10101100 ¼

45 2D 00101101 - 173 AD 10101101

46 2E 00101110 . 174 AE 10101110 «

47 2F 00101111 / 175 AF 10101111 »

48 30 00110000 0 176 B0 10110000 ╲

49 31 00110001 1 177 B1 10110001 ╳

50 32 00110010 2 178 B2 10110010 ╴

51 33 00110011 3 179 B3 10110011 |

52 34 00110100 4 180 B4 10110100 ┤

53 35 00110101 5 181 B5 10110101 ╡

54 36 00110110 6 182 B6 10110110 ╢

55 37 00110111 7 183 B7 10110111 ╖

56 38 00111000 8 184 B8 10111000 ╕

57 39 00111001 9 185 B9 10111001 ╣

Page 23: Eko Hari Rachmawanto Lengkap sekali

58 3A 00111010 : 186 BA 10111010 ║

59 3B 00111011 ; 187 BB 10111011 ╗

60 3C 00111100 < 188 BC 10111100 ╝

61 3D 00111101 = 189 BD 10111101 ╜

62 3E 00111110 > 190 BE 10111110 ╛

63 3F 00111111 ? 191 BF 10111111 ┐

64 40 01000000 @ 192 C0 11000000 └

65 41 01000001 A 193 C1 11000001 ┴

66 42 01000010 B 194 C2 11000010 ┬

67 43 01000011 C 195 C3 11000011 ├

68 44 01000100 D 196 C4 11000100 ⌢

69 45 01000101 E 197 C5 11000101 ┼

70 46 01000110 F 198 C6 11000110 ╞

71 47 01000111 G 199 C7 11000111 ╟

72 48 01001000 H 200 C8 11001000 ╚

73 49 01001001 I 201 C9 11001001 ╔

74 4A 01001010 J 202 CA 11001010 ╩

75 4B 01001011 K 203 CB 11001011 ╦

76 4C 01001100 L 204 CC 11001100 ╠

77 4D 01001101 M 205 CD 11001101 ═

78 4E 01001110 N 206 CE 11001110 ╬

79 4F 01001111 O 207 CF 11001111 ╧

80 50 01010000 P 208 D0 11010000 ╨

81 51 01010001 Q 209 D1 11010001 ╤

82 52 01010010 R 210 D2 11010010 ╥

83 53 01010011 S 211 D3 11010011 ╙

84 54 01010100 T 212 D4 11010100 ╘

85 55 01010101 U 213 D5 11010101 ╒

86 56 01010110 V 214 D6 11010110 ╓

87 57 01010111 W 215 D7 11010111 ╫

88 58 01011000 X 216 D8 11011000 ╪

89 59 01011001 Y 217 D9 11011001 ┘

90 5A 01011010 Z 218 DA 11011010 ┌

91 5B 01011011 [ 219 DB 11011011 ╯

92 5C 01011100 \ 220 DC 11011100 ╮

93 5D 01011101 ] 221 DD 11011101 ╰

94 5E 01011110 ^ 222 DE 11011110 ╱

95 5F 01011111 _ 223 DF 11011111 ╭

96 60 01100000 ` 224 E0 11100000 Α

Page 24: Eko Hari Rachmawanto Lengkap sekali

97 61 01100001 a 225 E1 11100001 Β

98 62 01100010 b 226 E2 11100010 Г

99 63 01100011 c 227 E3 11100011 Π

100 64 01100100 d 228 E4 11100100 Σ

101 65 01100101 e 229 E5 11100101 Ơ

102 66 01100110 f 230 E6 11100110 Μ

103 67 01100111 g 231 E7 11100111 Τ

104 68 01101000 h 232 E8 11101000 Ф

105 69 01101001 i 233 E9 11101001 Θ

106 6A 01101010 j 234 EA 11101010 Ω

107 6B 01101011 k 235 EB 11101011 Ό

108 6C 01101100 l 236 EC 11101100 ∞

109 6D 01101101 m 237 ED 11101101 Ф

110 6E 01101110 n 238 EE 11101110 Є

111 6F 01101111 o 239 EF 11101111

112 70 01110000 p 240 F0 11110000

113 71 01110001 q 241 F1 11110001 ±

114 72 01110010 r 242 F2 11110010 >

115 73 01110011 s 243 F3 11110011 <

116 74 01110100 t 244 F4 11110100 ⌠

117 75 01110101 u 245 F5 11110101 ⌡

118 76 01110110 v 246 F6 11110110 ÷

119 77 01110111 w 247 F7 11110111

120 78 01111000 x 248 F8 11111000 ╻

121 79 01111001 y 249 F9 11111001 .

`122 7A 01111010 z 250 FA 11111010 .

123 7B 01111011 { 251 FB 11111011 √

124 7C 01111100 | 252 FC 11111100 N

125 7D 01111101 } 253 FD 11111101 2

126 7E 01111110 ~ 254 FE 11111110 ╵

127 7F 01111111 ⌂ 255 FF 11111111 blank

2.4 Operator Logika

Operator logika adalah simbol-simbol yang digunakan untuk

melakukan ekspresi terhadap data-data logika. Proses operasi tersebut

akan menghasilkan salah satu dari dua jenis nilai kebenaran yaitu TRUE

Page 25: Eko Hari Rachmawanto Lengkap sekali

dan FALSE atau 1 dan 0. Simbol-simbol operator logika tersebut dapat

dilihat pada tabel yang ada di bawah ini :

Tabel 2.2 : Tabel Operator Logika

Operator Keterangan

Not Tidak

And Dan

Or Atau

Xor Exclusive Or

2.4.1 Operator XOR (Exclusive Or)

Operator biner XOR banyak digunakan dalam perhitungan biner

untuk algoritma kriptografi tertentu. Notasi matematis untuk operator

XOR adalah . Operator XOR merupakan operator yang digunakan

untuk dua buah ekspresi. Operator XOR akan menghasilkan nilai true atau

1 jika kedua ekpresi memiliki nilai yang berbeda. Operator xor akan

menghasilkan nilai 0 atau 0 jika kedua espresi bernilai sama.

Tabel 2.3 : Tabel Nilai Kebenaran Operator XOR

Ekspresi1 Ekspresi2 Ekspresi 1 XOr Ekspresi2

0 0 0

0 1 1

1 0 1

1 1 0

2.5 Kriptografi

2.5.1 Gambaran Umum Kriptografi

Kriptografi merupakan sebuah ilmu yang digunakan untuk

penyandian data. Kriptografi telah dikenal dan dipakai cukup lama sejak

kurang lebih tahun 1900 sebelum masehi pada prasasti-prasasti kuburan.

Page 26: Eko Hari Rachmawanto Lengkap sekali

Ilmu Kriptografi sebenarnya sudah mulai dipelajari manusia sejak

tahun 400 SM, yaitu pada zaman Yunani kuno. Dari catatan bahwa

“Penyandian Transposisi” merupakan sistem kriptografi pertama yang

digunakan atau dimanfaatkan. Bidang ilmu ini terus berkembang seiring

dengan kemajuan peradaban manusia, dan memegang peranan penting

dalam strategi peperangan yang terjadi dalam sejarah manusia, mulai dari

sistem kriptografi “Caesar Chiper” ang terkenal pada zaman Romawi

kuno, “Playfair Cipher” yang digunakan Inggris dan “ADFVGX Cipher”

yang digunakan Jerman pada Perang Dunia I hingga algoritma-algoritma

kriptografi rotor yang populer pada Perang Dunia II , seperti Sigaba / M-

134 (Amerika Serikat), Typex ( Inggris ), Purple (Jepang), dan mesin

kriptografi legendaris Enigma (Jerman). Sejarah telah dipenuhi oleh

contoh-contoh orang yang berusaha merahasiakan informasi rahasia

mereka dari orang lain.

Seiring dengan perkembangan zaman, kebutuhan akan metode

yang lebih canggih tidak dapat dihindari. Sekarang, dengan adanya era

informasi, kebutuhan itu menjadi lebih penting lagi. Dengan adanya

fasilitas internet, maka permintaan akan pelayanan informasi semakin

meningkat dengan seiringnya perkembangan teknologi. Pertukaran data

yang sensitif seperti nomor account kartu kredit, sudah sering dilakukan

dan menjadi hal yang biasa di dalam dunia internet. Karena itu,

melindungi data sudah menjadi hal penting yang sangat kruisal di dalam

hidup.

Ada tiga istilah yang berkaitan dengan proteksi data yaitu

kriptografi, kriptologi, dan kriptanalisis. Arti ketiganya kurang lebih sama.

Secara teknis, kriptologi adalah ilmu yang mempelajari tentang

komunikasi pada jalur yang tidak aman beserta masalah-masalah yang

berhubungan dengan itu.

Kriptografi berasal dari kata “Crypto” yang berarti rahasia dan

“graphy” yang berarti tulisan. Jadi, dapat dikatakan bahwa kriptografi

adalah tulisan yang tersembunyi. Dengan adanya tulisan yang tersembunyi

Page 27: Eko Hari Rachmawanto Lengkap sekali

ini, orang-orang tidak mengetahui bagaimana tulisan tersebut

disembunyikan dan tidak mengetahui bagaimana cara membaca maupun

menerjemahkan tulisan tersebut. William Stallings mendefinisikan

kriptografi sebagai “the art and science of keeping messages secure” [4].

Kriptografi berbasis pada algoritma pengkodean data informasi

yang mendukung kebutuhan dari dua aspek keamanan informasi, yaitu

secrecy (perlindungan terhadap kerahasiaan data informasi) dan

authenticity (perlindungan terhadap pemalsuan dan pengubahan informasi

yang tidak diinginkan.

Kriptografi menjadi dasar bagi keamanan komputer dan jaringan

karena merupakan sarana bagi distribusi data dan informasi. Sehingga data

dan informasi tersebut harus diamankan agar hanya orang-orang yang

berhak mengaksesnya yang dapat mengetahui maupun menggunakan data

tersebut. Salah satu cara yang paling banyak digunakan dalam

mengamankan data adalah dengan kriptografi. Data-data tersebut

diamankan dengan sedemikian rupa oleh pengirim sehingga orang lain

tidak dapat mengenali data tersebut.

Pembakuan penulisan pada kriptografi dapat ditulis dalam bahasa

matematika. Fungsi-fungsi yang mendasar dalam kriptografi adalah

enkripsi dan dekripsi. Enkripsi adalah proses mengubah suatu pesan asli

(plaintext) menjadi suatu pesan dalam bahasa sandi (ciphertext).

C = E (M), dimana :

M = pesan asli

E = proses enkripsi

C = pesan dalam bahasa sandi (untuk ringkasnya disebut sandi)

Sedangkan dekripsi adalah proses mengubah pesan dalam suatu

bahasa sandi menjadi pesan asli kembali.

M = D (C)

D = proses dekripsi

Page 28: Eko Hari Rachmawanto Lengkap sekali

Umumnya, selain menggunakan fungsi tertentu dalam melakukan

enkripsi dan dekripsi, seringkali fungsi itu diberi parameter tambahan yang

disebut dengan istilah kunci.

2.5.2 Tujuan Kriptografi

Dalam teknologi informasi, telah dan sedang dikembangkan cara

untuk menangkal berbagai bentuk serangan semacam penyadapan dan

pengubahan data yang dikirimkan. Salah satu cara yang ditempuh

mengatasi masalah ini ialah dengan menggunakan kriptografi yang

menggunakan transformasi data sehingga data yang dihasilkan tidak dapat

dimengerti oleh pihak yang tidak berhak mengakses.

Transformasi ini memberikan solusi pada dua macam masalah

keamanan data, yaitu masalah privasi (privacy) dan keotentikan

(authenticatioan). Privaci mengandung arti bahwa data yang dikirimkan

hanya dapat dimengerti informasinya oleh penerima yang sah atau berhak.

Sedangkan keotentikan mencegah pihak ketiga untuk mengirimkan data

yang salah atau mengubah data yang dikirimkan.

Kriptografi yang baik tidak ditentukan oleh kerumitan dalam

mengolah data atau pesan yang akan disampaikan. Ada 4 syarat yang perlu

dipenuhi, yaitu:

a. Kerahasiaan. Pesan (plaintext) hanya dapat dibaca oleh pihak yang

memliki kewenangan.

b. Autentikasi. Pengirim pesan harus dapat diidentifikasi dengan pasti,

penyusup harus dipastikan tidak bisa berpura-pura menjadi orang lain.

c. Integritas. Penerima pesan harus dapat memastikan bahwa pesan yang

dia terima tidak dimodifikasi saat dalam proses transmisi data.

d. Non-Repudiation. Pengirim pesan harus tidak bisa menyangkal pesan

yang dia kirimkan.

Page 29: Eko Hari Rachmawanto Lengkap sekali

2.6 Pola-pola Penyerangan Data

Proteksi data dan informasi dalam komunikasi komputer menjadi

penting karena nilai informasi itu sendiri dan meningkatnya penggunaan

komputer di berbagai sektor. Melihat kenyataan semakin banyak data yang

diproses dengan komputer dan dikirim melalui perangkat komunikasi

elektronik maka ancaman terhadap pengamanan data akan semakin

meningkat. Beberapa pola ancaman terhadap komunikasi data dalam

komputer dapat diterangkan sebagai berikut [5]:

a. Interruption

Interception terjadi bila data yang dikirimkan dari A tidak

sampai pada orang yang berhak B. Interruption merupakan pola

penyerangan terhadap sifat availability (ketersediaan data).

b. Interception

Serangan ini terjadi bila pihak ketiga C berhasil membaca data

yang dikirimkan. Interception merupakan pola penyerangan terhadap

sifat confidentiality (kerahasiaan data).

c. Modification

Pada serangan ini pihak ketiga C berhasil merubah pesan yang

dikirimkan. Modification merupakan pola penyerangan terhadap sifat

integrity (keaslian) data.

d. Fabrication

Pada serangan ini, penyerang berhasil mengirimkan data ke

tujuan dengan memanfaatkan identitas orang lain. Fabrication

merupakan pola penyerangan terhadap sifat authenticity.

Ancaman-ancaman tersebut di atas menjadi masalah terutama

dengan semakin meningkatnya komunikasi data yang bersifat rahasia

seperti: pemindahan dana secara elektronik kepada dunia perbankan atau

pengiriman dokumen rahasia pada instansi pemerintah. Untuk

mengantisipasi ancaman-ancaman tersebut perlu dilakukan usaha untuk

Page 30: Eko Hari Rachmawanto Lengkap sekali

melindungi data yang dikirim melalui saluran komunikasi salah satunya

adalah dengan teknik enkripsi. Untuk masalah kekuatan pengamanannya

tergantung pada algoritma metode enkripsi tersebut dan juga kunci yang

digunakan di dalamnya.

2.7 Enkripsi dan Dekripsi

Proses menyandikan plainteks menjadi chiperteks disebut enkripsi

(encryption) atau enciphering (standard nama menurut ISO 7498-2)

sedangkan proses mengembalikan chiperteks mejadi plainteks disebut

dekripsi (decryption) atau dechiphering (standard ISO 7498-2).[6]

Enkripsi adalah transformasi data dalam bentuk yang tidak dapat

terbaca dengan sebuah kunci tertentu. Tujuannya adalah untuk

meyakinkan privasi dengan menyembunyikan informasi dari orang-orang

yang tidak ditujukan, bahkan mereka yang memiliki akses ke data

terenkripsi. Sedangkan dekripsi merupakan kebalikan dari enkripsi, yaitu

transformasi data terenkripsi kembali ke bentuknya semula.

Enkripsi dilakukan pada saat pengiriman dengan cara mengubah

data asli menjadi data rahasia, sedangkan dekripsi dilakukan pada saat

penerimaan dengan cara mengubah data rahasia menjadi data asli. Jadi

data yang dikirimkan selama proses pengiriman adalah data rahasia,

sehingga data asli tidak dapat diketahui oleh pihak yang tidak

berkepentingan. Data asli hanya dapat diketahui oleh penerima dengan

menggunakan kunci rahasia.

Enkripsi dan dekripsi pada umumnya membutuhkan penggunaan

sejumlah informasi rahasia, disebut sebagai kunci. Untuk beberapa

mekanisme enkripsi, kunci yang sama digunakan baik untuk enkripsi dan

dekripsi berbeda.

Page 31: Eko Hari Rachmawanto Lengkap sekali

A Encrypt Decrypt B

C

Plaintext Ciphertext Plaintext

Encryption

Key

Decryption

Key

Gambar 2.2 : Skenario Komunikasi Dasar Kriptografi

Di dalam skenario komunikasi dasar, seperti yang diperlihatkan

pada Gambar 2.1, terdapat dua belah pihak, sebut saja A dan B, yang ingin

berkomunikasi satu sama lain.

Kemudian pihak ketiga, C, adalah seorang eavesdropper (orang

yang mengakses informasi rahasia tanpa izin). Ketika A ingin

mengirimkan informasi, yang disebut plaintext, kepada B, dia

mengenkripsi plaintext tersebut dengan menggunakan metode yang telah

dirancang oleh B. Biasanya, metode enkripsi diketahui oleh si

eavesdropper, dalam hal ini adalah C. Yang membuat pesan tersebut tetap

bersifat rahasia adalah key-nya. Ketika B menerima pesan yang telah

dienkripsi, yang disebut dengan ciphertext, dia mengubahnya kembali

menjadi plaintext dengan menggunakan key dekripsi.

2.8 Algoritma Kriptografi

Cryptographic system atau cryptosystem adalah suatu fasilitas

untuk mengkonversikan plaintext ke ciphertext dan sebaliknya. Dalam

sistem ini, seperangkat parameter yang menentukan transformasi

pencipheran tertentu disebut suatu set kunci. Proses enkripsi dan dekripsi

Page 32: Eko Hari Rachmawanto Lengkap sekali

diatur oleh satu atau beberapa kunci kriptografi. Secara umum, kunci-

kunci yang digunakan untuk proses pengenkripsian dan pendekripsian

tidak perlu identik, tergantung pada sistem yang digunakan [7].

Kriptosistem terdiri dari sebuah algoritma, plaintext, chipertext dan kunci-

kunci. Secara umum, kriptosistem digolongkan menjadi 2 buah, yaitu:

1. Kriptosistem simetri

2. Kriptosistem asimetri

Dalam kriptosystem simetri, algoritma yang digunakan hanya

membutuhkan satu kunci untuk proses enkripsi dan dekripsi. Sedang

dalam kriptografi asimetri, algoritma yang digunakan membutuhkan dua

kunci yang berbeda dalam proses enkripsi dan dekripsi pesan.

Kriptosistem dengan menggunakan symmetric cryptography kadang

disebut sebagai Secret-key cryptography merupakan bentuk kryptografi

yang lebih tradisional, dimana sebuah kunci tunggal dapat digunakan

untuk mengenkrip dan mendekrip pesan. Secret-key cryptography tidak

hanya berkaitan dengan enkripsi tetapi juga berkaitan dengan otentikasi,

disebut juga message authentication codes.

Masalah utama yang dihadapi secret-key cryptography adalah

membuat pengirim dan penerima menyetujui kunci rahasia tanpa ada

orang lain yang mengetahuinya. Ini membutuhkan metode dimana dua

pihak dapat berkomunikasi tanpa takut akan disadap. Kelebihan secret-key

cryptography dari public-key cryptography adalah lebih cepat. Teknik

yang paling umum dalam secret-key cryptography adalah block ciphers,

stream ciphers, dan message authentication codes. Berdasarkan jenis

kunci yang digunakannya, algoritma kriptografi dikelompokan menjadi

dua bagian, yaitu :

a. Symmetric Algorithm

Symmetric algorithm atau disebut juga secret key algorithm adalah

algoritma yang kunci enkripsinya dapat dihitung dari kunci dekripsi dan

begitu pula sebaliknya, kunci dekripsi dapat dihitung dari kunci enkripsi.

Page 33: Eko Hari Rachmawanto Lengkap sekali

Pada sebagian besar symmetric algorithm kunci enkripsi dan kunci

dekripsi adalah sama. Symmetric algorithm memerlukan kesepakatan

antara pengirim dan penerima pesan pada suatu kunci sebelum dapat

berkomunikasi secara aman. Keamanan symmetric algorithm tergantung

pada rahasia kunci. Pemecahan kunci berarti memungkinkan setiap orang

dapat mengenkripsi dan mendekripsi pesan dengan mudah. Symmetric

algorithm dapat dikelompokkan menjadi dua jenis, yaitu stream cipher

dan block cipher. Stream cipher beroperasi bit per bit (atau byte per byte)

pada satu waktu. Sedangkan block cipher beroperasi per

kelompokkelompok bit yang disebut blok (block) pada satu waktu.

b. Asymmetric Algorithm

Asymmetric algorithm atau disebut juga public key algorithm

didesain agar memudahkan dalam distribusi kunci yang digunakan untuk

enkripsi dan dekripsi. Kunci dekripsi pada public key algorithm secara

praktis tidak dapat dihitung dari kunci enkripsi. Algoritma ini disebut

“public key” karena kunci dapat dibuat menjadi publik. Setiap orang dapat

menggunakan kunci enkripsi untuk mengenkripsi pesan, tetapi hanya

orang yang memiliki kunci dekripsi yang dapat mendekripsi pesan

tersebut. Pada sistem ini kunci enkripsi sering disebut kunci publik (public

key), dan kunci dekripsi disebut kunci rahasia (private key).

Metode kriptosystem simetri disebut juga dengan enkripsi simetri

atau enkripsi konvensional. Gambar di bawah ini mengilustrasikan kinerja

dari proses enkripsi konvensional.

Gambar 2.3 : Ilutrasi Kinerja Proses Enkripsi Konvensional

Page 34: Eko Hari Rachmawanto Lengkap sekali

Proses enkripsi terdiri dari sebuah algoritma dan sebuah kunci.

Kunci adalah sebuah nilai yang terlepas dari pesan asli (plaintext) dan

mengontrol algoritma yang dipakai. Penerapan algoritma akan

menghasilkan output yang berbeda sesuai dengan kunci yang digunakan.

Mengubah kunci berarti mengubah output dari algoritma yang dipakai.

Setelah chipertext dihasilkan, chipertext tersebut dapat diubah

kembali menjad pesan asli dengan algoritma dekripsi dan dengan kunci

yang sama seperti yang digunakan pada saat enkripsi.

Keamanan dari enkripsi konvensional ini terdiri dari beberapa

faktor. Pertama, algoritma enkripsi harus benar-benar teruji, sehingga tidak

dimungkinkan untuk mendekripsi sebuah pesan hanya dalam bentuk

ciphertext. Kedua, keamanan enkripsi konvensional juga ditentukan oleh

kerahasiaan kunci yang digunakan, bukan kerahasiaan algoritma yang

digunakan. Jadi, kita juga harus yakin bahwa dekripsi tidak dimungkinkan

hanya dengan mengetaui ciphertext dan algoritma yang digunakan tanpa

mengetahui kunci yang digunakan.

Bentuk umum enkripsi konvensional dapat dilihat dari contoh

berikut. User A akan mengenkripsi plaintext X=[x1,X2,…,Xm] (m elemen

dari X merupakan huruf dari alphabet pesan) dengan kunci

K=[K1,K2,…,Kj]. Dengan pesan X dan kunci K tersebut, akan dihasilkan

chipertext Y=[Y1,Y2,…,Yn]. Maka kita dapat menuliskan rumus :

Y=Ek(X)

Selanjutnya, chipertext tersebut dikirimkan ke user B. User B akan

mendekripsi chipertext tersebut agar menjadi pesan asli dengan algoritma

dekripsi dan kunci yang sama seperti yang digunakan pada saat enkripsi.

Hal ini dapat dirumuskan sebagai berikut:

X=Dk(Y)

2.9 Algoritma Kriptografi Modern

Page 35: Eko Hari Rachmawanto Lengkap sekali

Gambar 2.4 : Klasifikasi Kriptografi

Kriptografi dibagi dalam dua bagian, yaitu cipher modern dan

klasikal. Mode klasikal biasanya menggunakan mode karakter, sehingga

kemampuan dari mode ini terbatas karena keterbatasan jumlah karakter.

Sedang pada kriptografi modern, pada proses enkripsi dan dekripsi

menggunakan rangkaian bit dalam bentuk biner, 0 dan 1. Rangkaian bit

yang menyatakan plainteks dienkripsi menjadi ciphertext dalam bentuk

rangkaian bit, begitu pula sebaliknya.

Perkembangan algoritma kriptografi modern berbasis bit didorong

oleh penggunaan komputer digital yang merepresentasikan data dalam

bentuk biner. Algoritma kriptografi yang beroperasi dalam mode bit dapat

dikelompokkan menjadi dua kategori :

a. Cipher Aliran (Stream Cipher)

Merupakan algoritma kriptografi yang beroperasi pada plaintext atau

cipher text dalam bentuk bit tunggal, yang dalam hal ini rangkaian bit

dienkripsikan atau didekripsikan bit per bit.Yang termasuk dalam

kelompoh cipher aliran adalah algoritma vernam cipher.

b. Cipher Block(Block Cipher)

Adalah algoritma kriptografi yang beroperasi pada plaintext atau

ciphertext dalam bentuk blok bit, yang dalam hal ini rangkaian bit

dibagi menjadi blok-blok bit, yang panjangnya sudah ditentukan

Page 36: Eko Hari Rachmawanto Lengkap sekali

sebelumnya. misalnya panjang blok adalah 64 bit, maka algoritma

enkripsi memperlakukan 8 karakter setiap kali penyandian.

(1 karakter= 8 bit dalam pengkodean ASCII)

2.9.1 Algoritma Subtitusi

Caesar cipher adalah cipher substitusi sederhana yang mencakup

pergeseran alfabet 3 posisi ke kanan. Caesar cipher merupakan subset dari

cipher polialfabetik Vigenere. Pada Caesar cipher karakter-karakter pesan

dan pengulangan kunci dijumlahkan bersama, modulo 26. Dalam

penjumlahan modulo 26, huruf-huruf A-Z dari alfabet masing-masing

memberikan nilai 0 sampai 25.

Caesar Cipher diperkenalkan oleh Julius Caesar yang mengubah

huruf-huruf dalam plaintext dengan huruf-huruf lain yang dilakukan secara

konsisten.

Contoh:

Plain : a b c d e f g h i j k l m n o p q r s t u v w x y z

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

Sehingga, ketika pesan yang akan dikirim (plaintext) berbunyi

“universitas” maka ditulis (ciphertext) dengan ”XQLYHUVLWDV

JXQDGDUPD”. Si Penerima pesan tentu harus mengetahui kode

pembacaannya (yang diberikan oleh si Pengirim) atau ia mengotak-atik

sendiri kode-kode itu.

Algoritma di atas adalah setiap huruf plaintext p, akan disubstitusi

menjadi huruf ciphertext c dengan formula: C=E(3, p) = (p + 3) mod 26,

atau secara umum algoritma Caesar adalah :

C = E(k, p) = (p + k) mod 26 di mana k, diambil dari rentang 0

(huruf A) sampai 25 (huruf Z). Algoritma dekripsi menjadi:

p = D(k,c) = (C – k) mod 26.

Page 37: Eko Hari Rachmawanto Lengkap sekali

Tipe cipher ini dapat diserang menggunakan analisis frekuensi.

Dalam frekuensi analisis, digunakan karakteristik frekuensi yang tampak

dalam penggunaan huruf-huruf alfabet pada bahasa tertentu. Tipe

cryptanalysis ini dimungkinkan karena Caesar cipher adalah

monoalfabetik cipher atau cipher substitusi sederhana, dimana karakter

ciphertext disubstitusi untuk setiap karakter plaintext. Serangan ini dapat

diatasi dengan menggunakan substitusi polialfabetik. Substitusi

polialfabetik dicapai melalui penggunaan beberapa cipher substitusi.

Namun substitusi ini dapat diserang dengan penemuan periode, saat

substitusi berulang kembali.

2.9.2 Algoritma Transposisi

Pada cipher ini, huruf-huruf plaintext dipermutasi. Sebagai contoh,

huruf-huruf plaintext A T T A C K A T D A W N dapat dipermutasi

menjadi D C K A A W N A T A T T. Cipher transposisi kolumnar adalah

cipher dimana plaintext ditulis secara horisontal pada kertas dan dibaca

secara vertikal. Cipher transposisi dapat diserang melalui analisis

frekuensi, namun cipher menyembunyikan properti statistik dari pasangan

huruf-huruf, seperti IS dan TOO.

2.9.3 Book Key Cipher

Cipher ini menggunakan teks dari sebuah sumber (misalnya buku)

untuk mengenkripsi plaintext. Kunci, diketahui oleh pengirim dan

penerima yang dimaksud, dapat berupa halaman dan jumlah baris dari teks

pada buku. Teks ini adalah karakter yang sesuai untuk karakter dengan

plaintext, dan penjumlahan modulo 26 dijalankan untuk memperngaruhi

enkripsi. Running key cipher mengeliminasi periodisitas, namun masih

dapat diserang dengan memanfaatkan redundansi pada kunci.

2.9.4 Vernam Cipher

Page 38: Eko Hari Rachmawanto Lengkap sekali

a. Gambaran Umum

Vernam cipher merupakan algoritma kriptografi yang ditemukan

oleh Mayor J. Maugborne dan G. Vernam. Algoritma ini merupakan

algoritma berjenis symmetric key yang artinya bahwa kunci yang

digunakan untuk melakukan enkripsi dan dekripsi merupakan kunci yang

sama. Dalam proses enkripsi, algoritma ini menggunakan cara stream

cipher dimana cipher berasal dari hasil XOR antara bit plaintext dan bit

key. Algoritma Vernam cipher diadopsi dari one-time pad cipher, dimana

dalam hal ini karakter diganti dengan bit (0 atau 1). Dengan kata lain,

Vernam Cipher merupakan versi lain dari one-time pad cipher.

Dalam proses enkripsi,cipherteks diperoleh dengan melakukan

penjumlahan modulo 2 satu bit plainteks dengan satu bit kunci, seperti

terlihat pada rumus di bawah ini :

c1 = (p1 + k1) mod 2 …… 2.1

Dimana :

c1 = cipher teks

p1 = plainteks

k1 = kunci

Sedangkan dalam proses dekripsi, untuk mendapatkan kembali

plainteks, diperoleh dengan melakukan penjumlahan modulo 2 satu bit

cipherteks dengan satu bit kunci :

p1 =( c1 - k1 ) mod 2 …… 2.2

Pada cipher aliran, bit hanya mempunya dua buah nilai, sehingga

proses enkripsi hanya menyebabkan dua keadaan pada bit tersebut, yaitu

berubah atau tidak berubah. Dua keadaan tersebut ditentukan oleh kunci

enkripsi yang disebut dengan aliran-bit-kunci (keystream). Oleh karena

Page 39: Eko Hari Rachmawanto Lengkap sekali

operasi penjumlahan modulp 2 identik dengan operasi bit dengan operator

XOR, maka persamaan 2.1 dapat ditulis secara sederhana sebagai berikut:

c1 = p1 XOR k1 …… 2.3

Sedangkan pada proses pendekripsian dituliskan:

p1 = c1 XOR k1 …… 2.4

Dalam operator logika XOR, hasil akan T (benar) apabila salah

satu dari kedua operand (tetapi tidak keduanya) bernilai T atau 1. Atau

dengan kata lain, apabila diaplikasikan dalam bit maka operator XOR akan

menghasilkan 1 jika dan hanya jika salah satu operand bernilai 1.

Contoh :

X: 00111010 10101011

Y: 10100100 01010101

Hasil : 10011110 11111110

Sedangkan suatu bilangan dalam biner apabila di- XOR-kan

dengan dirinya sendiri akan menghasilkan 0. Contoh :

X : 01010101 10101010

Y : 01010101 10101010

Hasil :00000000 00000000

b. Proses Enkripsi dan Dekripsi

Perhitungan di atas merupakan salah satu dasar dalam penerapan

algoritma Vernam dalam kriptografi, yaitu suatu string yang diterjemahkan

ke dalam biner dapat dienkripsikan dengan suatu kunci tertentu dan dapat

pula diperoleh kembali dari pesan sandi dengan menggunakan operator

XOR pada kunci yang sama.

Dalam algoritma ini, terdapat beberapa langkah untuk proses

enkripsi dan dekripsi. Misalnya kita akan mengenkripsi plainteks

“Vernam” dengan kunci “Cipher”. Maka langkah-langkahnya adalah :

Page 40: Eko Hari Rachmawanto Lengkap sekali

1. Karakter-karakter yang terdapat pada plainteks dan kunci merupakan

karakter ASCII. Maka, ubah plainteks dan kunci menjadi bilangan

biner :

ASCII Biner

Vernam 01010110 01100101 01110010 01101110 01100001 01101101

Cipher 01000011 01101000 01101001 01110000 01100101 01110010

2. Lalu, kedua bilangan biner itu kita XOR-kan menurut persamaan 2.3 :

Hasil dari XOR tersebut adalah : “00010101 00001100 00000010

00000110 00000100 00011111”. Rangkaian bilangan bit ini

merupakan bit cipherteks dalam bentuk biner. Untuk mengetahui nilai

SCII dari cipherteks tersebut, maka kita perlu konversikan rangkaian

biner tersebut ke bilangan ASCII sesuai dengan tabel 2.1. Dengan

berdasar pada tabel tersebut, maka dapat kita lihat bahwa rangkaian

bit dari cipherteks tersebut mempunyai nilai ASCII :

Proses dekripsi dalam algoritma Vernam Cipher merupakan

kebalikan dari proses enkripsi. Cipherteks dari hasil enkripsi di-XOR-kan

dengan kunci yang sama. Misalnya dengan mengambil contoh

sebelumnya, dimana cipherteks : “§ ☽ ☻ ☿ ♂ ╹” dan kunci : “Cipher”.

Maka langkah pendekripsiannya adalah sebagai berikut :

1. Ubah karakter ASCII dari cipherteks dan kunci ke dalam rangkaian

biner :

§ ☽ ☻ ☿ ♂ ╹

Plainteks : 01010110 01100101 01110010 01101110 01100001 01101101

Kunci : 01000011 01101001 01110000 01101000 01100101 01110010

Cipherteks : 00010101 00001100 00000010 00000110 00000100 00011111

Page 41: Eko Hari Rachmawanto Lengkap sekali

2. Lalu, kedua rangkaian biner itu kita XOR-kan dengan berdasar pada

persamaan 2.4 :

Maka didapat rangkaian bit plainteks “01010110 01100101 01110010

01101110 01100001 01101101”. Dengan berdasar pada tabel 2.1,

maka kita dapat mengubah rangkaian bit menjadi bilangan ASCII,

yaitu menjadi : “Vernam”. Terbukti plain teks pada hasil dekripsi

adalah sama dengan plainteks pada proses enkripsi.

2.10 Jenis Serangan terhadap Cipher Aliran

Serangan yang dapat dilakukan oleh kriptanalis terhadap cipher aliran

adalah:

1. Known-plaintext attack

Misalkan kriptanalis memiliki potongan plainteks (P) dan cipherteks

(C) yang berkoresponden, maka ia dapat menemukan bagian bit-aliran-

kunci (K) yang berkoresponden dengan meng-XOR-kan bit-bit

plainteks dan cipherteks:

P C = P (P K) = (P P) K = 0 K = K

2. Ciphertext-only attack

Misalkan kriptanalis memiliki dua potongan cipherteks berbeda (C1

dan C2) yang dienkripsi dengan bit-aliran-kunci yang sama. Ia meng-

XOR-kan kedua cipherteks tersebut dan memperoleh dua buah

plainteks yang ter-XOR satu sama lain:

ASCII Biner

§ ☽ ☻ ☿ ♂ ╹ 00010101 00001100 00000010 00000110 00000100 00011111

Cipher 01000011 01101000 01101001 01110000 01100101 01110010

Cipherteks : 00010101 00001100 00000010 00000110 00000100 00011111

Kunci : 01000011 01101001 01110000 01101000 01100101 01110010

Plainteks : 01010110 01100101 01110010 01101110 01100001 01101101

Page 42: Eko Hari Rachmawanto Lengkap sekali

C1 C2 = (P1 K ) (P2 K)

= (P1 P2 ) (K K)

= (P1 P2 ) 0

= (P1 P2 )

P1 dan P2 dapat diperoleh dengan mudah. Selanjutnya, XOR-kan salah

satu plainteks dengan cipherteksnya untuk memperoleh bit-aliran-

kunci K yang berkoresponden:

P1 C1 = P1 (P1 K) = K

Pesan dari dua serangan di atas adalah: pengguna cipher aliran

harus mempunyai bit-aliran-kunci yang tidak dapat diprediksi sehingga

mengetahui sebagian dari bit-aliran-kunci tidak memungkinkan

kriptanalis dapat mendeduksi bagian sisanya.

2.11 Steganografi

Steganografi berasal dari bahasa Yunani yaitu Steganós yang

berarti menyembunyikan dan Graptos yang artinya tulisan sehingga secara

keseluruhan artinya adalah tulisan yang disebunyikan. Secara umum

steganografi merupakan seni atau ilmu yang digunakan untuk

menyembunyikan pesan rahasia dengan segala cara sehingga selain orang

yang dituju, orang lain tidak akan menyadari keberadaan dari pesan

rahasia tersebut.

Kini, istilah steganografi termasuk penyembunyian data digital

dalam file-file komputer. Contohnya, si pengirim mulai dengan file

gambar biasa, lalu mengatur warna setiap pixel ke-100 untuk

menyesuaikan suatu huruf dalam alphabet (perubahannya begitu halus

sehingga tidak ada seorangpun yang menyadarinya jika ia tidak benar-

benar memperhatikannya).

Pada umumnya, pesan steganografi muncul dengan rupa lain

seperti gambar, artikel, daftar belanjaan, atau pesan-pesan lainnya. Pesan

Page 43: Eko Hari Rachmawanto Lengkap sekali

yang tertulis ini merupakan tulisan yang menyelubungi atau menutupi.

Contohnya, suatu pesan bisa disembunyikan dengan menggunakan tinta

yang tidak terlihat diantara garis-garis yang kelihatan.

Teknik steganografi meliputi banyak sekali metode komunikasi

untuk menyembunyikan pesan rahasia (teks atau gambar) di dalam file-file

lain yang mengandung teks, image, bahkan audio tanpa menunjukkan ciri-

ciri perubahan yang nyata atau terlihat dalam kualitas dan struktur dari file

semula. Metode ini termasuk tinta yang tidak tampak, microdots,

pengaturan kata, tanda tangan digital, jalur tersembunyi dan komunikasi

spektrum lebar.

Tujuan dari steganografi adalah merahasiakan atau

menyembunyikan keberadaan dari sebuah pesan tersembunyi atau sebuah

informasi. Dalam prakteknya kebanyakan diselesaikan dengan membuat

perubahan tipis terhadap data digital lain yang isinya tidak akan menarik

perhatian dari penyerang potensial, sebagai contoh sebuah gambar yang

terlihat tidak berbahaya. Perubahan ini bergantung pada kunci (sama pada

kriptografi) dan pesan untuk disembunyikan. Orang yang menerima

gambar kemudian dapat menyimpulkan informasi terselubung dengan cara

mengganti kunci yang benar ke dalam algoritma yang digunakan.

Pada metode steganografi cara ini sangat berguna jika

digunakan pada cara steganografi komputer karena banyak format file

digital yang dapat dijadikan media untuk menyembunyikan pesan. Format

yang biasa digunakan diantaranya:

Format image : bitmap (bmp), gif, pcx, jpeg, dll.

Format audio : wav, voc, mp3, dll.

Format lain : teks file, html, pdf, dll.

Kelebihan steganografi daripada kriptografi adalah pesan-

pesannya tidak menarik perhatian orang lain. Pesan-pesan berkode dalam

kriptografi yang tidak disembunyikan, walaupun tidak dapat dipecahkan,

akan menimbulkan kecurigaan. Seringkali, steganografi dan kriptografi

digunakan secara bersamaan untuk menjamin keamanan pesan rahasianya.

Page 44: Eko Hari Rachmawanto Lengkap sekali

Sebuah pesan steganografi (plaintext), biasanya pertama-tama

dienkripsikan dengan beberapa arti tradisional, yang menghasilkan

ciphertext. Kemudian, covertext dimodifikasi dalam beberapa cara

sehingga berisi ciphertext, yang menghasilkan stegotext. Contohnya,

ukuran huruf, ukuran spasi, jenis huruf, atau karakteristik covertext lainnya

dapat dimanipulasi untuk membawa pesan tersembunyi; hanya penerima

(yang harus mengetahui teknik yang digunakan) dapat membuka pesan

dan mendekripsikannya.

2.12 Metode Steganografi

Kebanyakan algoritma steganografi menggunakan sebuah

kombinasi dari bidang jenis teknik untuk melakukan sebuah tugas dalam

penyelubungan pesan rahasia dalam sebuah selubung file. Sebuah program

steganografi dibutuhkan untuk melakukan hal-hal berikut (baik implisit

melalui suatu perkiraan maupun eksplisit melalui sebuah perhitungan),

menemukan kelebihan bits dalam selubung file yang dapat digunakan

untuk menyelubungi pesan rahasia didalamnya, memilih beberapa

diantaranya untuk digunakan dalam menyelubungi data dan

penyelubungan data dalam bits dipilih sebelumnya.

Terdapat banyak metode yang digunakan dalam melakukan

penyembunyian data kedalam data lainnya. Berikut adalah penjelasan

mengenai beberapa metode yang banyak digunakan dalam steganografi.

2.12.1 Metode Steganografi pada teks

a. Metode Spasi Terbuka

Terdapat beberapa cara untuk memanfaatkan spasi terbuka

dalam data text guna menyembunyikan informasi. Metode ini dapat

berhasil karena buku bacaan pada umumnya menambahkan satu spasi

tambahan pada akhir baris atau diantara dua kata sehingga tidak

terbaca aneh. Bagaimanapun, metode spasi terbuka hanya dapat

Page 45: Eko Hari Rachmawanto Lengkap sekali

digunakan dengan memakai ASCII (AmericanStandard Character

Interchange) format. Bender et al memberikan tiga metode untuk

mengungkap white space dalam proses penyembunyian. Spasi terbuka

antar kalimat akan menghasilkan nilai "0" apabila hanya terdapat

sebuah spasi yang ditambahkan diantara kalimat tersebut. Dengan

menambahkan dua spasi akan menghasilkan nilai "1". Metode ini

dapat berhasil, tetapi membutuhkan data dalam jumlah besar untuk

menyembunyikan sebuah informasi kecil. Dan juga terdapat banyak

software word-processing yang akan secara otomatis membetulkan

spasi antara kalimat, sehingga metode ini seringkali gagal. Metode

spasi end-of-line (EOL) mengutarakan white space pada akhir dari

masing-masing baris. Data disembunyikan menggunakan jumlah spasi

yang telah ditentukan sebelumnya dari akhir untuk masing- masing

kalimat. Sebagai contoh dua spasi akan menyembunyikan satu bit,

empat spasi akan menyembunyikan dua bit dan delapan spasi akan

menghasilkan tiga bit dan seterusnya. Tehnik ini lebih baik

dibandingkan metode spasi terbuka antar kalimat, karena dengan

meningkatkan jumlah spasi akan dapat menyembunyikan lebih banyak

data. Salah satu kekurangan dari tehnik ini adalah dapat hilangnya

informasi tersembunyi jika hard copy data yang diberikan

Pada akhirnya, pemerataan kanan dari text dapat digunakan

pula untuk menyembunyikan informasi rahasia pada data text.

Penghitungan dan pengontrolan spasi diantara kata dapat

menyembunyikan informasi dalam data text yang terlihat tidak

penting. Sebuah spasi antara kata akan menghasilkan nilai "0" dan dua

buah spasi akan menghasilkan nilai "1". Bagaimanapun, pendekatan

ini akan mempersulit untuk mengeluarkan informasi penitng dari

media data text tersebut karena akan semakin tidak mungkin untuk

membedakan sebuah spasi biasa dengan spasi yang berfungsi untuk

penyembunyian data. Untuk mewujudkan hal ini, Bender et al

menggunakan Manchester coding untuk mengelompokkan bit-bit.

Page 46: Eko Hari Rachmawanto Lengkap sekali

Sehingga "01" diinterpretasikan sebagai "1" dan "10" diinterpretasikan

sebagai "0". Dimana "00" dan "11" akan dianggap sebagai null bit

string.[6]

b. Metode Syntactic

Metode Syntactic sebagaimana yang telah di sarankan oleh

Bender et al, mengutarakan penggunaan punktuasi dan struktur text

untuk menyembunyikan informasi tanpa secara signifikan mengubah

arti dari pesan pembawa. Sebagai contoh terdapat dua frase "bread,

butter, and milk" dan "bread, butter and milk" secara gramatikal benar

tetapi berbeda dalam penggunaan koma.

Salah satu dapat digunakan secara alternatif dalam pesan text

guna mengintepretasikan nilai "1" apabila salah satu metode dipakai

dan nilai "0" untuk metode lain yang dipakai.

c. Metode Semantic

Metode Semantic menggunakan dua sinonim sebagai nilai

primer atau sekunder. Nilai tersebut akan diterjemahkan kedalam biner

"1" atau "0". Bender et al menggunakan sebuah contoh dimana kata

"big" berfungsi sebagai primer dan "large" berfungsi sebagai sekunder.

Oleh karena itu, dalam menguraikan isi sebuah pesan akan

menterjemahkan atas penggunaan primer sebagai "1" dan sekunder

sebagai "0". Bender et al menyebutkan masalah yang dapat muncul

dengan penggunaan metode ini adalah ketika sinonim tidak dapat

digantikan karena dapat mengubah arti dari struktur kalimat. Sebagai

contoh dalam memanggil seseorang dalam bahasa Inggris dengan

"cool" mempunyai arti berbeda dibandingkan dengan memanggilnya

"chilly".

Page 47: Eko Hari Rachmawanto Lengkap sekali

2.12.2 Metode Steganografi pada Gambar

Sudah banyak metode yang digunakan untuk menyembunyikan

pesan di dalam sebuah image tanpa mengubah tampilan image, sehingga

pesan yang disembunyikan tidak akan terlihat. Berikut akan dibahas

beberapa metode umum yang digunakan pada image steganography.

a. Least Significant Bit Insertion (LSB)

Metoda yang digunakan untuk menyembunyikan pesan pada

media digital tersebut berbeda-beda. Contohnya pada file image pesan

dapat disembunyikan dengan menggunakan cara menyisipkannya

pada bit rendah atau bit yang paling kanan (LSB) pada data pixel yang

menyusun file tersebut. Seperti kita ketahui untuk file bitmap 24 bit

maka setiap pixel (titik) pada gambar tersebut terdiri dari susunan tiga

warna merah, hijau dan biru (RGB) yang masing-masing disusun oleh

bilangan 8 bit (byte) dari 0 sampai 255 atau dengan format biner

00000000 sampai 11111111. Dengan demikian pada setiap pixel file

bitmap 24 bit kita dapat menyisipkan 3 bit data. Kekurangan dari LSB

Invertion : Dapat diambil kesimpulan dari contoh 8 bit pixel,

menggunakan LSB Insertion dapat secara drastis merubah unsur

pokok warna dari pixel. Ini dapat menunjukkan perbedaan yang nyata

dari cover image menjadi stego image, sehingga tanda tersebut

menunjukkan keadaan dari steganografi. Variasi warna kurang jelas

dengan 24 bit image, bagaimanapun file tersebut sangatlah besar.

Antara 8 bit dan 24 bit image mudah diserang dalam pemrosesan

image, seperti cropping (kegagalan) dan compression (pemampatan).

Keuntungan dari LSB Insertion : Keuntungan yang paling besar dari

algoritma LSB ini adalah cepat dan mudah. Dan juga algoritma

tersebut memiliki software steganografi yang mendukung dengan

bekerja diantara unsur pokok warna LSB melalui manipulasi pallete

(lukisan).

Page 48: Eko Hari Rachmawanto Lengkap sekali

b. Algorithms and Transformation

Algoritma compression adalah metode steganografi dengan

menyembunyikan data dalam fungsi matematika. Dua fungsi tersebut

adalah Discrete Cosine Transformation (DCT) dan Wavelet

Transformation. Fungsi DCT dan Wavelet yaitu mentransformasi data

dari satu tempat (domain) ke tempat (domain) yang lain. Fungsi DCT

yaitu mentransformasi data dari tempat spatial (spatial domain) ke

tempat frekuensi (frequency domain).

c. Redundant Pattern Encoding

Redundant Pattern Encoding adalah menggambar pesan kecil

pada kebanyakan gambar. Keuntungan dari metode ini adalah dapat

bertahan dari cropping (kegagalan), kerugiannya yaitu tidak dapat

menggambar pesan yang lebih besar.

d. Spread Spectrum method

Spread Spectrum steganografi terpencar-pencar sebagai pesan

yang diacak (encrypt) melalui gambar (tidak seperti dalam LSB).

Untuk membaca suatu pesan, penerima memerlukan algoritma yaitu

crypto-key dan stego-key. Metode ini juga masih mudah diserang

yaitu penghancuran atau pengrusakan dari kompresi dan proses image

(gambar).

2.12.3 Metode Steganografi pada suara

Cara untuk mengaplikasikan steganografi pada file audio terdiri

dari beberapa cara yang lazim digunakan dan prinsip kerja atau algoritma

yang digunakan sama seperti pada metode steganografi pada gambar.

Berikut adalah beberapa teknik yang digunakan:

Page 49: Eko Hari Rachmawanto Lengkap sekali

a. Low Bit coding

Cara ini lazim digunakan dalam teknik digital steganografi

yaitu mengganti LSB input setiap samplingnya dengan data yang

dikodekan. Dengan metode ini keuntungan yang didapatkan adalah

ukuran pesan yang disispkan relative besar, namun berdampak pada

hasil audio yang berkualitas kurang dengan banyaknya noise.

b. Phase coding

Metode kedua yang digunakan ini adalah merekayasa fasa

dari sinyal masukan. Teori yang digunakan adalah dengan

mensubstitusi awal fasa dari tiap awal segment dengan fasa yang telah

dibuat sedemikian rupa dan merepresentasikan pesan yang

disembunyikan. Fasa dari tiap awal segment ini dibuat sedemikian

rupa sehingga setiap segmen masih memiliki hubungan yang berujung

pada kualitas suara yang tetap terjaga. Teknik ini menghasilkan

keluaran yang jauh lebih baik daripada metode pertama namun

dikompensasikan dengan kerumitan dalam realisasinya.

c. Spread Spectrum

Metode yang ketiga adalah penyebaran spektrum. Dengan

metode ini pesan dikodekan dan disebar ke setiap spectrum frekuensi

yang memungkinkan. Maka dari itu akan sangat sulit bagi yang akan

mencoba memecahkannya kecuali ia memiliki akses terhadap data

tersebut atau dapat merekonstruksi sinyal random yang digunakan

untuk menyebarkan pesan pada range frekuensi.

d. Echo Hiding

Metode terakhir yang sering digunakan adalah

menyembunyikan pesan melalui teknik echo. Teknik menyamarkan

pesan ke dalam sinyal yang membentuk echo. Kemudian pesan

disembunyikan dengan menvariasikan tiga parameter dalam echo

Page 50: Eko Hari Rachmawanto Lengkap sekali

yaitu besar amplitude awal, tingkat penurunan atenuasi, dan offset.

Dengan adanya offset dari echo dan sinyal asli maka echo akan

tercampur dengan sinyal aslinya, karena sistem pendengaran manusia

yang tidak memisahkan antara echo dan sinyal asli. Keempat metode

di atas memiliki kesamaan yaitu menggunakan kelemahan dari sistem

pendengaran manusia. Maka dari itu teknik steganografi dalam MP3

juga akan menggunakan kelemahan ini untuk menyembunyikan pesan.

2.12.4 Metode End of File (EoF)

Teknik yang digunakan pada digital watermarking beragam

tetapi secara umum teknik ini menggunakan redundant bits sebagai tempat

menyembunyikan pesan pada saat dilakukan kompresi data, dan kemudian

menggunakan kelemahan indera manusia yang tidak sensitive sehingga

pesan tersebut tidak ada perbedaan yang terlihat atau yang terdengar.

Teknik EOF atau End Of File merupakan salah satu teknik yang

digunakan dalam steganografi. Teknik ini menggunakan cara dengan

menyisipkan data pada akhir file. Teknik ini dapat digunakan untuk

menyisipkan data yang ukurannya sesuai dengan kebutuhan. Ukuran file

yang telah disisipkan data sama dengan ukuran file sebelum disisipkan

data ditambah dengan ukuran data yang disisipkan ke dalam file tersebut.

Teknik inilah yang akan digunakan penulis dalam penelitian ini. Dalam

teknik ini, data disisipkan pada akhir file dengan diberi tanda khusus

sebagai pengenal start dari data tersebut dan pengenal akhir dari data

tersebut.

2.13Microsoft Visual Basic 6.0

Microsoft Visual Basic 6.0 adalah sebuah bahasa pemrograman

untuk Windows dan Internet. Pada dasarnya Visual Basic 6.0 sama seperti

bahasa pemrograman Basic, Pascal, C, dan lain-lain, hanya saja Visual

Basic 6.0 mempunyai platform Windows. Visual Basic 6.0 hampir sama

Page 51: Eko Hari Rachmawanto Lengkap sekali

dengan bahasa pemrograman Basic (Quick Basic), dikarenakan Visual

Basic 6.0 adalah pengembangan dari Basic.

Visual Basic 6.0 terdapat dalam 3 versi perangkat lunak yang

diproduksi oleh Microsoft yaitu Microsoft Visual Basic 6.0 Professional,

Microsoft Visual Basic 6.0 Enterprise Edition, dan Microsoft Visual

Studio 6.0. Di dalam perancangan kali ini yang digunakan adalah

Microsoft Visual Basic 6.0 Enterprise Edition.[8]

a. Tool Box

Dalam penggunaan software Microsoft Visual Basic, terdapat

beberapa tool yang akan digunakan untuk perancangan program.Window

yang berisi tombol-tombol kontrol yang akan dipergunakan dalam

membuat sebuah form, komponen-komponen yang terdapat pada kontrol

dapat ditambah dan dikurangi sesuai dengan kebutuhan program,

penambahan dan pengurangan komponen yang dilakukan seiring dengan

pemambahan atau pengurangan pada project components dan project

references.

Gambar 2.5 : Tampilan Tool Box

1) Textbox

Gambar 2.6 : Tool Textbox

Page 52: Eko Hari Rachmawanto Lengkap sekali

Tool textbox digunakan untuk menginputkan teks dari kunciboard.

Dalam perancangan ini, tool textbox akan digunakan untuk memasukkan

plaintext yang nantinya akan dienkripsi.

2) Combo Box

Tool combobox digunakan untuk pemilihan terhadap beberapa

option yang telah ditentukan dalam perancangan ini, tool combo box

digunakan untuk memilih data tertentu yang berkaitan dengan naskah

ujian.

Gambar 2.7 : Tool Combobox

3) Button

Tool button digunakan sebagai trigger untuk melaksanakan suatu

aksi tertentu, biasanya berbentuk perintah. Dalam perancangan ini, tool

button digunakan sebagai trigger dalam melakukan proses enkripsi atau

enkripsi pesan.

Gambar 2.8 : Tool Command

Setelah kontrol yang terdapat pada tool box diletakkan pada form,

control tersebut dapat diberikan nilai sesuai dengan fungsi yang akan di

jalankan, nilai tersebut diletakkan di windows properties.

Page 53: Eko Hari Rachmawanto Lengkap sekali

Gambar 2.9 : Tampilan Properties

b. Code Editor

Window yang dipergunakan untuk menuliskan program, setiap

kontrol dalam form dapat memiliki fungsi tertentu. Fungsi tersebut

diwujudkan dalam deret perintah, perintah perintah ini yang di tuliskan

kedalam window code editor. VB menyediakan auto list untuk

memberikan nilai yang terdapat pada suatu kontol, sehingga mengurangi

kesalahan penulisan program. Cara menggunakannya adalah dengan

mengklik ganda kontrol yang ada.

Gambar 2.10 : Tampilan Window Code Editor

Page 54: Eko Hari Rachmawanto Lengkap sekali

2.14 Unified Modelling Language (UML)

Unified Modelling Language adalah bahasa standar yang

digunakan untuk menjelaskan dan memvisualisasikan artifak dari proses

analisis dan dasain berorientasi objek. UML menyediakan standar pada

notasi dan diagram yang bisa digunakan untuk memodelkan suatu sistem.

UML dikembangkan oleh 3 orang pendekar „berorientasi objek‟, yaitu

Grady Booch, Jim Rumbaugh dan Ivar Jacobson.[9]

Namun karena UML hanya merupakan bahasa untuk pemodelan

maka UML bukanlah rujukan bagaimana melakukan analisis dan desain

berorientasi objek. Untuk mengetahui bagaiamana melakukan analisis dan

desain berorientasi secara baik, sudah terdapat beberapa metodologi yang

bisa diikuti, seperti Metode Booch, Metode Coad and Yourdan, Metode

Jacobson, Metode Rumbaugh, Metode Wirfs-Brock, atau mengikuti

metode pengembangan sistem Rational Unified Process.

a. Actor

Gambar 2.11 : Notasi Actor

Actor adalah segala sesuatu yang berinteraksi dengan sistem

aplikasi komputer. Jadi actor dapat berupa orang, perangkat keras atau

mungkin juga objek lain dalam sistem yang sama. Biasanya yang

dilakukan oleh actor adalah memberikan informasi pada sistem

dan/atau memerintahkan sistem untuk melakukan sesuatu.

Page 55: Eko Hari Rachmawanto Lengkap sekali

b. Class

Gambar 2.12 : Notasi Class

Class merupakan pembentuk utama dari sistem berorientasi

objek karena class menunjukkan kumpulan objek yang mempunyai

atribut dan operasi yang sama. Class digunakan untuk

mengimplementasikan interface.

Class digunakan untuk mengabstraksikan elemen-elemen dari

sistem yang sedang dibangun. Class dapat untuk merepresentasikan

baik perangkat lunak maupun perangkat keras, baik konsep maupun

benda nyata.

Notasi class benbentuk persegi panjang berisikan 3 bagian

yaitu persegi paling atas untuk nama class, persegi di tengah untuk

atribut dan persegi paling bawah untuk operasi.

Operasi menunjukkan sesuatu yang bisa dilakukan oleh objek

dan menggunakan kata kerja. Atribut digunakan untuk menyimpan

informasi. Nama atribut menggunakan kata benda yang bisa dengan

jelas merepresentasikan informasi yang terkandung di dalamnya.

c. Use Case

Gambar 2.13 : Notasi Use Case

Page 56: Eko Hari Rachmawanto Lengkap sekali

Use case menjelaskan urutan kegiatan yang dilakukan actor

dan sistem untuk mencapai suatu tujuan tertentu. Walaupun

menjelaskan kegiatan namun use case hanya menjelaskan apa yang

dilakukan oleh actor dan sistem, bukan bagaimana actor dan sistem

melakukan kegiatan tersebut.

Di dalam use case terdapat teks untuk menjelaskan urutan

kegiatan yang disebut use case specification yang terdiri dari :

- Nama Use case : mencantumkan nama dari use case yang

bersangkutan. Sebaiknya diawali dengan kata kerja untuk

menunjukkan suatu aktivitas.

- Deskripsi singkat (Brief Description) : menjelaskan secara singkat

dalam 1 atau 2 kalimat tentang tujuan dari use case.

- Aliran normal (Basic Flow) : adalah jantung dari use case yang

menjelaskan tentang interaksi antara actor dan sistem dalam

kondisi normal, yaitu segala sesuatu berjalan dengan lancar tanpa

ada halangan atau hambatan dalam mencapai tujuan dari use case.

- Aliran alternatif (Alternate Flow) : merupakan pelengkap dari

basic flow karena tidak ada yang sempurna dalam setiap kali use

case berlangsung. Dalam hal ini dijelaskan bahwa apa yang akan

terjadi bila suatu halangan atau hambatan terjadi sewaktu use case

berlangsung.

- Special Requirement : berisi kebutuhan lain yang belum tercakup

dalam aliran normal dan alternatif. Secara tegas dibedakan bahwa

basic flow dan alternate flow menangani kebutuhan fungsional,

misalnya kecepatan transaksi maksimum berapa cepat dan berapa

lama, kapasitas akses yaitu jumlah user yang akan mengakses

dalam waktu bersamaan.

- Pre-Condition : menjelaskan persyaratan yang harus dipenuhi

sebelum use case bisa dimulai.

- Post-Condition : menjelaskan kondisi yang berubah atau terjadi

saat use case selesai di eksekusi.

Page 57: Eko Hari Rachmawanto Lengkap sekali

d. Package

Gambar 2.14 : Notasi Package

Package adalah kontainer atau wadah konseptual yang

digunakan untuk mengelompokkan elemen-elemen dari sistem yang

sedang dibangun sehingga bisa dibuwat model yang lebih sederhana.

Tujuannya adalah untuk mempermudah penglihatan dari model yang

sedang dibangun.

e. Note

Gambar 2.15 : Notasi Note

Note digunakan untuk memberikan keterangan dan komentar

tambahan dari suatu elemen sehingga bisa langsung terlampir dalam

model. Note ini bisa ditempelkan ke semua elemen notasi yang lain.

f. Dependency

Gambar 2.16 : Notasi Dependency

Dependency merupakan relasi yang menunjukkan bahwa

perubahan pada salah satu elemen memberi pengaruh pada elemen

lain. Elemen yang ada di bagian tanda panah adalah elemen yang

tergantung pada elemen yang ada di bagian tanpa tanda panah.

Terdapat 2 stereotype dari dependency, yaitu Include dan

Extend. Include menunjukkan suatu bagian dari elemen (yang ada di

Page 58: Eko Hari Rachmawanto Lengkap sekali

garis tanpa panah) memicu eksekusi bagian dari elemen lain (yang ada

di garis dengan panah). Extend menunjukkan bahwa suatu bagian dari

elemen di garis tanpa panah bisa di sisipkan ke dalam elemen yang ada

di garis dengan panah.

g. Association

Gambar 2.17 : Notasi Associaton

Assocition menggambarkan navigasi antar kelas, berapa

banyak objek lain yang bisa berhubungan dengan satu objek dan

apakah suatu kelas menjadi bagian dari kelas lainnya.

h. Generalization

Gambar 2.18 : Notasi Generalization

Generalization menunjukkan hubungan antara elemen yang

lebih umum ke elemen yang lebih spesifik. Dengan menggunakan

notasi generalization ini konsep inheritance dari prinsip hierarki

dimodelkan.

i. Realization

Gambar 2.19 : Notasi Realization

Realization menunjukkan hubungan bahwa elemen yang ada

di bagian tanpa panah akan merealisasikan apa yang dinyatakan oleh

elemen yang ada di bagian dengan panah misalnya class

merealisasikan package, komponen merealisasikan class atau interface.

Page 59: Eko Hari Rachmawanto Lengkap sekali

BAB III

METODE PENELITIAN

3.1 Metode Pengumpulan Data

Data yang dikumpulkan dalam penelitian ini merupakan data

sekunder. Data diperoleh dari telaah pustaka dan dokumen yang didapat

penulis dari pustaka yang mendukung, informasi dari internet, buku-buku

dan artikel dari jurnal.

3.2 Metode Pengembangan Sistem

Agar mempermudah dalam pengembangan sistem, maka penulis

membangun sebuah sistem yang akan membantu dalam menggambarkan

proses penyelesaian masalah. Metode yang sesuai dalam pengembangan

sistem ini adalah metode Rapid Aplication Development (RAD).

RAD adalah sebuah model proses perkembangan software

sekuensial linier yang menekankan siklus perkembangan yang sangat

pendek. Model ini merupakan sebuah adaptasi “kecepatan tinggi” dari

model sekuensial linier di mana perkembangan cepat dicapai dengan

menggunakan pendekatan kontruksi berbasis komponen.

Ada beberapa alasan di dalam memilih metode RAD ini antara

lain adalah sebagai berikut :

a. Alasan yang Buruk

- Apabila menggunakan RAD, hanya untuk menghemat biaya

pengembangan suatu sistem. Hal ini disebabkan karena dengan

menggunakan metode RAD membutuhkan suatu tim yang

mengerti betul mengenai manajemen biaya. Apabila tidak, maka

biaya yang dikeluarkan akan semakin besar.

- Apabila menggunakan RAD, hanya untuk menghemat waktu

pengembangan suatu sistem. Hal ini disebabkan karena dengan

Page 60: Eko Hari Rachmawanto Lengkap sekali

menggunakan metode RAD membutuhkan suatu tim yang

mengerti betul mengenai manajemen waktu. Apabila tidak, maka

waktu yang dibutuhkan akan semakin lama.

b. Alasan yang Baik

- Apabila menggunakan RAD untuk mendapatkan suatu desain

yang dapat diterima oleh konsumen dan dapat dikembangkan

dengan mudah.

- Apabila menggunakan RAD untuk memberikan batasan-batasan

pada suatu sistem supaya tidak mengalami perubahan.

- Apabila menggunakan RAD untuk menghemat waktu dan jika

mungkin dapat menghemat biaya serta menghasilkan produk

berkualitas.

Dengan menggunakan RAD maka ada beberapa tujuan yang tidak

mungkin akan tercapai secara bersama yaitu :

- Kemungkinan terjadi kesalahan sangat kecil karena pihak

pengembang tidak mempunyai hak untuk mengubah komponen-

komponen yang digunakan dalam mengembangkan suatu sistem.

- Tingkat kepuasan konsumen yang tinggi karena kebutuhan-

kebutuhan sekunder dari konsumuen harus dikorbankan supaya

suatu sistem dapat diselesaikan sesuai jadwal.

- Biaya pengembangan yang termurah karena dengan menggunakan

komponen yang sudah ada dapat menyebabkan biaya yang lebih

besar apabila dibandingkan dengan mengembangkan komponen

sendiri.

3.3 Fase-fase Pengembangan Sistem

Metode RAD digunakan pada aplikasi sistem konstruksi, maka

menekankan fase-fase sebagai berikut :

Page 61: Eko Hari Rachmawanto Lengkap sekali

Gambar 3.1 Fase-fase RAD

a. Pemodelan Bisnis (Bussiness Modeling)

Aliran Informasi diantara fungsi-fungsi bisnis dimodelkan dengan

suatu cara untuk menjawab pertanyaan-pertanyaan berikut :

- Informasi apa yang mengendalikan proses bisnis?

- Informasi apa yang dimunculkan?

- Siapa yang memunculkan?

- Ke mana informasi itu pergi?

- Siapa yang memprosesnya?

b. Pemodelan Data (Data Modeling)

- Aliran informasi yang didefinisikan sebagai bagian dari fase

business modeling di saring ke dalam serangkaian objek data yang

dibutuhkan untuk menopang bisnis tersebut.

- Karakteristik (atribut) masing-masing objek diidentifikasikan ke

dalam sekumpulan objek data.

Page 62: Eko Hari Rachmawanto Lengkap sekali

- Karaktaristik (atribut) dari setiap objek diidentifikasikan dan

hubungannya antar objek.

c. Pemodelan Proses (Proses Modeling)

- Aliran informasi yang didefinisikan di dalam fase data modeling

ditransformasikan untuk mencapai aliran informasi yang perlu

bagi implementasi sebuah fungsi bisnis.

- Objek data akan diimplementasikan pada fungsi bisnis.

- Deskrpsi proses dibangun untuk penambahan modifikasi,

penghapusan atau pengambilan kembali objek data.

d. Pembentukan Aplikasi (Aplication Generation)

- RAD mengasumsikan pemakaian teknik generasi ke empat. Selain

menciptakan perangkat lunak dengan menggunakan bahasa

pemrograman generasi ketiga yang konvensional.

- Melakukan penggunaan kembali komponen yang ada (jika

mungkin).

- Membuat kembali penggunaan komponen jika diperlukan.

e. Pengujian dan Perputaran (Testing and Turnover)

Oleh karena proses RAD menekankan pada pemakaian

kembali, maka banyak komponen program telah teruji. Hal ini

mengurangi keseluruhan waktu pengujian.

3.4 Kekurangan dan Kelebihan Pengembangan Sistem

3.4.1 Kekurangan RAD

a. RAD memerlukan sumber daya manusia yang memadai untuk

menciptakan jumlah tim RAD yang baik.

b. RAD menuntut pengembangan dan pelanggan memiliki komitmen di

dalam aktivitas rapid-fire yang diperlukan untuk melengkapi sebuah

sistem, di dalam kerangka waktu yang sangat diperpendek.

Page 63: Eko Hari Rachmawanto Lengkap sekali

c. Kecepatan yang tinggi dengan biaya kemungkinan minimal besar hasil

kualitasnya rendah.

d. Proyek mungkin berakhir dengan lebih banyak tambahan kebutuhan

daripada yang telah terpenuhi.

e. Potensial adanya penambahan fitur karena fitur yang sekarang

hasilnya asal-asalan.

f. Potensial ketidaksesuaian desain dan implementasi.

g. Potensial ketidakkonsistenan penamaan dan dokumentasi.

h. Sangat sulit membuat modul yang dapat digunakan kembali.

3.4.2 Kelebihan RAD

a. Hasil Pengembangan bisa lebih cepat dibandingkan SDLC lainnya.

b. Memerlukan biaya yang lebih sedikit.

c. Mementingkan dari segi bisnis dan teknik.

d. Berkonsentrasi pada sudut pandang user.

e. Menyediakan kemungkinan perubahan secara cepat sesuai permintaan

user.

f. Menghasilkan jarak kesesuaian yang kecil antara kebutuhan user dan

spesifikasi sistem.

g. Waktu, biaya dan effort (usaha) minimal.

3.5 Kondisi Pengembangan Sistem

3.5.1 Kondisi yang Sesuai dengan RAD

a. Proyek dengan skala kecil sampai medium dengan waktu pendek.

b. Fokus pada lingkup tertentu, misalnya pada objek bisnis yang telah

didefinisikan dengan baik.

c. User tahu pasti area yang harus dimiliki aplikasi.

d. Manajemen memiliki komitmen terhadap keterlibatan user.

Page 64: Eko Hari Rachmawanto Lengkap sekali

e. Spesifikasi kebutuhan sudah benar-benar diketahui.

f. Pendefinisian spesifikasi yang tidak memerlukan waktu lama.

g. Anggota tim memiliki keahlian yang baik.

h. Komposisi tim stabil.

i. Ada kontrol proyek yang efektif.

3.5.2 Kondisi yang Tidak Sesuai dengan RAD

a. Proyek yang terlalu besar dan kompleks.

b. Proyek yang bersifat aplikasi real-time atau menangani hal-hal yang

kritis.

c. Sistem dengan komputasi tinggi.

d. Lingkup dan objek bisnis proyek belum jelas.

e. Pengumpulan spesifikasi kebutuhan membutuhkan waktu lama.

f. Banyak orang yang terlibat dalam sebuah proyek tersebut.

g. Membutuhkan lingkup daerah yang cukup luas.

h. Tim proyek besar dengan koordinasi tinggi.

i. Komitmen pihak managemen dengan user rendah.

j. Banyak teknologi baru digunakan untuk membangun aplikasi.

Page 65: Eko Hari Rachmawanto Lengkap sekali

BAB IV

PERANCANGAN DAN HASIL IMPLEMENTASI

4.1 Analisis Kebutuhan Aplikasi Kriptografi dan Steganografi

Tujuan dari proses analisa kebutuhan aplikasi adalah untuk

mengetahui sifat dari kebutuhan sistem sehingga mempermudah dalam

perancangan. Tujuan lain dari analisa ini adalah untuk

mendokumentasikan sifat program tersebut. Proses analisis meliputi

analisis kebutuhan perangkat lunak dan perangkat keras, termasuk analisis

terhadap kebutuhan sistem.

Kebutuhan-kebutuhan tersebut adalah :

a. Spesifikasi kebutuhan perangkat lunak :

Sistem operasi Microsoft Windows XP

Sistem operasi yang digunakan adalah Microsoft Windows XP,

karena sistem operasi ini terbukti sebagai salah satu sistem operasi

terbaik yang ada sekarang.

Software Microsoft Visual Basic 6.0

Bahasa pemprograman yang digunakan untuk perancangan sistem

aplikasi adalah Microsoft Visual Basic 6.0, dikarenakan bahasa ini

merupakan bahasa mudah dipelajari dan mendukung dalam

perhitungan aritmatika dan logika yang dibutuhkan dalam

pembuatan aplikasi.

Software Microsoft Word 2007

Software ini digunakan dalam penelitian untuk mendukung

aplikasi sebagai salah satu fasilitas dalam penyimpanan hasil

enkripsi dan dekripsi data.

Software Rational Rose 03

Kebutuhan akan pembuatan UML untuk mendukung proram

aplikasi pada tahap pembuatan model.

Page 66: Eko Hari Rachmawanto Lengkap sekali

b. Spesifikasi kebutuhan perangkat keras :

Prosesor minimal pentium IV.

Harddisk minimal 20 GB.

Memori DDR minimal 128 MB.

Layar display minmal 14‟.

Satu buah keyboard dan mouse standard.

4.2 Prosedur Persiapan Pembuatan Aplikasi

Langkah – langkah pembuatan aplikasi Kriptosistem dalam

penelitian ini adalah sebagai berikut :

a. Mengumpulkan materi –materi yang dibutuhkan.

b. Melakukan pembatasan terhadap materi tersebut.

c. Mempersiapkan dan melakukan instalasi perangkat keras.

d. Mempersiapkan dan melakukan instalasi perangkat lunak sesuai

dengan spesifikasi kebutuhan.

4.3 Unit Bahasa Pemodelan

a. Use Case Diagram

Dalam bahasa pemodelan ini, penulis menggunakan 2 (dua)

buah aktor yaitu pengirim dan penerima. Aktor tersebut mempunyai

karakteristik yang berbeda dalam hal menggunakan aplikasi dan

menggunakan file yang telah di proses.

Pengirim adalah seseorang yang nantinya akan mengirimkan

sebuah file yang telah dienkripsi dan disembunyikan pada file induk

atau file lain supaya tidak terlihat kasat mata oleh pihak-pihak yang

tidak berkepentingan.

Penerima adalah seseorang yang akan menerima file yang

dikirimkan oleh pengirim. Penerima bertugas untuk membuka file

yang telah dikirimkan tersebut kemudian didekripsi dan dipisahkan

dengan file induk atau file yang dikirim sebelumnya.

Page 67: Eko Hari Rachmawanto Lengkap sekali

Tabel 4.1 : Skenario use case Proses Kripto dan Stego

Use-case :

Proses Kripto dan Stego

Primary actor :

Pengirim

Goal :

File berhasil disembunyikan

Precondition :

Memasukkan nama file asli yang akan disembunyikan

Memasukkan nama file induk tempat file tersembunyi

Memasukkan kata sandi/kata kunci

Trigger :

Pengirim ingin menyembunyikan file

Scenario:

1 Pengirim membuka aplikasi Steganographer.

2 Pengirim memasukkan nama file yang akan disembunyikan.

3 Pengirim memasukkan nama file untuk tempat file

disembunyikan.

4 Pengirim memberikan kata kunci sebagai pelengkap sandi.

5 Pengirim menekan tombol Stego untuk memprosesnya.

Alternate Flow :

Pengirim keluar dari aplikasi

Priority :

Moderate priority

Frequency of use :

Frequent

Page 68: Eko Hari Rachmawanto Lengkap sekali

Tabel 4.2 : Skenario use case Proses Unkripto dan Unstego

Use-case :

Proses Unkripto dan Unstego

Primary actor :

Penerima

Goal :

Mengembalikan File yang tersembunyi

Precondition :

Memasukkan nama file hasil Stego untuk dikembalikan

seperti semula

Memasukkan kata sandi/kata kunci

Trigger :

Penerima ingin mengembalikan file yang disembunyikan

Scenario:

1 Penerima membuka aplikasi Steganographer.

2 Penerima memasukkan nama file yang disembunyikan.

3 Penerima memberikan kata kunci sebagai pelengkap sandi.

4 Penerima menekan tombol Unstego untuk memprosesnya.

Alternate Flow :

Penerima keluar dari aplikasi

Priority :

Moderate priority

Frequency of use :

Frequent

Page 69: Eko Hari Rachmawanto Lengkap sekali

Di bawah ini merupakan gambar use case yang penulis pakai

untuk mengimplementasikan ke dalam sebuah model.

Gambar 4.1 : Use Case

b. Class Diagram

Pada class diagram, penulis menggunakan 4 macam kelas yaitu

kelas plain text, chiper text, operation dan hasil. Kelas-kelas tersebut

saling berhubungan dan mempunyai keterkaitan. Di bawah ini

merupakan gambar class diagram yang penulis maksud :

Gambar 4.2 : Class Diagram

Kriptografi Steganografi

Memasukkan File yang akan di Kripto dan Stego

Memasukkan File Inang/Induk

Proses Kripto dan Stego

Input Password Kunci Kripto dan Stego

PengirimMemasukkan File yang di

Unkripto dan Unstego

Proses UnKripto dan Unstego

Input Password Kunci Unkripto dan Unstego

Penerima

Enkripsi Stego

<<include>> <<include>>

Dekripsi

Kriptografi Steganografi

Unstego

<<include>> <<include>>

<<include>> <<include>>

<<include>> <<include>>

Page 70: Eko Hari Rachmawanto Lengkap sekali

c. Activity Diagram

Activity Diagram yang penulis buwat saat ini menggunakan 2

macam model diagram yaitu diagram saat kripto dan stego serta

diagram pada saat unkripto dan unstego.

Gambar 4.3 : Activity Diagram Kripto dan Stego

Gambar 4.3 menujukkan alur yang berjalan pada saat file yang

akan di proses dengan file induknya. Pada gambar selanjutnya penulis

membuatkan alur yang berjalan pada saat file hasil gabungan di pecah

kembali menjadi file asli.

Membuka File Hasil dg penambahan "_Stego" pada akhir penamaan file (dalam modus tulis)

Baca Media File

Membuka File Hasil dg penambahan "_Stego" pada akhir penamaan file (dalam modus tulis)

Baca Ukuran File

Baca Sebanyak 10000 byte

> 10000 byte

Enkripsi Data yang Dibaca

< 10000 byte

Penghitungan Looping Pembacaan File

Memasukkan ke File Hasil

Alokasikan Memory sebanyak Sisanya

Enkripsi Keseluruhan File

Memasukkan ke File Hasil

sisa sisa > 10000 byte

tidak sisa

Page 71: Eko Hari Rachmawanto Lengkap sekali

Gambar 4.4 : Activity Diagram Unkripto dan Unstego

Gambar 4.5 : Activity Diagram Enkripsi dan Dekripsi

Dekripsi Keseluruhan File

Baca Media File

Baca Ukuran File dari Depan sampai tanda "|"

Membuat File Hasil dg penambahan "_Unstego" pada akhir penamaan file

< 10000 byte

Memasukkan ke dalam File Hasil

Perhitungan Looping Pembacaan File

Membuat File Hasil dg penambahan "_Unstego" pada akhir penamaan file

> 10000 byte

Baca Sebanyak 10000 byte

Dekripsi Data yang Di Baca

Alokasikan Memory Sebanyak Sisanya

Memasukkan ke dalam File Hasil

sisasisa > 10000 byte

tidak sisa

Baca Hexa Decimal File dari Belakang sampai ketemu tanda "|"

Kurangi ukuran File dengan File Induk

Page 72: Eko Hari Rachmawanto Lengkap sekali

Gambar 4.6 : Activity Diagram Stego pada File

Gambar 4.7 : Activity Diagram Unstego pada File

Page 73: Eko Hari Rachmawanto Lengkap sekali

d. Sequence Diagram

Penulis juga membuatkan model sequence untuk memperjelas

dari model-model sebelumnya. Dalam sequence diagram juga

terdapat 2 bentuk model yang penulis buat yaitu diagram pada saat

Kripto Stego dan Unkripto Unstego. Di bawah ini merupakan model-

model yang telah penulis buat supaya memudahkan pengguna dalam

menggunakan program yang nantinya akan dibuat.

Gambar 4.8 : Sequence Diagram Kripto dan Stego

KunciPengirim : Pengirim

File Asli File Induk Stego

1: Masukkan File Asli

2: Masukkan File Induk

3: Berikan Kunci

4: Klik Tombol Stego

Page 74: Eko Hari Rachmawanto Lengkap sekali

Gambar 4.9 : Sequence Diagram Unkripto dan Unstego

4.4 Desain Input Output (I/O)

Dalam pembuatan pada aplikasi yang penulis buat menggunakan

perangkat lunak berupa Visual Basic 6.0. Di bawah ini merupakan desain

input output yang telah di buat adalah sebagai berikut :

Penerima : Penerima

File Stego Kunci Unstego

1: Masukkan File Stego

2: Masukkan Kunci

3: Klik Tombol Unstego

4: Jika Kunci Salah File tetap terbentuk tetapi tidak dapat di Buka

Page 75: Eko Hari Rachmawanto Lengkap sekali

Gambar 4.10 : Storyboard Menu Utama

Pada gambar Storyboard di atas, terdapat garis silang yang mewakili gambar

background. Submenu – submenu dalam menu utama di atas antara lain :

a. Submenu Stego

Submenu Stego merupakan submenu yang digunakan untuk

menyembunyikan file.

b. Submenu Unstego

Submenu Unstego merupakan submenu yang digunakan untuk

mengembalikan file yang telah disembunyikan sebelumnya.

c. Submenu About Us

Submenu About Us merupakan submenu yang berisi tentang

data diri pembuat program.

d. Submenu Keluar

Submenu Keluar merupakan submenu yang digunakan untuk

keluar dari aplikasi.

Page 76: Eko Hari Rachmawanto Lengkap sekali

4.4.1 Desain Input Output (I/O) Submenu Stego

Gambar 4.11 : Storyboard Submenu Stego

Pada submenu stego terdapat 3 (tiga) text box yaitu 2 text box

untuk memasukkan file dan 1 (satu) text box untuk kunci, 3 (tiga)

command yaitu 2 (dua) command untuk mengambil file dan 1 (satu)

command untuk proses stego serta 1 (satu) label untuk kunci.

4.4.2 Desain Input Output (I/O) Submenu Unstego

Gambar 4.12 : Storyboard Submenu Unstego

Page 77: Eko Hari Rachmawanto Lengkap sekali

Pada submenu unstego terdapat 3 (tiga) text box yaitu untuk

memasukkan file, memasukkan kata kunci dan untuk memberikan ekstensi

file yang nantinya akan terbentuk. Selain itu terdapat 2 (dua) command

yaitu untuk mengambil file dan proses unstego. Kemudian terdapat 1

(satu) label untuk kunci.

4.4.3 Desain Input Output (I/O) Submenu About Us

Gambar 4.13 : Storyboard Submenu About Us

Pada submenu about us tanda “X” yang terletak pada bagian kanan

atas adalah tombol untuk keluar dari submenu, garis silang besar yang ada

di tengah merupakan isi dari biodata pembuat program dan tombol “OK”

pada kanan bawah merupakan tombol untuk mengakhiri submenu.

4.5 Implementasi

Program Kripto dan Stego ini dimulai dengan menekan tombol

“menu” yang ada pada sisi kiri atas aplikasi dilanjutkan memilih “Stego”

terlebih dahulu.

Page 78: Eko Hari Rachmawanto Lengkap sekali

Gambar 4.14 : Tampilan Awal Program

Gambar 4.15 : Tampilan Menu Stego

Page 79: Eko Hari Rachmawanto Lengkap sekali

Gambar 4.16 : Tampilan Menu Unstego

Gambar 4.17 : Tampilan Message Box Menu About Us

4.6 Analisa Percobaan

Penulis melakukan beberapa percobaan untuk membuktikan

kinerja program yang telah dibuat. Salah satu diantaranya adalah seperti

gambar di bawah ini :

Page 80: Eko Hari Rachmawanto Lengkap sekali

Gambar 4.18 : Menu Stego File

Pada gambar di atas, penulis akan mencoba membuat file yang

akan di kripto dan stego. Pertama-tama langkah yang dilakukan adalah

klik tombol menu dan pilih stego. Gambar 4.11 menunjukkan bahwa

penulis menghendaki file asli yang akan disembunyikan adalah “02

Maafkan.mp3” pada partisi “C” dalam directory “coba”.

File Spoof merupakan file induk di mana file ini sebagai tempat

persembunyian dari file asli. Tahap kedua adalah memilih file induk di

mana file asli nantinya akan disembunyikan. Dalam hal ini, penulis

menghendaki file “8. Memori.pdf” sebagai tempat persembunyian file

aslinya.

Selanjutnya yang dilakukan adalah memberikan kata kunci sebagai

penyempurna keamanan data. Pada gambar terdapat 3 tanda seru (!) yang

pada sebenarnya adalah 3 (tiga) huruf sandi. Kemudian tekan tombol

Stego untuk memproses pada langkah-langkah selanjutnya.

Page 81: Eko Hari Rachmawanto Lengkap sekali

Gambar 4.19 : Tampilan MessageBox Setelah Selesai Stego

Setelah semua berjalan dengan lancar maka akan muncul tampilan

Message Box seperti pada gambar 4.12 yang menunjukkan bahwa file

telah selesai di proses. Pada gambar terlihat bahwa file hasil stego

tersimpan pada partisi “C” pada direktori “coba” dengan nama file “8.

Memori.pdf_STEGO.pdf” kemudian klik tombol OK untuk mengakhiri

prosesnya.

Gambar 4.20 : Menu Unstego File

Pada gambar di atas menunjukkan tampilan menu Unstego. Menu

ini dapat diakses dengan menekan menu kemudian klik tombol Unstego.

Di sini penulis mencoba mengembalikan file yang telah di proses Stego

sebelumnya dengan cara memasukkan file yang telah ter-Stego. Pilihlah

file dengan menekan tombol “File Stego” kemudian cari file yang terstego.

Page 82: Eko Hari Rachmawanto Lengkap sekali

Pada gambar 4.13 dapat kita lihat lokasi filenya yaitu pada partisi “C”

direktori “coba” dengan nama file “8. Memori.pdf_STEGO.pdf”.

Langkah selanjutnya terdapat kolom untuk menentukan ekstensi

file, pada gambar menunjukkan ekstensi file yaitu “mp3”. Kemudian

memasukkan kata kunci yang telah dijanjikan sebelumnya pada sebuah

perjanjian sehingga hanya pihak tertentu saja yang dapat mengetahui kata

kunci demi keamanan file tersebut. Setelah itu, tekan tombol “UNSTEGO”

untuk memulai proses pemisahan file menjadi file asli kembali.

Gambar 4.21 : Tampilan MessageBox Setelah Selesai Unstego

Apabila proses telah selesai maka akan muncul tampilan Message

Box seperti pada gambar 4.14 yang menunjukkan bahwa file telah ter-

unstego dengan baik dan benar. Setelah itu tekan tombol “OK” untuk

mengakhiri perintah. Dengan ditekannya tombol OK pada program maka

berakhirlah proses penyembunyian file dan file asli tersebut dapat dibaca

kembali oleh penerima.

4.7 Pengujian Program (Testing)

Hasil perancangan akhir dari Aplikasi Kriptografi dan Steganografi

ini telah diujikan. Metode pengujian yang penulis gunakan adalah

Graphical User Interface dan tanggapan atau respon dari user.

Page 83: Eko Hari Rachmawanto Lengkap sekali

4.7.1 Pengujian Graphical User Interface ( GUI ) / Black Box Testing

Pengujian Graphical User Interface ( GUI ) untuk aplikasi ini

dilakukan dengan menguji melalui beberapa aspek dibawah ini :

Tabel 4.3 : Daftar Aspek Pengujian

No. Aspek Pengujian

1. Apakah semua menu dapat dituju / diklik/ disorot secara tepat

oleh pointer mouse ?

2. Apakah setiap operasi mouse dikenali dengan baik oleh

aplikasi yang akan meresponnya?

Berdasarkan hasil pengujian, dapat diperoleh kesimpulan bahwa

performansi program cukup baik. Semua rancangan program telah

tersusun dalam menu dengan tepat dan setiap kontrol yang terdapat dalam

tiap – tiap menu juga dapat diakses secara tepat. Mouse dengan mudah

dapat mengakses tiap menu dalam program secara tepat pula memberikan

respon sesuai dengan konteks interaktifnya.

Tabel 4.4 Ringkasan Hasil Pengujian

Faktor Pengujian Status Output

Tombol Submenu Stego

Tombol Submenu Unstego

Tombol Submenu About Us

Penekanan Tombol

4.7.2 Pengujian White Box Testing

Private Sub Command3_Click() 'fungsi stego!!

Dim data As String ………………………………………………(1)

Page 84: Eko Hari Rachmawanto Lengkap sekali

Dim x As Long

Dim y As Long

Dim z As Long

Dim pjg As Long

Dim ext As String

Dim encpjg As String

encpjg = FileLen(Text2.Text) ………………………………….(2)

ext = Mid(StrReverse(Text2.Text), 1, 4)

ext = StrReverse(ext)

pjg = FileLen(Text1.Text)

FileCopy Text2.Text, Text2.Text & "_STEGO" & ext ……….(3)

x = FileLen(Text1.Text) Mod 10000 ………………………….(4)

y = FileLen(Text1.Text) - x

Open Text1.Text For Binary Access Read As #1

Open Text2.Text & "_STEGO" & ext For Binary Access Write As #2

………………………………………………………………….(5)

Put #2, FileLen(Text2.Text) + 1, ""

If pjg >= 10000 Then ………………………………………...(6)

For z = 1 To y Step 10000……………………………………..(7)

data = Space$(10000) ………………………………………...(8)

Get #1, z, data

Put #2, , encrypt(data, Text5.Text)

Next

y = x

data = Space$(y) ……………………………………………(9)

Get #1, , data

Put #2, , encrypt(data, Text5.Text)

Put #2, , "|" & encrypt(encpjg, Text5.Text)

Else …………………………………………………........(10)

data = Space$(pjg) …………………………………………(11)

Get #1, 1, data

Page 85: Eko Hari Rachmawanto Lengkap sekali

Put #2, , encrypt(data, Text5.Text)

Put #2, , "|" & encrypt(encpjg, Text5.Text)

End If

Close #2

Close #1

MsgBox "selesai!!" & vbCrLf & "file ter-stego di " & Text2.Text &

"_STEGO" & ext, vbOKOnly, "stego" …………………...(12)

End Sub

Dari penggalan code program Kripto Stego di atas didapatkan graph

tertutup seperti gambar 4.19 seperti dibawah ini.

Gambar 4.22 : Graph Kripto Stego

Dari graph tersebut di atas kemudian dapat dihitung Cyclometic

Complecity-nya untuk menentukan berapa banyak jumlah independent

Page 86: Eko Hari Rachmawanto Lengkap sekali

path yang harus kita uji dari modul tersebut. Cyclometic Complexity dapat

dihitung dengan rumus sebagai berikut:

V(G) = jumlah edge – jumlah node +2

V(G) = jumlah kondisi +1, atau

V(G) = Ri

Sehingga dengan menggunakan dua rumus di atas dapat dihitung

V(G) dari modul tersebut sebagai berikut :

V(G)a = jumlah edge – jumlah node +2

= 13 – 12 + 2

= 3

V(G)b = jumlah kondisi + 1

= 2 + 1

= 3

Dari perbandingan di atas terbukti bahwa V(G)a = V(G)b yang

membuktikan bahwa program kripto stego berjalan dengan baik pada

aplikasi yang telah diuji cobakan.

4.8 Kuesioner

Pengujian selanjutnya dilakukan untuk mengetahui respon dari

user terkait dengan program yang telah penulis buat sebelumnya dan telah

diujicobakan. User yang menjadi responden adalah mahasiswa dan dosen

pada Universitas Dian Nuswantoro Semarang. Kepada masing-masing

responden peneliti membagikan kuesioner yang berbentuk isian pilihan

penilaian terhadap software kripto dan stego yang sebelumnya telah

diujicobakan.

Page 87: Eko Hari Rachmawanto Lengkap sekali

Tabel 4.5 : Tabel kuesioner

No Uraian Pertanyaan Nilai

1 2 3 4 5

A Kemampuan Software

1 Apakah file dapat tersembunyi dengan baik ?

2 Bagaimana kinerja program aplikasi ?

3 Apakah semua file dapat di proses dengan baik ?

4 Apakah program dapat mengembalikan file secara utuh ?

B Interaksi Manusia dan Komputer

1 Apakah pengguna dapat menggunakan dengan baik ?

2 Bagaimana bentuk desain program ?

3 Apakah program dapat berjalan dengan lancar ?

4 Bagaimana tampilan menu aplikasi ?

Berikut ini adalah rincian dari hasil responden terhadap pengujian program.

Tabel 4.6 : Tabel Hasil Pengujian

No Nama Responden Pertanyaan A Pertanyaan B

1 2 3 4 1 2 3 4

1 Etika Kartikadarma, M. Kom 5 4 5 5 3 5 5 4

2 Puput Tri Hantoro Ardi 5 5 5 5 5 5 5 4

3 Dwi Fery, Amd. 5 4 5 5 4 5 5 4

4 Nur Isnaini 5 5 5 5 4 4 5 4

5 Willy Dozan 4 5 5 5 5 4 5 4

6 Emanuel Kusriyadi Nogroho 4 5 5 4 4 5 5 5

Page 88: Eko Hari Rachmawanto Lengkap sekali

7 Stevanus Dewana 5 4 4 5 4 4 5 4

8 Adelin Kumalasari 5 4 4 5 4 4 5 4

Skala Komulatif Rata-rata (X /8) 4,7 4,5 4,7 4,9 4,1 4,5 5 4,1

Page 89: Eko Hari Rachmawanto Lengkap sekali

BAB V

PENUTUP

6.1 Kesimpulan

Dari hasil perancangan dan pembuatan program aplikasi kriptografi

dengan menggunakan algoritma Vernam Cipher dan Steganografi dengan

metode End of File (EoF) ini, dapat diambil kesimpulan sebagai berikut :

1. Dari hasil percobaan yang telah dilakukan membuktikan bahwa

aplikasi dapat mengacak dan menyembunyikan file dengan aman dan

tidak menimbulkan kecurigaan pada pihak lain. Pada file hasil, tidak

menimbulkan efek yang dapat merusak ataupun mengganggu kinerja

file sebelumnya.

2. Hasil akhir yang diperoleh dari penggabungan 2 buah file yang

berbeda ekstensi menghasilkan ukuran yang lebih besar yaitu

merupakan gabungan dari ukuran kedua buah file tersebut yang

dikarenakan file yang disembunyikan juga mempunyai kapasitas

ukuran file sendiri.

6.2 Saran

Saran-saran yang berguna untuk pengembangan system dan

aplikasi ini adalah sebagai berikut :

1. Dalam penggunaan aplikasi ini disarankan untuk menggunakan file

sesuai kebutuhan dan disesuaikan dengan hardware pada komputer

pengguna karena makin besar ukuran file, makin tinggi kinerja pada

komputer anda.

2. Pada aplikasi ini diperlukan adanya menu help untuk membantu

penggunaan aplikasi dalam hal mengoperasikan langkah-langkah

yang akan dilakukan.

Page 90: Eko Hari Rachmawanto Lengkap sekali

DAFTAR PUSTAKA

[1] Utami, Ema dan Sukrisno. Implementasi Steganografi EoF dengan

Gabungan Ekripsi Rijndael, Shift Chiper dan Fungsi Hash. Yogyakarta.

2007

[2] Anonimous, ASCII table and Extended ASCII Table, www.asciitable.com,

10 Agustus 2009

[3] Salton, Gerard. Automatic Text Processing. Addison : Wesley Publising

Company. 2003.

[4] Stallings, Williams, Cryptography and Network Security : Principles and

Practices, 2nd edition, Upper Saddle River : Prentice Hall Inc., 1995

[5] Stallings, Williams, Cryptography and Network Security : Principles and

Practices, 4th edition, Upper Saddle River : Prentice Hall Inc., 2006

[6] Munir, Rinaldi. Kriptografi. Bandung : Informatika. 2006.

[7] Heryanto, Teddy, Bab III Kriptografi,

www.geocities.com/siliconvalley/8972/resource.komparasi/bab3.html, 12

Desember 2009

[8] Pardosi, Mico. Buku Panduan Microsoft Visual Basic 6.0, Surabaya : CV.

Dua Selaras. 2003

[9] Hermawan, Julius. Analisa Desain & Pemrograman Berorientasi Obyek

dengan UML dan Visual Basic.net. Jakarta : Andi. 2004.

Page 91: Eko Hari Rachmawanto Lengkap sekali

LAMPIRAN KODE PROGRAM

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private Sub Command1_Click() 'pilih file pertama

On Error Resume Next

With CommonDialog1 'componen commondialog (untuk memilih file)

.Filter = "Semua File Type (*.*)|*.*"

.ShowOpen

Text1.Text = .FileName 'text1.text sama dengan nama file yang di pilih

End With

End Sub

Private Sub Command2_Click() 'pilihan file kedua

On Error Resume Next

With CommonDialog1

.Filter = "Semua File Type (*.*)|*.*"

.ShowOpen

Text2.Text = .FileName

End With

End Sub

Private Sub Command3_Click() 'fungsi stego!!

Dim data As String

Dim x As Long

Dim y As Long

Dim z As Long

Dim pjg As Long

Dim ext As String

Dim encpjg As String

Page 92: Eko Hari Rachmawanto Lengkap sekali

encpjg = FileLen(Text2.Text)

ext = Mid(StrReverse(Text2.Text), 1, 4)

ext = StrReverse(ext)

pjg = FileLen(Text1.Text)

FileCopy Text2.Text, Text2.Text & "_STEGO" & ext

x = FileLen(Text1.Text) Mod 10000

y = FileLen(Text1.Text) - x

Open Text1.Text For Binary Access Read As #1

Open Text2.Text & "_STEGO" & ext For Binary Access Write As #2

Put #2, FileLen(Text2.Text) + 1, ""

If pjg >= 10000 Then

For z = 1 To y Step 10000

data = Space$(10000)

Get #1, z, data

Put #2, , encrypt(data, Text5.Text)

Next

y = x

data = Space$(y)

Get #1, , data

Put #2, , encrypt(data, Text5.Text)

Put #2, , "|" & encrypt(encpjg, Text5.Text)

Else

data = Space$(pjg)

Get #1, 1, data

Put #2, , encrypt(data, Text5.Text)

Put #2, , "|" & encrypt(encpjg, Text5.Text)

End If

Close #2

Close #1

MsgBox "selesai!!" & vbCrLf & "file ter-stego di " & Text2.Text & "_STEGO" &

ext, vbOKOnly, "stego"

Page 93: Eko Hari Rachmawanto Lengkap sekali

End Sub

Function encrypt(data As String, kunci As String) As String 'fungsi enkripsi data

Dim i As Double

Dim x As Double

Dim gimmehash As Long

gimmehash = hash(kunci)

Dim enkripsi As String

For i = 1 To Len(data) 'enkrip data mulai dari bytes ke 1 sampai akhir

x = i Mod Len(kunci)

If x = 0 Then

x = 1

End If

enkripsi = enkripsi & Chr(((Asc(Mid(data, i, 1)) Xor Asc(Mid(kunci, x, 1)) Xor i)

Xor gimmehash) Mod 256) 'simpan di variabel enkripsi

Next

encrypt = enkripsi 'kembalikan nilainya ke fungsi

End Function

Private Sub Command4_Click()

On Error Resume Next

Dim unstego As String

Dim uncek As String

Dim pmbts As String

Dim pjg2 As Long

Dim z As Long

Dim a As Long

Dim b As Long

Dim c As Long

Dim d As Long

Dim e As Long

Page 94: Eko Hari Rachmawanto Lengkap sekali

z = 0

uncek = Space$(1)

Open Text4.Text For Binary Access Read As #1

Open Text4.Text & "_UNSTEGO." & Text3.Text For Binary Access Write As #2

Put #2, 1, ""

While uncek <> "|"

Get #1, FileLen(Text4.Text) - z, uncek

pmbts = uncek & pmbts

z = z + 1

Wend

b = Len(pmbts)

pmbts = Mid(pmbts, 2, Len(pmbts) - 1)

pmbts = encrypt(pmbts, Text6.Text)

z = pmbts

a = FileLen(Text4.Text) - (b + z)

If a >= 10000 Then

c = a Mod 10000

d = (a - c) + z

For e = (z + 1) To d Step 10000

unstego = Space$(10000)

Get #1, e, unstego

Put #2, , encrypt(unstego, Text6.Text)

Next

unstego = Space$(c)

Get #1, , unstego

Put #2, , encrypt(unstego, Text6.Text)

Else

unstego = Space$(a)

Get #1, (z + 1), unstego

Put #2, , encrypt(unstego, Text6.Text)

End If

Page 95: Eko Hari Rachmawanto Lengkap sekali

Close #2

Close #1

MsgBox "selesai!!" & vbCrLf & "file ter-unstego", vbOKOnly, "unstego"

End Sub

Private Sub Command6_Click()

On Error Resume Next

With CommonDialog1

.Filter = "Semua File Type (*.*)|*.*"

.ShowOpen

Text4.Text = .FileName

End With

End Sub

Private Sub Form_Terminate()

End

End Sub

Private Sub Form_Unload(Cancel As Integer)

End

End Sub

Private Sub kel_Click()

MsgBox "Dibuat Oleh : " & vbCrLf & " Eko Hari Rachmawanto" & vbCrLf &

"A11.2006.02767" & vbCrLf & "Universitas Dian Nuswantoro" & vbCrLf &

"Semarang", vbOKOnly, "Stego"

End Sub

Private Sub kele_Click()

End

Page 96: Eko Hari Rachmawanto Lengkap sekali

End Sub

Private Sub stego_Click()

Timer1.Enabled = True

End Sub

Private Sub Timer1_Timer()

If Frame1.Left > 120 Then

Frame1.Left = Frame1.Left - 500

Frame2.Left = Frame2.Left + 500

End If

If Frame1.Left = 120 Then

Timer1.Enabled = False

End If

End Sub

Private Sub Timer2_Timer()

If Frame2.Left > 120 Then

Frame2.Left = Frame2.Left - 500

Frame1.Left = Frame1.Left + 500

End If

If Frame2.Left = 120 Then

Timer2.Enabled = False

End If

End Sub

Private Sub uns_Click()

Timer2.Enabled = True

End Sub

Function hash(keys As String) As Long

Page 97: Eko Hari Rachmawanto Lengkap sekali

If keys = "" Then

MsgBox "Silahkan isi password nya dulu", vbCritical, "errorrr"

End

Else

Dim r As Long

Dim nilai As Long

For r = 1 To Len(keys)

nilai = nilai + Asc(Mid(keys, r, 1))

nilai = nilai Mod Len(keys)

hash = nilai

Next

End If

End Function