• Tidak ada hasil yang ditemukan

Watermarking Menggunakan Algoritma Discrete Cosine Transform (DCT) pada Penyisipan ke dalam Citra

N/A
N/A
Protected

Academic year: 2016

Membagikan "Watermarking Menggunakan Algoritma Discrete Cosine Transform (DCT) pada Penyisipan ke dalam Citra"

Copied!
70
0
0

Teks penuh

(1)

WATERMARKING MENGGUNAKAN ALGORITMA DISCRETE COSINE

TRANSFORM (DCT) PADA PENYISIPAN CITRA KE DALAM CITRA

SKRIPSI

FACHRIZA FAHMI

091402117

PROGRAM STUDI TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2015

(2)

WATERMARKING

MENGGUNAKAN ALGORITMA

DISCRETE

COSINE TRANSFORM (DCT) DALAM PENYISIPAN CITRA KE

DALAM CITRA

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi

FACHRIZA FAHMI 091402117

PROGRAM STUDI TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2015

(3)

i

PERSETUJUAN

Judul : WATERMARKING MENGGUNAKAN

ALGORITMA DISCRETE COSINE TRANSFORM (DCT) DALAM PENYISIPAN CITRA KE DALAM CITRA

Kategori : SKRIPSI

Nama : FACHRIZA FAHMI

Nomor Induk Mahasiswa : 091402117

Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI

Departemen : TEKNOLOGI INFORMASI

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI

Diluluskan di Medan, 02 Juli 2015

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Dani Gunawan, S.T.,M.T NIP.19820915 201212 1 002

Dr. Syahril Efendi, S.Si.,M.IT NIP. 19671110 199602 1 001

Diketahui/Disetujui oleh

Program Studi Teknologi Informasi Ketua,

M. Anggia Muchtar, ST.,MM.IT NIP. 19800110 200801 1 010

(4)

PERNYATAAN

WATERMARKING MENGGUNAKAN ALGORITMA DISCRETE COSINE TRANSFORM (DCT) PADA PENYISIPAN CITRA KE DALAM CITRA

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, 02 Juli 2015

FACHRIZA FAHMI 091402117

(5)

iii

PENGHARGAAN

Puji dan syukur penulis panjatkan kepada Allah SWT Yang Maha Pengasih dan Maha Penyayang, dengan segala rahmat dan karuniaNya penulisan tugas akhir ini berhasil diselesaikan dalam waktu yang telah ditetapkan. Selama penyelesaian tugas akhir ini, banyak bantuan dan kerja sama serta doa dan dukungan dari berbagai pihak, oleh karena itu penulis sampaikan ucapan terima kasih sedalam-dalamnya dan penghargaan kepada :

1. Kedua orang tua dan sanak saudara penulis yang telah memberikan dukungan dan motivasi baik materil dan spiritual, Ayahanda Drs. H. Muchtar Sumpeno dan Ibunda Hj. Sukarti yang selalu sabar dalam mendidik dan membesarkan penulis. Untuk kakak dan abang penulis Taty Hayatika, Amd dan Fauzy Al-Rachman, SP yang selalu memberikan semangat kepada penulis.

2. Bapak Dr. Syahril Efendi, S.Si.,M.IT dan Bapak Dani Gunawan, S.T.,M.T selaku pembimbing yang telah banyak meluangkan waktu dan pikirannya, memotivasi, memberikan arahan, kritik dan saran kepada penulis.

3. Ibu Dr. Erna Budhiarti Nababan, M.IT dan Bapak Romi Fadillah Rahmat, B.Comp.Sc., M.Sc yang telah bersedia menjadi dosen pembanding yang telah memberikan kritik dan saran kepada penulis.

4. Ketua dan Sekretaris Program Studi Teknologi Informasi, Bapak M. Anggia Muchtar, ST.,MM.IT dan Bapak M. Fadly Syahputra, B.Sc.,M.Sc.IT. Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, semua dosen serta pegawai di Fakultas Ilmu Komputer dan Teknologi Informasi.

5. Kepada Cut Junianty, terima kasih untuk semua dukungan, semangat, kesabaran dan motivasi yang telah diberikan terus menerus selama masa pengerjaan skripsi ini.

(6)

6. Kepada sahabat seperjuangan di kampus, Andre Hasudungan, Ahmad Najam, Denny Pratama, Darma Warista, Dedek Anshori, Mahathir Febrian, Adisty Daulay, Syarah Sukmadria, Whydia Nanda, Dian Binyok, Dezi Radixa, Ade Tambunan, Amira, Ismail Marzuki, Tri Setiawan, Rudyanto Siahaan, Christop Sitorus, M. Santana, dan semua teman-teman di Teknologi Informasi lainnya yang tidak dapat saya sebutkan satu-persatu yang selalu memberikan dukungan dan semangat untuk saya.

7. Kepada sahabat, M. Luthfan, Ryandi Bashkara, Faisal Zulfikar, Robby Syahputra, Tinera Siburian, Risa Sartika, Cut Zikra, Rizky Radityo, Anggi Aulia, Satria Ramadhan, Yogha Ardwiansyah, Edtri Putri, Maya Sarticca, Rosiantari Putri, Dewi Nurindah, Ega, Dwi Wulan, Widya, dan sahabat-sahabat yang tidak dapat disebutkan satu-persatu yang selalu mendukung dan memberi semangat untuk skripsi saya.

8. Kepada sahabat komunitas, Frontal, Civic Enthusiast, dan Cuexx Burger yang juga telah memberi semangat dan motivasi dalam pengerjaan skripsi ini.

Semoga segala kebaikan dan bantuannya dibalas oleh Allah SWT dan semoga tugas akhir ini dapat bermanfaat bagi semua pihak yang memerlukannya.

(7)

v

ABSTRAK

Berjuta-juta informasi digital dapat dilihat, diambil bahkan dimanipulasi dan diklaim secara bebas untuk tujuan tertentu yang bersifat komersial yang tentu merugikan pemilik informasi digital tersebut, oleh karena itu sangat penting untuk tetap mempertahankan keaslian kepemilikan informasi walaupun dimanipulasi sedemikian rupa. Untuk mengatasi hal tersebut maka teknologi watermarking merupakan solusinya, dimana teknik ini merupakan salah satu cara untuk menyisipkan atau menyembunyikan label identitas ke dalam file digital sehingga tidak diketahui oleh pihak-pihak yang tidak berhak. Pada penelitian ini dilakukan penyembunyian pesan teks dengan teknik watermarking ke dalam media citra (cover image) dengan algoritma Discrete Cosine Transform (DCT). Citra yang disisipkan berupa citra logo yang berukuran kecil yang berformat jpg. Algoritma DCT melakukan penyisipan data pada data yang berfrekuensi tinggi dalam hal ini adalah nilai piksel banyak sehingga tidak dapat dipersepsi oleh mata manusia. Hasil percobaan yang dilakukan adalah nilai rata-rata MSE hasil penyisipan yang diperoleh adalah: 2,57 sedangkan Pengujian ketahanan pada watermark image yang diolah dengan crop, resize, kompres dan grayscale menghasilkan kegagalan pada ekstraksi.

Kata kunci: Watermarking, Label Identitas, Discrete Cosine Transform (DCT).

(8)

WATERMARKING FROM IMAGE TO IMAGE WITH DISCRETE COSINE

TRANSFORM (DCT) ALGORITHM

ABSTRACT

Millions of digital information can be seen, retrieved and manipulated, even claimed freely for certain commercial purposes is necessarily detrimental to the owner of the digital information, therefore it is very important to maintain the authenticity of the ownership of such information even manipulated. To overcome this, the watermarking technology is a solution, where this technique is one way to insert or hide the identity label into digital files that are not known by those who are not eligible. In this research, the concealment of text messages with watermarking techniques into the media image (cover image) with Discrete Cosine Transform (DCT) algorithms. The image is inserted in to the form of small-sized image of the logo in jpg. DCT algorithms perform the insertion of data on high-frequency data in this case is a lot pixel values that can not be perceived by the human eye. Results of experiments conducted is the average value of MSE insertion results obtained are: 2.57, while testing the robustness of the watermark image which is processed by the crop, resize, compress and grayscale produce failure in the extraction.

Keyword: Watermarking, Identity Label, Discrete Cosine Transform (DCT).

(9)

vii

DAFTAR ISI

Hal.

PERSETUJUAN i

PERNYATAAN ii

PENGHARGAAN iii

ABSTRAK v

ABSTRACT vi

DAFTAR ISI vii

DAFTAR GAMBAR x

DAFTAR TABEL xii

BAB 1 PENDAHULUAN

1.1. Latar Belakang 1

1.2. Rumusan Masalah 2

1.3. Batasan Masalah 2

1.4. Tujuan Penelitian 2

1.5. Manfaat Penelitian 2

1.6. Sistematika Penulisan 3

BAB 2 LANDASAN TEORI

2.1. Citra Analog 4

2.2. Citra digital 4

2.3. Format File Citra 5

2.3.1 Format Data Bitmap 6

2.3.2 Format JPEG 7

2.4Pembacaan Cover Image 7

2.4.1 Pembacaan Embed Image 11

2.5Watermarking 12

2.5.1 Digital Watermarking 14

(10)

2.5.2 Aplikasi Watermark 16

2.5.3 Klasifikasi Watermarking 17

2.6Algoritma Watermarking DCT 18

2.6.1 Menghitung Koefisien DCT Citra 19

2.6.2 Discrete Cosinus Transform (DCT) 20

2.6.3 Perhitungan Matriks Transform 24

2.6.3.1Perhitungan Matriks Transpose (A’) 26 2.6.3.2Perkalian Matriks Citra dengan Matriks Transform 27

2.6.3.3Invers DCT (IDCT) 30

2.7Pengukuran Fidelity 33

2.8Penelitian Terdahulu 34

BAB 3 ANALISIS DAN PERANCANGAN

3.1 Analisis 35

3.1.1 General Architecture 35

3.2 Flow Chart Proses 37

3.2.1 Flow Chart Proses Penyisipan 37

3.2.2 Flow Chart Proses Ekstraksi 38

3.2.3 Flow Chart Proses DCT 39

3.2.4 Flow Chart Matriks Transform 40

3.2.5 Flow Chart Matriks Transpose 41

3.2.6 Perancangan Aplikasi 42

3.2.7 Perancangan Menu Utama 42

3.2.8 Perancangan Penyisipan 43

3.2.9 Perancangan Ekstraksi 44

BAB 4 IMPLEMENTASI DAN PENGUJIAN

4.1 Implementasi 45

4.1.1 Tampilan Penyisipan 45

4.1.2 Tampilan Ekstraksi 46

4.2 Pengujian Sistem 47

4.2.1 Proses Mean Squared Error (MSE) 47

4.2.2 Pengujian Ekstraksi 48

(11)

ix

4.2.3 Proses Robustness 49

4.2.4 Hasil Pengujian 49

4.2.5 Hasil Pengujian Ekstraksi 50

4.2.6 Hasil Pengujian Ketahanan 51

BAB 5 KESIMPULAN DAN SARAN

5.1. Kesimpulan 52

5.2. Saran 52

DAFTAR PUSTAKA 53

(12)

DAFTAR GAMBAR

Gambar 2.13 Perkalian Matriks Transform Dengan Matriks Cover Image ... 27

Gambar 2.14 Matriks Y’ ... 28

Gambar 2.15 Perkalian Matriks Y Dengan Transpose ... 28

Gambar 2.16 Matriks Y ... 29

Gambar 2.17 Perkalian Matriks Transpose Dengan Matriks DCT ... 30

Gambar 2.18 Matriks X’ ... 31

Gambar 2.19 Perkalian Matriks X’ Dengan Matriks Transform ... 32

Gambar 2.20 Matriks X ... 33

Gambar 3.1 Proses Penyisipan Citra Watermarking... 34

Gambar 3.2 Proses Ekstraksi Citra Watermarking ... 36

Gambar 3.3 Flow Chart Proses Penyisipan ... 37

Gambar 3.9 Rancangan Penyisipan Watermark ... 43

(13)

xi

Gambar 3.10 Rancangan Ekstraksi ... 44 Gambar 4.1 Tampilan Penyisipan ... 45 Gambar 4.2 Tampilan Ekstraksi ... 46

(14)

DAFTAR TABEL

Hal. Tabel 2.1 Hubungan Antara Bit Per Piksel Dengan Jumlah Warna Bitmap 6

Tabel 2.2 Matriks RGB Cover Image 11

Tabel 2.3 Matriks RGB Embed Image 12

Tabel 2.4 Data Media Cover 19

Tabel 4.1 Matriks MSE Pada Citra Cover 47

Tabel 4.2 Matriks MSE Pada Citra Watermark 47

Tabel 4.3 Tampilan Hasil Pengujian Penyisipan 50

Tabel 4.4 Tampilan Hasil Pengujian Ekstraksi 50

Tabel 4.5 Tampilan Hasil Pengujian Ketahanan 55

(15)

v

ABSTRAK

Berjuta-juta informasi digital dapat dilihat, diambil bahkan dimanipulasi dan diklaim secara bebas untuk tujuan tertentu yang bersifat komersial yang tentu merugikan pemilik informasi digital tersebut, oleh karena itu sangat penting untuk tetap mempertahankan keaslian kepemilikan informasi walaupun dimanipulasi sedemikian rupa. Untuk mengatasi hal tersebut maka teknologi watermarking merupakan solusinya, dimana teknik ini merupakan salah satu cara untuk menyisipkan atau menyembunyikan label identitas ke dalam file digital sehingga tidak diketahui oleh pihak-pihak yang tidak berhak. Pada penelitian ini dilakukan penyembunyian pesan teks dengan teknik watermarking ke dalam media citra (cover image) dengan algoritma Discrete Cosine Transform (DCT). Citra yang disisipkan berupa citra logo yang berukuran kecil yang berformat jpg. Algoritma DCT melakukan penyisipan data pada data yang berfrekuensi tinggi dalam hal ini adalah nilai piksel banyak sehingga tidak dapat dipersepsi oleh mata manusia. Hasil percobaan yang dilakukan adalah nilai rata-rata MSE hasil penyisipan yang diperoleh adalah: 2,57 sedangkan Pengujian ketahanan pada watermark image yang diolah dengan crop, resize, kompres dan grayscale menghasilkan kegagalan pada ekstraksi.

Kata kunci: Watermarking, Label Identitas, Discrete Cosine Transform (DCT).

(16)

WATERMARKING FROM IMAGE TO IMAGE WITH DISCRETE COSINE

TRANSFORM (DCT) ALGORITHM

ABSTRACT

Millions of digital information can be seen, retrieved and manipulated, even claimed freely for certain commercial purposes is necessarily detrimental to the owner of the digital information, therefore it is very important to maintain the authenticity of the ownership of such information even manipulated. To overcome this, the watermarking technology is a solution, where this technique is one way to insert or hide the identity label into digital files that are not known by those who are not eligible. In this research, the concealment of text messages with watermarking techniques into the media image (cover image) with Discrete Cosine Transform (DCT) algorithms. The image is inserted in to the form of small-sized image of the logo in jpg. DCT algorithms perform the insertion of data on high-frequency data in this case is a lot pixel values that can not be perceived by the human eye. Results of experiments conducted is the average value of MSE insertion results obtained are: 2.57, while testing the robustness of the watermark image which is processed by the crop, resize, compress and grayscale produce failure in the extraction.

Keyword: Watermarking, Identity Label, Discrete Cosine Transform (DCT).

(17)

BAB 1

PENDAHULUAN

1.1Latar Belakang

Perkembangan layanan multimedia dan teknologi internet dewasa ini sangat maju dan telah memberikan berbagai kemudahan bagi penggunanya untuk melakukan akses serta pendistribusian informasi dalam format digital. Berjuta-juta informasi digital dapat dilihat, diambil bahkan dimanipulasi secara bebas untuk tujuan tertentu yang bersifat komersial. Hal ini tentu merugikan pemilik informasi tersebut, oleh karena itu sangat penting untuk tetap mempertahankan keaslian kepemilikan informasi walaupun dimanipulasi sedemikian rupa.

Untuk mengatasi hal tersebut maka teknologi watermarking merupakan solusinya, dimana teknik ini merupakan salah satu cara untuk menyisipkan atau menyembunyikan label identitas ke dalam file digital sehingga tidak diketahui oleh pihak-pihak yang tidak berhak dan hanya dapat diakses oleh orang yang berhak dengan suatu kunci. Teknologi watermarking biasa diterapkan pada berbagai macam data, yaitu image, audio, dan video. Watermarking video mempunyai keuntungan yaitu dapat menyisipkan informasi dalam ukuran besar karena pada dasarnya video merupakan gabungan citra yang bergerak dan audio sehingga sulit dideteksi.

Pada penelitian ini dilakukan penyembunyian pesan teks dengan teknik watermarking ke dalam media citra (cover image) dengan algoritma Discrete Cosine Transform (DCT). Citra yang disisipkan berupa citra logo yang berukuran kecil yang berformat .jpg. Algoritma DCT melakukan penyisipan data pada piksel-piksel frekuensi tengah dari cover image sehingga tidak merusak data dan hanya akan menimbulkan noise.

(18)

Berdasarkan latar belakang masalah diatas maka penulis memberi judul penelitian ini dengan Watermarking Menggunakan Algoritma Discrete Cosine Transform (DCT) Pada Penyisipan Citra Ke Dalam Citra.

1.2Rumusan Masalah

Umumnya informasi hak cipta yang disisipkan pada sebuah citra berupa teks, oleh karena itu, penelitian ini memberikan alternatif penyisipan gambar sebagai informasi hak cipta pada sebuah citra.

1.3Batasan Masalah

Dalam penelitian ini penulis membuat batasan masalah yaitu: 1. File citra penampung (cover) adalah citra digital 2. File citra penyisip (embed) adalah citra digital

3. File cover berdimensi maksimal 1000 x 800 piksel sedangkan untuk penyisip berdimensi maksimal 300 x 300 piksel.

4. Proses yang dilakukan pada penelitian ini adalah penyisipan dan ekstraksi. 5. Parameter watermarking yang digunakan adalah means squared error (MSE).

1.4Tujuan Penelitian

untuk mengamankan file logo berformat JPG kedalam file citra digital sebagai label kepemilikan.

1.5Manfaat Penelitian

Manfaat penelitian ini adalah:

1. Diperolehnya sebuah perangkat lunak yang dapat melakukan penyisipan logo citra ke dalam file citra digital menghasilkan file image watermark.

2. Diperoleh informasi apakah algoritma DCT dapat digunakan untuk melakukan penyisipan citra logo kedalam file citra maupun ekstraksi pesan berupa citra logo dari dalam file image watermark.

(19)

3

1.6 Sistematika Penulisan

Sistematika penulisan skripsi ini adalah sebagai berikut:

BAB 1 PENDAHULUAN membahas latar belakang, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian serta sistematika penulisan. BAB 2 LANDASAN TEORI membahas tentang landasan teori tentang citra digital,

watermarking, algoritma Discrete Cosine Transform (DCT), nilai Mean Squared Error (MSE) serta flow chart.

BAB 3 ANALISIS DAN PERANCANGAN pembahasan mengenai watermarking citra dengan algoritma Discrete Cosine Transform (DCT), flow chart sistem serta perancangan antar muka aplikasi.

BAB 4 IMPLEMENTASI DAN PENGUJIAN membahas tentang implementasi dari perancangan sistem yang dirancang pada BAB 3.

BAB 5 KESIMPULAN DAN SARAN merupakan kesimpulan dari semua pembahasan yang ada dengan saran-saran yang ditujukan bagi para pembaca atau pengembang.

(20)

BAB 2

LANDASAN TEORI

2.1Citra Analog

Citra analog adalah citra yang terdiri dari sinyal – sinyal frekuensi elektromagnetis yang belum dibedakan sehingga pada umumnya tidak dapat ditentukan ukurannya. Analog berhubungan dengan hal yang kontinu dalam satu dimensi, contohnya adalah bunyi diwakili dalam bentuk analog, yaitu suatu getaran gelombang udara yang kontinu dimana kekuatannya diwakili sebagai jarak gelombang. Hampir semua kejadian alam boleh diwakili sebagai perwakilan analog seperti bunyi, cahaya, air, elektrik, angin dan sebagainya (Putra, 2010).

2.2Citra Digital

Suatu citra adalah fungsi intensitas 2 dimensi f(x,y), dimana x dan y adalah koordinat spasial dan f pada titik (x,y) merupakan tingkat kecerahan (brightness) suatu citra pada suatu titik. Suatu citra diperoleh dari penangkapan kekuatan sinar yang dipantulkan oleh objek. Citra digital tersusun atas sejumlah berhingga elemen, masing-masing memiliki lokasi dan nilai atau intensitas tertentu. Elemen-elemen ini disebut elemen gambar, elemen citra, dan juga piksel yang dinyatakan dalam bilangan bulat. Tingkat ketajaman atau resolusi warna pada citra digital tergantung pada jumlah ”bit” yang digunakan oleh komputer untuk merepresentasikan setiap piksel tersebut. Tipe yang

sering digunakan untuk merepresentasikan citra adalah ”8-bit citra” (256 colors (0 untuk hitam - 255 untuk putih)), tetapi dengan kemajuan teknologi perangkat keras grafik, kemampuan tampilan citra di komputer hingga32 bit (232 warna) (Sutoyo, 2009).

Piksel(0,0) terletak pada sudut kiri atas pada citra, indeks x begerak ke kanan dan indeks y bergerak ke bawah. Konvensi ini dipakai merujuk pada cara penulisan larik yang digunakan dalam pemrograman komputer. Letak titik origin pada koordinat

(21)

5

grafik citra dan koordinat pada grafik matematika terdapat perbedaan. Hal yang berlawanan untuk arah vertikal berlaku pada kenyataan dan juga pada sistem grafik dalam matematika yang sudah lebih dulu dikenal. Gambar 2.1 dan 2.2 berikut memperlihatkan perbedaan kedua sistem ini.

Gambar 2.1 Koordinat pada grafik matematika(Sumber: Sutoyo, 2009)

Gambar 2.2 Koordinat pada citra (Sumber: Sutoyo, 2009)

2.3Format File Citra

Sebuah format citra harus dapat menyatukan kualitas citra, ukuran file dan kompatibilitas dengan berbagai aplikasi. Saat ini tersedia banyak format grafik dan format baru tersebut yang sudah dikembangkan, diantaranya yang terkenal adalah BMP, JPEG, dan GIF. Setiap program pengolahan citra biasanya memiliki format citra tersendiri. Format dan metode dari suatu citra yang baik juga sangat bergantung pada jenis citranya. Setiap format file citra memiliki kelebihan dan kekurangan masing – masing dalam hal citra yang disimpan. Citra tertentu dapat disimpan dengan baik (dalam arti ukuran file lebih kecil dan kualitas gambar tidak berubah) pada format file citra tertentu, apabila disimpan pada format lain kadang kala dapat menyebabkan ukuran file menjadi lebih besar dari aslinya dan kualitas citra dapat menurun oleh karena itu, untuk menyimpan suatu citra harus diperhatikan citra dan format file citra apa yang sesuai. Misalnya format citra GIF sangat tidak cocok untuk citra fotografi karena biasanya citra fotografi kaya akan warna, sedangkan format GIF hanya mendukung sejumlah warna sebanyak 256 (8 bit) saja. Format JPEG

Titik original (0,0)

Titik original (0,0)

(22)

merupakan pilihan yang tepat untuk citra – citra fotografi karena JPEG sangat cocok untuk citra dengan perubahan warna yang halus (Sutoyo, 2009).

2.3.1 Format Data Bitmap

Pada format bitmap, citra disimpan sebagai suatu matriks di mana masing-masing elemennya digunakan untuk menyimpan informasi warna untuk setiap piksel. Jumlah warna yang dapat disimpan ditentukan dengan satuan bit-per-piksel. Semakin besar ukuran bit-per-piksel dari suatu bitmap, semakin banyak pula jumlah warna yang dapat disimpan. Format bitmap ini cocok digunakan untuk menyimpan citra digital yang memiliki banyak variasi dalam bentuknya maupun warnanya, seperti foto, lukisan, dan frame video. Format file yang menggunakan format bitmap ini antara lain adalah BMP, DIB, PCX, GIF, dan JPG. Format yang menjadi standar dalam system operasi Microsoft Windows adalah format bitmap BMP atau DIB.

Karakteristik lain dari bitmap yang juga penting adalah jumlah warna yang dapat disimpan dalam bitmap tersebut. Ini ditentukan oleh banyaknya bit yang digunakan untuk menyimpan setiap titik dari bitmap yang menggunakan satuan bpp (bit per piksel). Dalam Windows dikenal bitmap dengan 1, 4, 8, 16, dan 24 bit per piksel. Jumlah warna maksimum yang dapat disimpan dalam suatu bitmap adalah sebanyak 2n, dimana n adalah banyaknya bit yang digunakan untuk menyimpan satu

titik dari bitmap (Sutoyo et al, 2009).

Berikut ini tabel yang menunjukkan hubungan antara banyaknya bit per piksel dengan jumlah warna maksimum yang dapat disimpan dalam bitmap, dapat dilihat pada Tabel 2.1.

Tabel 2.1 Hubungan antara bitper piksel dengan jumlah warna maksimum pada bitmap

No Jumlah bit per piksel Jumlah warna maksimum

(23)

7

2.3.2 Format JPEG

JPEG adalah suatu desain untuk mengkompresi citra baik gray-level maupun citra full-color. JPEG tidak hanya menangani data dalam bentuk citra, tetapi juga dapat berhubungan dengan gambar yang disebut dengan motion picture (MPEG). JPEG merupakan singkatan dari Joint Photographic Experts Group, merupakan suatu komite yang menyusun standar citra pada akhir tahun 80-an dan awal tahun 90-an.

Kata “Joint” pada JPEG melambangkan status data di dalam kerja sama panitia ISO

dan ITU_T. Format yang dihasilkan merupakan standar ISO IS-10918. Format file ini dikembangkan oleh C-Cube Microsystems untuk memberikan sebuah metode yang efisien untuk menyimpan citra dengan jumlah warna yang sangat banyak seperti foto kamera.

Perbedaan utama antara format JPEG dengan format citra yang lainnya adalah bahwa file JPEG menggunakan metode lossy untuk proses pemampatannya. Pemampatan secara lossy akan membuang sebagian data citra untuk memberikan hasil kompresi yang baik. Hasil file JPEG yang di-dekompres tidak begitu sesuai dengan citra aslinya, tetapi perbedaan ini sangat sulit dideteksi oleh mata manusia (Putra, 2010).

2.4Pembacaan Cover Image

Sebelum dilakukan penyisipan, pada cover image dilakukan pembacaan nilai piksel untuk memperoleh tiga komponen warna (RGB) yang akan disisipin oleh biner embed. Diberikan cuplikan cover image dengan nilai piksel dalam bilangan hexa seperti pada Gambar 2.3 dengan nilai pixel berada dibawah data bitmap yang terdiri dari bilangan hexadecimal (0 sampai F). Selanjutnya nilai pixel tersebut diubah ke dalam bilangan biner dengan persamaan:

Nilai R = c and 255 (2.1) Nilai G = (c and 65,280)/256 (2.2) Nilai B = ((c and 16,711,680)/256)/256 (2.3)

(24)

Gambar 2.3 ContohCover Image dengan Nilai Piksel

Sebagai contoh diambil cuplikan citra pada Gambar 2.3 yang menjadi cover image dengan nilai pixel(f) berada di bawah data bitmap:

f (0,0) = 90B4F1 f (0,1) = 90B4F1 f (0,2) = 93B4F1 f (0,3) = 10B491

Dengan nilai biner pixel di atas adalah:

f (0,0) = 90B4F1 = 100100001011010011110001 f (0,1) = 90B4F1 =100100001011010011110001 f (0,2) = 93B4F1 = 100100001011010011110001 f (0,3) = 10B491 = 000100001011010010010001

Dari nilai bitmap di atas dapat dihitung nilai komponen RGB citra dengan menggunakan persamaan (2.1), (2.2) dan (2.3).

f (0,0):

90B4F1 90B4F1 93B4F1 10B491 96B491 90B411 98B491 9034F1 F3B415 F4B4D1 8024F0 8946837 90B4F1 90F4C1 90B7F9 90B4F1 F3B491 9CB6C1 96B491 96A4FF 90B4F1 90B4F1 93B4F1 10B491 96B491 90B411 98B491 9034F1 F3B415 F4B4D1 8024F0 8946837 90B4F1 90F4C1 90B7F9 90B4F1 F3B491 9CB6C1 96B491 96A4FF

(25)

9

Nilai B = ((c and 16,711,680)/256)/256 = ((90B4F1 and 16,711,680)/256)/256

= ((100100001011010011110001and111111110000000000000000)/ 100000000)/100000000

= (100100000000000000000000/100000000)/100000000 = 1001000000000000/100000000

= 10010000 = 144 (desimal)

f (0,1):

Nilai R = c and 255 = 90B4F1and 255

= 100100001011010011110001and 11111111 = 11110001

= 241 (desimal)

Nilai G = (c and 65,280)/256 = (90B4F1and 65,280)/256

= (100100001011010011110001and1111111100000000)/100000000 = 1011010000000000/100000000

= 10110100 = 180 (desimal)

Nilai B = ((c and 16,711,680)/256)/256 = ((90B4F1 and 16,711,680)/256)/256

= ((100100001011010011110001and111111110000000000000000)/ 100000000)/100000000

= (100100000000000000000000/100000000)/100000000 = 1001000000000000/100000000

= 10010000 = 144 (desimal)

(26)

f (0,2):

Nilai R = c and 255 = 90B4F1and 255

= 100100001011010011110001and 11111111 = 11110001=241 (desimal)

Nilai G = (c and 65,280)/256 = (90B4F1and 65,280)/256

= (100100001011010011110001and1111111100000000)/100000000 = 1011010000000000/100000000

= 10110100 = 180 (desimal)

Nilai B = ((c and 16,711,680)/256)/256 = ((90B4F1 and 16,711,680)/256)/256

= ((100100001011010011110001and111111110000000000000000)/ 100000000)/100000000

= (100100000000000000000000/100000000)/100000000 = 1001000000000000/100000000

= 10010000 = 144 (desimal)

f (0,3):

Nilai R = c and 255 = 10B491and 255

= 100001011010010010001and 11111111 = 10010001 =145 (desimal)

Nilai G = (c and 65,280)/256 = (10B491and 65,280)/256

= (100001011010010010001and1111111100000000)/100000000 = 1011010000000000/100000000

= 10110100 = 180 (desimal)

(27)

11

Nilai B = ((c and 16,711,680)/256)/256 = ((10B491 and 16,711,680)/256)/256

= ((100001011010010010001and111111110000000000000000)/ matriks RGB cover image seperti pada Tabel 2.2 berikut.

(x,y) 0 1 2 3

0 241,180,144 241,180,144 241,180,144 145, 180, 16 1 145,180,150 17,180,144 145,180,152 241,52,144 2 21,180,200 209,180,244 240,36,128 55,104,148 3 199,150,111 193,244,144 249,183,144 241,180,144

Tabel 2.2 Matriks RGB Cover Image

2.4.1 Pembacaan Embed Image

Sebelum dilakukan penyisipan, pada embed image dilakukan pembacaan nilai piksel untuk memperoleh tiga komponen warna (RGB) yang akan disisipkan ke dalam cover image. Diberikan cuplikan embed image dengan nilai piksel dalam bilangan hexa seperti pada Gambar 2.5 dengan nilai pixel berada dibawah data bitmap yang terdiri dari bilangan hexadecimal (0 sampai F). Selanjutnya nilai pixel tersebut diubah ke dalam bilangan biner dengan persamaan 2.1, 2.2 dan 2.3 yaitu:

Nilai R = c and 255,Nilai G = (c and 65,280)/256 dan nilai B = ((c and 16,711,680)/256)/256.

Gambar 2.4 Embed Image

<Header> <data bitmap>

40F4F1 90B4B1 14C4A1 33D491 9EB491 90B41142B491 4134F1 E3BD15A4B4D1 9024F0 3246837 21C4D1 90F4C1 47B7F9 64B4F1

(28)

Sebagai contoh diambil cuplikan embed image pada Gambar 3.2 dengan nilai pixel: f (0,0) = FF

f (0,1) = FF f (0,2) = FF f (0,3) = FF

Dengan nilai biner pixel di atas adalah:

f (0,0) = FF = 111111111111111111111111 f (0,1) = FF =111111111111111111111111 f (0,2) = FF = 111111111111111111111111 f (0,3) = FF = 111111111111111111111111

Dari nilai piksel di atas dapat dihitung nilai komponen RGB embed imagesama dengan cover image dan diperoleh matrik embed image seperti pada Tabel 2.3.

(x,y) 0 1 2 3

0 255,255,255 255,255,255 255,255,255 255,255,255 1 255,255,255 255,255,255 255,255,255 255,255,255 2 255,255,255 255,255,255 255,255,255 255,255,255 3 255,255,255 255,255,255 255,255,255 255,255,255

Tabel 2.3 Matriks RGB Embed Image

2.5Watermarking

Watermarking merupakan sebuah proses penambahan kode secara permanen ke dalam citra digital. Penyisipan kode ini harus memiliki ketahanan (robustness) yang cukup baik dari berbagai manipulasi, seperti pengubahan, transformasi, kompresi, maupun enkripsi. Kode yang disisipkan juga tidak merusak citra digital sehingga citra digital terlihat seperti aslinya. Watermarking dapat juga merupakan cara untuk menyisipkan watermark kedalam media yang ingin dilindungi hak ciptanya. Watermarking

merupakan proses penanaman watermark. Digital Watermarking merupakan cara yang digunakan untuk menyisipkan informasi atau watermark pada suatu dokumen digital. Dari defenisi-definisi diatas dapat penulis simpulkan bahwa watermarking merupakan cara untuk menyisipkan watermark atau proses penambahan kode secara permanen ke dalam citra digital yang ingin dilindungi hak ciptanya dengan tidak merusak citra aslinya dan tahan terhadap serangan (Sugiono, 2008).

(29)

13

Watermark merupakan sebuah pola atau kode atau data tertentu yang membawa informasi tertentu sesuai dengan tujuannya dan sengaja ditanamkan secara permanen kedalam data media induknya. Watermark dalam citra digital tersebut tidak dapat diketahui keberadaannya oleh pihak lain yang tidak mengetahui rahasia skema penyisipan watermark. Watermark tersebut juga tidak dapat diidentifikasi dan dihilangkan. Penggunaan watermarking sangat diperlukan untuk melindungi karya intelektual digital seperti gambar, teks, musik, video, dan termasuk perangkat lunak. Penggandaan atas produk digital yang dilakukan oleh pihak-pihak yang tidak bertanggung jawab semakin merajalela tanpa ada ikatan hukum yang pasti sehingga merugikan pemegang hak cipta akan produk digital tersebut. Oleh karena itu, penyisipan watermark memiliki peran yang cukup signifikan untuk mencegah terjadinya penggandaan terhadap produk digital.

Label watermark adalah sesuatu data atau informasi yang akan dimasukkan kedalam data digital yang ingin dilakukan proses watermarking. Ada 2 jenis label watermark yang dapat digunakan:

1. Teks biasa

Label watermark dari teks biasanya menggunakan nilai-nilai ASCII dari masing-masing karakter dalam teks yang kemudian dipecahkan atas bit per bit. Kelemahan dari label ini adalah kesalahan pada satu bit saja akan menghasilkan hasil yang berbeda dari teks sebenarnya.

2. Citra atau suara

Berbeda dengan teks, kesalahan pada beberapa bit masih dapat memberikan persepsi yang sama dengan aslinya, baik oleh pendengaran maupun penglihatan kita.

Oleh karena itu, penyisipan logo sebagai label watermark dirasakan lebih efektif dibandingkan teks, citra, ataupun suara karena selain tidak sensitif terhadap kesalahan bit, ukuran file juga tidak terlalu besar. Logo yang dipakai berupa logo biner atau hitam putih karena komputasi yang dibutuhkan tidak terlalu rumit namun tetap menjamin visualisasi yang cukup baik.

2.5.1 Digital Watermarking

Teknik watermarking video digital memiliki prinsip yang sama dengan watermarking

(30)

pada media lainnya. Secara umum, watermarking terdiri dari dua tahapan, yaitu penyisipan watermark dan ekstraksi/verifikasi atau pendeteksian watermark. Pengekstraksian dan pendeteksian sebuah watermark sebenarnya tergantung pada algoritma yang digunakan untuk watermarking. Pada beberapa algoritma watermarking, watermark dapat diekstraksi dalam bentuk yang eksak, sedangkan pada algoritma yang lain, hanya dapat dilakukan pendeteksian watermark pada media digitalnya (Halim, 2010).

Secara umum proses watermarking pada file video ditunjukkan pada Gambar 2.5 dimana file video disisipi dengan watermark menggunakan kunci sebagai sarana kepemilikan untuk dapat membuka watermark yang disisipkan melalui encoder yang berisi algoritma penyisipan watermark kedalam video digital seperti pada Gambar 2.5.

Key K

Original Watermarked Video (I) Video (Iw)

Watermark sequence W

Gambar 2.5. Penyisipan watermark (Sugiono, 2008).

Video ber-watermark yang dihasilkan dari proses watermarking tidak berbeda jauh secara visual dengan aslinya. Hal ini disebabkan karena pengubahan dari video digital asli ke video ber-watermark hanya berpengaruh sedikit terhadap perubahan warna dan suara. Proses watermarking perlu didukung dengan proses ekstraksi watermark. Proses ekstraksi atau verifikasi ini bertujuan untuk mendapatkan kembali

video digital asli dan watermark yang disisipkan dalam video digital tersebut. Umumnya proses ekstraksi atau verifikasi melibatkan proses pembandingan video asli dengan video ber-watermark untuk mendapatkan watermark yang disisipkan, seperti yang digambarkan pada Gambar 2.6.

Embedding (Emb)

(31)

15

Gambar 2.6. Ekstraksi Watermark (Sugiono, 2008).

Pengkategorian watermarking berdasarkan proses ekstraksi/verifikasi watermark terbagi 2 jenis, yaitu (Munir, 2007):

a. Blind Watermarking

Verifikasi watermark tanpa membutuhkan media yang asli. b. Non-Blind Watermarking

Verifikasi watermark dengan membutuhkan media asli.

Sebuah teknik watermarking yang bagus harus memenuhi persyaratan sebagai berikut: 1. Fidelity

Penyisipan suatu watermark pada media seharusnya tidak mempengaruhi nilai media tersebut. Watermark pada media idealnya tidak dapat dipersepsi oleh indera dan tidak dapat dibedakan dengan media yang asli.

2. Robustness

Watermark dalam media digital harus memiliki ketahanan yang cukup terhadap pemrosesan digital yang umum.

3. Security

Watermarking memiliki daya tahan terhadap usaha sengaja untuk memindahkan watermark dari suatu media ke media yang lain.

4. Imperceptibility

(32)

5. Key Uniqueness

Kunci yang digunakan pada proses dan penyisipan dan ekstraksi adalah sama dan tidak ada kunci lain yang bisa digunakan untuk membukanya. Perbedaan kunci seharusnya menghasilkan watermark yang berbeda pula.

6. Non-Invertibility

Proses untuk mendeteksi apakah media tersebut ber-watermark atau tidak akan sangat sulit jika hanya diketahui media ber-watermark saja.

7. Image Dependency

Watermark yang berada pada suatu media bergantung pada isi dari media tersebut.

2.5.2 Aplikasi Watermark

Watermark telah diterapkan secara luas untuk mengatasi berbagai tindak kejahatan yang berkaitan dengan dokumen digital (Munir, 2007). Fungsi penggunaan watermark tersebut antara lain adalah sebagai:

1. Identifikasi kepemilikan

Sebagai identitas dari pemilik dokumen digital, identitas ini disisipkan dalam dokumen digital dalam bentuk watermark. Biasanya identitas kepemilikan seperti ini diterapkan melalui visible watermarking. Contohnya url halaman web tempat suatu gambar di-download.

2. Bukti kepemilikan

Watermark merupakan suatu bukti yang sah yang dapat dipergunakan di pengadilan. Banyak kasus pemalsuan foto yang akhirnya terungkap karena penggunaan watermark ini.

3. Memeriksa keaslian isi karya digital

Watermark juga dapat digunakan sebagai teknik untuk mendeteksi keaslian dari suatu karya. Suatu image yang telah disisipi watermark dapat dideteksi perubahan yang dilakukan terhadapnya dengan memeriksa apakah watermark yang disisipkan dalam image tersebut rusak atau tidak.

4. User authentication atau fingerprinting

Seperti halnya bukti kepemilikan, watermark juga dapat digunakan sebagai pemeriksaan hak akses atau penanda (sidik jari) dari suatu media digital.

(33)

17

5. Transaction tracking

Fungsi transaction tracking ini dapat dilakukan pada image yang mengandung watermark. Pengimplementasiannya dilakukan dengan memberikan watermark yang berbeda pada sejumlah domain atau kelompok pengguna. Sehingga bila image tersebar diluar domain tersebut, dapat diketahui domain mana yang menyebarkannya.

6. Piracy protection/copy

Untuk dapat melakukan ini, perancang watermark harus bekerjasama tidak hanya pada masalah software, tetapi juga dengan vendor yang membuat hardware. Sehingga sebelum dilakukan peng-copy-an, terlebih dahulu dilakukan pemeriksaan apakah image tersebut boleh di-copy atau tidak.

7. Broadcast monitoring

Dalam dunia broadcasting/television news channel, watermark biasanya disisipkan sebagai logo dari perusahaan broadcasting yang bersangkutan. Hal ini dilakukan untuk menandai berita yang mereka siarkan. Sehingga bila pihak lain merekam berita tersebut, maka watermark-nya akan otomatis terbawa.

2.5.3 Klasifikasi Watermarking

Klasifikasi terhadap watermarkingdapat dikelompokkan dalam beberapa kategori. Kategori yang pertama berdasarkan kenampakan dari watermark.

1. Visible Watermarking

Pada visible watermarking ini, watermark yang disisipkan pada suatu media terlihat dengan jelas. Watermark biasanya berbentuk logo atau teks baik transparan atau tidak yang diletakkan tidak mengganggu atau menutupi media asal. Jenis watermarking ini biasanya diterapkan pada media yang memang dimaksudkan untuk disebar secara umum bersama dengan identitas pemilik asal media tersebut.

2. Invisible Watermarking

Sesuai namanya, watermark pada invisible watermarking yang disisipkan pada media tidak lagi dapat dipersepsi dengan indera. Namun, keberadaannya tetap dapat dideteksi. Penerapan teknik invisible watermarking ini lebih sulit dari pada teknik yang digunakan pada visible watermarking.

(34)

Selain itu, watermark juga dikategorikan berdasarkan kekuatan watermark yang ada pada media. Berikut penjelasannya:

1. Fragile Image Watermarking

Fragile image watermarking merupakan jenis watermark yang ditujukan untuk menyisipkan label kepemilikan media digital. Pada fragile watermarking ini, watermark mudah sekali berubah atau bahkan hilang jika dilakukan perubahan terhadap media digital. Dengan begitu, media digital sudah tidak lagi memiliki watermark yang asli. Fragile image watermarking ini biasanya digunakan agar dapat diketahui apakah suatu image sudah berubah atau masih sesuai aslinya. Jenis watermark inilah yang banyak diterapkan pada suatu media digital.

2. Robust Image Watermarking

Robust image watermarking adalah teknik penggunaan watermark yang ditujukan untuk menjaga integritas atau orisinalitas media digital. Watermark yang disisipkan pada media akan sangat sulit sekali dihapuskan atau dibuang. Dengan Robust Image, proses penggandaan media digital yang tidak memiliki izin dapat dihalangi. Kebanyakan aplikasi dari robust watermarking ini bukan pada sebuah media digital, melainkan pada sistem proteksi CD atau DVD (Aliwa, et al. 2009)

2.6Algoritma Watermarking DCT

Algoritma yang digunakan pada digital watermarking beragam tetapi secara umum teknik ini menggunakan redundant bits sebagai tempat menyembunyikan pesan pada saat dilakukan kompresi data, dan kemudian menggunakan kelemahan indera manusia yang tidak sensitive sehingga pesan tersebut tidak ada perbedaan yang terlihat atau yang terdengar. Algoritma DCT merupakan salah satu teknik yang digunakan dalam watermark citra dengan menggunakan cara dengan menyisipkan data pada frekuensi rendah dari piksel cover image. Teknik ini dapat digunakan untuk menyisipkan data yang ukurannya sesuai dengan kebutuhan. Ukuran file yang telah disisipkan data sama dengan ukuran file sebelum disisipkan data ditambah denganukuran data yang disisipkan ke dalam file tersebut. Dalam teknik ini, data disisipkan pada akhir file

(35)

19

dengan diberi tanda khusus sebagai pengenal start dari data tersebut dan pengenal akhir dari data tersebut (Krisnawati, 2008).

Watermark pada citra dengan DCT dilakukan dengan cara terlebih dahulu melakukan transformasi terhadap citra yang akan disisipi watermark. Setelah dilakukan transformasi, kemudian dilakukan modifikasi terhadap koefisien-koefisien DCT sesuai dengan bit watermark yang akan disisipkan. Setelah dilakukan modifikasi, dilakukan inverse DCT untuk mengembalikan data citra ke domain spasial agar dapat direpresentasikan (Winarso, 2007).

Misalkan data media cover seperti pada Tabel 2.4.

196 10 97 182 101 40 67 200 100 50 90 50 25 150 45 200 75 28 176 56 77 100 25 200 101 34 250 40 100 60 44 66 99 125 190 200

Tabel 2.4. Data Media Cover (Sukrisno, 2007)

2.6.1 Menghitung Koefisien DCT Citra

Koefisien DCT citra dihitung dengan menggunakan DCT satu dimensi didefenisikan pada persamaan berikut:

∑ [ ]

(2.4)

untuk 0

C(u) menyatakan koefisien ke-u dari himpunan hasil transformasi DCT. menyatakan anggota ke- dari himpunan asal. menyatakan banyaknya suku himpunan asal dan himpunan hasil transformasi. dinyatakan oleh persamaan berikut:

Untuk

√ (2.5)

(36)

√ (2.6)

A’ (matrikstranspose) yaitu perubahan kolom menjadi baris dari matriks hasil transform.

2.6.2 Discrete Cosine Transform(DCT)

DCT adalah sebuah teknik untuk mengubah sebuah sinyal kedalam komponen frekuensi dasar. Sifat dari DCT adalah mengubah informasi citra yang signifikan dikonsentrasikan hanya pada beberapa koefisien DCT dimana blok-blok citra di transformasikan dari domain spasial ke domain frekuensi spasial yang disebut dengan koefisien DCT. Frekuensi koefisien DCT yang lebih rendah muncul pada kiri atas dari sebuah matriks DCT dan frekuensi koefisien DCT yang lebih tinggi berada pada kanan bawah dari matriks DCT. DCT bekerja dengan memisahkan gambar ke bagian frekuensi yang berbeda. Proses penyisipan dilakukan pada bagian frekuensi yang tinggi karena penglihatan manusia tidak begitu sensitive dengan error-error yang ada pada frekuensi tinggi dibanding dengan yang ada pada frekuensi rendah (Jiansheng, et al.

2009).

Langkah-langkah penyisipan DCT 1. Perhitungan Matriks Transform 2. Perhitungan Matriks Transpose 3. Perhitungan Nilai Koefisien DCT

(37)

21

Proses perhitungan koefisien DCT yaitu: 1. Buat matriks transform yaitu matriks A. 2. Buat matriks citra original yaitu matriks X. 3. Perkalian matriks A dengan X

Yaitu matriks A baris ke-nol kolom ke-nol di kalikan dengan matriks X kekolom ke-nol pada matriks X.

4. Lakukan penjumlahan antara A (matriks transform) terhadap matriks X (matriks citra original) dari matriks kolom ke-nol dan pada baris ke-nol, sampai A baris ke N-1 dan X kolom ke N-1, di mana N adalah banyaknya pixel citra. Sehingga perkalian matriks A (matriks transform) terhadap X

(matriks citra original) di hasilkan nilai Y’ dari baris ke N-1 sampai M-1.

Untuk lebih jelasnya langkah-langkah penyisipan citra dengan algoritma DCT dapat dilihat seperti pada Gambar 2.7.

Gambar 2.7. Flow Chart DCT Keterangan:

Matriks A = Matriks transform Matriks X = Matriks citra asli

Matriks A’ = Matriks transpose

Start

Matriks A,X,A’

DCT=A * X * A’

Koefisien DCT

End

(38)

Pada pembentukan matriks transform dapat dilihat seperti pada Gambar 2.8.

Gambar 2.8. Flow Chart Matriks Transform

Keterangan:

Pada Gambar 2.8 dihasilkan matriks transform yang akan diubah menjadi matriks transpose dengan merubah posisi baris menjadi kolom seperti pada Gambar 2.9.

Start

Input Matriks Citra

End

i = 0

T = Sqrt (1/N)

A = t cos � �

Martiks Transform T = Sqrt (2/N)

(39)

23

Gambar 2.9. Flow Chart Matriks Transpose

Setelah pembentukan matriks transpose, maka dilakukan perkalian antara matriks transform dengan matriks citra asli seperti pada Gambar 2.10.

Gambar 2.10. Flow Chart Pembentukan matriks DCT Start

Matriks Transform (A)

Baris A Colum A’

Matriks Transpose (A’)

End

Start

Matriks A, matriks X

Matriks A *MatriksX

Matriks Y’

A

(40)

Gambar 2.10 Flow Chart Pembentukan matriks DCT (Lanjutan)

2.6.3 Perhitungan Matriks Transform

Untuk sebuah matriks citra n x m, 2-D DCT dapat dihitung dengan cara 1-D DCT diterapkan pada setiap baris dari colomdan kemudian hasilnya dihitung DCT untuk setiap kolomnya.

(2.7)

A(0,0) = 0.5

A(0,1) = 0.5

A(0,2) = 0.5

MatriksY’*MatriksA’

Matriks DCT (Y)

End A

(41)

25

A(0,3) = 0.5

A(1,0) = 0.653

A(1,1) = 0.271

A(1,2) = -0.271

A(1,3) = -0.653

A(2,0) = 0.5

A(2,1) = -0.5

A(2,2) = -0.5

A(2,3 = 0.5

A(3,0) = 0.271

(42)

A(3,1) = -0.653

A(3,2) = -0.653

A(3,3) = -0.271

Nilai koefisien DCT dari hasil perhitungan di atas dimasukkan ke dalam matriks transform seperti pada Gambar 2.12.

0.5 0.5 0.5 0.5 0.653 0.271 -0.271 -0.653

0.5 -0.5 -0.5 0.5 0.271 -0.653 0.653 -0.271 Gambar 2.12. Matriks Transform

2.6.3.1 Perhitungan Matriks Transpose (A’)

Matriks transpose yaitu perubahan kolom menjadi baris dan baris menjadi kolom dari matriks transform (A) seperti pada Gambar 2.13.

0.5 0.653 0.5 0.271 0.5 0.271 -0.5 -0.653 0.5 -0.271 -0.5 0.653 0.5 -0.653 0.5 -0.271

Gambar 2.13 Matriks Transpose

2.6.3.2 Perkalian Matriks Citra dengan Matriks Transform

(43)

27

Untuk memperoleh koefisien DCT citra, maka dilakukan perkalian matriks Transform dengan matriks cover image (Y’=A*X) seperti pada Gambar 2.14.

0.5 0.5 0.5 0.5 10 10 10 30

0.653 0.271 -0.271 -0.653 X 30 40 200 200

0.5 -0.5 -0.5 0.5 40 40 10 30

0.271 -0.653 0.653 -0.271 10 200 30 10

Gambar 2.14 Perkalian Matriks Transform dengan matriks cover image

(44)

Y’(2,3) = 135

Hasil perhitungan di atas dimasukkan pada Matriks Y’ seperti pada Gambar 2.15.

45 145 125 135

Transpose (Y=Y’*A’) seperti pada Gambar 2.16.

45 145 125 135 0.5 0.653 0.5 0.271

-2.71 -124.07 38.43 59.13 X 0.5 0.271 -0.5 -0.653

45 -145 -125 135 0.5 -0.271 -0.5 0.653

6.53 -51.49 -129.49 -105.59 0.5 -0.653 0.5 -0.271 Gambar 2.16 Perkalian Matriks Y dengan Transpose

Y(0,0) = (45*0.5) + (145*0.5) + (125*0.5) + (135*0.5) Y(0,0) = 225

Y(0,1) = (45*0.653) + (145*0.271) + (125*(-0.271)) + (135*(-0.653)) Y(0,1) = -53.35

Y(0,2) = (45*0.5) + (145*(-0.5)) + (125*(-0.5)) + (135*0.5) Y(0,2) = -45

Y(0,3) = (45*0.271) + (145*(-0.653)) + (125*0.653) + (135*(-0.271)) Y(0,3) = -37.45

(45)

29

Y(1,0) = (-2.71*0.5) + (-124.07*0.5) + (38.43*0.5) + (59.13*0.5) Y(1,0) = -14.61

Y(1,1) = (-2.71*0.653) + (-124.07*0.271) + (38.43*(-0.271)) + (59.13*(-0.653)) Y(1,1) = -84.41

Y(1,2) = (-2.71*0.5) + (-124.07*(-0.5)) + (38.43*(-0.5)) + (59.13*0.5) Y(1,2) = 71.03

Y(1,3) = (2.71*0.271) + (-124.07*(-0.653)) + (38.43*0.653) + (59.13*(-0.271)) Y(1,3) = 90.82

Y(2,0) = (45*0.5) + (-145*0.5) + (-125*0.5) + (135*0.5) Y(2,0) = -45

Y(2,1) = (45*0.653) + (-145*0.271) + (-125*(-0.271)) + (135*(-0.653)) Y(2,1) = -64.19

Y(2,2) = (45*0.5) + (-145*(-0.5)) + (-125*(-0.5)) + (135*0.5) Y(2,2) = 225

Y(2,3) = (45*0.271) + (-145*(-0.653)) + (-125*0.653) + (135*(-0.271)) Y(2,3) = -11.33

Y(3,0) = (6.53*0.5) + (-51.49*0.5) + (-129.49*0.5) + (-105.59*0.5) Y(3,0) = -140.02

Y(3,1) = (6.53*0.653) + (-51.49*0.271) + (-129.49*(-0.271)) + (-105.59*(-0.653)) Y(3,1) = 94.35

Y(3,2) = (6.53*0.5) + (-51.49*(-0.5)) + (-129.49*(-0.5)) + (-105.59*0.5) Y(3,2) = 40.96

Y(3,3) = (6.53*0.271) + (-51.49*(-0.653)) + (-129.49*0.653) + (-105.59*(-0.271)) Y(3,3) = -20.54

Hasil perhitungan di atas dimasukkan pada Matriks Y seperti pada Gambar 2.17.

(46)

Sekarang matriks DCT cover image berisi koefisien-koefisien, dan untuk melakukan penyisipan pada piksel pada daerah frekuensi tinggi, juga jika hendak melakukan ekstraksi dengan membaca piksel-piksel pada frekuensi tersebut seperti berikut.

1. Koefisien 94.35 dengan nilai piksel xx sebagai piksel embed 1 2. Koefisien 225 dengan nilai piksel xx sebagai piksel embed 2 3. Koefisien 90.82 dengan nilai piksel xx sebagai piksel embed 3 4. Koefisien 40.96 dengan nilai piksel xx sebagai piksel embed 4 5. Koefisien -11.33 dengan nilai piksel xx sebagai piksel embed 5 6. Koefisien -20.54 dengan nilai piksel xx sebagai piksel embed 6

2.6.3.3 Invers DCT (IDCT)

Invers DCT adalah proses mengembalikan cover image dari domain frekuensi menjadi domain spasialnya agar dapat direpresentasikan secara visual. Perhitungan IDCT dilakukan dengan cara mengalikan matriks transpose (A’) dengan matriks DCT (Y).

X’=A’*Y seperti pada Gambar 2.18.

0.5 0.653 0.5 0.271 225 -53.35 -45 -37.45 0.5 0.271 -0.5 -0.653 X -14.61 -84.41 71.03 40.82 0.5 -0.271 -0.5 0.653 -45 -64.19 175 -61.33 0.5 -0.653 0.5 -0.271 -140.02 44.35 -9.04 -70.54 Gambar 2.18. Perkalian Matriks Transpose (A’) dengan Matriks DCT Q50 (Y’)

X’(0,0) = 0.5*225 + 0.653*(-14.61) + 0.5*(-45) + 0.271*(-140.02)

X’(0,0) = 42.51

X’(0,1) = 0.5*(-53.35) + 0.653*(-84.41) + 0.5*(-64.19) + 0.271*44.35

X’(0,1) = -101.87

X’(0,2) = 0.5*(-45) + 0.653*71.03 + 0.5*175 + 0.271*(-9.04)

X’(0,2) = 108.93

X’(0,3) = 0.5*(-37.45) + 0.653*40.82 + 0.5*38.67 + 0.271*(-29.46)

X’(0,3) = 19.28

(47)

31

X’(1,0) = 0.5*225 + 0.271*(-14.61) + (-0.5)*(-45) + (-0.653)*(-140.02)

X’(1,0) = 222.47

X’(1,1) = (0.5*(-53.35)) + (0.271*(-84.41)) + ((-0.5)*(-64.19)) + ((-0.653)*44.35)

X’(1,1) = -46.41

X’(1,2) = (0.5*(-45)) + (-0.271)*71.03 + ((-0.5)*175) + ((-0.653)*(-9.04))

X’(1,2) = -123.34

X’(1,3) = (0.5*(-35.45)) + (0.271*40.82) + ((-0.5)*38.67) + ((-0.653)*(-29.46))

X’(1,3) = -6.76

X’(2,0) = (0.5*(225) + ((-0.271)*(-14.61)) + ((-0.5)*(-45)) + (0.653*(-140.02))

X’(2,0) = 222.47

X’(2,1) = (0.5*(-53.35)) + ((-0.271)*(-84.41)) + ((-0.5)*(-64.19)) + (0.653*44.35)

X’(2,1) = 57.25

X’(2,2) = (0.5*(-45)) + ((-0.271)*71.03) + ((-0.5)*175) + (0.653*(-29.35))= -148.41

X’(2,3) = (0.5*(-35.45)) + ((-0.271)*40.82)+((-0.5)*38.67)+(0.653*(-29.46))= -67.35

X’(3,0) = (0.5*(225) + ((-0.653)*(-14.61)) + (0.5*(-45)) + ((-0.271)*(-140.02))

X’(3,0) = 137.48

X’(3,1) = (0.5*(-53.35)) + ((-0.653)*(-84.41)) + (0.5*(-64.19)) + ((-0.271)*44.35)

X’(3,1) = -15.66

X’(3,2) = (0.5*(-45)) + ((-0.653)*71.03) + (0.5*175) + ((-0.271)*(-29.35))

X’(3,2) = 26.57

X’(3,3) = (0.5*(-35.45)) + ((-0.653)*40.82) + (0.5*38.67) + ((-0.271)*(-29.46))

X’(3,3) = -17.06

Hasil perhitungan di atas dimasukkan pada matriks X’ seperti pada Gambar 2.19.

42.51 -101.87 103.42 20.28 222.47 -46.41 -71.58 -6.76 222.47 57.25 -148.41 -67.35 137.48 -15.66 26.57 -17.06

Gambar 2.19 Matriks X’

(48)

Selanjutnya matriks X’ dikalikan dengan matriks A (transform) X=X’*A seperti pada

Gambar 2.20 Perkalian Matriks X’ dengan Matriks Transform

X’(0,0) = 42.51*0.5 + (-101.87)*0.653 + 103.42*0.5 + 20.28*0.271

X’(0,0) = 11.93

X’(0,1) = 42.51*0.5 + (-101.87)*0.271 + 103.42*(-0.5) + 20.28*(-0.653)

X’(0,1) = -71.30

X’(0,2) = 42.51*0.5 + (-101.87)*(-0.271) + 103.42*(-0.5) + 20.28*0.653

X’(0,2) = 10.39

X’(0,3) = 42.51*0.5 + (-101.87)*(-0.653) + 103.42*0.5 + 20.28*(-0.271)

X’(0,3) = 133.99

X’(2,0) = 222.47*0.5 + 57.25*0.653 + (-148.41)*0.5 + (-67.35)*0.271

X’(2,0) = 56.16

X’(2,1) = 222.47*0.5 + 57.25*0.271 + (-148.41)*(-0.5) + (-67.35)*(-0.653)

X’(2,1) = 244.93

X’(2,2) = 222.47*0.5 + 57.25*(-0.271) + (-148.41)*(-0.5) + (-67.35)*0.653

X’(2,2) = 125.94

X’(2,3) = 222.47*0.5 + 57.25*(-0.653) + (-148.41)*0.5 + (-67.35)*(-0.271)

X’(2,3) = 17.89

(49)

33

Pengukuran fidelity steganografi dapat dihitung dengan menghitung nilai MSE (Mean Squared Error) dan PSNR (Peak Signal to Noise Ratio). PSNR adalah perbandingan antara nilai maksimum dari sinyal yang diukur dengan besarnya derau yang berpengaruh pada sinyal tersebut(Megalingam, 2010). PSNR biasanya diukur dalam satuan desibel. PSNR digunakan untuk mengetahui kualitas (validasi) citra hasil kompresi. Untuk menentukan PSNR, terlebih dahulu harus ditentukan nilai rata-rata kuadratdari error (MSE - Mean Square Error) (Munir, 2004).

(50)

2.8 Penelitian Terdahulu

2008 Least Significant Bit (LSB) Dan data tersebut di-load ke text area, akan muncul karakter-sehingga besarnya citra harus menyesuaikan disisipkan tidak terbatas jumlahnya.

Semakin banyak karakter yang disisipkan maka semakin berkurang kualitas citra yang dihasilkan. Hal ini ditandai dengan berkurangnya nilai PSNR yang dihasilkan oleh masing-masing file citra uji.

(51)

BAB 3

ANALISIS DAN PERANCANGAN

3.3Analisis

3.3.1 General Architecture

General Architecture menggambarkan proses, alur dan interaksi antar komponen dalam suatu sistem. Desain arsitektur dari suatu sistem yang merepresentasikan struktur data komponen pada aplikasi yang diperuntukkan dalam membangun suatu sistem (Pressman, 2010). Perancangan aplikasi ini akan dijabarkan pada arsitektur umum yang terdiri dari General Architecture Penyisipan dan General Architecture Ekstraksi.

a. Proses Penyisipan Citra Watermarking

Proses Penyisipan Citra Watermarking menggambarkan proses-proses yang terjadi dalam penyisipan cover citra ke dalam citra penyisip seperti yang dapat dilihat pada Gambar 3.1.

Gambar 3.1 Proses Penyisipan Citra Watermarking

Mulai Input Citra Cover Input Citra Embed Hitung Nilai Piksel

Citra Cover

Nilai MSE Citra Watermark

(52)

Penguna menjalankan sistem penyisipan dengan menginput file citra cover dan citra embed. Selanjutnya dihitung nilai piksel citra cover. Sistem menghitung koefisien transform dalam bentuk matriks dan koefisien transpose dalam bentuk matriks dan selanjutnya menghitung matriks koefisien DCT. Penyisipan bit-bit Embed ke dalam matriks cover image dan menghitung nilai MSE citra Watermarking.

b. Proses Ekstraksi Citra Watermarking

Proses Ekstraksi Citra Watermarking menggambarkan proses-proses yang terjadi dalam ekstraksi citra penyisisip dari dalam citra watermark seperti yang dapat dilihat pada Gambar 3.2.

Gambar 3.2 Proses Ekstraksi Citra Watermarking

Pengguna menjalankan sistem ekstraksi citra dengan cara menginput citra watermark. Selanjutnya sistem memasukkan citra watermark dan dilakukan perhitungan nilai piksel citra watermark. Setelah itu sistem menghitung koefisien transform dalam bentuk matriks dan menghitung koefisien transpose dalam bentuk matriks. Lalu sistem menghitung matriks koefisien DCT dan dilakukan pembacaan bit-bit embed dari citra watermarking. Setelah itu dilakukan rekonstruksi citra embed dalam membentuk citra embed dari bit-bit ekstraks.

Mulai Input Citra Watermark Hitung Nilai Piksel

(53)

37

3.4Flow Chart Proses

Flow chart proses adalah diagram alir proses Penyisipan dan Ekstraksi file citra yang menggambarkan aliran data citra mulai dari pemasukan file citra cover dan embed, proses pengolahan, proses penyisipan sampai menampilkan hasil ekstraksi. Rancangan Flow Chart Penyisipan dan Ekstraksi terdiri dari Algoritma DCT.

3.4.1 Flow Chart Proses Penyisipan

Flow Chart Proses Penyisipan menggambarkan proses Penyisipan file citra yang berformat JPG dapat dilihat pada Gambar 3.3.

Gambar 3.3 Flow Chart Proses Penyisipan Start

Input Cover dan Embed Image

Hitung matriks transform dan transpose

Penyisipan Hitung Koefisien DCT

Hitung Nilai Piksel

Simpan Citra Watermark

Hitung MSE

Finish

Tampilkan Watermark & MSE

(54)

Pada flow chart Gambar 3.3 di atas, input berupa cover image yang berformat JPG dan bmp sebagai citra wadah yang akan disisipi dengan citra penyisip. Setelah pemasukan file citra sebagai citra penyisip maka dilakukan perhitungan nilai piksel berupa nilai intensitas warna red, green dan blue (RGB). Setelah itu dilakukan pembuatan matriks transform dan transpose untuk perhitungan koefisien DCT cover image. Setelah itu dilakukan penyisipan pada domain frekuensi yaitu pada piksel-piksel frekuensi tengah. Hasil penyisipan disimpan dalam bentuk file image sebagai citra watermark.

3.4.2 Flow Chart Proses Ekstraksi

Flow Chart Proses Ekstraksi menggambarkan proses Penyisipan file citra yang

berformat JPG dengan algoritma DCT 2 D. Rancangan Flow Chart Ekstraksi dapat dilihat pada Gambar 3.4.

Gambar 3.4 Flow Chart Ekstraksi Start

Input Watermark Image

Hitung matriks transform dan Transpose

Baca Koefisien Frekuensi Tengah Hitung Koefisien DCT

Hitung Nilai Piksel

A

(55)

39

Gambar 3.4 Flow Chart Ekstraksi (lanjutan)

Pada Gambar 3.4 di atas, input watermark image adalah pemasukan file citra hasil penyisipan (watermark). Tahap awal dilakukan perhitungan nilai piksel berupa nilai intensitas warna red, green dan blue (RGB). Setelah itu dilakukan perhitungan matriks transform dan transpose adalah berfungsi untuk perhitungan koefisien DCT cover image. Selanjutnya dilakukan pembacaan koefisien frekuensi tengah dan dikonversikan setiap 8 bit embed menjadi satu piksel embed image dan tampilkan citra hasil rekonstruksi sebagai citra penyisip.

3.4.3 Flow Chart Proses DCT

Flow Proses DCT menggambarkan alir proses perhitungan koefisien DCT dari matriks citra cover, matriks transform serta matriks transpose menjadi matriks koefisien DCT. Flow chart proses DCT yang dapat dilihat pada Gambar 3.5.

Finish

24 bit  1 byte embed

Tampilkan Embed Image A

(56)

Gambar 3.5 Flow Chart Proses DCT

Pada Gambar 3.5 di atas input berupa matriks T yaitu matriks transform, matriks M yaitu matriks citra cover serta matriks T’ berupa matriks transpose. Matriks T dihitung dengan menggunakan persamaan 2.7 dan matriks T’ adalah konversi matriks T yaitu nilai koefisien pada baris diubah menjadi nilai koefisien kolom. Sedangkan matriks M adalah dihitung menurut persamaan 2.5 dan 2.6. pada Bab 2. Selanjutnya dilakukan perkalian ketiga matriks tersebut dan menghasilkan matriks koefisien DCT yang berisi nilai piksel cover dalam domain frekuensi rendah, sedang dan tinggi.

3.4.4 Flow Chart Matriks Transform

Rancangan Flow Chart matriks transform adalah diagram alir proses perhitungan matriks transform yang dapat dilihat pada Gambar 3.6.

Gambar 3.6 Flow Chart matriks transform Start

Input Matriks T,M,T’

DCT=T * M T’

Koefisien DCT

Finish

Start

Input Matriks Citra

A

(57)

41

Gambar 3.6 Flow Chart matriks transform (lanjutan)

Pada Gambar 3.6 diatas, input berupa matriks citra sebagai dasar perhitungan matriks transform dengan i=0, yaitu untuk baris citra ke 1. Jika i=0, maka perhitungan koefisien DCT menggunakan persamaan T=sqr (1/N), dan jika i > 0 maka digunakan persamaan T = Sqr (2/N), dimana N adalah dimensi citra cover (lebar x tinggi). Output proses ini berupa matriks transform yang akan dilakukan perubahan baris menjadi kolom menghasilkan matriks transpose.

3.4.5 Flow Chart Matriks Transpose

Rancangan Flow Chart matriks transpose adalah diagram alir proses perhitungan matriks transpose yang dapat dilihat pada Gambar 3.7.

T= Sqr(1/N)

Matriks transform

Finish i=0

ya tidak

T= Sqr(2/N)

A = t Cos I∏ A

(58)

Gambar 3.7 Flow chart matriks transpose

Pada Gambar 3.7 di atas, input berupa matriks transform sebagai dasar perhitungan matriks transpose. Proses selanjutnya dilakukan konversi matrik yaitu dengan menukar nilai koefisien perbaris menjadi nilai koefisien per kolom pada matriks transform menghasilkan matriks transpose.

3.4.6 Perancangan Aplikasi

Perancangan perangkat lunak penyisipian citra kedalam file citra dengan teknik Watermarking menggunakan algoritma Discrete Cosine Transform (DCT) rancangan antarmuka (interface) yang terdiri dari form-form sebagai perantara antara sistem dengan User (pengguna).

3.4.7 Perancangan Menu Utama

Rancangan Menu Utama kompresi dan dekompresi citra dengan algoritma DCT dapat dilihat pada Gambar 3.8.

Start

Input Matriks transform

Baris  kolom

Matriks transpose

Finish Simpan matriks

(59)

43

Gambar 3.8 Rancangan Menu Utama

Pada Gambar 3.8 di atas, menu File terdiri dari dua sub menu yaitu sub menu Penyisipan dan Ekstraksi. Untuk melakukan penyisipan watermark citra pilih sub menu Penyisipan dan jika melakukan ekstraksi watermark, pilih sub menu Ekstraksi.

3.4.8 Perancangan Penyisipan

Rancangan Penyisipan adalah berfungsi untuk melakukan watermarking cover image dengan embed image yang dapat dilihat pada Gambar 3.9.

(60)

1. Tombol File Cover berfungsi untuk memanggil file citra yang hendak disisipi 2. Tombol Load Penyisip berfungsi untuk memanggil file citra penyisip

3. Tombol Clear berfungsi untuk mengosongkan data hasil proses pada form 4. Tombol Exit berfungsi untuk menutup tampilan.

3.4.9 Perancangan Ekstraksi

Rancangan Ekstraksi berfungsi untuk melakukan ekstraksi embed image dari file watermark image hasil penyisipan yang dapat dilihat pada Gambar 3.10.

Gambar 3.10 Rancangan Ekstraksi Keterangan:

1. Tombol Load berfungsi untuk memanggil file citra watermarking hasil penyisipan. 2. Tombol Proses berfungsi untuk melakukan proses ekstraksi citra penyisip dari citra

watermarking.

3. Tombol Clear berfungsi untuk mengosongkan data hasil proses pada form 4. Tombol Exit berfungsi untuk menutup tampilan.

(61)

BAB 4

IMPLEMENTASI DAN PENGUJIAN

4.1Implementasi

Implementasi watermarking Menggunakan Algoritma Discrete Cosine Transform (DCT) Pada Penyisipan Citra Ke Dalam Citra adalah tampilan hasil rancangan dari penulisan kode program dimulai dari program Penyisipan dan Ekstraksi, About Help serta Quit.

4.1.1 Tampilan Penyisipan

Tampilan Penyisipan merupakan tampilan berguna untuk melakukan proses penyisipan citra dengan algoritma Discrete Cosine Transform (DCT). Tampilan Penyisipan dapat dilihat pada Gambar 4.1.

Gambar 4.1 Tampilan Penyisipan

Gambar

Gambar 2.5. Penyisipan watermark (Sugiono, 2008).
Gambar 2.6. Ekstraksi Watermark (Sugiono, 2008).
Tabel 2.4. Data Media Cover (Sukrisno, 2007)
Gambar 2.7. Flow Chart DCT
+7

Referensi

Dokumen terkait

Guru Besar Hukum Pidana untuk mata kuliah Pertanggungjawaban Pidana Korporasi pada Program Magister Khusus Kejaksaan pada Universitas Indonesia dan Sekolah Tinggi

Dengan mengacu pada indikator yang telah ditetapkan sebelumnya dapat disimpulkan bahwa penerapan metode pembelajaran Inkuiri Terbimbing pada pokok bahasan kalor dapat

mandiri Way Halim Bandar lampung dalam penelitian ini adalah cara yang di susun.. secara menyeluruh untuk memenuhi permintaan dan target pemasaran

Beberapa orang (atau grup dari sebuah proyek besar) dapat diberikan tanggung jawab untuk melakukan tugas atau menyelesaikan kegiatan-kegiatan yang dilibatkan... Anda dapat

Dengan demikian Manajemen Keuangan merupakan suatu proses dalam kegiatan keuangan perusahaan yang berhubungan dengan upaya untuk mendapatkan dana perusahaan

Pada Pilar tiga Learning to be (belajar untuk menjadi pribadi yang utuh) yaitu belajar menjadi sesuatu atau berkembang menjadi pribadi yang seutuhnya, yang

Dengan berbagai upaya tersebut di atas, mari kita jaga dan awasi anak didik kita, dari bahaya narkoba tersebut, sehingga harapan kita untuk menelurkan generasi yang cerdas dan

Hasil analisis sub elemen berdasarkan matriks drver power – dependence elemen pendukung pengembangan, penghambat pengembangan pelaku pengembangan dan kebutuhan