• Tidak ada hasil yang ditemukan

KONSEP DAN ANALISA STEGANOGRAFI CITRA MENGGUNAKAN METODE DISCRETE COSINE TRANSFORMATION (DCT) TUGAS AKHIR Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika

N/A
N/A
Protected

Academic year: 2019

Membagikan "KONSEP DAN ANALISA STEGANOGRAFI CITRA MENGGUNAKAN METODE DISCRETE COSINE TRANSFORMATION (DCT) TUGAS AKHIR Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika"

Copied!
122
0
0

Teks penuh

(1)

TUGAS AKHIR

Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika

Disusun Oleh : ELISABET YUVITASARI

045314031

PROGRAM STUDI TEKNIK INFORMATIKA

JURUSAN TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

(2)

TUGAS AKHIR

Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika

Oleh :

ELISABET YUVITASARI 045314031

PROGRAM STUDI TEKNIK INFORMATIKA

JURUSAN TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2008

(3)

FINAL ASSIGNMENT

Presented as a Meaning for Gaining Engineering Holder in Informatics Engineering Study Program

By :

ELISABET YUVITASARI 045314031

INFORMATICS ENGINEERING STUDY PROGRAM

DEPARTEMENT OF INFORMATICS ENGINEERING

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

2008

(4)
(5)
(6)

Perguruan Tinggi, dan sepanjang pengetahuan saya juga tidak terdapat karya atau

pendapat yang pernah ditulis atau diterbitkan oleh orang lain, kecuali yang secara

tertulis diacu dalam naskah ini dan disebutkan dalam daftar pustaka.

Yogyakarta, September 2008

Penulis

Elisabet Yuvitasari

(7)

Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma :

Nama : Elisabet Yuvitasari

Nomor Mahasiswa : 045314031

Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul :

KONSEP DAN ANALISA STEGANOGRAFI CITRA MENGGUNAKAN METODE DISCRETE COSINE TRANSFORMATION (DCT)

beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan secara terbatas, dan mempublikasikannya di Internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun memberikan royalti kepada saya selama tetap mencantumkan nama saya sebagai penulis.

Demikian pernyataan ini yang saya buat dengan sebenarnya.

Dibuat di Yogyakarta

Pada tanggal : 4 September 2008

Yang menyatakan

( Elisabet Yuvitasari )

(8)

MOTTO

”KEBERHASILAN TIDAK AKAN PERNAH TERCAPAI TANPA DOA”

Tugas akhir ini kupersembahkan untuk :

Tuhan Yesus Kristus

Bapakku Yustinus Masiyo

Ibuku Chatarina Sumiyati

Kakakku Fransisca Ratna K.

Andreas Agung Putra Mataram

(9)

mengubah bentuk pesan yang ditumpanginya. Steganografi dapat digunakan pada

citra. Citra yang dihasilkan setelah proses steganografi tidak berbeda dengan citra

aslinya.

Metode yang digunakan untuk aplikasi steganografi citra ini adalah

Discrete Cosine Transformation (DCT). Citra yang terdiri dari piksel berbasis

ruang ditransformasikan ke dalam basis frekuensi sehingga diperoleh koefisien

DCT untuk setiap blok matriks 8x8. Nilai setiap blok 8x8 koefisien DCT

dilakukan kuantisasi. Nilai kuantisasi yang dihasilkan digunakan untuk

menyembunyikan bit pesan dengan menggunakan metode JSteg. Pesan rahasia

diubah ke dalam bilangan 8 bit. LSB (Least Significant Bit) nilai kuantisasi yang

tidak 0, tidak 1, dan tidak negatif selanjutnya diganti dengan satu bit pesan.

Penggantian bit pesan dilakukan secara berurutan mulai dari MSB (Most

Significant Bit) sampai dengan LSB.

Untuk menguji penerapan metode DCT pada steganografi citra, maka

dibuat sebuah program aplikasi. Program aplikasi steganografi citra dengan

metode DCT ini digunakan untuk menyembunyikan pesan rahasia dalam bentuk

file text document atau file txt ke dalam citra JPG atau JPEG. Program aplikasi ini

juga digunakan untuk mengekstraksi pesan yang disembunyikan di dalam citra

JPEG. Pengujian dilakukan pada empat puluh citra bertipe JPEG dan dua puluh

pesan bertipe txt. Hasil pengujian menunjukkan bahwa waktu yang dibutuhkan

untuk proses penyembunyian dan ekstraksi pesan tergantung dari ukuran citra

yang digunakan dan banyaknya pesan yang disembunyikan, serta citra berwarna

abu-abu dapat digunakan untuk menyembunyikan karakter pesan lebih banyak

daripada citra berwarna. Selain itu, hasil pengujian menunjukkan bahwa program

aplikasi steganografi citra yang dibuat memenuhi kriteria fidelity dan recovery

tetapi tidak tahan atau tidak robust terhadap operasi manipulasi citra.

(10)

message. Steganography can be applied into the image. The result image after

steganography process is not different with this original image.

The method used in this image steganography application was discrete

Cosine Transformation (DCT). The image consist of space-based pixel that

transformed into frequency-based, hence the DCT coefficient was derived for

each 8x8-matrix block. The value of each 8x8 block of DCT coefficient was noted

with quantization. The resulted quantization values used to hide the message bit

using JSteg method. The secret messages convert into eight bit numbers. LSB’s

(Least Significant Bit) quantization value which not equal to 0, not equal to 1 and

not equal to negative was then transformed into one bit message. The one bit

message transformation performed in sequence from MSB (Most Significant Bit)

to LSB (Least Significant Bit).

To testing the apply of the DCT method in the image steganography, then

was made an application program. This application of image steganography

program using DCT method was used to hide the secret messages in the form of

file text document or file txt into JPG Image or JPEG Image. This application also

used to extract the hidden message into JPEG Image. The tested was done into the

fourty images in the JPEG format and twenty messages in the txt format. The

created image steganography was tested to knowing the ability of the system.

Results of the test suggesting that the duration required for hiding process and

messages extraction were depend on the size of image that used and depend on the

total messages hidden in the image, and moreover, the colour gray image can be

used to hide the more message character than other colour images. In addition,

result of the test demonstrating that created image steganography complies with

fidelity and recovery criteria, however, it was weak or not robust to image

manipulation operation.

(11)

Menggunkan Metode Discrete Cosine Transformation (DCT)” ini. Pada

kesempatan ini penulis bermaksud menghaturkan terima kasih kepada semua

pihak yang telah berkenan mempercayakan segala bantuan kepada penulis, yaitu:

1. Romo Ir. Greg. Heliarko SJ, S.S., B.S.T., M.Sc., M.A., beserta seluruh

keluarga besar Fakultas Sains dan Teknologi USD Yogyakarta.

2. Bapak Puspaningtyas Sanjoyo Adi, S.T., M.T., beserta para dosen dan seluruh

keluarga besar Jurusan Teknik Informatika Fakultas Sains dan Teknologi

Universitas Sanata Dharma Yogyakarta.

3. Ibu Anastasia Rita Widiarti, S.Si., M.Kom., selaku Dosen Pembimbing I yang

telah membimbing penulis dalam menyelesaikan Tugas Akhir ini.

4. Bapak Damar Wijaya, S.T., M.T., selaku Dosen Pembimbing II yang telah

membimbing penulis dalam menyelesaikan Tugas Akhir ini.

5. Bapak dan Ibu tercinta atas semangat, doa, serta dukungan secara moril

maupun materiil.

6. Mbak Sisca atas hiburan shooping-nya di saat penulis mengalami kejenuhan.

7. Mas Putra yang selalu memberikan inspirasi, semangat, cinta, dan doa kepada

penulis.

8. Sahabat-sahabatku, Andis, Wening, dan Deni terima kasih printernya, terima

kasih juga atas semangatnya.

(12)

11.Teman-teman mudika Santo Petrus dan Santa Maria atas pengertiannya ketika

penulis tidak dapat ikut berkumpul.

12.Teman – teman mahasiswa Teknik Informatika USD angkatan 2004.

13.Semua pihak yang tidak dapat penulis sebutkan satu – persatu.

Penulis menyadari akan kekurangan dalam penulisan naskah tugas akhir

ini. Untuk itu penulis mengharapkan kritik dan saran dari pembaca. Akhir kata,

semoga Tugas Akhir ini bermanfaat. Terima kasih.

Yogyakarta, September 2008

Penulis

(13)

HALAMAN JUDUL ... i

HALAMAN JUDUL (BAHASA INGGRIS) ... ii

HALAMAN PERSETUJUAN ... iii

HALAMAN PENGESAHAN ... iv

HALAMAN PERNYATAAN KEASLIAN KARYA ... v

HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI ... vi

HALAMAN PERSEMBAHAN ... vii

INTISARI ... viii

ABSTRACT ... ix

KATA PENGANTAR ... x

DAFTAR ISI ... xii

DAFTAR GAMBAR ... xvi

DAFTAR TABEL ... xiix

BAB I PENDAHULUAN ... 1

1.1Latar Belakang ... 1

1.2Rumusan Masalah ... 3

1.3Batasan Masalah ... 3

1.4Tujuan Penelitian ... 3

1.5Metodologi Penelitian ... 4

1.6Sistematika Penulisan ... 5

(14)

2.2.1.Pengertian dan Sejarah Steganografi ... 7

2.2.2.SteganografiCitra ... 9

2.3Discrete Cosine Transformation (DCT) ... 11

2.3.1.Pengertian Discrete Cosine Transformation ... 11

2.3.2.Persamaan DCT ... 13

2.4Kuantisasi ... 14

2.5Embedder dan Decoder ... 16

2.5.1.Embedder ... 16

2.5.2.Decoder ... 19

2.6Dekuantisasi ... 21

2.7Invers DCT ... 21

2.8Transformasi color space RGB ke YcbCr ... 22

2.9Transformasi color space YCbCr keRGB ... 23

BAB III ANALISIS DAN PERANCANGAN SISTEM ... 24

3.1Analisis Sistem ... 24

3.1.1.Kebutuhan Hardware ... 24

3.1.2.Kebutuhan Software ... 24

3.1.3.DFD (Data Flow Diagram) ... 24

3.1.4.Diagram Alir ... 30

3.1.4.1 Algoritma Penyembunyian Pesan ... 30

(15)

3.2.2 Form Penyembunyian Pesan ... 40

3.2.3 Form Ekstraksi Pesan ... 41

3.2.4 Form Tentang ... 42

3.2.5 Form Bantuan ... 43

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM ... 44

4.1Implementasi Program ... 44

4.1.1.Menjalankan Program Steganografi Citra ... 44

4.1.2.Menggunakan Program Steganografi Citra ... 45

4.1.3.1. Form Menu Utama ... 45

4.1.3.2. Form Penyembunyian Pesan ... 46

4.1.3.3. Form Ekstraksi Pesan ... 52

4.1.3.4. Form Tentang ... 55

4.1.3.5. Form Bantuan ... 56

4.2 Pengujian Sistem ... 57

4.2.1.Pengujian Menggunakan Citra yang Sama tetapi dengan Pesan yang Berbeda ... 57

4.2.2.Pengujian Menggunakan Citra yang Berbeda tetapi dengan Pesan yang Sama ... 71

4.2.3.Perbandingan jumlah karakter pesan yang dapat disembunyikan pada citra berwarna dan citra berwarna abu-abu ... 76

(16)

5.2Saran ... 85

DAFTAR PUSTAKA ... 86

LAMPIRAN ... 89

(17)

Gambar 2.2 Diagram blok proses kompresi dan penyembunyian pesan ... 12

Gambar 2.3 Diagram blok penyembunyian pesan ... 13

Gambar 2.4 Diagram blok ekstraksi pesan ... 13

Gambar 2.5 Format informasi pesan tersembunyi ... 17

Gambar 2.6 Ilustrasi penyisipan karakter pertama flag ’$’ ... 18

Gambar 2.7 Ilustrasi pengekstraksian karakter pertama flag ’$’ ... 20

Gambar 2.8 Color space RGB dan YCbCr ... 22

Gambar 3.1 DFD Level 0 ... 25

Gambar 3.2 Diagram Dekomposisi ... 26

Gambar 3.3 DFD Level 1 ... 27

Gambar 3.4 DFD Level 2 ... 28

Gambar 3.5 Diagram alir inisialisasi koefisien DCT ... 31

Gambar 3.6 Diagram alirproses penyembunyian pesan ... 32

Gambar 3.7 Diagram alirtulis citra stego ... 34

Gambar 3.8 Diagram alirinisialisasi koefisien DCT stego ... 35

Gambar 3.9 Diagram alirproses ekstrak pesan ... 37

Gambar 3.10 Rancangan form menu utama ... 38

Gambar 3.11 Rancangan form penyembunyian pesan ... 40

Gambar 3.12 Rancangan form ekstraksi pesan ... 41

Gambar 3.13 Rancangan form tentang ... 43

(18)

Gambar 4.3 Sub menu dari menu File ... 45

Gambar 4.4 Sub menu dari menu Proses ... 46

Gambar 4.5 Sub menu dari menu Info ... 46

Gambar 4.6 Form Penyembunyian Pesan ... 47

Gambar 4.7 Proses pemilihan file citra ... 48

Gambar 4.8 Proses pemilihan file pesan ... 49

Gambar 4.9 Pesan peringatan jumlah karakter pesan ... 49

Gambar 4.10 Citra asli, pesan, dan citra stego ... 50

Gambar 4.11 Pesan peringatan data citra asli ... 50

Gambar 4.12 Pesan peringatan data pesan ... 51

Gambar 4.13 Pesan peringatan keping RGB ... 51

Gambar 4.14 Pesan peringatan simpan data citra stego ... 51

Gambar 4.15 Form Ekstraksi Pesan ... 52

Gambar 4.16 Proses pemilihan file citra stego ... 53

Gambar 4.17 Citra stego dan pesan hasil ekstraksi ... 54

Gambar 4.18 Pesan peringatan data citra stego ... 54

Gambar 4.19 Pesan peringatan tidak terdapat pesan ... 55

Gambar 4.20 Pesan peringatan simpan data pesan ... 55

Gambar 4.21 Form Tentang ... 56

Gambar 4.22 Form bantuan ... 56

(19)

dengan jumlah karakter pesan Lena C ... 61

Gambar 4.25 Grafik hubungan ukuran file stego dengan jumlah karakter pesan

Lena C ... 62

Gambar 4.26 Histogram citra berwarna abu-abu ... 65

Gambar 4.27 Histogram citra berwarna ... 65

Gambar 4.28 Grafik hubungan prosentase keberhasilan ekstraksi dengan jumlah

karakter pesan Lena BW ... 67

Gambar 4.29 Grafik hubungan waktu penyembunyian dan waktu ekstraksi

dengan jumlah karakter pesan Lena BW ... 69

Gambar 4.30 Grafik hubungan ukuran file stego dengan jumlah karakter pesan

Lena BW ... 70

Gambar 4.31 Grafik hubungan prosentase keberhasilan ekstraksi dengan ukuran

file citra Lena C ... 74

Gambar 4.32 Grafik hubungan waktu penyembunyian dan waktu ekstraksi

dengan ukuran file citra ... 75

(20)

Tabel 2.2 Perbandingan citraasli dengan citrastego ... 10

Tabel 2.3 Piksel citradan koefisien DCT ... 14

Tabel 2.4 Tabel kuantisasi standar JPEG ... 15

Tabel 2.5 Pengkuantisasian koefisien DCT ... 16

Tabel 4.1 Perbandingan hasil pengujian menggunakan citra Lena C ... 58

Tabel 4.2 Perbandingan hasil pengujian menggunakan citra Lena C dengan jumlah karakter 500 ... 60

Tabel 4.3 Perbandingan piksel citra asli dengan piksel citra stego ... 64

Tabel 4.4 Perbandingan hasil pengujian menggunakan citra Lena BW .. 66

Tabel 4.5 Perbandingan hasil pengujian menggunakan Pesan 3.txt ... 71

Tabel 4.6 Perbandingan piksel citra asli Peppers BW dengan piksel citra stego Peppers BW Stego3 ... 73

Tabel 4.7 Perbandingan kualitas citra asli dengan citra stego ... 78

Tabel 4.8 Pengujian ekstraksi pesan pada citra stego yang dilakukan operasi manipulasi ... 80

(21)

1.1Latar Belakang

Pencurian informasi dan data digital melalui komputer semakin

meningkat seiring dengan semakin berkembangnya teknologi digital dan

internet. Pencurian ini sering terjadi pada proses pengiriman data dan juga

pembobolan data pada database yang dilindungi. Oleh karena itu, data yang

dikirimkan dan dilindungi tersebut perlu dijaga keamanannya sehingga jika

ada pihak yang mencuri maka tidak bisa mengetahui data tersebut.

Cara yang digunakan untuk melindungi data yang dikirimkan sangat

banyak seperti memberikan password pada data yang dikirimkan, data

dienkripsi dengan prinsip kriptografi, dan juga pesan disisipkan dalam suatu

media digital dengan prinsip steganografi. Data yang dimodifikasi dengan

prinsip kriptografi menghasilkan bentuk yang acak sehingga dapat dengan

mudah menimbulkan kecurigaan. Pada data yang dimodifikasi dengan prinsip

steganografi, bentuk yang dihasilkan terlihat normal [1]. Karena bentuk data

yang asli dan yang telah dimodifikasi tidak terdapat perbedaan, maka

membuat data rahasia tersebut tidak menimbulkan kecurigaan dan lebih aman.

Prinsip dari steganografi yaitu menyembunyikan data atau pesan

rahasia di dalam data lain tanpa mengubah data yang ditumpanginya [2].

Steganografi dapat digunakan pada berbagai macam bentuk data, yaitu citra,

audio, dan video. Salah satu data yang dapat digunakan sebagai media dalam

(22)

steganografi yaitu citra dengan format JPEG. JPEG merupakan format citra

yang paling sering digunakan untuk mengirimkan gambar digital melalui

email dan komunikasi internet lainnya [3].

Beberapa metode yang digunakan pada steganografi, antara lain Least

Significant Bit (LSB), Discrete Cosine Transformation (DCT), dan Fast

Fourier Transform (FFT). Metode LSB merupakan metode yang paling

sederhana karena hanya mengganti LSB setiap piksel dengan bit pesan secara

berurutan. Metode ini berbasiskan domain spasial (ruang) sehingga perubahan

pada piksel akan lebih mudah diketahui. Metode DCT dan FFT berbasiskan

domain frekuensi. Piksel yang masih berdomain spasial diubah menggunakan

metode DCT atau FFT sehingga menjadi berdomain frekuensi [2]. Modifikasi

koefisien yang terjadi pada domain frekuensi tersebut menyebabkan

perubahan yang terjadi tidak terlihat langsung oleh mata manusia [1].

Metode DCT memiliki komputasi algoritma yang lebih sederhana

dibandingkan dengan FFT. Metode DCT juga digunakan pada kompresi

JPEG. Pada kompresi JPEG, koefisien-koefisien yang tidak memberikan

pengaruh terhadap kualitas citra akan dibuang [4]. Sedangkan pada

steganografi, koefisien-koefisien yang tidak dibuang akan digunakan untuk

menyisipkan bit pesan.

Berdasarkan pertimbangan dan permasalahan di atas, dalam penulisan

tugas akhir ini, penulis memilih judul ”Konsep dan Analisa Steganografi Citra

(23)

1.2 Rumusan Masalah

Permasalahan yang timbul dalam rencana pembuatan program steganografi

citra ini adalah bagaimana mengimplementasikan metode DCT untuk

membangun sebuah aplikasi steganograficitra.

1.3 Batasan Masalah

Batasan masalah dalam mengimplementasikan metode DCT pada steganografi

citraini adalah :

1. Citra yang digunakan untuk menyimpan pesan dalam implementasi ini

dibatasi untuk format JPEG/JPG (*.JPEG atau *.JPG) yang mempunyai

keping warna red, green, dan blue.

2. Pesan yang akan disembunyikan dibatasi untuk text message.

3. Metode yang digunakan untuk penyembunyian pesan pada citra yaitu

Discrete Cosine Transformation (DCT).

4. Pesan yang tersembunyi dalam citra dapat diekstraksi atau dipisahkan

kembali dari citra.

5. Program dibuat untuk pemakaian single user.

6. Program dibuat dengan bahasa pemrograman Matlab.

1.4 Tujuan Penelitian

Tujuan penelitian ini adalah mengimplementasikan metode DCT untuk

membangun sebuah aplikasi steganografi citra.

(24)

1.5Metodologi Penelitian

1. Studi Literatur

a. Mempelajari prinsip steganografi sebagai pengetahuan dasar untuk

memecahkan masalah.

b. Mempelajari metode DCT dan proses kerjanya untuk steganografi

pada citradari literatur, buku pendukung, dan referensi dokumen situs

internet.

c. Mempelajari penggunaan kode-kode program dalam Matlab untuk

mendukung pemecahan masalah.

2. Analisis Sistem

Membuat gambaran mengenai kebutuhan sistem dan data serta proses

yang diperlukan dalam mengimplemetasikan program.

3. Perancangan Sistem

Membuat rancangan interface aplikasi steganograficitra.

4. Pembuatan Program

Membuat program steganografi citra.

5. Pengujian Program

Membuktikan dan menganalisa program steganografi citra yang dibuat

(25)

1.6Sistematika Penulisan

BAB I PENDAHULUAN

Bab ini berisi latar belakang masalah, rumusan masalah, batasan

masalah, tujuan penulisan, metodologi penelitian, dan sistematika

penulisan.

BAB II. LANDASAN TEORI

Bab ini berisi uraian dasar teori yang digunakan meliputi

pengertian citra, steganografi, steganografi citra, metode DCT

untuk menyembunyikan pesan, dan konversi color space.

BAB III ANALISIS DAN PERANCANGAN SISTEM

Bab ini berisi analisis dan rancangan sistem steganografi citrayang

akan dibuat.

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab ini berisi gambaran implementasi program, pengujian dan

analisa hasil pengujian sistem.

BAB V PENUTUP

Bab ini berisi kesimpulan dan saran dari hasil pengujian sistem

(26)

2.1Citra

Citra adalah gambar pada bidang dua dimensi. Citra jugamerupakan

fungsi kontinyu dari intensitas cahaya pada bidang dua dimensi. Citra ada dua

macam yaitu citra kontinyu dan citra diskrit. Citra kontinyu dihasilkan dari

sistem optik yang menerima sinyal analog, misalnya mata manusia dan

kamera analog. Citra diskrit (digital image) dihasilkan melalui proses

digitalisasi terhadap citra kontinyu [5].

Citra diskrit atau citra digital yang berukuran N x M lazimnya

dinyatakan dengan matriks berukuran N baris dan M kolom. Matriks citra

berukuran N x M ditunjukkan oleh Tabel 2.1.

Tabel 2.1 Matriks citra berukuran N x M [5]

Berdasarkan Tabel 2.1, (x,y) adalah koordinat pada bidang dua dimensi dan

f(x,y) adalah intensitas cahaya (brightness) pada titik (x,y). Masing-masing

elemen pada citra digital disebut piksel (picture element). Jadi, citra yang

berukuran N x M tersebut mempunyai N x M buah piksel. Sebagai contoh,

misalkan suatu citra berukuran 256 x 256 piksel dengan intensitas beragam

(27)

pada tiap pikselnya direpresentasikan secara numerik dengan matriks terdiri

dari 256 baris dan 256 kolom.

2.2Steganografi

2.2.1 Pengertian dan Sejarah Steganografi

Steganografi (steganography) merupakan ilmu dan seni

menyembunyikan pesan sedemikian rupa sehingga orang lain tidak

menyadari ada sesuatu di dalam pesan tersebut. Tujuan steganografi

adalah menyembunyikan pesan ke dalam pesan lainnya dengan maksud

tidak mengizinkan pihak asing untuk mendeteksi keberadaan pesan

rahasia. Kata steganografi berasal dari bahasa Yunani yang terdiri atas

steganos dan graphein. Steganos berarti tersembunyi atau terselubung dan

graphein berarti menulis [6]. Jadi, kurang lebih steganografi berarti

menulis tulisan yang tersembunyi.

Steganografi sudah dikenal sejak zaman Romawi dan Yunani

kuno. Catatan tertua mengenai penggunaan steganografi tercatat pada

masa Yunani kuno. Pada saat itu, penguasa Yunani, Histiaues, sedang

ditawan oleh Raja Darius di Susa. Histiaeus ingin mengirim pesan rahasia

kepada menantunya, Aristagoras, di Miletus. Untuk itu, Histiaeus

mencukur rambut budaknya dan menatokan pesan rahasia yang ingin

dikirim di kepala budak tersebut. Kemudian setelah rambut budak tersebut

tumbuh cukup lebat, ia dikirim ke Miletus. Pada tempat tujuannya, rambut

(28)

Tinta yang tidak tampak merupakan salah satu metode yang

populer dalam bidang steganografi. Bangsa Romawi telah menggunakan

tinta yang tidak tampak ini untuk menulis pesan di antara baris-baris pesan

yang ditulis dengan tinta biasa. Tinta yang tidak tampak ini dapat dibuat

dari sari jeruk atau susu. Ketika dipanaskan, warna tinta yang tidak tampak

akan menjadi gelap dan tulisannya akan menjadi dapat terbaca. Tinta yang

tidak tampak ini juga digunakan dalam Perang Dunia II.

Pada abad ke 20, selama perang Boer, Lord Boden Powell

(pendiri gerakan kepanduan) menggambar peta-peta posisi musuh pada

sayap kupu-kupu agar gambar peta sasaran tersebut terkamuflase.

Dari contoh-contoh steganografi konvensional tersebut, dapat

dilihat bahwa teknik steganografi konvensional berusaha merahasiakan

komunikasi dengan cara menyembunyikan pesan ataupun mengkamuflase

pesan. Maka sesungguhnya prinsip dasar dalam steganografi lebih

dikonsentrasikan pada kerahasian komunikasinya bukan pada datanya [7].

Steganografi sering dihubungkan dengan kriptografi walaupun

sebenarnya kedua teknik tersebut tidak sama. Kriptografi merahasiakan

makna pesan sementara eksistensi pesan tetap ada, sedangkan steganografi

menutupi keberadaan pesan. Steganografi memungkinkan pengiriman

pesan secara rahasia tanpa diketahui bahwa pesan sedang dikirim. Hal ini

membuat pihak ketiga tidak menyadari keberadaan pesan. Sebaliknya,

penggunaan kriptografi akan menarik kecurigaan pihak ketiga bahwa ada

(29)

Dengan adanya komputer, steganografi memperoleh kemajuan

yang sangat pesat. Steganografi saat ini mulai menggunakan file

multimedia sebagai media untuk menyembunyikan pesan rahasia, baik itu

berupa gambar (citra), suara, atau video. Dalam menyembunyikan pesan,

ada beberapa kriteria yang harus dipenuhi, yaitu [5] :

1. Fidelity

Mutu media penampung tidak banyak berubah akibat penyisipan.

Perubahan yang terjadi harus tidak dapat dipersepsi indera manusia.

2. Robustness

Data yang disembunyikan harus tahan (robust) terhadap berbagai

operasi manipulasi yang dilakukan pada media penampung. Operasi

manipulasi tersebut seperti pengubahan kontras, penajaman,

pemampatan, rotasi, perbesaran gambar, dan pemotongan (cropping).

3. Recovery

Pesan yang disembunyikan harus dapat diungkap kembali (reveal).

Tujuan steganografi adalah menyembunyikan informasi, sehingga

sewaktu-waktu informasi yang disembunyikan ini harus dapat diambil

kembali untuk selanjutnya dapat digunakan sesuai keperluan.

2.2.2 SteganografiCitra

Steganografi citra merupakan salah satu cabang dari steganografi.

Penyisipan pesan rahasia pada steganografi citra dilakukan ke dalam

(30)

terpakai atau data yang tidak penting. Steganografi mengambil keuntungan

dari ruang-ruang yang tidak terpakai tersebut untuk digantikan dengan

pesan yang perlu disembunyikan. File tersebut kemudian ditukar tanpa

seseorang mengetahui apa yang sebenarnya berada di dalamnya.

Konsep steganografi citra mengambil bagian dari kelemahan

indera penglihatan manusia. Mata manusia mempunyai sifat kurang peka

terhadap perubahan kecil yang terjadi pada objek yang dalam kasus ini

adalah citra. Sehingga, manusia sulit membedakan mana citra yang asli

dan mana citra yang sudah ditukar atau yang di dalamnya terdapat pesan.

Contoh citra asli yang di dalamnya tidak terdapat pesan dengan citrayang

di dalamnya terdapat pesan (disebut juga citra stego) ditunjukkan oleh

Tabel 2.2.

Tabel 2.2 Perbandingan citraasli dengan citrastego [9]

Citra tanpa pesan tersembunyi (Citraasli) 16778 byte

(31)

Citra asli yang digunakan pada Tabel 2.2 berukuran 15 Kb dan

berekstensi JPEG. Citrastego yang dihasilkan berisi pesan yang berukuran

1,5 Kb. Kedua citratersebut hasilnya terlihat tetap sama [9].

2.3Discrete Cosine Transformation (DCT)

2.3.1 Pengertian Discrete Cosine Transformation

Discrete Cosine Transformation (DCT) adalah suatu metode

transformasi sinyal ke dalam dasar komponen frekuensi. DCT beroperasi

dengan memisahkan citra ke dalam bagian-bagian dari frekuensi yang

berbeda. Selain itu, DCT mempunyai kerapatan tingkat energi yang cukup

baik. Hal ini disebabkan sebagian besar sinyal informasi cenderung

terkonsentrasi di frekuensi rendah [10].

DCT sebagian besar digunakan dalam teknik kompresi citra dan

video. Sebagai contoh, DCT digunakan dalam kompresi citra JPEG,

MJPEG, MPEG dan kompresi video. Pada kompresi citra, komputasi

dilakukan pada DCT N x N blok suatu citra dan hasilnya dikuantisasi

kemudian dilewatkan pada proses pembuatan kode entropi. Dalam hal ini,

N adalah 8 dan DCT diaplikasikan pada masing-masing baris dan kolom

[10]. Gambar 2.1 menampilkan penerapan dari DCT N x N blok.

(32)

Selain digunakan untuk kompresi citra, DCT juga dapat

digunakan untuk menyembunyikan informasi/pesan. Pesan tersebut

disisipkan pada sinyal tetapi bukan pada noise [11]. Pada umumnya

kompresi dan penyembunyian pesan dapat dilakukan secara bersamaan.

Hal ini dapat ditunjukkan oleh diagram blok proses kompresi dan

penyembunyian pesan pada Gambar 2.2.

Data citra asli blok 8x8

DCT Entropy

coding Embedder

Kuantisasi

Data citra terkompresi Pengkuantisasi

Pesan Enkripsi

key

Tabel huffman

Data citra terkompresi

Decoding Dekuantisasi Invers DCT Pengkuantisasi

Tabel huffman Data citra

rekonstruksi

Gambar 2.2 Diagram blok proses kompresi dan penyembunyian pesan [12]

Untuk lebih menghemat waktu, penyembunyian pesan dapat

dilakukan pada media yang telah dikompresi [11]. Dalam hal ini, media

yang dikompresi tersebut adalah citra berekstensi JPEG. Penyembunyian

pesan pada media yang telah dikompresi sehingga menghasilkan citra

stego seperti ditunjukkan oleh diagram blok proses penyembunyian pesan

(33)

Data Citra Asli Terkompresi

blok 8x8

DCT Kuantisasi Embedder Dekuantisasi IDCT

Citra Stego

Pesan Enkripsi

key

Gambar 2.3 Diagram blok penyembunyian pesan [13]

Pesan yang telah disembunyikan dalam citra harus dapat dibaca

kembali supaya penerima pesan mengetahui apa yang akan disampaikan

pengirim pesan. Supaya pesan dapat dibaca kembali perlu dilakukan

ekstraksi pesan pada citra stego. Proses ekstraksi pesan pada citra stego

ditunjukkan oleh diagram blok proses ekstraksi pesan pada Gambar 2.4.

Citra Stego blok 8x8

DCT Kuantisasi Decoder Dekripsi

key

Pesan

Gambar 2.4 Diagram blok ekstraksi pesan [13]

2.3.2 Persamaan DCT

Persamaan DCT dapat didefinisikan sebagai berikut [4][3] :

yang disebut koefisien DCT dengan u adalah posisi baris matriks koefisien

DCT dan v adalah posisi kolom matriks koefisien DCT. f(x,y) adalah

(34)

posisi baris dan y adalah posisi kolom. N adalah ukuran blok matriks dari

operasi DCT. C(u) sama dengan C(v) dan didefinisikan sebagai berikut :

Dalam hal ini, ukuran blok matriks piksel citra yang digunakan

adalah 8 x 8, sehingga N sama dengan 8. Persamaan DCT tersebut dapat

dituliskan sebagai berikut [3] :

Contoh sederhana nilai piksel citra f(x,y) yang dihitung

menggunakan persamaan DCT (2.3), sehingga menghasilkan koefisien

DCT F(u,v) ditunjukkan pada Tabel 2.3.

Tabel 2.3 Piksel citradan koefisien DCT [4]

Piksel citra

f(x,y)

Koefisien DCT

F(u,v)

2.4 Kuantisasi

Setelah masing-masing matriks 8 x 8 koefisien DCT didapatkan,

(35)

koefisien DCT akan dibagi dengan nilai-nilai yang bersesuaian dengan tabel

kuantisasi yang digunakan. Hasil pembagian tersebut dibulatkan ke bilangan

bulat terdekat. Proses kuantisasi ini merupakan proses untuk mereduksi

sebagian besar komponen frekuensi tinggi [14]. Persamaan kuantisasi

didefinisikan sebagai berikut [3] :

dengan FQ(u,v) adalah matriks hasil kuantisasi, F(u,v) adalah matriks

koefisien DCT, dan Q(u,v) adalah 64 elemen tabel matriks pengkuantisasi.

Tabel kuantisasi yang digunakan untuk proses kuantisasi ini adalah tabel

kuantisasi standar (Default Quantization Table) yang diberikan oleh JPEG.

Tabel kuantisasi standar JPEG dihasilkan oleh komite JPEG dan

dapat digunakan untuk teknik kompresi dengan hasil paling baik. Tabel

kuantisasi standar JPEG tersebut ditunjukkan pada Tabel 2.4.

Tabel 2.4 Tabel kuantisasi standar JPEG [14].

Berdasarkan Tabel 2.4, nilai kuantisasi mulai dari kiri atas matriks hingga

kanan bawah matriks secara umum mengalami peningkatan nilai. Nilai

pembagian yang semakin besar hingga kanan bawah matriks pengkuantisasi

(36)

Frekuensi tinggi mempunyai nilai nol (0) yang merepresentasikan

informasi yang kurang penting dan tidak akan digunakan. Contoh

pengkuantisasian koefisien DCT F(u,v) dengan tabel kuantisasi standar Q(u,v),

sehingga menghasilkan kuantisasi DCT FQ(u,v) ditunjukkanoleh Tabel 2.5.

Tabel 2.5 Pengkuantisasian koefisien DCT [4]

Koefisien DCT

F(u,v)

Tabel Kuantisasi Standar Q(u,v)

Kuantisasi DCT

FQ(u,v)

Berdasarkan Tabel 2.5, bagian kiri atas matriks hasil kuantisasi DCT

merupakan frekuensi rendah dan merepresentasikan informasi yang penting.

Frekuensi rendah yang mempunyai nilai tidak nol akan digunakan untuk

merekonstruksi citra [9].

2.5 Embedder dan Decoder 2.5.1 Embedder

Proses embedder merupakan proses penyisipan atau

penyembunyian pesan. Algoritma yang digunakan untuk menyisipkan

pesan ke dalam citra dalam hal iniadalah JSteg. JSteg diperkenalkan oleh

Derek Upham dan digunakan pada steganografi untuk citra JPEG [3].

(37)

kuantisasi. Matriks kuantisasi DCT yang bernilai 0 dan 1 tidak akan

dimodifikasi. Nilai selain 0 dan 1 akan dimodifikasi dan digunakan untuk

menyisipkan pesan [9]. Algoritma penyisipan dilakukan dengan cara

mengganti LSB (Least Significant Bit) nilai kuantisasi DCT dengan 1 bit

pesan secara sekuensial [3]. Algoritma JSteg tidak menggunakan enkripsi

pada pesan sehingga tidak memerlukan kunci (key) untuk membuka pesan.

Pada saat dilakukan penyembunyian pesan, pertama kali pada

citra akan disisipkan penanda atau flag. Flag ini digunakan untuk

menandai bahwa di dalam citra tersebut terdapat pesan rahasia. Flag yang

disisipkan ke dalam citra berupa karakter ’$+39’. Jumlah bit karakter flag

tersebut adalah 24.

Citra yang dihasilkan setelah penyembunyian pesan akan

mempunyai informasi tentang pesan yang disembunyikan. Informasi

tersebut terletak mulai pada bagian pojok kiri atas citra menuju ke pojok

kanan citra. Gambar 2.5 menunjukkan format informasi pesan tersembunyi

pada steganografi citra.

+---+---+--- ---

+---| FLAG | A | B B B . . . B | C C C C C C . . .

+---+---+--- ---+---

Gambar 2.5 Format informasi pesan tersembunyi [9]

Berdasarkan Gambar 2.5, FLAG terdiri dari 24 bit. A selalu

terdiri dari 5 bit yang menunjukkan jumlah bit field B. B merupakan bit

yang menunjukkan panjang byte pesan yang akan disembunyikan. Jumlah

(38)

pesan yang akan disembunyikan. Setiap karakter pesan dikonversi menjadi

8 bit.

Contoh ilustrasi penyisipan karakter ’$’ yang merupakan karakter

pertama dari flag ditunjukkan pada Gambar 2.6. Karakter flag ’$’ ini

hanya terdiri dari enam bit.

Komputasi Kuantisasi Komputasi

DCT

Piksel Citra Koefisien DCT

Bit kuantisasi DCT

Bit karakter ‘$’ disisipkan secara berurutan pada LSB kuantisasi DCT

yang tidak 0 dan tidak 1

Kuantisasi DCT

Konversi ke Biner

[$] = [100100]

Konversi ke Desimal

Bit kuantisasi DCT yang disisipi bit karakter ‘$’ Kuantisasi DCT yang

terdapat bit karakter ‘$’

Gambar 2.6 Ilustrasi penyisipan karakter pertama flag ’$’

Kode warna ungu pada Gambar 2.6 menunjukkan nilai kuantisasi

DCT yang akan digunakan untuk menyisipkan/menyembunyikan bit

karakter ’$’. Bit berwarna ungu yang diberi garis bawah menunjukkan

(39)

mulai dari MSB (Most Significant Bit) sampai dengan LSB secara

berurutan. LSB yang berwarna hitam pada bit berwarna ungu

menunjukkan bit karakter ’$’ yang telah disisipkan pada bit kuantisasi

DCT.

Setiap bit karakter ‘$’ disisipkan pada setiap nilai kuantisasi yang

tidak 0 dan 1 secara berurutan dari kolom pertama menuju kolom

kedelapan kemudian diulangi pada baris selanjutnya. Jika proses

penyisipan pada satu blok 8x8 kuantisasi DCT telah selesai, maka

dilanjutkan ke blok matriks berikutnya.

2.5.2 Decoder

Proses decoder merupakan proses ekstraksi pesan yang terdapat

di dalam citra. Ekstraksi pesan dilakukan dengan cara mengambil LSB

setiap nilai kuantisasi DCT. Urutan pengambilan LSB ini sama dengan

saat penyisipan bit, yaitu mulai dari posisi awal matriks kuantisasi DCT

(posisi kiri atas).

Ekstraksi pertama kali dilakukan pada 24 bit pertama yang

menunjukkan flag. 24 bit pertama tersebut merupakan 24 nilai pertama

kuantisasi DCT yang tidak 0 atau 1. Bit yang telah diekstrak tersebut

selanjutnya dikonversi kembali menjadi karakter. Bila karakter yang

diekstrak tersebut adalah ’$+39’, artinya citra tersebut terdapat pesan yang

disembunyikan dan dapat dilakukan proses ekstraksi selanjutnya. Tetapi

(40)

Proses ekstraksi kedua setelah ekstraksi flag, yaituekstraksi lima

bit yang menunjukkan jumlah bit untuk menampung byte pesan yang

disembunyikan. Ekstraksi yang ketiga memiliki panjang sesuai dengan

yang ditunjukkan ekstraksi kedua. Ekstraksi ketiga ini untuk mendapatkan

ukuran byte pesan atau panjang pesan yang disembunyikan. Ekstraksi

keempat berfungsi untuk mengekstrak pesan rahasia yang disembunyikan

di dalam citra.

Contoh ilustrasi pengekstraksian pesan dari LSB kuantisasi DCT

ditampilkan pada Gambar 2.7.

Komputasi Kuantisasi Komputasi

DCT

Piksel Citra Stego Koefisien DCT Stego

Bit kuantisasi DCT Stego

6 LSB kuantisasi DCT stego diekstraksi

Kuantisasi DCT Stego Konversi ke Biner

[ 1 0 0 1 0 0 ]

Blok LSB

Konversi ke Karakter

[ $ ]

Karakter ‘$’

Gambar 2.7 Ilustrasi pengekstraksian karakter pertama flag ’$’

Pengekstraksian pesan berdasarkan Gambar 2.7 merupakan ilustrasi

pengekstraksian karakter pertama ’$’ pada flag citra stego. Enam LSB

nilai kuantisasi DCT stego diekstraksi kemudian dimasukkan ke dalam

blok LSB. Blok LSB yang dihasilkan berisi bit 100100. Blok LSB tersebut

(41)

Desimal tersebut kemudian dikonversi ke dalam karakter ASCII sehingga

dihasilkan kembali karakter ’$’.

2.6 Dekuantisasi

Matriks yang diperoleh setelah proses decoding harus dilakukan

dekuantisasi. Dekuantisasi ini berfungsi untuk mendapatkan kembali matriks

koefisien DCT. Persamaan dekuantisasi dapat didefinisikan sebagai berikut :

(2.5)

dengan F(u,v) adalah matriks koefisien DCT, FQ(u,v) adalah matriks hasil

proses decoding, dan Q(u,v) adalah tabel matriks kuantisasi standar.

2.7 Invers DCT

Setelah mendapatkan matriks koefisien DCT dari proses

dekuantisasi, langkah berikutnya adalah memperoleh data yang

merepresentasikan citra. Caranya adalah dengan menginverskan matriks

koefisien DCT. Persamaan invers DCT didefinisikan sebagai berikut [11][3] :

adalah posisi kolom matriks invers DCT. F(u,v) adalah matriks koefisien DCT

(42)

matriks koefisien DCT. C(u) sama dengan C(v) dan didefinisikan sebagai

berikut :

(2.7)

2 1

jika u = 0

C(u) =

1 jika u > 0

2.8 Transformasi color space RGB ke YCbCr

Citra berwarna mempunyai tiga komponen warna atau color space

yaitu Red, Green, dan Blue (RGB). Red diwakili oleh komponen/keping

pertama, green oleh keping kedua, dan blue oleh keping ketiga. Tiga

komponen warna RGB ini dilakukan proses transformasi warna dengan tujuan

untuk mendapatkan color space yang dapat diproses dengan metode DCT.

Color space RGB kurang efisien untuk pemrosesan sinyal citra karena di

dalamnya terdapat banyak redudansi yang akan mengurangi kualitas citra.

Proses transformasi warna dilakukan dengan mengubah format color

space RGB ke dalam color space YCbCr. Color space YCbCr merupakan

standar pengembangan pada citra JPEG. Color space ini mempunyai satu

komponen luminance (Y) dan dua komponen chrominance (Cb dan Cr) [15].

Gambar 2.8 menampilkan color space RGB dan YCbCr.

(43)

Persamaan konversi dari RGB ke YCbCr untuk citra JPEG

didefinisikan sebagai berikut [16] :

(2.8)

Setelah proses transformasi citra dilakukan, maka nilai masing-masing

komponen Y, Cb, dan Cr dikelompokkan menjadi blok matriks 8 x 8 dan

dilakukan proses perhitungan koefisien DCT [15].

2.9 Transformasi color space YCbCr keRGB

Pada saat dilakukan proses penyembunyian pesan, color space pada

citra adalah YCbCr yang terdiri dari satu komponen luminance (Y) dan dua

komponen chrominance (Cb dan Cr). Setelah proses invers DCT, color space

harus ditransformasi kembali ke dalam color space RGB. Persamaan konversi

dari YCbCr ke RGB didefinisikan sebagai berikut [16] :

(44)

Bab ini akan membahas tentang analisis dan perancangan program

aplikasi steganografi citra menggunakan metode DCT. Format file citra yang

digunakan yaitu *.JPEG (atau *.JPG). Perangkat lunak yang digunakan untuk

implementasi program ini adalah MATLAB.

3.1Analisis Sistem

3.1.1 Kebutuhan Hardware

a. Pentium III / IV CPU 1,7GHz

b. RAM 512 Mb

c. Harddisk 20 Gb

d. Mouse, Keyboard, Monitor

3.1.2 Kebutuhan Software

a. Windows 98 / 2000 / XP

b. Matlab 7.0

3.1.3 DFD (Data Flow Diagram)

Steganografi dapat dimodelkan dengan menggunakan DFD.

Pemodelan ini berdasarkan pada cara kerja metode DCT. DFD yang

(45)

digunakan dalam penelitian ini adalah model Gane dan Sarson. Model

DFD tersebut dapat dijelaskan sebagai berikut :

1. DFD Level 0 (Diagram Konteks)

DFD level 0 merupakan level tertinggi dari DFD yang

menggambarkan semua aliran data masukan ke sistem dan aliran data

keluaran dari sistem. Entitas eksternal data hanya ada satu, yaitu user.

Proses yang terdapat pada level ini juga hanya ada satu, yaitu Sistem

Penyembunyian / Ekstraksi Pesan pada Citra. Gambar 3.1

menampilkan DFD level 0 Sistem Penyembunyian / Ekstraksi Pesan

pada Citra.

User

0

Sistem

Penyembunyian / Ekstraksi Pesan pada Citra pesan asli, citra stego

pesan asli, citra asli, citra stego

Gambar 3.1 DFD Level 0

User merupakan orang yang akan menggunakan perangkat

lunak steganografi citra. User harus memasukkan data pesan asli, citra

asli, dan citra stego supaya Sistem Penyembunyian / Ekstraksi Pesan

pada Citra dapat berjalan. Data-data yang merupakan hasil dari

pemrosesan data pada sistem ini yaitu pesan asli dan citra stego.

2. Diagram Dekomposisi

Diagram dekomposisi digunakan untuk membagi sebuah

(46)

proses yang lebih rinci. Proses-proses yang lebih rinci tersebut

ditunjukkan pada Gambar 3.2.

0

Sistem

Penyembunyian / Ekstraksi Pesan pada Citra

1.0

Penyembunyian Pesan

2.0

Ekstraksi Pesan

1.1P

Inisialisasi Koefisien DCT

1.2P Proses Penyembunyian

Pesan

2.1P Inisialisasi Koefisien DCT

Stego

2.2P

Proses Ekstrak Pesan 1.3P

Tulis Citra Stego

Gambar 3.2 Diagram Dekomposisi

Proses-proses yang dapat dilakukan user berdasarkan

Gambar 3.2, yaitu :

a) Penyembunyian Pesan

Proses ini dibagi menjadi tiga bagian subproses, yaitu Inisialisasi

Koefisien DCT, Proses Penyembunyian Pesan, dan Tulis Citra

Stego.

b) Ekstraksi Pesan

Proses ini dibagi menjadi dua bagian subproses, yaitu Inisialisasi

Koefisien DCT Stego dan Proses Ekstrak Pesan.

3. DFD Level 1

DFD level 1 merupakan perincian proses-proses pada

(47)

Penyembunyian Pesan dan Ekstraksi Pesan. Gambar 3.3 menunjukkan

entitas eksternal dan aliran data yang terlibat dalam kedua proses

tersebut.

User

1.0

Penyembunyian Pesan

2.0

Ekstraksi Pesan citra stego

pesan asli citra stego pesan asli, citra asli

Gambar 3.3 DFD Level 1

Penjelasan secara rinci masing-masing proses

Penyembunyian Pesan dan Ekstraksi Pesan berdasarkan Gambar 3.3,

yaitu :

a) Penyembunyian Pesan

Ketika melakukan proses penyembunyian pesan, user harus

memasukkan data pesan asli dan citra asli. Data pesan asli dan citra

asli tersebut selanjutnya akan diolah oleh proses Penyembunyian

Pesan. Hasil pengolahan tersebut diterima user berupa data citra

stego.

b) Ekstraksi Pesan

Ketika melakukan proses ekstrak pesan, user harus memasukkan

data citra stego. Data tersebut selanjutnya akan diolah oleh proses

Ekstraksi Pesan. Hasil pengolahan tersebut diterima user berupa

(48)

4. DFD Level 2

DFD level 2 merupakan perincian proses-proses pada

diagram dekomposisi tingkat kedua. Proses tersebut ada lima, yaitu

Inisialisasi Koefisien DCT, Proses Penyembunyian Pesan, Tulis Citra

Stego, Inisialisasi Koefisien DCT Stego, dan Proses Ekstrak Pesan.

Gambar 3.4 menunjukkan entitas eksternal dan aliran data yang terlibat

dalam kelima proses tersebut.

1.1P

Inisialisasi Koefisien DCT

2.1P Inisialisasi Koefisien DCT

Stego

Tulis Citra Stego

2.2P

Proses Ekstrak Pesan citra asli, pesan asli

pesan asli, blok kuantisasi DCT

blok kuantisasi DCT yang terdapat LSB pesan citra stego

citra stego

blok kuantisasi DCT Stego

pesan asli

Gambar 3.4 DFD Level 2

Rincian proses yang terjadi pada penyembunyian pesan

dibagi menjadi tiga, yaitu :

a) Inisialisasi Koefisien DCT

Data citra asli dan pesan asli yang dimasukkan oleh user akan

diolah oleh proses inisialisasi koefisien DCT. Data keluaran dari

proses ini adalah pesan asli dan blok kuantisasi DCT. Kedua data

(49)

b) Proses Penyembunyian Pesan

Data masukan untuk proses penyembunyian pesan ini adalah pesan

asli dan blok kuantisasi DCT. Kedua data tersebut diolah sehingga

akan dihasilkan data blok kuantisasi DCT yang di dalamnya

terdapat LSB pesan.

c) Tulis Citra Stego

Blok kuantisasi DCT yang di dalamnya terdapat LSB pesan

digunakan sebagai data masukan untuk proses tulis citra stego.

Data masukan tersebut diolah sehingga akan dihasilkan data citra

stego.

Rincian proses yang terjadi pada ekstraksi pesan dibagi

menjadi tiga, yaitu :

a) Inisialisasi Koefisien DCT Stego

Data citra stego yang dimasukkan oleh user akan diolah oleh

proses inisialisasi koefisien DCT stego. Data keluaran dari proses

ini adalah blok kuantisasi DCT stego. Data tersebut akan

digunakan untuk proses ekstrak pesan.

b) Proses Ekstrak Pesan

Blok kuantisasi DCT stego digunakan sebagai data masukan untuk

proses ekstrak pesan. Data masukan tersebut diolah sehingga akan

(50)

3.1.4 Diagram Alir

Setiap proses yang terjadi di dalam sistem dapat dijelaskan

dengan menggunakan diagram alir. Berikut ini beberapa diagram alir dari

proses yang ada dalam DFD.

3.1.4.1 Algoritma Penyembunyian Pesan

Berdasarkan proses yang terjadi dalam DFD, maka algoritma

proses penyembunyian pesan pada citra dibagi menjadi tiga bagian, yaitu

inisialisasi koefisien DCT, proses penyembunyian pesan, dan tulis citra

stego.

1. Inisialisasi koefisien DCT

a. Masukkan file citra bertipe JPEG yang akan digunakan untuk

menyembunyikan pesan.

b. Masukkan file pesan bertipe txt yang akan disembunyikan.

c. Hitung panjang karakter pesan dari file pesan yang dimasukkan.

d. Transformasi citra menjadi piksel.

e. Konversi piksel warna RGB ke komponen YCbCr.

f. Kelompokkan piksel komponen ke dalam n blok matriks 8 x 8.

g. Hitung koefisien DCT pada setiap blok matriks piksel.

h. Hitung kuantisasi DCT pada setiap blok matriks koefisien DCT.

Algoritma penyembunyian pesan untuk proses inisialisasi koefisien

DCT tersebut dapat digambarkan dengan diagram alir seperti

(51)

START

Masukkan file citra

Masukkan file pesan Ekstensi citra

.JPEG ?

Tidak

Ya

Transformasi citra menjadi piksel Ekstensi pesan

.TXT?

Tidak

Ya

Hitung panjang karakter pesan

Konversi piksel warna RGB ke piksel komponen YCbCr

Citra RGB?

Ya Tidak

Hitung koefisien DCT setiap blok matriks piksel

Pengelompokkan piksel menjadi n blok matriks 8 x 8

Hitung kuantisasi DCT setiap blok matriks koefisien DCT

2

Gambar 3.5 Diagram alir inisialisasi koefisien DCT

2. Proses penyembunyian pesan

a. Konversi flag ‘$+39’ menjadi bit yang berjumah 24.

b. Konversi panjang pesan menjadi bit.

c. Hitung jumlah bit panjang pesan.

(52)

e. Konversi pesan menjadi bilangan 8 bit.

f. Kelompokkan kuantisasi DCT ke dalam n blok matriks 8 x 8.

g. Konversi kuantisasi DCT menjadi bilangan 8 bit.

h. Ganti 24 LSB pertama kuantisasi DCT dengan LSB flag secara

berurutan.

i. Ganti 5 LSB kuantisasi DCT berikutnya dengan LSB jumlah bit

panjang pesan secara berurutan.

j. Ganti LSB kuantisasi DCT selanjunya dengan LSB panjang pesan

secara berurutan.

k. Ganti LSB kuantisasi DCT selanjunya dengan LSB pesan secara

berurutan.

l. Konversi bit kuantisasi DCT menjadi desimal kuantisasi DCT.

Algoritma penyembunyian pesan untuk proses penyembunyian pesan

tersebut dapat digambarkan dengan diagram alir seperti ditunjukkan

pada Gambar 3.6.

1

Konversi desimal panjang pesan menjadi bit

Hitung jumlah bit panjang pesan Konversi flag ‘$+39’ menjadi bit yang

berjumah 24

A

(53)

Masih ada bit pesan untuk disembunyikan?

Ya

Kuantisasi DCT != 0 && Kuantisasi DCT != 1

Ya

Konversi desimal kuantisasi DCT menjadi bilangan 8 bit

Ganti LSB kuantisasi DCT selanjutnya dengan LSB pesan

Konversi bit kuantisasi DCT menjadi desimal kuantisasi DCT Tidak

Tidak

3 Ganti 5 LSB kuantisasi DCT berikutnya

dengan LSB jumlah bit panjang pesan

Ganti LSB kuantisasi DCT selanjunya dengan LSB panjang pesan A

Ganti 24 LSB pertama kuantisasi DCT dengan LSB flag secara berurutan Konversi pesan asli menjadi bilangan

desimal ASCII

Konversi desimal ASCII pesan menjadi bilangan 8 bit

Pengelompokkan kuantisasi DCT menjadi n blok matriks 8 x 8

Konversi desimal jumlah bit panjang pesan menjadi bilangan 5 bit

(54)

3. Tulis citra stego

a. Kelompokkan kuantisasi DCT ke dalam n blok matriks 8 x 8.

b. Hitung dekuantisasi DCT pada setiap blok matriks kuantisasi DCT.

c. Hitung invers koefisien DCT (IDCT) pada setiap blok matriks

dekuantisasi untuk mendapatkan kembali data piksel pada citra.

d. Konversi piksel komponen YCbCr ke piksel warna RGB.

e. Transformasi piksel menjadi citrastego.

Algoritma penyembunyian pesan untuk proses tulis citra stego tersebut

dapat digambarkan dengan diagram alir seperti ditunjukkan pada

Gambar 3.7.

2

Hitung dekuantisasi DCT setiap blok matriks kuantisasi DCT

Hitung invers DCT (IDCT) setiap blok matriks dekuantisasi DCT Pengelompokkan kuantisasi DCT

menjadi n blok matriks 8 x 8

Konversi piksel komponen YCbCr ke piksel warna RGB

Transformasi piksel menjadi citra stego

FINISH

(55)

3.1.4.2 Algoritma Ekstraksi Pesan

Berdasarkan proses yang terjadi dalam DFD, maka algoritma

ekstraksi pesan pada citra dibagi menjadi dua bagian, yaitu inisialisasi

koefisien DCT stego dan proses ekstrak pesan.

1. Inisialisasi koefisien DCT stego

a. Masukkan file citra stego bertipe .JPEG.

b. Transformasi citra menjadi piksel.

c. Konversi piksel warna RGB ke komponen YCbCr.

d. Kelompokkan piksel ke dalam n blok matriks 8 x 8.

e. Hitung koefisien DCT pada setiap blok matriks piksel.

f. Hitung kuantisasi DCT pada setiap blok matriks koefisien DCT.

Algoritma ekstraksi pesan untuk proses inisialisasi koefisien DCT

stego tersebut dapat digambarkan dengan diagram alir seperti

ditunjukkan pada Gambar 3.8.

START

Masukkan citra

Ekstensi citra .JPEG ?

Tidak

Ya

Transformasi citra menjadi piksel

Citra RGB ?

Ya Tidak

B

(56)

Konversi piksel warna RGB ke piksel komponen YCbCr

Hitung koefisien DCT setiap blok matriks piksel

Pengelompokkan piksel menjadi n blok matriks 8 x 8

Hitung kuantisasi DCT setiap blok matriks koefisien DCT

2 B

Gambar 3.8 (lanjutan) Diagram alirinisialisasi koefisien DCT stego

2. Proses ekstrak pesan

a. Kelompokkan kuantisasi DCT ke dalam n blok matriks 8 x 8.

b. Konversi kuantisasi DCT menjadi bilangan 8 bit.

c. Ambil 24 LSB pertama pada setiap bit kuantisasi DCT sebagai bit

flag citra.

d. Konversi 24 LSB flag citra menjadi karakter.

e. Ambil 5 LSB berikutnya pada setiap bit kuantisasi DCT sebagai

jumlah bit panjang pesan.

f. Konversi 5 LSB jumlah bit panjang pesan menjadi desimal.

g. Ambil LSB setiap bit kuantisasi DCT selanjutnya sebanyak jumlah

bit panjang pesan, simpan sebagai panjang pesan.

(57)

i. Ambil LSB setiap bit kuantisasi DCT selanjutnya sebanyak 8 kali

panjang pesan.

j. Konversi blok n x 8 LSB menjadi desimal ASCII.

k. Konversi desimal ASCII menjadi ASCII pesan.

Algoritma ekstraksi pesan untuk proses ekstrak pesan tersebut dapat

digambarkan dengan diagram alir seperti ditunjukkan pada Gambar

3.9.

Ambil bit flag citra dari 24 LSB pertama bit kuantisasi DCT

Konversi jumlah bit panjang pesan menjadi desimal

Tidak Kuantisasi DCT != 0 Ya

&& Kuantisasi DCT != 1

Ambil panjang pesan dari LSB bit kuantisasi DCT sebanyak jumlah bit panjang pesan

Konversi panjang pesan menjadi desimal

Ambil LSB setiap bit kuantisasi DCT selanjutnya sebanyak 8 kali panjang pesan

2

Pengelompokkan kuantisasi DCT menjadi n blok matriks 8 x 8

Konversi desimal kuantisasi DCT menjadi bilangan 8 bit

Ambil jumlah bit panjang pesan dari 5 LSB pertama bit kuantisasi DCT Konversi bit flag citra menjadi karakter

B

(58)

C

Konversi blok n x 8 LSB menjadi desimal ASCII

Konversi desimal ASCII menjadi ASCII pesan

FINISH

Gambar 3.9 (lanjutan) Diagram alirproses ekstrak pesan

3.2Perancangan Sistem

Perancangan sistem aplikasi steganografi citramenggunakan metode

DCT ini pada dasarnya merupakan perancangan user interface. Perancangan

user interface tersebut, yaitu :

3.2.1 Form Menu Utama

Form menu utama ditampilkan pertama kali ketika program

dijalankan. Gambar 3.10 menunjukkan rancangan form menu utama.

Steganografi Citra Steganografi Citra

File Proses Info

Bersihkan Citra

Bersihkan Pesan

Keluar

Penyembunyian Pesan

Ekstraksi Pesan

Tentang

Bantuan

(59)

Keterangan :

• File : merupakan menu yang berisi submenu bersihkan citra, bersihkan

pesan, dan keluar.

• Bersihkan Citra : merupakan submenu dari menu File yang berfungsi

untuk menghapus citra asli dan citra stego.

• Bersihkan Pesan : merupakan submenu dari menu File yang berfungsi

untuk menghapus pesan.

• Keluar : merupakan submenu dari menu File yang berfungsi untuk

menutup aplikasi.

• Proses : merupakan menu yang berisi submenu penyembunyian pesan

dan ekstraksi pesan.

• Penyembunyian Pesan : merupakan submenu dari menu Proses yang

berfungsi untuk membuka form penyembunyianpesan.

• Ekstraksi Pesan : merupakan submenu dari menu Proses yang

berfungsi untuk membuka form ekstraksi pesan.

• Info : merupakan menu yang berisi submenu tentangdan bantuan

• Tentang : merupakan submenu dari menu Info yang berfungsi untuk

membuka form tentang.

• Bantuan : merupakan submenu dari menu Info yang berfungsi untuk

(60)

3.2.2 Form Penyembunyian Pesan

Form penyembunyian pesan akan ditampilkan ketika user

memilih submenu Penyembunyian Pesan pada menu Proses. Gambar 3.11

menunjukkan rancangan form penyembunyian pesan.

Steganografi Citra

Steganografi Citra File Proses Info

Citra Asli

Gambar Asli CITRA ASLI

Pesan

Buka Citra Buka Pesan Simpan Citra Stego Proses

Penyembunyian

PESAN

Hasil Citra Stego

Gambar Asli CITRA STEGO

Gambar 3.11 Rancangan form penyembunyian pesan

Keterangan :

• CITRA ASLI : merupakan tampilan dari citra yang akan dimodifikasi

untuk menyisipkan pesan dan akan ditampilkan ketika tombol Buka

Citra ditekan.

• PESAN : merupakan masukan untuk pesan yang akan disisipkan ke

dalam citra asli.

• Buka Citra : merupakan tombol yang digunakan untuk membuka citra

asli yang terdapat pada file. Citra asli selanjutnya akan ditampilkan

(61)

• Buka Pesan : merupakan tombol yang digunakan untuk membuka

pesan dari file. Pesan selanjutnya ditampilkan pada kotak PESAN.

• Proses Penyembunyian : merupakan tombol untuk melakukan proses

penyembunyian pesan di dalam citra.

• CITRA STEGO : merupakan tampilan dari citra stego ketika tombol

Proses Penyembunyian ditekan.

• Simpan Citra Stego : merupakan tombol yang digunakan untuk

menyimpan citra stego ke dalam file.

3.2.3 Form Ekstraksi Pesan

Form ekstraksi pesan akan ditampilkan ketika user memilih

submenu Ekstraksi Pesan pada menu Proses. Gambar 3.12 menunjukkan

rancangan form ekstraksi pesan.

Steganografi Citra

Steganografi Citra

File Proses Info

Citra Stego

Gambar Asli CITRA STEGO

Simpan Pesan Proses

Ekstraksi

Buka Citra Stego

Pesan

PESAN

(62)

Keterangan :

• CITRA STEGO : merupakan tampilan dari citra stego ketika tombol

Buka Citra Stego ditekan.

• Buka Citra Stego : merupakan tombol yang digunakan untuk membuka

citra stego yang terdapat pada file. Citra stego selanjutnya akan

ditampilkan pada kotak CITRA STEGO.

• Proses Ekstraksi : merupakan tombol untuk melakukan proses

ekstraksi pesan di dalam citra.

• PESAN : merupakan tampilan pesan hasil ekstraksi yang

disembunyikan pada citra dan akan ditampilkan ketika tombol Proses

Ektraksi ditekan.

• Simpan Pesan : merupakan tombol yang digunakan untuk menyimpan

pesan hasil ekstraksi.

3.2.4 Form Tentang

Form tentang akan ditampilkan ketika user memilih submenu

Tentang pada menu Info. Form ini berisi tujuan pembuatan program,

identitas pembuat program, dan ucapan terima kasih dari pembuat

(63)

Tentang

Tentang

Tutup

฀ TUJUAN PEMBUATAN PROGRAM

฀ I DENTI TAS PEMBUAT

Gambar 3.13 Rancangan form tentang

3.2.5 Form Bantuan

Form bantuan akan ditampilkan ketika user memilih submenu

Help pada menu Info. Form ini berisi petunjuk pengunaan program

aplikasi Steganografi Citra. Gambar 3.14 menunjukkan rancangan form

bantuan.

Bantuan

Bantuan

Tut up

฀ PETUNJUK PENGGUNAAN PROGRAM

(64)

Bab ini akan membahas implementasi program steganografi citra. Selain

itu bab ini juga akan membahas pengujian dan analisa hasil pengujian sistem.

4.1Implementasi Program

4.1.1 Menjalankan Program Steganografi Citra

Program steganografi citra dapat dijalankan dengan membuka

program Matlab terlebih dahulu. Setelah program Matlab terbuka, perintah

“FormMenuUtama” diketikkan pada bagian Command Window Matlab.

Current Directory yang terdapat pada bagian window Matlab harus

disesuaikan dengan lokasi direktori dimana program steganografi citra

dibuat. Lokasi direktori program dalam penulisan ini, yaitu

C:\MATLAB7\work\SteganografiCitra. Gambar 4.1 menampilkan lokasi

direktori program pada Current Directory dan perintah

“FormMenuUtama” pada Command Window.

Gambar 4.1 Current Directory dan perintah pada Command Window

(65)

4.1.2 Menggunakan Program Steganografi Citra 4.1.2.1 Form Menu Utama

Form menu utama ditampilkan pertama kali ketika perintah

“FormMenuUtama” dijalankan pada Command Window. Gambar 4.2

menampilkan form menu utama.

Gambar 4.2 Form menu utama

Menu utama memiliki tiga menu, yaitu File, Proses, dan Info.

Menu File memiliki sub menu Bersihkan Gambar, Bersihkan Pesan, dan

Keluar. Sub menu Bersihkan Gambar dan Bersihkan Pesan tidak

diaktifkan pada menu utama ini. Gambar 4.3 menampilkan sub menu dari

menu File.

(66)

Menu Proses memiliki dua sub menu, yaitu Penyembunyian

Pesan dan Ekstraksi Pesan. Gambar 4.4 menampilkan sub menu dari menu

Proses.

Gambar 4.4 Sub menu dari menu Proses

Menu Info terdiri dari sub menu Tentang dan sub menu Bantuan.

Gambar 4.5 menampilkan sub menu dari menu Info.

Gambar 4.5 Sub menu dari menu Info

4.1.2.2 Form Penyembunyian Pesan

Form penyembunyian pesan akan ditampilkan ketika pada menu

dipilih sub menu ‘Penyembunyian Pesan’. Form ini digunakan untuk

menyembunyikan file pesan rahasia ke dalam file citra. Citra yang

dihasilkan disebut dengan citra stego yang di dalamnya terdapat bit-bit

(67)

Gambar 4.6 Form Penyembunyian Pesan

Terdapat beberapa perubahan tampilan dari tahap perancangan

form, yaitu :

• Penambahan empat text box pada bagian citra asli yang masing-masing

menunjukkan nama file citra, ukuran file citra, jumlah bytes citra, dan

jumlah karakter pesan yang dapat disimpan pada citra.

• Penambahan dua text box pada bagian pesan yang masing-masing

menunjukkan nama file pesan dan jumlah karakter pesan yang

ditampilkan pada text box pesan.

• Penambahan empat text box pada bagian citra stego yang

masing-masing menunjukkan nama file citra stego setelah disimpan, ukuran

file citra stego setelah disimpan, jumlah bytes citra stego, dan jumlah

(68)

• Penambahan sebuah text box yang menunjukkan lama waktu proses

penyembunyian pesan di dalam citra.

Untuk melakukan penyembunyian pesan di dalam citra, file citra

asli yang akan digunakan untuk menyembunyikan pesan dipilih terlebih

dahulu. Selanjutnya file pesan yang akan disembunyikan dipilih. Kedua

proses tersebut dapat ditukar sehingga pemilihan file pesan dapat

dilakukan terlebih dahulu, selanjutnya dilakukan pemilihan file citra. File

citra asli yang dapat dipilih hanya yang mempunyai tipe JPEG atau JPG.

Proses pemilihan file citra ditunjukkan oleh Gambar 4.7.

Gambar 4.7 Proses pemilihan file citra

Ketika tombol ‘Open’ ditekan, file citra yang dipilih akan

ditampilkan pada bagian axes citra asli. Nama file, ukuran file, jumlah

bytes, dan jumlah karakter pesan yang dapat disimpan pada citra juga

ditampilkan. Ukuran file menunjukkan ukuran file citra yang ditampilkan

dalam bytes. Jumlah bytes menunjukkan jumlah semua bytes piksel citra.

Jumlah karakter pesan yang dapat disimpan menunjukkan jumlah

(69)

Bagian kelompok pesan terdiri atas text box yang berfungsi untuk

menampilkan pesan yang diambil dari file, nama file, dan jumlah karakter

pesan. File pesan yang dapat dipilih hanya yang bertipe text documents

atau txt. Proses pemilihan file pesan ditunjukkan oleh Gambar 4.8.

Gambar 4.8 Proses pemilihan file pesan

Jumlah karakter pesan yang akan disembunyikan pada citra tidak

boleh melebihi jumlah karakter pesan yang dapat disimpan citra. Jika

jumlah karakter pesan yang akan disembunyikan melebihi jumlah karakter

pesan yang dapat disimpan citra, maka program akan menampilkan pesan

peringatan seperti yang ditunjukkan pada Gambar 4.9.

Gambar 4.9 Pesan peringatan jumlah karakter pesan

Pesan yang dimasukkan akan disembunyikan di dalam citra

(70)

dihasilkan akan ditampilkan pada bagian axes citra stego. Gambar 4.10

menampikan citra asli, pesan, dan citra stego.

Gambar 4.10 Citra asli, pesan, dan citra stego

Ketika tombol ‘Proses Penyembunyian’ ditekan tetapi file citra

asli belum dimasukkan, maka program akan menampilkan pesan

peringatan seperti yang ditunjukkan pada Gambar 4.11.

Gambar 4.11 Pesan peringatan data citra asli

Sedangkan jika file pesan yang akan disembunyikan belum dimasukkan,

maka program akan menampilkan pesan peringatan seperti yang

(71)

Gambar 4.12 Pesan peringatan data pesan

Pesan peringatan yang akan ditampilkan jika file citra asli yang

dimasukkan tidak mempunyai keping red, green, dan blue (RGB)

ditunjukkan Gambar 4.13.

Gambar 4.13 Pesan peringatan keping RGB

Citra stego yang dihasilkan setelah proses penyembunyian dapat

disimpan ke dalam file dengan menekan tombol ‘Simpan Citra Stego’.

Apabila tombol ditekan tetapi citra stego yang akan disimpan belum

ditampilkan pada axes, maka program akan menampilkan pesan peringatan

seperti yang ditunjukkan pada Gambar 4.14.

Gambar

Tabel 2.2 Perbandingan citra asli dengan citra stego [9]
Tabel huffman
Gambar 2.7 Ilustrasi pengekstraksian karakter pertama flag ’$’
Gambar 3.7.
+7

Referensi

Dokumen terkait

- kinerja ruas jalan, persimpangan dan jalinan setelah adanya mall Royal Square kebutuhan tempat parkir dan antrian pada pintu masuk. - kebutuhan tempat parkir dan antrian pada

Lakukan hal yang sama pada bagian lain apabila ingin dijadikan sebagai latar belakang agar kita dapat memasukkan objek berupa teks, animasi, maupun gambar...

Dengan berlakunya Peraturan Daerah ini, maka Peraturan Daerah Kota Yogyakarta Nomor 34 Tahun 2000 tentang Pembentukan, Susunan Organisasi dan Tata Kerja Badan Pengelolaan

Prinsip dasar sistem PLH PV-Diesel ini adalah dengan mengoperasikan sumber energi dari tenaga surya untuk memenuhi kebutuhan beban dasar melalui penggunaan sistem

setelah kami pelajari dengan saksama Dokumen PRAKUALIFIKASI tersebut, dengan ini kami mengajukan Dokumen Administrasi Kualifikasi dan Dokumen Teknis Kualifikasi untuk pengadaan

Penelitian yang sudah dilakukan bertujuan untuk membuat suatu sistem berbasis web yang dapat digunakan dalam pengolahan data pelayanan pendataan tumbuh kembang

Sistem Administrasi Badan Hukum yang selanjutnya disingkat SABH adalah pelayanan jasa hukum pengesahan badan Perseroan, Yayasan dan Perkumpulan dengan

Berdasarkan uraian di atas menunjukkan bahwa untuk meningkatkan konsentrasi, maka seseorang perlu mengembangkan sikap dan perilaku jujur terhadap penutur apabila ia mempunyai