• Tidak ada hasil yang ditemukan

BAB IV ANALISIS DAN PERANCANGAN PERANGKAT LUNAK

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB IV ANALISIS DAN PERANCANGAN PERANGKAT LUNAK"

Copied!
19
0
0

Teks penuh

(1)

IV-1

LUNAK

Pada bab ini dilakukan analisis dari proses pembangunan perangkat lunak berdasarkan analisis yang telah dilakukan pada bab sebelumnya. Analisis yang akan dibahas meliputi analisis kebutuhan perangkat lunak, perancangan arsitektur perangkat lunak, dan proses perangkat lunak.

4.1 Analisis Perangkat Lunak

Pada sub bab ini akan diuraikan tentang deskripsi umum, arsitektur, kebutuhan, dan analisis perangkat lunak.

4.1.1 Deskripsi Umum Perangkat Lunak

Perangkat lunak yang dibangun merupakan perangkat lunak yang diterapkan pada PC, baik desktop maupun laptop, dan memiliki fungsi untuk menanamkan pesan ke citra bitmap dengan terlebih dahulu melakukan enkripsi terhadap pesan tersebut.

Pengguna dapat berinteraksi dengan perangkat lunak melalui antarmuka perangkat lunak. Pengguna dapat memilih citra yang akan ditanamkan pesan. Pesan yang telah terenkripsi ditanamkan ke citra dengan pemilihan piksel berdasarkan key yang di-input-kan oleh pengguna.

Data yang digunakan dalam sistem adalah data citra masukan, kunci enkripsi pesan rahasia, dan kunci pseudorandom. Data citra masukan adalah arsip citra yang akan ditanamkan pesan rahasia di dalamnya. Data citra ini merupakan citra tidak terkompresi dengan tipe arsip bitmap. Pada awal proses, pengguna memasukkan jumlah LSB setiap piksel yang akan digunakan untuk menanamkan pesan. Kemudian pengguna memasukkan pesan yang ukurannya memiliki batas maksimal sesuai dengan ukuran citra dan jumlah LSB tiap piksel yang telah ditentukan sebelumnya. Pesan dienkripsi berdasarkan kunci yang diberikan oleh pengguna. Setelah itu, kunci baru yang berguna untuk membangkitkan piksel yang akan digunakan secara pseudorandom dimasukkan

(2)

oleh pengguna. Piksel-piksel yang terpilih tersebut diubah sesuai dengan algoritma yang telah ditentukan.

Data keluaran dari perangkat lunak ini adalah stego-image. Stego-image merupakan citra yang beberapa atau keseluruhan dari LSB-nya telah dimodifikasi sesuai dengan pesan rahasia yang ingin disampaikan.

4.1.2 Arsitektur Perangkat Lunak

Arsitektur perangkat lunak yang akan dibangun pada tugas akhir ini akan memiliki 4 buah modul utama yang diilustrasikan pada Gambar IV.1.

(3)

Modul penanaman pesan memiliki masukan berupa citra BMP, pesan rahasia yang telah terenkripsi, dan kunci pseudorandom. Pesan rahasia yang dimasukkan akan mengalami pemecahan menjadi beberapa bagian dalam sejumlah bit, sebelum dilakukan penyisipan didapatkan sejumlah bilangan pseudorandom yang digunakan untuk mengakses piksel yang akan ditanamkan pesan yang dibangkitkan dengan kunci. Selanjutnya pesan dioperasikan berdasarkan metode Zhang LSB Image dan disisipkan ke dalam citra BMP. Keluaran dari modul penanaman ini adalah citra tidak terkompresi BMP yang berisi pesan rahasia yang terenkripsi di dalamnya.

Modul pengenkripsian pesan memiliki masukan berupa pesan rahasia dan kunci enkripsi. Pesan rahasia dibagi menjadi sejumlah word dan setiap 4 word (1 blok = 4 word) dilakukan operasi menggunakan metode MARS hingga semua pesan rahasia dikerjakan. Keluaran dari modul pengenkripsian ini adalah pesan rahasia yang telah terenkripsi.

Modul ekstraksi pesan memiliki masukan berupa citra tidak terkompresi BMP yang berisi pesan rahasia yang terenkripsi di dalamnya dan kunci pseudorandom. Pembacaan piksel dilakukan setelah dibangkitkan sejumlah bilangan pseudorandom yang berfungsi sebagai alat untuk mengakses piksel-piksel mana yang akan digunakan untuk mendapatkan kembali pesan. Setelah mendapatkan piksel-piksel tersebut dilakukan operasi berdasarkan metode Zhang LSB Image, sehingga didapatkan pesan dalam sejumlah bit tertentu. Sejumlah bit tertentu itu digabungkan dan didapatkan pesan yang terenkripsi. Keluaran dari modul ekstraksi pesan ini adalah pesan rahasia yang terenkripsi yang disisipkan pada citra tidak terkompresi BMP.

Modul pendekripsian pesan memiliki masukan berupa pesan rahasia yang terenkripsi dan kunci dekripsi. Pesan rahasia dibagi menjadi sejumlah word dan setiap 4 word dilakukan operasi menggunakan metode MARS hingga semua pesan rahasia dikerjakan. Keluaran dari modul pengenkripsian ini adalah pesan rahasia yang telah tidak terenkripsi.

(4)

4.1.3 Fitur Utama Perangkat Lunak

Pada bagian ini dijelaskan fitur-fitur utama dari perangkat lunak yang dikembangkan. Fitur-fitur ini dipaparkan dalam bentuk kebutuhan fungsional dan kebutuhan non-fungsional.

4.1.3.1 Kebutuhan Fungsional

Tabel IV-1 menampilkan daftar kebutuhan fungsional pada perangkat lunak yang dikembangkan.

Tabel IV-1 Daftar Kebutuhan Fungsional Perangkat Lunak

Kode Fitur Nama Fitur Deskripsi

F-01 Enkripsi Sistem mampu melakukan enkripsi pesan rahasia F-02 Penyisipan Sistem dapat menyisipkan pesan rahasia dalam

dokumen BMP

F-03 Ekstraksi Sistem dapat melakukan ekstraksi pesan rahasia yang telah disisipkan

F-04 Dekripsi Sistem mampu melakukan dekripsi pesan rahasia yang telah terenkripsi

F-05 Membaca dokumen citra Sistem mampu melakukan pembacaan dokumen citra yang menjadi media dengan benar

F-06 Menampilkan info dokumen Sistem mampu menampilkan informasi dokumen yang digunakan

F-07 Menyimpan arsip keluaran Sistem mampu menyimpan citra hasil steganografi atau pesan hasil ekstraksi dalam bentuk file.

Agar fitur utama tersebut dapat dipenuhi dan pengguna dapat menggunakan sistem dengan mudah, maka perangkat lunak yang akan dibangun memeiliki beberapa kebutuhan yang harus tersedia pada perangkat lunak tersebut, kebutuhan fungsional perangkat lunak tersebut, yaitu:

1. Sistem dapat melakukan pengolahan bit pada citra tanpa merusak citra tersebut 2. Sistem dapat melakukan proses enkripsi dan dekripsi dengan menggunakan metode

MARS

3. Sistem dapat mengubah data ke dalam word dan bit dan dapat mengubah kembali ke dalam representasi bit

4. Sistem dapat melakukan proses penanaman dan pengekstrakan pesan dari dalam citra dengan mengggunakan metode Zhang LSB Image Steganography

5. Sistem dapat membuat citra baru setelah dilakukan penanaman pesan ke dalam sebuah citra

(5)

4.1.3.2 Kebutuhan Non-Fungsional

Selain kebutuhan fungsional di atas, aplikasi yang akan dibangun harus dapat memenuhi beberapa kebutuhan non-fungsional yang dapat membantu pengguna dalam menggunakan aplikasi dan juga dapat memudahkan dalam pengembangan lebih lanjut. Tabel IV-2 menampilkan daftar kebutuhan non-fungsional pada perangkat lunak yang dikembangkan.

Tabel IV-2 Daftar Kebutuhan Non-Fungsional Perangkat Lunak

Kode Fitur Nama Fitur Deskripsi

NF-01 User friendly Sistem memiliki antarmuka yang mudah dimengerti oleh pengguna dan memiliki menu

help

NF-02 Validasi dokumen Sistem memeriksa dokumen-dokumen masukkan sesuai dengan ketentuan NF-03 Alert Sistem menampilkan peringatan atau informasi kepada pengguna

4.1.4 Model Use Case

Pada bagian ini dibangun pemodelan use case yang sesuai dengan kebutuhan fungsional dan kebutuhan non-fungsional perangkat lunak yang telah didefinisikan sebelumnya.

4.1.4.1 Diagram Use Case

Hal-hal yang dapat dilakukan oleh pengguna terhadap sistem dapat dilihat pada diagaram use case pada Gambar IV.2.

Perangkat lunak memiliki dua use case utama yaitu menanamkan pesan dan mengekstrak pesan, dimana use case menanamkan pesan mengikutsertakan use case memilih piksel yang digunakan dan mengenkripsi pesan, sedangkan use case mengekstrak pesan mengikutsertakan use case memilih piksel yang digunakan dan mendekripsi pesan.

(6)

System pengguna mengenkripsi pesan mendekripsi pesan menanamkan pesan mengekstrak pesan

memilih piksel yang digunakan

<<include>>

<<include>>

<<include>>

<<include>>

Gambar IV-2 Use case global

4.1.4.2 Definisi Aktor

Tabel IV-3 menunjukkan definisi aktor perangkat lunak.

Tabel IV-3 Definisi Aktor Perangkat Lunak

Kode Aktor Deskripsi

A-1 Pengguna Merupakan orang yang menggunakan perangkat lunak ini

4.1.4.3 Definisi Use Case

Tabel IV-4 menunjukkan definisi use case perangkat lunak.

Tabel IV-4 Definisi Use Case Perangkat Lunak

Kode Use Case Deskripsi Cakupan Fitur

UC-01

Menanamkan pesan Melakukan penanaman pesan

pada dokumen citra BMP

F-01 F-05 F-06 F-07 NF-01 NF-02 NF-03 UC-02

Mengekstrak pesan Melakukan ekstraksi pesan

yang ada pada dokumen citra F-03 F-05 F-06 NF-01 NF-02 NF-03

(7)

Kode Use Case Deskripsi Cakupan Fitur

UC-03

Memilih piksel yang

digunakan Melakukan pemilihan sejumlah piksel sebagai tempat penyisipan pesan rahasia

berdasarkan mode pseudorandom F-02 F-03 NF-01 NF-03

UC-04 Mengenkripsi pesan Melakukan enkripsi terhadap pesan yang akan ditanamkan F-01 NF-01 NF-03 UC-05 Mendekripsi pesan Melakukan dekripsi terhadap pesan yang diekstrak F-04 NF-01 NF-03

4.1.5 Realisasi use case tahap analisis

Pada bagian ini berisi skenario use case untuk setiap use case yang ada fasilitas perangkat lunak ini.

4.1.5.1 Use case Menanamkan Pesan

Use case menanamkan pesan menggunakan kelas-kelas yang memiliki tanggung jawab dalam penyisipan pesan, seperti membaca dokumen citra BMP, mengolah pesan yang akan disisipkan, dan melakukan penyisipan pesan dengan menggunakan metode Zhang LSB Image Steganography, kemudian menyimpan dokumen citra keluaran (stego-image). Use case ini juga berperan untuk melakukan validasi ukuran pesan agar tidak lebih besar dengan kapasitas penyisipan yang berdasarkan jumlah LSB tiap piksel dan ukuran citra.

Tabel IV-5 Skenario Use Case Menanamkan Pesan

Aksi User Reaksi Sistem

Skenario Normal

1) Memilih tab menanam

2) Meminta pengguna memasukkan citra 3) Memasukkan citra

4) Melakukan validasi format dokumen, dokumen valid

5) Meminta memasukkan kunci untuk metode

LCG

6) Memasukkan kunci

7) Meminta memasukkan pesan 8) Memasukkan pesan

9) Melakukan use case mengenkripsi pesan 10) Melakukan validasi terhadap ukuran

maksimal pesan dengan pesan yang terenkripsi, pesan valid

(8)

Aksi User Reaksi Sistem Skenario Normal

11) Melakukan use case memilih piksel yang digunakan

12) Melakukan penanaman pesan, pesan berhasil ditanam

13) Sistem menyimpan dokumen citra keluaran 14) Menampilkan informasi keberhasilan

penanaman

4.1.5.2 Use Case Mengekstrak Pesan

Use case mengekstraksi pesan menggunakan kelas-kelas yang sama dengan use case menyisipkan pesan. Use case ini melakukan ekstraksi pesan yang ada di dalam stego-image.

Tabel IV-6 Skenario Use Case Mengekstrak Pesan

Aksi User Reaksi Sistem

Skenario Normal

1) Memilih tab mengekstrak

2) Meminta pengguna memasukkan citra 3) Memasukkan citra

4) Melakukan validasi format dokumen, dokumen valid

5) Meminta memasukkan kunci untuk metode

LCG

6) Memasukkan kunci

7) Melakukan use case memilih piksel yang digunakan

8) Melakukan pengekstrakan pesan yang terenkripsi, pesan berhasil diekstrak

9) Melakukan use case dekripsi pesan 10) Menampilkan pesan yang ditanamkan

4.1.5.3 Use Case Mengenkripsi Pesan

Use case mengenkripsi pesan menggunakan kelas yang memiliki tanggung jawab melakukan fase-fase yang terdapat pada metode MARS, seperti melakukan fase forward mixing, melakukan key expansion, dan melakukan operasi-operasi word.

Tabel IV-7 Skenario Use Case Mengenkripsi Pesan

Aksi User Reaksi Sistem

Skenario Normal

1) Meminta pengguna memasukkan kunci untuk metode MARS

(9)

Aksi User Reaksi Sistem Skenario Normal

3) Melakukan fase forward mixing untuk enkripsi pesan

4) Melakukan fase main keyed transformation

untuk enkripsi pesan

5) Melakukan fase backwards mixing untuk enkripsi pesan

6) Menghasilkan pesan yang terenkripsi

4.1.5.4 Use Case Mendekripsi Pesan

Use case mendekripsi pesan menggunakan kelas yang sama dengan use case mengenkripsi pesan.

Tabel IV-8 Skenario Use Case Mendekripsi Pesan

Aksi User Reaksi Sistem

Skenario Normal

1) Meminta pengguna memasukkan kunci untuk metode MARS

2) Memasukkan kunci

3) Melakukan fase forward mixing untuk dekripsi pesan

4) Melakukan fase main keyed transformation

untuk dekripsi pesan

5) Melakukan fase backwards mixing untuk dekripsi pesan

6) Menghasilkan pesan yang terdekripsi

4.1.5.5 Use Case Memilih Piksel yang Digunakan

Use case memilih piksel yang digunakan kelas yang memiliki tanggung jawab membangkitkan sejumlah nilai pseudorandom yang berfungsi untuk memilih piksel mana yang akan dimofikasi.

Tabel IV-9 Skenario Use Case Memilih Piksel yang Digunakan

Aksi User Reaksi Sistem

Skenario Normal

1) Menggunakan kunci LCG pada use case

yang meng-includeuse case ini

2) Melakukan pembangkitan sejumlah nilai 3) Menghasilkan list piksel yang akan

(10)

4.1.6 Diagram Kelas Keseluruhan

Tabel menunjukkan daftar kelas analisis yang terdapat di dalam diagram kelas analisis global lengkap dengan stereotype masing-masing kelas.

Tabel IV-10 Kelas keseluruhan beserta stereotype-nya

No. Nama Kelas Stereotype

1. Antarmuka Boundary 2. ZHANGmtd Controller 3. MARSmtd Controller 4. LCGmtd Controller 5. LSBImage Entity 6. Pesan Entity antarmuka LCGmtd MARSmtd ZHANGmtd LSBImage pesan

Gambar IV-3 Diagram Kelas Analisis Global

Setiap kelas memiliki tanggung jawab masing-masing. Tabel IV-11 menunjukkan tanggung jawab dan atribut yang dimiliki oleh setiap kelas.

(11)

Tabel IV-11 Kelas keseluruhan, daftar tanggung jawab, dan atributnya

Nama Kelas Daftar Tanggung Jawab Atribut

Antarmuka 1. Melakukan interaksi dengan pengguna

2. Menerima masukkan data untuk diproses oleh kelas lain

3. Memberikan informasi pada user dalam bentuk notifikasi

Zhangmtd 1. Melakukan penanaman pesan terenkripsi 2. Melakukan pengekstrakan pesan terenkripsi

MARSmtd 1. Melakukan enkripsi pesan 2. Melakukan dekripsi pesan

LCGmtd 1. Melakukan pembangkitan sejumlah angka

pseudorandom untuk mendapatkan piksel yang akan digunakan/dimodifikasi

LSBImage 1. Melakukan akses terhadap LSB citra

2. Melakukan modifikasi terhadap piksel LSB dari citra

pikselLSB: array of m bit

pesan 1. Mengubah pesan menjadi array of word

2. Mengubah pesan menjadi array of m bit, jumlah m

berdasarkan masukkan pengguna

pesanMentah: array of byte pesanWord: array of word pesanMBit: array of m bit

4.2 Perancangan Perangkat Lunak

Berdasarkan analisis kelas yang telah dilakukan, maka dapat dilihat diagram kelas perancangan pada Gambar IV-4.

4.2.1 Deskripsi Diagram Perancangan Kelas

Berikut adalah deskripsi dan penjelasan dari kelas-kelas yang muncul pada diagram perancangan kelas:

1. Kelas Antarmuka

Kelas ini menjadi antarmuka antara pengguna dengan sistem. Pada kelas ini terdapat komponen-komponen yang berfungsi untuk memilih cover-image, menyimpan stego-image, memilih stego-image, melakukan pemilihan arsip pesan, menyimpan arsip pesan, memberikan masukan kunci, melakukan penanaman dan enkripsi, dan melakukan dekripsi dan pengekstrakan arsip pesan.

2. Kelas MARSmtd

Kelas ini mengimplementasikan prosedur kriptografi yang menggunakan algorima MARS

(12)

ZHANGmtd

<<control>> -modificationPixels: Array of integer[3]

+doEmbedding(pesan: Array of integer[3], image: Array of integer[3], mLSB: integer): Array of integer[3] +doExtract(image: Array of integer[3], mLSB: integer): Array of integer[3]

antarmuka <<boundary>> -pesan: Pesan -zhang: Zhangmtd -lcg: LCGmtd -coverImage: LSBImage -stegoImage: LSBImage -mars: Marsmtd +FormUtama() LSBImage <<entity>> -path: String

-data: Array of byte -width: Integer -height: Integer -filename: String -size: Integer

-pikselLSB: array of integer[3]

+byteToRepresentPixel(data: Array of byte): Array of integer[3] +modifyPikselLSB(pikselLSB: Array of integer[3])

MARSmtd

<<control>>

-pesanRepresentInteger: Array of integer -pesanRepresentByte: Array of byte -key: byte[16]

+pesanEncrypt(): Array of integer +pesanDecrypt(): Array of byte +setPesan(input: Array of byte) +makeKey(): byte[40]

pesan

<<entity>> -dataOrigin: Array of byte

-dataRepresentPixel: Array of integer[3] -dataInInteger: Array of integer

+getBytesFromFile(fileMessage: File): Array of byte +byteToInteger(): Array of integer

+integerToRepresentPixel(): Array of integer[3] +representPixelToInteger(): Array of integer +integerToByte(): Array of byte

LCGmtd

<<control>> -listPsdRdm: Array of integer

-listofPikselLSB(Arrayof integer[3]

+gnrtListPsdRdm(x: Integer, y: integer, X0: Integer, nmbrIterate: Integer): Array of integer +getListofPikselLSB(data: Array of Integer): Array of integer[3]

(13)

3. Kelas LCGmtd

Kelas ini mengimplementasikan prosedur untuk menghasilkan sejumlah angka pseudorandom. Sejumlah angka tersebut akan digunakan untuk melakukan pengaksesan piksel yang akan dimodifikasi. Sejumlah piksel yang didapat akan diberikan ke kelas ZHANGmtd

4. Kelas ZHANGmtd

Kelas ini mengimplementasikan prosedur steganografi yang menggunakan algoritma Zhang LSB Image Steganography.

5. Kelas Pesan

Kelas ini memodelkan pesan sehingga dapat diproses menggunakan algoritma MARS dan algoritma Zhang LSB Image Steganography.

6. Kelas LSBImage

Kelas ini memodelkan citra yang akan diproses menggunakan algoritma Zhang LSB Image Steganography dan dapat digunakan oleh kelas LCGmtd untuk melakukan pengaksesan piksel.

4.2.2 Operasi dan Atribut

Berikut adalah operasi dan atribut dari setiap kelas beserta penjelasan dari operasi dan atribut tersebut:

1. Kelas Antarmuka

Daftar atribut kelas antarmuka dapat dilihat pada Tabel IV-12 dan daftar operasi dan penjelasannya dapat dilihat pada Tabel IV-13.

Tabel IV-12 Daftar Atribut Kelas Antarmuka Nama Atribut Visibility

(private, public) Tipe

pesan Private Pesan

zhang Private ZHANGmtd

lcg Private LCGmtd

MARS Private MARSmtd

coverImage Private LSBImage stegoImage Private LSBImage

(14)

Tabel IV-13 Daftar Operasi Kelas Antarmuka Nama Operasi Visibility

(private, public) Keterangan

FormUtama Public Prosedur ini akan menampilkan interface dengan komponen-komponen yang dimilikinya

2. Kelas MARSmtd

Daftar atribut kelas MARSmtd dapat dilihat pada Tabel IV-14 dan daftar operasi dan penjelasannya dapat dilihat pada Tabel IV-15.

Tabel IV-14 Daftar Atribut Kelas MARSmtd Nama Atribut Visibility

(private, public) Tipe

pesanRepresentByte Private Array of bye pesanRepresentInteger Private Array of integer

Key Private byte[16]

Tabel IV-15 Daftar Operasi Kelas MARSmtd Nama Operasi Visibility

(private, public) Keterangan

pesanEncrypt Public Prosedur ini berfungsi untuk melakukan enkripsi terhadap pesan

pesanDecrypt Public Prosedur ini berfungsi untuk melakukan dekripsi terhadap pesan

Nama Operasi Visibility

(private, public) Keterangan

setPesan Public Prosedur ini berfungsi untuk memberikan nilai terhadap atribut pesanRepresenByte

makeKey Public Prosedut ini berfungsi untuk melakukan ekspansi dari kunci yang aslinya

3. Kelas LCGmtd

Daftar atribut kelas LCGmtd dapat dilihat pada Tabel IV-16 dan daftar operasi dan penjelasannya dapat dilihat pada Tabel IV-17.

Tabel IV-16 Daftar Atribut Kelas LCGmtd Nama Atribut Visibility

(private, public) Tipe

listPsdRdm Private Array of integer listofPikselLSB Private Array of integer[3]

(15)

Tabel IV-17 Daftar Operasi Kelas LCGmtd Nama Operasi Visibility

(private, public) Keterangan

gnrtListPsdRdm Public Prosedur ini meghasilkan sejumlah angka

pseudorandom.

getListOfPikselLSB Public Prosedur ini mendapat sejumlah piksel yang diperoleh dengan memanfaatkan atribut listPsdRdm 4. Kelas ZHANGmtd

Daftar atribut kelas ZHANGmtd dapat dilihat pada Tabel IV-18 dan daftar operasi dan penjelasannya dapat dilihat pada Tabel IV-19.

Tabel IV-18 Daftar Atribut Kelas ZHANGmtd Nama Atribut Visibility

(private, public) Tipe

modificationPixels Private Array of integer[3]

Tabel IV-19 Daftar Operasi Kelas ZHANGmtd Nama Operasi Visibility

(private, public)

Keterangan

doEmbedding Public Prosedur ini berfungsi untuk melakukan pengoperasian antara pesan dan sejumlah piksel sehingga didapatkan sejumlah nilai piksel yang baru, kemudian sejumlah nilai piksel yang baru tersebut akan digunakan untuk momodifikasi citra

doExtract Public Prosedur ini mendapatkan pesan setelah melakukan operasi terhadap sejumlah piksel

5. Kelas Pesan

Daftar atribut kelas Pesan dapat dilihat pada Tabel IV-20 dan daftar operasi dan penjelasannya dapat dilihat pada Tabel IV-21.

Tabel IV-20 Daftar Atribut Kelas Pesan Nama Atribut Visibility

(private, public) Tipe

dataOrigin Private Array of byte dataRepresentPixel Private Array of integer[3] dataInteger Private Array of integer

(16)

Nama Operasi Visibility

(private, public) Keterangan

getBytesFromFile Public Prosedur ini untuk mendapatkan sejumlah byte

dari arsip pesan

byteToInteger Public Prosedur ini berfungsi untuk mengubah representasi dari sejumlah byte ke sejumlah

integer

integerToRepresentPixel Public Prosedur ini berfungsi ini untuk mengubah representasi dari sejumlah integer ke sejumlah

integer[3]

representPixelToInteger Public Prosedur ini berfungsi untuk mengubah representasi dari sejumlah integer[3] ke sejumlah integer

integerToByte Public Prosedur ini berfungsi untuk mengubah representasi daru sejumlah integer ke sejumlah

byte

6. Kelas LSBImage

Daftar atribut kelas LSBImage dapat dilihat pada Tabel IV-22 dan daftar operasi dan penjelasannya dapat dilihat pada Tabel IV-23.

Tabel IV-22 Daftar Atribut Kelas LSBImage Nama Atribut Visibility

(private, public) Tipe

path Private String

width Private Integer

heigth Private Integer

size Private Integer

filename Private String

data Private Array of byte

pikselLSB Private Array of integer[3]

Tabel IV-23 Daftar Operasi Kelas LSBImage Nama Operasi Visibility

(private, public) Keterangan

byteToRepresentPixel Public Prosedur ini berfungsi untuk mengubah representasi dari sejumlah byte ke sejumlah

integer[3]

modifyPikselLSB Public Prosedur ini berfungsi untuk memodifikasi sejumlah piksel

4.2.3 Perancangan Antarmuka

Gambar IV-5 akan menjadi jendela utama dari perangkat lunak yang akan dibangun. Pada saat aplikasi dijalankan, maka jendela yang terbuka pertama kali adalah antarmuka ini. Pengguna akan memasukkan masukan dan mengklik tombol atau radio button

(17)

untuk menghasilkan perintah yang diinginkan. Antarmuka ini dirancang sesederhana mungkin, agar pengguna tidak kesulitan dalam menggunakannya.

Pada antarmuka ini terdapat 5 tombol yaitu : 1. “Citra Cover”

Tombol ini berfungsi untuk memudahkan user untuk memilih cover-image yang diinginkan karena akan menampilkan jendela file chooser

2. “Arsip Pesan”

Tombol ini berfungsi untuk memudahkan user untuk memilih arsip pesan yang diinginkan karena akan menampilkan jendela file chooser

3. “Citra Stego”

Tombol ini berfungsi untuk melakukan pengekstrakan arsip pesan dan pendekripsian arsip pesan, untuk memudahkan user untuk memilih stego-image yang diinginkan, dan untuk memudahkan user untuk menyimpan pesan yang diekstrak sesuai dengan posisi yang diinginkan

4. “Lakukan Penanaman”

Tombol ini berfungsi untuk melakukan pengenkripsian arsip pesan dan penanaman arsip pesan, untuk memudahkan user menyimpan stego-image yang dihasilkan sesuai dengan posisi yang diinginkan

5. “Hitung Maksimal File”

Tombol ini berfungsi untuk menghasilkan ukuran maksimal arsip pesan yang dapat ditanamkan

Pada antarmuka ini terdapat 5 field teks, yaitu: 1. “Kunci X0”

Field ini akan berisi benih yang akan digunakan untuk menghasilkan sejumlah angka pseudorandom.

2. “Kunci m LSB”

Field ini akan berisi jumlah LSB yang terlibat dalam setiap piksel untuk menanamkan pesan.

3. “Kunci STBM”

(18)

CombinoZM

CombinoZM

Citra Cover Arsip Pesan Citra Stego

Lakukan Penanaman Hitung Maksimal File Penanaman Pengekstrakan Cover Image

Stego Image

Image Preview Kunci Metode MARS

isi dengan kata-kata Kunci MARS :

Kunci Metode LCG isi dengan integer Kunci X0 :

isi dengan integer Kunci STBM :

Kunci Metode Zhang [1-24] Kunci m LSB: PSNR

Informasi Citra dan Arsip Pesan isi dengan integer Ukuran Pesan (byte) :

Ukuran Maksimal Pesan : Lebar Citra :

Tinggi Citra :

Mode Operasi :

Gambar IV-5 Perancanangan Antarmuka Utama

4. “Kunci MARS”

Field ini akan berisi kunci yang akan untuk proses enkripsi dan proses dekripsi 5. “Ukuran Pesan”

Field ini akan berisi ukuran dari pesan yang ditanam atau ukuran dari pesan yang diekstrak

Pada antarmuka ini terdapat 2 tombol radio, yaitu: 1. “Penanaman’

Tombol radio ini akan berfungsi untuk pindah ke mode embedding 2. “Pengekstrakan”

(19)

Pada antarmuka ini juga terdapat panel yang berguna untuk memperlihatkan cover-image dan stego-image. Panel “Cover Image” berfungsi untuk menampilkan citra cover-image, sedangkan panel ”Stego Image” berfungsi untuk menampilkan citra stego-image.

Gambar

Gambar IV-1 Arsitektur perangkat lunak
Tabel IV-1 menampilkan daftar kebutuhan fungsional pada perangkat lunak yang  dikembangkan
Tabel IV-2 Daftar Kebutuhan Non-Fungsional Perangkat Lunak
Gambar IV-2 Use case global
+7

Referensi

Dokumen terkait

Seleksi Bakteri Antagonis dari Tanaman Sawi ( Brassica Juncea L) sebagai Biofungisida Terhadap Colletotrichum Gloeosporioides Penyebab Antraknosa pada Tanaman Cabai ( Capsicum

Berdasarkan tabel 6, maka dapat diketahui pada post- test dan follow-up skala tingkat FoMo terdapat perbe- daan skor pada siswi yang diberikan tes sebagai tin- dak lanjut setelah

Berdasarkan hasil wawancara yang dilakukan dengan guru dan siswa terdapat beberapa permasalahan dalam menulis teks pidato.Diantaranya siswa sulit mengembangkan ide

Laporan akhir program kreativitas mahasisawa (PKM) yang berjudul Pelatihan Pembuatan Bioetanol dari Kulit Singkong sebagai Alternatif Bahan Bakar di Desa Ngemplak

 Paul B..  banyak dan paling relevan dengan sosial kemasyarakatan adalah nilai spiritual yang tetap menjaga agar masyarakat tetap konsisten dalam menjaga stabilitas

Indikator hubungan antara karyawan dan pelanggan diperoleh skor rata-rata sebesar 4,16 dengan tingkat pencapaian responden sebesar 83,29% masuk dalam kategori

Cara menghindari perilaku keji, mungkar dan permusuhan dalam kehidupan sehari-hari dapat dilakukan dengan menyadari bahwa perilaku buruk yang dilakukan akan berdampak pada

Kemitraan yang terjalin antara petani tembakau dengan PT Djarum adalah memberikan kredit pupuk dan pestisida kepada petani mitra tanpa bunga serta petani mitra