• Tidak ada hasil yang ditemukan

Analisis Perbandingan Metoda Redundant Pattern Encoding Dan Discrete Cosine Transformation Sebagai Metoda Steganografi Pada Citra Digital

N/A
N/A
Protected

Academic year: 2017

Membagikan "Analisis Perbandingan Metoda Redundant Pattern Encoding Dan Discrete Cosine Transformation Sebagai Metoda Steganografi Pada Citra Digital"

Copied!
137
0
0

Teks penuh

(1)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana Program Strata Satu Jurusan Teknik Informatika

Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia

FIRMAN KURNIA PRATAMA

10108799

PROGRAM STUDI S1

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

(2)
(3)
(4)

By :

Firman Kurnia Pratama 10108799

Steganography is one way to hide data / secret message into a medium that does not contain anything. Steganography can be implemented on a variety of media, ie digital image, audio and video.

The method can be used on the steganography is Discrete Cosine Transformation (DCT). DCT function is a technique used to transform data from spatial domain to frequency domain by calculating the value of real constituent of the transformation. Other methods are then developed a Redundant Pattern Encoding. Methods Redundant Pattern Encoding of this insert redundancy into the information that would be hidden and then spread the message to the entire image.

These final two methods are applied to a digital image. Then the results were analyzed to compare the advantages and disadvantages of each method by comparing the size of files that can be accommodated, the size of the image before and after the inserted message and image quality before and after the inserted message.

From the test results known using steganography Discrete Cosine Transformation (DCT) methods, a media placeholder message (image carrier) can accommodate the text / message more than Redundant Pattern Encoding method, and by using DCT, the size of image files that have been inserted text / message smaller than the Redundant Pattern Encoding method. In addition the image quality is seen by calculating the value of PSNR (Peak Signal to Noise Ratio) by using Discrete Cosine Transformation (DCT) is better quality when compared with Redundant Pattern Encoding method.

(5)

i Oleh :

Firman Kurnia Pratama 10108799

Steganografi merupakan salah satu cara untuk menyembunyikan data/pesan rahasia kedalam suatu media yang tidak mengandung apa-apa. Steganografi dapat di implementasikan pada berbagai macam media yaitu citra digital, audio dan video.

Metoda yang dapat digunakan pada steganografi yaitu Discrete Cosine

Transformation (DCT). Fungsi DCT yaitu suatu teknik yang digunakan untuk merubah data dari domain spasial ke domain frekuensi pembentuknya dengan memperhitungkan nilai real dari hasil transformasinya. Metoda lain yang

kemudian dikembangkan adalah Redundant Pattern Encoding. Metoda Redundant

Pattern Encoding ini memasukkan redundansi ke dalam informasi yang hendak disembunyikan dan kemudian menyebarkan pesan itu ke keseluruhan gambar.

Tugas Akhir ini menerapkan kedua metoda tersebut pada citra digital. Kemudian hasilnya dianalisa untuk membandingkan kelemahan dan kelebihan masing-masing metoda dengan cara membandingkan ukuran file yang mampu ditampung, ukuran citra sebelum dan sesudah disisipi pesan dan melihat kualitas citra.

Dari hasil pengujian diketahui steganografi dengan menggunakan metoda

Discrete Cosine Transformation (DCT), media penampung pesan (carrier image)

dapat menampung teks/pesan lebih banyak dibandingkan dengan metoda

Redundant Pattern Encoding, dan dengan menggunakan metoda DCT ukuran file citra yang telah disisipi teks/pesan lebih kecil dibandingkan dengan metoda

Redundant Pattern Encoding. Selain itu kualitas citra yang dilihat berdasarkan

kalkulasi nilai PSNR(Peak Signal to Noise Ratio) dengan menggunakan metoda

Discrete Cosine Transformation (DCT) menghasilkan kualitas citra yang lebih

baik bila dibandingkan dengan metoda Redundant Pattern Encoding.

(6)

v

Halaman

ABSTRAK ... i

ABSTRACT ... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR TABEL ... ix

DAFTAR GAMBAR ... xi

DAFTAR PERSAMAAN... xii

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Identifikasi Masalah ... 2

1.3 Maksud dan Tujuan ... 3

1.4 Batasan Masalah... 4

1.5 Metodologi Penelitian ... 4

1.6 Sistematika Penulisan ... 6

BAB II TINAJUAN PUSTAKA ... 8

2.1 Keamanan Data atau Informasi ... 8

2.2 Kriptografi ... 9

2.2.1 Algoritma Sandi ... 11

2.2.2 Algoritma RSA (Rivert Shamir Adelman) ... 14

(7)

vi

2.4.1 Bitmap .... ... 27

2.4.2 Joint Photographic Group Experts (JPEG) ... 29

2.4.3 Graphics Interchange Format (GIF) ... 30

2.4.4 Portable Network Graphics (PNG) ... 31

2.5 Pengukuran Error Citra ... 33

2.6 .NET Platform ... ... 33

2.7. .NET Framework ... 33

2.7.1 Common Language Runtime (CLR) ... 34

2.7.2 Framework Class Library (FCL) ... 35

2.7.3 C# ... ... 35

2.8 Model Pengembangan Perangkat Lunak ... 36

2.8.1 RAD (Rapid Application Development) ... 38

2.9 Tinjauan Perangkat Lunak ... 41

2.9.1 Microsoft Windows XP ... 41

2.9.2 Microsoft Visual C# 2008 ... 42

2.9.3 Keuntungan Visual C# ... 43

BAB III ANALISIS DAN PERANCANGAN SISTEM ... 44

3.1 Analisis Sistem ... 44

3.2 Analisis Masalah ... 44

(8)

vii

3.3 Analisis Non Fungsional ... 60

3.3.1 Analisis Kebutuhan Perangkat Lunak ... 60

3.3.1 Analisis Kebutuhan Perangkat Keras ... 61

3.4 Analisis Fungsional ... 61

3.4.1 Unified Modeling Language (UML) ... 62

3.4.1.1 Use Case Diagram ... 62

3.4.1.2 Sequence Diagram ... 64

3.4.1.3 Skenario Use Case ... 65

3.4.1.4 Activity Diagram ... 75

3.4.1.5 Class Diagram ... 78

3.5 Perancangan Prosedural ... 76

3.5.1 Flowchart Kriptografi RSA ... 79

3.5.2 Flowchart DCT (Discrete Cosine Transformation) .... 81

3.5.3 Flowchart Redundant Pattern Encoding ... 83

3.6 Perancangan Struktur Menu ... 87

3.7 Perancangan Antar Muka ... 88

3.7.1 Perancangan Form Main Menu ... 89

3.7.2 Perancangan Form DCT ... 92

3.7.3 Perancangan Form Redundant Pattern Encoding ... 97

(9)

viii

4.3 Implementasi Antar Muka ... 105

4.4 Pengujian Program ... 109

4.4.1 Pengujian Program Terhadap Ukuran Citra ... 109

4.4.2 Pengujian Program Terhadap Kualitas Citra ... 114

BAB V KESIMPULAN DAN SARAN ... 119

5.1 Kesimpulan ... 119

5.2 Saran ... 120

(10)

xi

2. Gambar 2.2 Gambar dengan 15x16 grid ... 20

3. Gambar 2.3 Tool Skema Penyisipan Pesan Spread Spectrum ... 22

4. Gambar 2.4 Skema Ekstraksi Pesan Spread Spectrum ... 22

5. Gambar 2.5 Diagram Transformasi DCT... 23

6. Gambar 2.6 Proses Penyisipan Pesan DCT... 24

7. Gambar 2.7 Proses pembacaan pesan DCT ... 25

8. Gambar 2.8 Gambar berformat BMP atau Bitmap... 28

9. Gambar 2.9 Gambar berformat JPEG ... 29

10. Gambar 2.10 Gambar berformat GIF ... 31

11. Gambar 2.11 Gambar berformat PNG ... 32

12. Gambar 2.12 Arsitektur Framework .NET ... 34

13. Gambar 2.13 Model RAD ... 39

14. Gambar 2.14 Microsoft Windows XP ... 41

15. Gambar 2.15 Microsoft Visual C# 2008 ... 42

16. Gambar 3.1 Proses Penyisipan Pesan DCT... 54

17. Gambar 3.2 Transformasi DCT ... 55

18. Gambar 3.3 Proses Pembacaan Pesan DCT ... 57

19. Gambar 3.4 Proses Penyisipan Pesan Redundant ... 58

20. Gambar 3.5 Proses Pembacaan Pesan Redundant... 59

(11)

xii

25. Gambar 3.10 Sequence Diagram Ketik Pesan ... 69

26. Gambar 3.11 Sequence Diagram Encrypt Message ... 70

27. Gambar 3.12 Sequence Diagram Penyisipan Pesan DCT ... 71

28. Gambar 3.13 Sequence Diagram Penyisipan Pesan Redundant ... 72

29. Gambar 3.14 Sequence Diagram Baca Pesan DCT ... 73

30. Gambar 3.15 Sequence Diagram Baca Pesan Redundant ... 74

31. Gambar 3.16 Sequence Diagram Decrypt Message ... 75

32. Gambar 3.17 Activity Diagram Pilih Metoda ... 75

33. Gambar 3.18 Activity Diagram Load Image ... 76

34. Gambar 3.19 Activity Diagram Load Pesan ... 76

35. Gambar 3.20 Activity Diagram Ketik Pesan ... 76

36. Gambar 3.21 Activity Diagram Encrypt Message ... 76

37. Gambar 3.22 Activity Diagram Penyisipan Pesan ... 77

38. Gambar 3.23 Activity Diagram Baca Pesan ... 77

39. Gambar 3.24 Activity Diagram Decrypt Message ... 77

40. Gambar 3.25 Activity Diagram Aplikasi Steganografi ... 78

41. Gambar 3.26 Class Diagram... 79

42. Gambar 3.27 Flowchart Steganografi ... 80

43. Gambar 3.28 Flowchart Enkripsi Pesan Teknik RSA ... 81

(12)

xiii

48. Gambar 3.33 Flowchart Extract Pesan Redundant Pattern Encoding ... 86

49. Gambar 3.34 Rancangan Struktur Menu ... 87

50. Gambar 3.35 Perancangan Form Main Menu ... 92

51. Gambar 3.36 Perancangan Form DCT ... 97

52. Gambar 3.37 Rancangan Tampilan Form Redundant... 102

53. Gambar 3.38 Rancangan Tampilan Form About ... 103

54. Gambar 4.1 Antarmuka Form Main Menu ... 106

55. Gambar 4.2 Antarmuka Form DCT ... 107

56. Gambar 4.3 Antarmuka Form Redundant ... 108

57. Gambar 4.4 Antarmuka Form About ... 109

58. Gambar 4.5 Grafik Pengujian Ukuran Citra Format Bitmap (BMP) ... 110

59. Gambar 4.6 Grafik Pengujian Ukuran Citra Format JPG ... 111

60. Gambar 4.7 Grafik Pengujian Ukuran Citra Format PNG ... 112

61. Gambar 4.8 Grafik Pengujian Ukuran Citra Format GIF ... 113

62. Gambar 4.9 Grafik Pengujian Kualitas Citra Format Bitmap (BMP) ... 115

63. Gambar 4.10 Grafik Pengujian Ukuran Citra Format JPG ... 116

64. Gambar 4.11 Grafik Pengujian Ukuran Citra Format PNG ... 117

(13)
(14)

ix

2. Tabel 3.2 Skenario Use Case Load Image ... 66

3. Tabel 3.3 Skenario Use Case Load Pesan ... 67

4. Tabel 3.4 Skenario Use Case Ketik Pesan ... 68

5. Tabel 3.5 Skenario Use Case Encrypt Message ... 69

6. Tabel 3.6 Skenario Use Case Penyisipan Pesan ... 70

7. Tabel 3.7 Skenario Use Case Baca Pesan ... 72

8. Tabel 3.8 Skenario Use Case Decrypt Message ... 74

9. Tabel 3.9 Komponen MenuFile ... 90

10. Tabel 3.10 Komponen Label ... 90

11. Tabel 3.11 Komponen Menu Pilih Metoda ... 91

12. Tabel 3.12 Komponen Menu About ... 92

13. Tabel 3.13 Komponen Menu Strip ... 93

14. Tabel 3.14 Komponen SplitContainer ... 93

15. Tabel 3.15 Komponen Text Box ... 94

16. Tabel 3.16 Komponen Button ... 95

17. Tabel 3.17 Komponen Label ... 96

18. Tabel 3.18 Komponen Picture Box ... 96

19. Tabel 3.19 Komponen Menu Strip ... 97

20. Tabel 3.20 Komponen SplitContainer ... 98

(15)

x

25. Tabel 3.25 Komponen Form About ... 102

26. Tabel 4.1 Spesifikasi Komputer ... 104

27. Tabel 4.2 Spesifikasi Komputer ... 105

28. Tabel 4.3 Pengujian Steganografi Terhadap Ukuran Citra Menggunakan Citra BMP... ... 110

29. Tabel 4.4 Pengujian Steganografi Terhadap Ukuran Citra Menggunakan Citra JPG... ... 111

30. Tabel 4.5 Pengujian Steganografi Terhadap Ukuran Citra Menggunakan Citra PNG... ... 112

31. Tabel 4.6 Pengujian Steganografi Terhadap Ukuran Citra Menggunakan Citra GIF... ... 113

32. Tabel 4.7 Pengujian Steganografi Terhadap Kualitas Citra Menggunakan Citra BMP... ... 114

33. Tabel 4.8 Pengujian Steganografi Terhadap Kualitas Citra Menggunakan Citra JPG... ... 115

34. Tabel 4.9 Pengujian Steganografi Terhadap Kualitas Citra Menggunakan Citra PNG... ... 116

(16)

1

1.1. Latar Belakang Masalah

Teknologi informasi dan komunikasi berkembang dengan pesat dan

memberikan pengaruh besar terhadap kehidupan manusia. Sebagai contoh

perkembangan jaringan internet yang memungkinkan orang untuk saling bertukar

data/pesan melalui jaringan internet tersebut. Seiring dengan perkembangan

teknologi, kejahatan teknologi komunikasi dan informasi juga turut berkembang,

seperti yang kita dengar adalah hacker, cracker, carder, phreaker dan sebagainya.

Seringkali orang yang hendak mengirim pesan kepada orang lain, tidak

ingin pesannya diketahui oleh orang yang tidak berhak mengetahuinya. Dengan

berkembangnya ilmu pengetahuan, terutama di bidang informatika, penerapan

teknik-teknik pengamanan data yang sudah pernah dipakai jaman dahulu bisa

menjadi alternatife dalam pengamanan komunikasi data melalui jaringan internet.

Sebagai contoh adalah kriptografi dan steganografi.

Steganografi berbeda dengan kriptografi, kelebihan steganografi daripada

kriptografi adalah pesan-pesannya tidak menarik perhatian orang lain, karena

pesan-pesan tersebut dimasukan ke sebuah media penampung, sedangkan

kriptografi hanya mengenkripsi pesan tersebut yang bisa saja menimbulkan

kecurigaan orang lain. Salah satu media penampung yang digunakan dalam

pengiriman pesan adalah dengan menumpangkannya ke sebuah citra digital.

(17)

dimanipulasi untuk menyimpan informasi yang akan digunakan sebagai salah

satu pengimplementasian teknik steganografi. Selain itu indera penglihatan

manusia memiliki keterbatasan sehingga dengan keterbatasan tersebut manusia

sulit membedakan citra digital yang asli dengan citra digital yang telah disisipi

pesan rahasia. Ada banyak teknik dan metode yang digunakan dalam

menumpangkan sebuah pesan kepada citra, namun yang akan dibahas oleh penulis

hanya metode Discrite Cosine Transformation (DCT) dan Redundant Pattern

Encoding, sedangkan untuk kriptografinya penulis akan menggunakan teknik

Rivert Shamir Adelman (RSA). Discrete Cosine Transformation (DCT) adalah

suatu teknik yang digunakan untuk melakukan konversi sinyal kedalam

komponen frekuensi pembentuknya dengan memperhitungkan nilai real dari hasil

transformasinya sedangkan Redundant Pattern Encoding adalah untuk

menggambar pesan kecil pada kebanyakan gambar.

Berdasarkan uraian latar belakang di atas penulis mempunyai suatu

keinginan untuk mengetahui kelemahan dan kelebihan dari masing-masing

metode yang digunakan sehingga dalam penulisan tugas akhir ini penulis

mengangkat judul “Analisis Perbandingan Metoda Redundant Pattern

Encoding dan Discrete Cosine Transformation (DCT) Sebagai Metoda Steganografi Pada Citra Digital”.

I.2. Identifikasi Masalah

Berdasarkan uraian latar belakang diatas maka dirumuskan

(18)

membandingkan metode Redundant Pattern Encoding dan Discrete Cosine

Transformation (DCT) Sebagai metoda steganografi pada citra digital.

I.3. Maksud dan Tujuan

Maksud dari penulisan tugas akhir ini adalah membangun aplikasi

steganografi untuk membandingkan metoda Redundant Pattern Encoding dengan

Discrete Cosine Transformation (DCT).

Sedangkan tujuan yang ingin dicapai adalah :

1. Mengimplementasikan metoda Redundant Pattern Encoding dan

Discrete Cosine Transformation (DCT) sebagai metoda steganografi

pada berkas citra digital.

2. Mengetahui kelebihan dan kelemahan dari masing-masing metoda.

3. Membandingkan ukuran file yang mampu ditampung, ukuran citra

sebelum dan sesudah disisipi pesan dan kualitas citra sebelum dan

sesudah disisipi pesan pada metoda Redundant Pattern Encoding dan

Discrete Cosine Transformation (DCT) sebagai metoda steganografi

pada berkas citra digital.

4. Menghasilkan rekomendasi jenis aplikasi steganografi yang dapat

memberikan keamanan pada suatu pesan rahasia dengan

menyembunyikannya kedalam citra dalam bentuk pesan yang sudah di

enkripsi dengan menggunakan teknik kriptografi Rivert Shamir Adelman

(19)

I.4. Batasan Masalah

Batasan masalah bertujuan untuk memudahkan perancangan dan

menghindari meluasnya permasalahan, maka penulis membuat batasan yaitu :

1. Media penampung pesan yang digunakan hanya berupa citra yang

memiliki format .bmp, .png, .gif, .jpg.

2. Pesan yang dapat disembunyikan hanya berupa teks ataupun

mengambil dari file teks yang berformat .txt.

3. Penulis hanya membahas mengenai pembuatan aplikasi steganografi

dengan menggunakan bahasa Visual Studio C# 2008.

4. Pengembangan perangkat lunak menggunakan metode berorientasi

objek dan pemodelannya menggunakan UML.

5. Aplikasi yang dibangun akan digunakan pada sistem operasi berbasis

windows.

I.5. Metodologi Penelitian

Metodologi yang dilakukan dalam penelitian ini adalah:

a. Tahapan Pengumpulan Data

1. Studi Kepustakaan, yaitu mempelajari literature, konsep serta

sumber-sumber dari buku-buku ataupun mengakses situs-situs yang

berkaitan dengan materi yang dibahas.

2. Diskusi dan konsultasi/wawancara, yaitu metode yang dilakukan

(20)

memberikan sebuah masukan atau saran dalam pembuatan aplikasi

steganografi ini.

b. Tahapan Pembangunan Aplikasi

Model yang digunakan untuk proses pembangunan aplikasi ini adalah

model waterfall.

Gambar 1.1 Metodologi Waterfall Model

Tahapan-tahapan dari model waterfall ini adalah sebagai berikut:

1. Analisis

Pada tahap ini, mengumpulkan kebutuhan secara lengkap kemudian

di analisis dan didefinisikan kebutuhan yang harus dipenuhi oleh

program yang akan dibangun.

2. Design

Pada tahap desain akan dilakukan perancangan antarmuka

program.

(21)

Tahap menterjemahkan perancangan kedalam bentuk bahasa yang

dapat dimengerti oleh komputer.

4. Testing

Proses untuk memastikan bahwa semua pernyataan sudah diuji

yang selanjutnya akan mengarahkan penguji untuk menemukan

kesalahan-kesalahan yang mungkin terjadi.

5. Maintenance

Pada tahap pemeliharaan akan dilakukan penyesuaian apabila

perangkat lunak mengalami perubahan seperti lingkungan eksternal

yang berubah.

1.6. Sistematika Penulisan

Sistematika dari penulisan tugas akhir ini adalah sebagai berikut:

BAB I PENDAHULUAN

Bab ini berisi mengenai latar belakang masalah, identifikasi masalah,

maksud dan tujuan, batasan masalah, metodologi penelitian, dan

sistematika penulisan.

BAB II TINJAUAN PUSTAKA

Menjelaskan tentang teori-teori dasar dari program yang digunakan untuk

pembuatan program aplikasi serta teori-teori lain yang mendukung dalam

pembuatan program aplikasi ini.

(22)

Menjelaskan tentang analisis dari program yang dibuat, serta perancangan

program yang menjelaskan rancangan program dan alur proses program.

BAB IV IMPLEMENTASI SISTEM

Bab ini menjelaskan bagaimana mengimplementasikan sistem ke dalam

program dan pengujian dari sistem yang telah diimplementasikan.

BAB V KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan hasil implementasi dan uji coba serta saran-saran

(23)

8 2.1 Keamanan Data atau Informasi

Masalah keamanan data merupakan salah satu aspek terpenting pada

sebuah sistem informasi. Masalah keamanan data seringkali tidak begitu

dipedulikan bahkan ditiadakan. Informasi menentukan hampir setiap elemen

dalam kehidupan manusia. Hanya sedikit hal yang bisa dilakukan di zaman

modern tanpa melibatkan pengumpulan, penukaran, pembuatan atau pengaksesan

data atau informasi. Informasi saat ini sudah menjadi sebuah komoditi yang

sangat penting, bahkan ada yang mengatakan bahwa kita sudah berada disebuah

information-based society. Kemampuan untuk mengakses dan menyediakan

informasi secara cepat dan akurat menjadi sangat esensial bagi sebuah organisasi,

baik yang berupa organisasi komersial(perusahaan), perguruan tinggi, lembaga

pemerintah maupun individual(pribadi). Hal tersbut dimungkinkan dengan

perkembangan yang pesat dibidang teknologi computer dan telekomunikasi, yang

juga disebut dengan end user computing. Hal yang mendorong end user

computing adalah meningkatnya pengetahuan manusia tentang computer,

banyaknya jasa informasi yang tersedia, perangkat keras yang murah dan

banyaknya perangkat lunak yang tersedia di pasaran.

Kemajuan sistem informasi memiliki banyak keuntungan dalam kehidupan

manusia. Akan tetapi, aspek negatifnya juga banyak terjadi, seperti kejahatan

(24)

lainnya. Jatunya informasi ke pihak lain dapat menimbulkan kerugian bagi

pemilik informasi tersebut. Untuk itu diperlukan adanya suatu cara/teknik untuk

mengamankan data atau informasi. Zaman sekarang ini banyak cara/teknik untuk

mengamankan informasi diantaranya kriptografi dan steganografi. Cara tersebut

yang akan dibahas dalam penulisan tugas akhir ini.

2.2 Kriptografi

Kriptogafi berasal dari bahasa Yunani. Menurut bahasa tersebut kata

kriptografi dibagi menjadi dua kata, yaitu kripto dan graphia. Kripto berarti secret

(rahasia) dan graphia berarti writing (tulisan). Kriptografi adalah ilmu dan seni

untuk menjaga kerahasiaan berita. Selain pengertian tersebut terdapat pula

pengertian ilmu yang mempelajari teknik-teknik matematika yang berhubungan

dengan aspek keamanan informasi seperti kerahasiaan data, keabsahan data,

integritas data, serta autentikasi data.

Didalam kriptografi kita akan menemukan berbagai istilah atau

terminologi. Beberapa istilah yang penting untuk diketahui diantaranya :

1. Plaintext (P) adalah data atau informasi yang dapat dibaca dan dimengerti

maknanya.

2. Ciphertext (C) adalah pesan ter-enkrip (tersandi) yang merupakan hasil

enkripsi.

3. Enkripsi (fungsi E) adalah proses pengubahan plaintext menjadi ciphertext.

4. Dekripsi (fungsi D) adalah kebalikan dari enkripsi yakni mengubah

(25)

5. Kunci (K) adalah parameter yang digunakan untuk transformasi

enchipering dan dechipering. Kunci biasanya berupa string atau deretan

bilangan.

Secara umum, kriptografi terdiri dari dua buah bagian utama yaitu bagian

enkripsi dan bagian dekripsi. Enkripsi adalah proses transformasi informasi

menjadi bentuk lain sehingga isi pesan yang sebenarnya tidak dapat dipahami, hal

ini dimaksudkan agar informasi tetap terlindung dari pihak yang tidak berhak

menerima. Sedangkan dekripsi adalah proses kebalikan enkripsi, yaitu

transformasi data terenkripsi ke data bentuk semula. Proses transformasi dari

plainteks menjadi cipherteks akan dikontrol oleh kunci. Peran kunci sangatlah

penting, kunci bersama-sama dengan algoritma matematisnya akan memproses

plainteks menjadi cipherteks dan sebaliknya. Adapun blok proses

enkripsi-dekripsi secara umum dapat kita lihat pada gambar di bawah ini :

Gambar 2.1 Proses enkripsi dan dekripsi

Dengan menggunakan simbol P untuk plaintext C untuk chipertext E untuk

enkripsi D untuk dekripsi dan K untuk key, maka fungsi matematik dari enkripsi

dan dekripsi dapat dituliskan dengan persamaan sebagai berikut :

(26)

Ada empat tujuan mendasar dari ilmu kriptografi ini yang juga merupakan

aspek keamanan informasi, yaitu :

1. Kerahasiaan, adalah layanan yang digunakan untuk menjaga isi dari

informasi dari siapapun terutama yang menjaga otoritas atau kunci

rahasia untuk membuka informasi yang telah disandikan.

2. Integritas data, adalah berhubungan dengan penjagaan dari perubahan

data secara tidak sah. Untuk menjaga integritas data system harus

memiliki kemampuan untuk mendeteksi manipulasi data oleh

pihak-pihak yang tidak berhak, antara lain penyisipan, penghapusan dan

pensubtitusian data lain kedalam data sebenarnya.

3. Autentifikasi, adalah berhubungan dengan identifikasi atau

pengenalan, baik secara kesatuan system maupun kesatuan informasi

itu sendiri.

4. Non-repudiasi, adalah usaha untuk mencegah terjadinya penyangkalan

terhadap pengiriman atau terciptanya suatu informasi oleh yang

mengirimkan atau yang membuat.

2.2.1 Algoritma Sandi

Algoritma sandi adalah algoritma yang berfungsi untuk melakukan tujuan

kriptografi. Pada implementasinya sebuah algoritmas sandi harus memperhatikan

kualitas layanan/Quality of Service dari keseluruhan sistem dimana dia

diimplementasikan. Algoritma sandi yang handal adalah algoritma sandi yang

(27)

Teknik dan metode untuk menguji kehandalan algoritma sandi adalah kriptanalis.

Secara umum berdasarkan kesamaan kuncinya, algoritma sandi dibedakan

menjadi :

A. Algoritma Sandi Simetris

Disebut sebagai algoritma kunci simetris, karena dalam proses

enkripsi dan dekripsinya menggunakan kunci yang sama. Algoritma enkripsi dan

deskripsi bisa merupakan algoritma yang sudah umum diketahui, namun kunci

yang dipakai harus terjaga kerahasiaanya, dan hanya diketahui oleh pihak

pengirim dan penerima saja. Kunci ini disebut sebagai private key. Sebelum

berkomunikasi kedua pihak harus bersepakat lebih dahulu tentang kunci yang

dipergunakan. Pendistribusian kunci dari satu pihak ke pihak lainnya memerlukan

suatu kanal tersendiri yang terjagaan kerahasiaannya. Algoritma kunci simetris

memiliki beberapa kekurangan dan kelebihan yaitu :

1. Kekurangan

a.Perlu adanya kesepakatan untuk jalur yang khusus untuk kunci, hal

ini akan menimbulkan masalah yang baru karena tidak mudah u

menentukan jalur yang aman untuk kunci, masalah ini sering

disebut dengan “Key Distribution Problem”.

b.Untuk tiap pengiriman pesan dengan pengguna yang berbeda

dibutuhkan kunci yang berbeda juga, sehingga akan terjadi

kesulitan dalam manajemen kunci tersebut.

c.Apabila kunci sampai hilang atau dapat ditebak maka kriptosistem

(28)

2. Kelebihan

a.Waktu proses untuk enkripsi dan dekripsi relatif cepat, hal ini

disebabkan karena efisiensi yang terjadi pada pembangkit kunci.

b.Karena cepatnya proses enkripsi dan dekripsi, maka algoritma ini

dapat digunakan pada sistem secara real-time seperti saluran

telepon digital.

Contoh kriptografi yang menggunakan algoritma kunci simetris

diantaranya :

1. DES (Data Encryption Standard)

2. IDEA (International Data Encryption Algorithm)

3. Twofish

4. Rijndael

B. Algoritma Sandi Asimetris

Algoritma kunci asimetris disebut juga algoritma kunci publik.

Disebut kunci publik karena kunci yang digunakan pada proses enkripsi dapat

diketahui oleh orang banyak tanpa membahayakan kerahasiaan kunci dekripsi,

sedangkan kunci yang digunakan untuk proses dekripsi hanya diketahui oleh

pihak tertentu (penerima). Mengetahui kunci publik semata tidak cukup untuk

menentukan kunci rahasia. Pasangan kunci publik dan kunci rahasia menentukan

sepasang transformasi yang merupakan invers satu sama lain, namun tidak dapat

diturunkan satu dari yang lain. Dalam sistem kriptografi kunci publik ini, proses

(29)

tersebut memiliki hubungan matematis (karena itu disebut juga sistem asimetris).

Algoritma kunci asimetris memiliki beberapa kekurangan dan kelebihan

diantaranya :

1. Kekurangan

a. Kecepatan yang lebih rendah bila dibandingkan dengan algoritma

simetris.

b. Untuk tingkat keamanan sama, kunci yang digunakan lebih

panjang dibandingkan dengan algoritma simetris.

2. Kelebihan

a. Masalah keamanan pada distribusi kunci dapat diatasi.

b. Manajemen kunci pada suatu sistem informasi dengan banyak

pengguna menjadi lebih mudah, karena jumlah kunci yang

digunakan lebih sedikit.

Contoh kriptografi yang menggunakan algoritma kunci asimetris

diantaranya :

1. RSA (Rivert Shamir Adelman)

2. DSA (Digital Signature Algorithm)

3. DH (Diffie Hellman)

2.2.2 Algoritma RSA (Rivert Shamir Adelman)

RSA adalah salah satu contoh kriptografi yang menerapkan konsep public

(30)

Algoritma ini pertama kali dipublikasikan di tahun 1977 oleh Ron Rivest, Adi

Shamir, dan Leonard Adleman dari Massachusetts Institute of Technology (MIT).

Nama RSA sendiri adalah singkatan dari nama belakang penemu

algoritmanya. Clifford Cocks, seorang matematikawan Inggris sebenarnya juga

telah mengembangkan algoritma yang hampir sama dengan RSA ini pada tahun

1973. Namun algoritma buatannya tidak begitu dikenal oleh publik, dan baru

dipublikasi pada tahun 1997 karena merupakan proyek rahasia.

Walau begitu algoritma yang dikembangkan Rivest, Shamir, dan Adleman

tidak berhubungan dengan pekerjaan Cocks. Pada algoritma RSA terdapat 3

langkah utama yaitu key generation (pembangkitan kunci), enkripsi, dan dekripsi.

Kunci pada RSA mencakup dua buah kunci, yaitu public key dan private

key. Public key digunakan untuk melakukan enkripsi, dan dapat diketahui oleh

orang lain. Sedangkan private key tetap dirahasiakan dan digunakan untuk

melakukan dekripsi.

Dalam melakukan enkripsi dan dekripsi secara umum algoritma RSA

memiliki besaran-besaran sebagai berikut :

1. p dan q, bilangan prima rahasia

2. n = p . q, tidak rahasia

3. Φ(n) = (p – 1) . (q – 1), rahasia

4. SK, kunci privat rahasia

5. PK, kunci publik tidak rahasia

(31)

Kunci publik PK dalam RSA merupakan pembangkitan bilangan secara

acak pencarian bilangan yang relatif prima terhadap Φ(n). Sedangkan kunci privat

SK dibangkitkan dengan menggunakan persamaan PK.SK = 1 (mod Φ(n)). Dalam

enkripsi biasa pesan dienkripsi dengan kunci publik baru didekripsi dengan kunci

privat. Namun pada praktek tanda tangan digital digunakan sebaliknya.

2.3 Steganografi

Steganografi adalah seni dan ilmu menulis atau menyembunyikan pesan

tersembunyi dengan suatu cara sehingga selain si pengirim dan si penerima, tidak

ada seorangpun yang mengetahui atau menyadari bahwa ada suatu pesan rahasia.

Sebaliknya, kriptografi menyamarkan arti dari suatu pesan, tapi tidak

menyembunyikan bahwa ada suatu pesan. Kata steganografi (steganography)

berasal dari bahasa Yunani yaitu steganos, yang artinya “tersembunyi atau

terselubung” dan graphein yang artinya “menulis”. Steganografi adalah seni dan

ilmu menulis atau menyembunyikan pesan dengan suatu cara sehingga selain si

pengirim dan si penerima, tidak ada seorangpun yang mengetahui atau menyadari

bahwa ada suatu pesan rahasia. Sebaliknya, kriptografi menyamarkan arti dari

suatu pesan, tapi tidak menyembunyikan pesan tersebut. Pada metode steganografi

cara ini sangat berguna jika digunakan pada cara steganografi komputer karena

banyak format file digital yang dapat dijadikan media untuk

menampung/menyembunyikan pesan. Format yang biasa digunakan diantaranya:

1. Format image : bitmap (bmp), gif, jpeg.

(32)

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

Kini, istilah steganografi termasuk penyembunyian data digital dalam

file-file komputer. Contohnya, si pengirim mulai dengan file-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 tidak benar-benar memperhatikannya).

Tujuan dari steganografi adalah menyembunyikan data/pesan pada suatu

media. Media penampung data/pesan yang akan disembunyikan dapat berupa

gambar digital, suara, video dan media lainnya. Jika pada media yang telah

disisipi pesan rahasia tersebut terlihat mencurigakan, maka tujuan dari

steganografi tersebut tidak tercapai.

Teknik steganografi sudah dikenal sejak jaman Yunani dan Romawi kuno.

Misalnya dengan mencukur kepala budak, lalu pesan rahasia ditulis pada kulit

kepalanya. Setelah rambut budak tersebut tumbuh, budak terebut dikirim untuk

menyampaikan pesan rahasia tersebut.

Ada beberapa kriteria yang harus diperhatikan dalam penyembunyian data,

yaitu :

1. Fidelity

Setelah disisipi dengan data, media penampung harus terlihat baik.

Pengamat tidak mengetahui terdapatnya data rahasia pada media

penampung.

2. Recovery

(33)

Untuk format atau media yang berbeda, metode yang digunakan untuk

menyembunyikan pesannya juga berbeda-beda. Beberapa metode yang

biasanya digunakan, yaitu:

1. Least Significant Bit (LSB)

Dasar dari metode ini adalah pengetahuan akan bilangan biner atau

bilangan basis 2, yang hanya terdiri dari ’1’ dan ’0’. Kedua bilangan yang

menjadi dasar dari kerja komputer ini sering disebut dengan istilah bit. Susunan

dari beberapa bit akan membentuk suatu informasi. Istilah yang umum

dikenal adalah byte, yaitu kumpulan delapan bit data.

Dalam satu byte data, bit yang paling berpengaruh terhadap

informasi yang dikandungnya biasanya adalah bit paling awal/paling kiri. Bit

inilah yang dinamakan Most Significant Bit (MSB). Semakin ke kanan, bit-bit

tersebut semakin kecil pengaruhnya terhadap keutuhan data yang dikandung.

Bit paling akhir/paling kanan inilah yang dinamakan Least Significant Bit

(LSB). Contohnya pada file image pesan dapat disembunyikan dengan

menggunakan cara menyisipkannya pada bit rendah atau bit yang paling kanan

(LSB) pada data pixel (titik) 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

(34)

A.Contoh 8 bit pixel :

1 pixel : ( 00 01 10 11 )

white red green blue

Insert 0011 : ( 00 00 11 11 )

white white blue blue

B. Contoh 24 bit pixel :

Contohnya huruf A dapat kita sisipkan dalam 3 pixel, misalnya data raster

original adalah sebagai berikut :

( 00100111 11101001 11001000 )

red blue green

( 00100111 11001000 11101001 )

red green blue

( 11001000 00100111 11101001 )

green red blue

Sedangkan representasi biner huruf A adalah 100000111. Dengan

menyisipkan-nya pada data pixel diatas maka akan dihasilkan :

( 00100111 11101000 11001000 )

red green green

( 00100110 11001000 11101000 )

white green green

( 11001001 00100111 11101001 )

(35)

Terlihat hanya empat bit rendah yang berubah, untuk mata manusia maka

tidak akan tampak perubahannya. Secara rata-rata dengan metoda ini hanya

setengah dari data bit rendah yang berubah, sehingga bila dibutuhkan dapat

digunakan bit rendah kedua bahkan ketiga.

Colormap (peta warna) dalam 8 bit warna image (gambar) maksimumnya

24 bit warna image (gambar) dari 256 color (warna). Bagaimanapun untuk

meminimisasi gangguan tambahan ketika least significant bit (LSB) berubah,

colormap (peta warna) dimulai dari hanya 240 color (warna) dan ke-16 color

(warna) lainnya akan ada atau ditambah pada saat hasil akhir dari sebuah gambar.

Kekurangan dari LSB insertion yaitu :

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.

(36)

Antara 8 bit dan 24 bit image mudah diserang dalam pemrosesan image, seperti

cropping (kegagalan) dan compression (pemampatan).

2. Algoritma dan Transformasi

Metode Steganografi yang lain adalah menyembunyikan data dalam

fungsi matematika yang disebut algoritma compression. 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).

3. Redundant Pattern Encoding

Penerapan steganografi dengan metode ini adalah dengan menggambar

pesan kecil pada kebanyakan gambar. Keuntungan dari metode ini adalah

dapat bertahan dari cropping, kerugiannya yaitu tidak dapat menggambar

pesan yang lebih besar, sehingga pesan menjadi agak terbatas dan mungkin

saja pesan yang ingin disampaikan oleh pengirim bahkan terlewatkan oleh

penerima.

4. Spread Spectrum

Metoda Spread Spectrum mentransmisikan sebuah sinyal pita informasi

yang sempit ke dalam sebuah kanal pita lebar dengan penyebaran frekuensi.

Penyebaran ini berguna untuk menambah tingkat redundansi. Besaran redundansi

ditentukan oleh faktor pengali cr yang bernilai skalar. Panjang bit- bit hasil

(37)

Proses penyisipan pesan menggunakan metode Spread Spectrum ini

terdiri dari tiga proses, yaitu spreading, modulasi, dan penyisipan pesan ke

citra.Untuk lebih jelasnya dapat dilihat dari gambar skema penyisipan pesan

[image:37.595.115.516.503.717.2]

dibawah ini :

Gambar 2.3 Skema Penyisipan Pesan Spread Spectrum

Proses ekstraksi pesan menggunakan metode Spread Spectrum ini terdiri

dari tiga proses, yaitu pengambilan pesan dari matriks frekuensi, demodulasi, dan

de- spreading. Untuk lebih jelasnya dapat dilihat di gambar skema ekstraksi pesan

dibawah ini :

(38)

Namun yang akan di bahas dalam penulisan tugas akhir ini hanya dua

metoda steganografi yaitu Discrete Cosine Transformation (DCT) dan Redundant

Pattern Encoding.

2.3.1 Discrete Cosine Transformation (DCT)

Metode Steganography yang lain adalah menyembunyikan data dalam

fungsi matematika yang disebut algoritma compression. 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 suatu teknik yang digunakan

untuk melakukan konversi sinyal kedalam komponen frekuensi pembentuknya

dengan memperhitungkan nilai real dari hasil transformasinya.

Gambar 2.5 Diagram Transformasi DCT

Fungsi Transformasi DCT :

F (u,v) = 2

1 2       N 2 1 2       M

− = 1 0 N i

− = 1 0 M j

f(i,j) cos

(

)

     +1 2 . 2 . i N u

π cos

  

 

(39)

Fungsi Invers DCT :

f(i,j) =

− = 1 0 N i

− = 1 0 M j 2 1 2       N 2 1 2      

M f (u,v) cos 

    + N u i 2 ) 1 2 (

π cos

     + M v j 2 ) 1 2 ( π ...(2.3) Keterangan :

Ukuran image M x N

f(u,v) : nilai koefisien DCT pada matrik 8x8 kolom ke-u baris ke-v

F(i,j) : nilai data yang hendak ditransformasikan pada matrik 8x8 kolom ke-i

[image:39.595.122.513.375.582.2]

baris ke-j

Gambar 2.6 Proses Penyisipan Pesan DCT

Pada proses penyisipan pesan terdapat tugas-tugas seperti berikut :

1. Lakukan Transformasi DCT dari citra digital.

(40)

3. Gantikan bit pada citra tersebut dengan bit pesan yang akan

dimasukan agar tidak terlihat ( dapat digunakan LSB insertion).

4. Lakukan transformasi invers dct.

5. Simpan sebagai citra tersisip pesan.

Gambar 2.7 Proses pembacaan pesan DCT

Pada proses pembacaan pesan tugas-tugas yang perlu dilakukan

diantaranya :

1. Lakukan transformasi dct dari citra tersisip pesan.

2. Dapatkan coefficient DCT.

3. Extract bit data dari koefisien terebut.

4. Gabungkan bit-bit tersebut menjadi sebuah pesan aktual

2.3.2 Redundant Pattern Encoding

Penerapan steganografi dengan metode ini adalah dengan

menggambarkan pesan kecil pada kebanyakan gambar. Algoritma dari redundant

pattern encoding yaitu memasukkan redundansi (penggandaan) ke dalam

informasi/pesan yang akan disembunyikan (dengan catatan pesan hasil

penggandaan sama dengan aslinya/utuh ) dan kemudian menyebarkan pesan itu ke

(41)

algoritma untuk menghasilkan urutan angka yang mendekati sifat nomor acak)

digunakan untuk menyeleksi dua area dari gambar (patch A dan patch B). Patch

adalah metode yang menandai area gambar.

Keseluruhan pixel pada patch A akan ditinggikan tingkat cahayanya. Lain

halnya dengan patch B, yang justru diturunkan tingkat cahayanya (digelapkan).

Dengan kata lain, intensitas pada pixel di suatu patch dinaikkan dengan nilai yang

konstan, sementara patch lainnya diturunkan dengan nilai konstan yang sama.

Perubahan kontras pada bagian patch akan mengenkripsi tiap satu bit dan

perubahannya biasanya sangat kecil dan halus.

Kerugian dari teknik ini adalah hanya satu bit yang dapat dimasukkan

pesan rahasia. Suatu gambar dapat digunakan untuk dimasukkan lebih dari satu bit

dengan cara membagi-bagi gambar tersebut ke sub- gambar dan menggunakan

cara yang sama untuk memasukkan pesan ke dalamnya. Keuntungan untuk

menggunakan teknik ini sendiri adalah pesan rahasianya akan disebarkan ke

gambar tersebut secara keseluruhan. Sehingga, apabila ada sebuah patch yang

dihancurkan, yang lain masih tetap bertahan. Namun, tetap saja hal ini bergantung

kepada ukuran pesan itu sendiri. Ini disebabkan pesan tersebut hanya bias diulang

dan tersebar ke seluruh bagian gambar apabila ukurannya cukup dan kecil.

Cara ini digunakan tidak bergantung terhadap jenis gambarnya (transfer

domain) dan terbukti sebagai cara yang cukup ampuh dan baik untuk

(42)

2.4 Citra Digital

Secara harafiah, citra (image) adalah gambar pada bidang dua dimensi

(dwimatra). Ditinjau dari sudut pandang matematis, citra merupakan fungsi

menerus (continue) dari intensitas cahaya pada bidang dwimatra. Sumber cahaya

menerangi objek, objek memantulkan kembali sebagian dari berkas cahaya

tersebut. Pantulan cahaya ini ditangkap oleh oleh alat-alat optik, misalnya mata

pada manusia, kamera, pemindai (scanner), dan sebagainya, sehingga bayangan

objek yang disebut citra tersebut terekam.

2.4.1 Bitmap

Bitmap adalah representasi dari citra grafis yang terdiri dari susunan titik

yang tersimpan di memori komputer. Dikembangkan oleh Microsoft dan nilai

setiap titik diawali oleh satu bit data untuk gambar hitam putih, atau lebih bagi

gambar berwarna. Kerapatan titik-titik tersebut dinamakan resolusi, yang

menunjukkan seberapa tajam gambar ini ditampilkan, ditunjukkan dengan jumlah

baris dan kolom, contohnya 1024x768. Kelemahan dari citra bitmap adalah tidak

dapat memperbesar atau memperkecil ukuran resolusinya. Resolusinya

bergantung pada citra aslinya. Ukuran filenya juga relative besar, karena

tersimpan dalam pixel. Selain itu citra bitmap apabila dilakukan proses kompresi

kualitas citranya akan mengalami penurunan. Yang paling penting dari kriteria ini

adalah kedalaman warna (berapa banyak bit per pixel yang didefinisikan dari

(43)

1. bit = 16 warna (16 gray scales).

2. 8 bit = 256 warna (256 gray scales).

3. 24 bit = 16.777.216 warna.

Secara umum dapat dikatakan : Semakin banyaknya warna, maka akan

diperlukan keamanan yang ketat atau tinggi dikarenakan bitmap memiliki area

yang sangat luas dalam sebuah warna yang seharusnya dihindarkan. Dilihat dari

kedalaman atau kejelasan dari sebuah warna, bitmap dapat mengambil sejumlah

data tersembunyi dengan perbandingan sebagai berikut (ukuran ratio dari bitmap

dalam byte = ukuran dari data yang disembunyikan) :

1. 4 bit = 16 warna : 4 : 1

2. 8 bit = 256 warna : 8 : 1

3. 24 bit = 16.777.216 warna : 8 : 1

Untuk menampilkan citra bitmap pada monitor atau mencetaknya pada

printer, komputer menterjemahkan bitmap ini menjadi pixel (pada layar) atau titik

tinta (pada printer). Beberapa format file bitmap yang populer adalah BMP, PCX

dan TIFF. Contoh gambar bitmap dapat dilihat di bawah ini :

(44)

2.4.2 Joint Photographic Group Experts (JPEG)

Adalah standar kompresi file yang dikembangkan oleh Group Joint

Photographic Experts menggunakan kombinasi DCT dan pengkodean Huffman

untuk mengkompresikan suatu file citra. JPEG adalah suatu algoritma kompresi

yang bersifat lossy, (yang berarti kualitas citranya agak kurang bagus). JPEG

adalah teknik kompresi grafis high color bit-mapped. Merupakan teknik dan

standar universal untuk kompresi dan dekompresi citra tidak bergerak untuk

digunakan pada kamera digital dan sistem pencitraan menggunakan komputer

yang dikembangkan oleh Joint Photographic Experts Group.

Umumnya digunakan untuk kompresi citra berwarna maupun gray scale.

Format ini benar-benar didesain memanjakan fotographer. Format ini bisa

mensupport sampai 16.7 juta warna. Jumlah tersebut cukup untuk keperluan

apapun bahkan pencitraan warna yg tidak bisa dicerna mata manusia. Selain

jumlah kombinasi warna, algoritma kompresi JPEG bekerja dengan meresonansi

informasi-informasi image keluar. Dan tergantung setting yg diberikan, informasi

tersebut bisa dan bisa tidak dapat dicerna mata. Contoh gambar dengan format

JPEG dapat dilihat di bawah ini :

(45)

2.4.3 Graphics Interchange Format (GIF)

Formst GIF itu baik digunakan untuk website. Kombinasi warna yg

tersedia sebanyak 256 warna. Jumlah kombinasi ini cukup membuatnya dipakai

bagi keperluan grafis apapun, tentu saja degan pengecualian keperluan photografi.

Kita bisa memakainya sebagai icon, favicon, logo, line grafis, ataupun

image-image tombol. GIF juga bisa dianimasikan. Beberapa karakteristik format gambar

GIF sebagai berikut :

1. Mampu menayangkan maksimum sebanyak 256 warna karena format

GIF menggunakan 8-bit untuk setiap pixelnya.

2. Mengkompresi gambar dengan sifat lossless

3. Mendukung warna transparan dan animasi sederhana

Sebenarnya tersedia pilihan format lain seperti flash atau format animasi

berbasis vektor. Akan tetapi format-format itu biasanya lebih

konsumtif-bandwidth. Gif mempunyai kemampuan mengkompres area-area gambar sewarna.

Dengan kemampuan ini, banyak item-item grafis website bisa didesain dgn

ukuran sekecil mungkin. Metode yang paling umum mereduksi ukuran file GIF

ialah dengan mereduksi jumlah warna dalam palettle. Perlu digaris-bawahi, GIF

telah menggunakan skema kompresi internal LZW. Skema ini bisa membuat

gambar berukuran sekecil mungkin tanpa kehilangan data penting apapun. Namun

tidak tau pasti bagaimana algoritma LZW ini bekerja. Ada 2 feature Gif yg

menarik perhatian, yaitu transparency dan interlacing. Contoh gambar yang

(46)

Gambar 2.10 Gambar berformat GIF

2.4.4 Portable Network Graphics (PNG)

PNG (Portable Network Graphics) adalah salah satu format penyimpanan

citra yang menggunakan metode pemadatan yang tidak menghilangkan bagian

dari citra tersebut (lossless compression).

PNG dibaca "ping", namun biasanya dieja apa adanya - untuk menghindari

kerancuan dengan istilah "ping" pada jaringan komputer. Format PNG ini

diperkenalkan untuk menggantikan format penyimpanan citra GIF. Secara umum

PNG dipakai untuk Citra Web. Untuk Web, format PNG mempunyai 3

keuntungan dibandingkan format GIF diantaranya :

1. Channel Alpha (transparansi)

2. Gamma (pengaturan terang-gelapnya citra en:"brightness")

3. Penayangan citra secara progresif (progressive display)

Selain itu, citra dengan format PNG mempunyai faktor kompresi yang

lebih baik dibandingkan dengan GIF (5% - 25% lebih baik dibanding format

GIF). Satu fasilitas dari GIF yang tidak terdapat pada PNG format adalah

dukungan terhadap penyimpanan multi-citra untuk keperluan animasi. Untuk

(47)

selama proses pengolahan citra - karena format ini selain tidak menghilangkan

bagian dari citra yang sedang diolah (sehingga penyimpanan berulang ulang dari

citra tidak akan menurunkan kualitas citra) namun format JPEG masih menjadi

pilihan yang lebih baik. Contoh gambar yang memiliki format PNG dapat dilihat

dibawah ini :

Gambar 2.11 Gambar berformat PNG

2.5 Pengukuran Error Citra

MSE ( Mean Square Error ) adalah tingkat kesalahan sinyal-sinyal video

atau piksel-piksel citra hasil pemrosesan sinyal terhadap sinyal/citra original.

Rumus untuk menghitung MSE pada citra digital adalah :

...(2.4)

Sedangkan Peak Signal to Noise Ratio (PSNR) merupakan nilai (rasio)

yang menunjukan tingkat toleransi noise tertentu terhadap banyaknya noise pada

suatu sinyal video/citra. Noise adalah kerusakan sinyal pada bagian tertentu dalam

(48)

PSNR merupakan suatu nilai yang menunjukkan kualitas suatu sinyal video/citra.

Untuk menghitung nilai PSNR digunakan rumus sebagai berikut :

...(2.5)

Dimana : I (x,y) nilai pixel dari citra asli

I’ (x,y) nilai pixel dari hasil steganografi

M, N adalah dimensi image

2.6 .NET Platform

.NET merupakan sebuah platform yang dibangun oleh microsoft dengan

komponen utamanya yaitu Framework .NET. Framework .NET merupakan suatu

komponen window yang terintegrasi dan dibuat agar dapat menjalankan berbagai

macam aplikasi berbasis .NET termasuk pembangunan aplikasi Web Service

(XML).

2.7 .NET Framework

.NET framework adalah sebuah framework atau bingkai kerja bagi

aplikasi-aplikasi .NET yang dibuat menggunakan Visual Studio .NET tanpa

terpengaruh bahasa pemrograman yang digunakan.

.NET framework menyediakan berbagai macam tool dan teknologi yang

diperlukan untuk membangun aplikasi yang terdistribusi. Penyediaan tool dan

(49)

bebas ke semua model ditingkatan sama suatu aplikasi, lalu menyediakan

interoperabilitas tanpa klaim dan memudahkan migrasi dari teknologi yang ada

pada Microsoft .NET. Arsitektur dari Framework .NET seperti gambar di bawah

[image:49.595.215.392.225.410.2]

ini :

Gambar 2.12 Arsitektur Framework .NET

Framework .NET terdiri atas dua elemen penting, yaitu Common

Language Runtime (CLR) dan Framework Class Library (FCL). CLR merupakan

sebuah lingkungan untuk menjalankan program pada saat runtime, kemudian FCL

menyediakan layanan yang dibutuhkan oleh aplikasi .NET.

2.7.1 Common Language Runtime (CLR)

CLR adalah tulang punggung .NET framework, pada CLR inilah tersedia

library-library yang diperlukan oleh aplikasi-aplikasi yang dibuat. Program

aplikasi yang dijalankan tidak langsung berhubungan dengan sistem operasi,

namun melalui CLR terlebih dahulu.

(50)

1. Mengelola dan mengeksekusi kode program

2. Mengelola alokasi memori ketika program di eksekusi

3. Memberikan layanan seperti JIT kompilasi

4. Mengelola penanganan kesalahan atau eksepsi

5. Melakukan proses debug dan mengatur keamanan program

6. Bersifat assembly saat proses deployment (penyebaran) atau kompilasi

7. Memungkinkan adanya variasi dan integrasi berbagai bahasa

pemrograman yang ada dilingkungan Framework .NET

2.7.2 Framework Class Library (FCL)

FCL adalah sebuah kumpulan class-class yang berjumlah ribuan di dalam

.NET framework. Class-class ini menyediakan akses ke window API dan

fungsi-fungsi yang umum seperti struktur data, manipulasi string, IO, stream, theread,

security, network programming, windows programming, web programming, data

akses, dan lain-lain. Ini adalah library standar yang pernah disertakan pada

programming enviorenment atau pada bahasa pemrograman tertentu. Penggunaan

class-class ini sangat mudah, bahkan inheritance dan polymorphisme dapat

diterapkan pada class-class ini.

2.7.3 C#

C# merupakan bahasa pemrograman yang didesain dengan target

(51)

Januari C# maupun framework .NET diselesaikan dan dapat diimplementasikan.

Bahasa pemrograman C# merupakan bahasa baru yang sangat handal dan

konsisten serta membawa kesan bahwa C# merupakan bahasa pemrograman yang

modern. Bahasa C# merupakan bahasa komposisi dari berbagai bahasa

diantaranya bahasa java, C++, Visual Basic dan lain-lain. Bahasa java merupakan

bahasa yang paling banyak digunakan dalam sintaksis C#. Persentase penggunaan

bahasa java dalam bahasa C# adalah sebanyak 70%, bahasa C++ sebanyak 10%,

bahasa Visual Basic sebanyak 5% dan bahasa lain-lain sebanyak 15%.

2.8 Model Pengembangan Perangkat Lunak

Perangkat lunak (software) adalah perintah/program komputer yang bila

dieksekusi memberikan fungsi dan unjuk kerja seperti yang diinginkan. Struktur

data yang memungkinkan program memanipulasi informasi secara proporsional

dan dokumen yang menggambarkan operasi dan kegunaan program.

Software memiliki dua peran, di satu sisi berfungsi sebagai sebuah produk

dan di sisi lain berfungsi sebagai kendaran yang mengantarkan sebuah produk.

Sebagai produk, software mengantarkan potensi perhitungan yang dibangun oleh

software komputer. Baik di dalam sebuah telepon seluler, atau beroperasi di

sebuah mainframe komputer, software merupakan transformer informasi yang

memproduksi, mengatur, memperoleh, memodifikasi, menampilkan, atau

memancarkan informasi, dimana pekerjaan ini dapat sesederhana suatu bit tunggal

atau sekompleks sebuah simulasi multimedia. Sedangkan peran sebagai kendaran

(52)

kontrol komputer (sistem operasi), komunikasi informasi (jaringan), dan

penciptaan serta kontrol dari program – program lain (peranti dan lingkungan

software).

Pada masa-masa awal, pemrograman masih dilihat sebagai “bentuk

kesenian”. Hanya sedikit saja metode yang ada dan lebih sedikit lagi orang yang

memahaminya. Para programmer kadang – kadang harus mempelajarinya dengan

coba-coba. Tetapi sekarang software sudah menjadi lahan yang sangat kompetitif.

Software yang dulu dibangun secara internal di dalam komputer sekarang sudah

dapat diproduksi secara terpisah.

Software lebih merupakan elemen logika dan bukan merupakan elemen

sistem fisik. Software memiliki ciri yang berbeda dari Hardware, yaitu :

1. Software dibangun dan dikembangkan.

2. Software tidak pernah usang.

3. Sebagian besar Software dibuat secara custom-built, serta tidak dapat

dirakit dari komponen yang sudah ada.

Karakteristik dari produk software :

1. Maintainanbility

2. Dependability

3. Efficiency

4. Usability

Proses (produksi) software, yaitu:

1. Spesifikasi software

(53)

3. Validasi (pengetesan dan pengujian)

4. Evolusi, pengembangan lanjutan

IEEE telah mengembangkan definisi yang lebih komprehensif, yaitu

software engineering : aplikasi dari sebuah pendekatn kuantifiabel, disiplin, dan

sistematis kepada pengembangan, operasi, dan pemeliharaan software.

Model–model proses untuk software engineering yang sering digunakan

seperti model sekuensial linier, model prototipe, model RAD, model inkremental,

model spiral, model asembly komponen, model pengembangan kongkuren, model

metode formal, model teknik generasi keempat.

Model pengembangan perangkat lunak yang akan dibahas dalam penulisan

tugas akhir ini hanyalah model RAD (Rapid Application Development).

2.8.1 RAD (Rapid Application Development)

Rapid Aplication Development (RAD) adalah sebuah model proses

pengembangan perangkat lunak yang incremental. RAD menekankan pada siklus

pengembangan yang pendek/singkat. RAD mengadopsi model waterfall dan

pembangunan dalam waktu singkat dicapai dengan menerapkan component based

construction. Waktu yang singkat adalah batasan yang penting untuk model ini.

Jika kebutuhan lengkap dan jelas maka waktu yang dibutuhkan untuk

menyelesaikan secara komplit software yang dibuat adalah misalnya 60 sampai 90

(54)
[image:54.595.148.476.112.457.2]

Gambar 2.13 Model RAD

Fase-fase di atas menggambarkan proses dalam model RAD. Sistem

dibagi-bagi menjadi beberapa modul dan dikerjakan dalam waktu yang hampir

bersamaan dalam batasan waktu yang sudah ditentukan.

1. Bussiness Modeling

Aliran informasi di antara fungsi–fungsi bisnis dimodelkan dengan suatu

cara untuk menjawab pertanyaan–pertanyaan berikut : Informasi apa yang

mengendalikan proses bisnis? Informasi apa yang di munculkan? Siapa yang

(55)

2. Data Modeling

Aliran informasi yang didefinisikan sebagai bagian dari fase business

modelling disaring ke dalam serangkaian objek data yang dibutuhkan untuk

menopang bisnis tersebut. Karakteristik (disebut atribut) masing–masing objek

diidentifikasi dan hubungan antara objek–objek tersebut didefinisikan.

3. Prosess Modelling

Aliran informasi yang didefinisikan di dalam fase data modeling

ditransformasikan untuk mencapai aliran informasi yang perlu bagi implementasi

sebuah fungsi bisnis. Gambaran pemrosesan diciptakan untuk menambah,

memodifikasi, menghapus, atau mendapatkan kembali sebuah objek data.

4. Aplication Generation

RAD mengasumsikan pemakaian teknik generasi ke empat. Selain

menciptakan perangkat lunak dengan menggunakan bahasa pemrograman

generasi ketiga yang konvensional, RAD lebih banyak memproses kerja untuk

memakai lagi komponen program yang ada ( pada saat memungkinkan) atau

menciptakan komponen yang bisa dipakai lagi (bila perlu). Pada semua kasus,

alat–alat bantu otomatis dipakai untuk memfasilitasi konstruksi perangkat lunak.

5. Testing and Turnover

Karena proses RAD menekankan pada pemakaian kembali, banyak

komponen program telah diuji. Hal ini mengurangi keseluruhan waktu pengujian.

Tetapi komponen baru harus di uji dan semua interface harus dilatih secara penuh.

Kelemahan dalam model ini:

(56)

2. Proyek bisa gagal karena waktu yang disepakati tidak dipenuhi.

3. Sistem yang tidak bisa dimodularisasi tidak cocok untuk model ini.

4. Resiko teknis yang tinggi juga kurang cocok untuk model ini.

2.9 Tinjauan Perangkat Lunak

Pada bagian ini penulis akan menguraikan penjelasan singkat mengenai

perangkat lunak (software utama) yang digunakan dalam pembuatan aplikasi ini

yaitu Microsoft Windows XP SP 3 sebagai sistem operasi yang digunakan dan

Microsoft Visual C# 2008 sebagai editor pembuatan aplikasi.

2.9.1 Microsoft Windows XP

Windows adalah salah satu sistem operasi andalan Micosoft yang banyak

dipakai saat ini, karena kestabilan dan kemudahan dalam pemakaiannya.

Kelebihan liannya adalah kebutuhan perangkat kerasnya tidak membutuhkan

sumber daya yang besar. Tampilan sistem operasi Windows XP adalah sebagai

berikut :

(57)

2.9.2 Microsoft Visual C# 2008

C# sering dianggap sebagai penerus C++ atau versi canggih dari C++,

karena ada anggapan bahwa tanda # adalah perpaduan dari 4 buah tanda tambah

yang disusun sedemikian rupa sehingga membentuk tanda pagar. Akan tetapi,

terlepas dari benar tidaknya anggapan tersebut C# adalah suatu bahasa

pemrograman yang sangat menjanjikan. C# adalah sebuah bahasa pemrograman

yang berorientasi pada objek yang dikembangkan oleh Microsoft dan menjadi

salah satu bahasa pemrograman yang mendukung .NET programming melalui

Visual Studio. Tampilan awal dari Micosoft Visual C# 2008 adalah sebagai

[image:57.595.114.513.396.659.2]

berikut :

(58)

2.9.3 Keuntungan Visual C#

Ada beberapa keuntungan menggunakan teknologi .NET dalam

membangun sebuah aplikasi, baik aplikasi web service maupun aplikasi biasa

yang sering digunakan seperti Window Form, diantaranya :

1. Mudah, Visual C# yang sangat sederhana mudah digunakan dalam

mengimplementasikan pengembangan sebuah aplikasi

2. Effisien, kemudahan saat pembuatan aplikasi sangat berpengaruh

pada efisiensi waktu pengerjaan aplikasi dan berdampak pula pada

efisiensi biaya

3. Produktivitas, kemudahan pengerjaan aplikasi akan berdampak besar

dalam menghasilkan produk yang berupa aplikasi.

4. Konsisten, kemudahan yang dihadirkan oleh Visual C# akan

(59)

44

3.1 Analisis Sistem

Program aplikasi ini dapat dibuat dengan adanya suatu analisis terlebih

dahulu. Analisis sistem dilakukan dengan mendefinisikan masalah yang ada,

menganalisis dan mengamati secara keseluruhan bagaimana program aplikasi ini

terbentuk. Dalam pembuatan program aplikasi ini diperlukan suatu analisis yang

benar agar dihasilkan suatu program aplikasi yang sesuai dengan yang diharapkan.

Secara umum analisis yang akan dilakukan adalah mengenai lingkungan

dari sistem dimana program aplikasi ini akan digunakan dan siapa yang

menggunakannya. Analisis lingkungan dari sistem menguraikan sejumlah entitas

yang ada hubungannya dengan sistem dan berpengaruh terhadap sistem.

3.2 Analisis Masalah

Steganografi bertujuan untuk menyisipkan suatu data/pesan rahasia

kedalam suatu media penampung agar data/pesan rahasia tersebut tidak dapat

dibaca atau diketahui oleh orang/pihak yang tidak berhak mengetahuinya.

Kebanyakan steganografi diterapkan pada media citra yang memiliki

format .bmp atau bitmap. Masalah yang timbul adalah bagaimana jika data/pesan

rahasia tersebut disisipkan pada citra yang berformat .bmp atau bitmap yang

(60)

apabila kita menggunakan electronic mail (e-mail) untuk mendistribusikan citra

yang berisi data/pesan rahasia tersebut.

Pada sistem yang akan direalisasikan ini akan mengatasi masalah

tersebut, yaitu menyisipkan data/pesan rahasia pada media penampung yang

berupa citra digital yang memiliki format gif,jpeg,png dan bmp.

3.2.1 Analisis Pengolahan Citra Digital

Citra merupakan fungsi intensitas dalam bidang dua dimensi. Intensitas

yang dimaksud berasala dari sumber cahaya. Pada hakekatnya citra yang dilihat

oleh mata manusia terdiri atas berkas-berkas cahaya yang dipantulkan oleh

benda-benda disekitar kita.

Suatu citra digital adalah suatu gambar kontinu yang diubah dalam

bentuk diskrit, baik koordinat maupun intensitas cahayanya. Kita dapat

menganggap suatu citra digital sebagai suatu matriks dimana indeks baris dan

kolomnya menyatakan koordinat sebuah titik pada citra tersebut dan

masing-masing elemennya menyatakan intensitas cahaya pada titik tersebut. Suatu titik

pada citra digital sering disebut sebagai elemen citra, elemen gambar ataupun

pixel.

Untuk mengubah suatu citra kontinu ke dalam suatu representasi numeric

dilakukan dengan proses digitalisasi oleh suatu digitizer, misalnya scanner,

sehingga citra ini dapat diproses oleh sebuah komputer.

Digitalisasi sebuah citra dilakukan baik terhadap ruang (koordinasi (x,y)),

Gambar

Gambar 2.3 Skema Penyisipan Pesan Spread Spectrum
Gambar 2.6 Proses Penyisipan Pesan DCT
Gambar 2.12 Arsitektur Framework .NET
Gambar 2.13 Model RAD
+7

Referensi

Dokumen terkait

Konsumsi Nutrien Ternak Kambing yang Mendapatkan Hijauan Hasil Tumpangsari Arbila (Phaseolus lunatus) dengan Sorgum sebagai Tanaman Sela pada Jarak Tanam Arbila dan

Disini kami membagikan update terbaru dari Avast Internet Security 2015 ini Avast Internet Security 2015 10.0.2206.692 Final Full Crack ini ke komputer Cara Memutuskan Koneksi

Dikatakan cukup baik dikarenakan masih ada beberapa hal yang harus diperhatikan seperti masih banyak sarana dan prasarana yang harus dilengkapai di Dinas Kelautan dan

menjadi jembatan dalam penyusunan rencana tata ruang yang bersifat operasional, memuat ketentuan-ketentuan tentang penjabaran rencana yang bersifat makro ke dalam

Peruntukan perbelanjaan yang telah ditetapkan dalam Perlem bagaan ini telah menjadikan negara Malaysia sebagai sebuah kerajaan pusat yang kukuh dari sudut pandangan kewangan jika

Katakanlah kita mengundang diA ke dalam hati kita, tapi kita tidak pernah membaca surat Cinta-nYA kepada kita, yaitu Alkitab, atau kita tidak pernah berbicara dengan-nYA

Lain halnya dengan jawaban yang disampaikan oleh Abusehe selaku tokoh adat didaerah Sulamadaha, jika para tokoh agama diatas masih menyebutkan perpindahan wali

Aktivitas esterifIkasi tertinggi pada alkohol dengan berbagai panjang rantai dimiliki butanol (13.04 nunol ALB/g prot.menit) yang berbeda nyata dengan aktivitas yang