• Tidak ada hasil yang ditemukan

BAB III PERANCANGAN SISTEM. Pada program aplikasi steganografi ini akan dijelaskan rancangan Diagram

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB III PERANCANGAN SISTEM. Pada program aplikasi steganografi ini akan dijelaskan rancangan Diagram"

Copied!
14
0
0

Teks penuh

(1)

BAB III

PERANCANGAN SISTEM

3.1 Rancangan Diagram Alir

Pada program aplikasi steganografi ini akan dijelaskan rancangan Diagram Alir Menu Utama, rancangan Diagram Alir Tulis pesan, dan rancangan Diagram Alir Baca Pesan.

3.1.1 Diagram Alir Menu Utama

Ketika program aplikasi steganografi dijalankan, akan muncul tampilan Form Menu Utama. Pada Form Menu Utama ini terdapat tiga buah tombol, yaitu: tombol Tulis Pesan, tombol Baca Pesan, dan tombol Keluar dari program aplikasi steganografi. Ketika tombol Tulis Pesan ditekan, program akan menampilkan Form Tulis Pesan yang selanjutnya proses menulis pesan akan dilakukan pada Form ini. Selajutnya, Ketika tombol Baca Pesan ditekan, program akan menampilkan Form Baca Pesan yang selanjutnya proses membaca pesan akan dilakukan pada Form ini, dan ketika tombol Keluar ditekan, maka program akan keluar dari program aplikasi steganografi. Diagram Alir Menu Utama ini tampak seperti pada gambar di bawah.

(2)

Gambar 3.1: Diagram Alir Menu Utama

3.1.2 Diagram Alir Tulis Pesan

Pada Form Tulis Pesan, setelah menulis pesan rahasia selanjutnya pengguna tinggal menekan tombol Tulis Pesan yang kemudian proses penyembunyian pesan dimulai. Dalam modul program ini terdapat empat proses utama yaitu: cek fleck, sisip fleck, sisip pesan, dan sisip lokasi. Langkah-langkah proses penulisan pesan berdasarkan keempat proses utama di atas, dijelaskan sebagai berikut.

(3)

1. Fleck adalah tanda di dalam file image berupa deretan tiga karakter yaitu @#$. Sebelum disisipi pesan, file image diperiksa dahulu oleh program apakah terdapat fleck di dalamnya, jika program menemukan fleck maka di dalam file image tersebut juga terdapat pesan rahasia. Pendeteksian fleck ini terdapat pada proses cek fleck di dalam modul program Tulis Pesan.

//Cek Fleck for i:=0 to 7 do begin merah:=GetRValue(getpixel(ImageFile.Canvas.Handle,i,0)); hijau:=GetGValue(getpixel(ImageFile.Canvas.Handle,i,0)); biru:=GetBValue(getpixel(ImageFile.Canvas.Handle,i,0)); CekBiner:=CekBiner+(biner(biru))[8]+(biner(hijau))[8]+(biner(merah))[8]; end; huruf1:=chr(decimal(copy(CekBiner,1,8))); huruf2:=chr(decimal(copy(CekBiner,9,8))); huruf3:=chr(decimal(copy(CekBiner,17,8))); fleck:=huruf1+huruf2+huruf3; if fleck='@#$' then begin

MessageDlg('File Gambar Sudah Berisi Pesan, Cari File Yang Lain!',mtError,[mbOK],0); ImageFile.Picture.Bitmap:=nil; MenuBacaPesan.Enabled:=True; MenuSave.Enabled:=False; BtnTulisPesan.Enabled:=False; BtnBatal.Enabled:=False; BtnCekGambar.Enabled:=False; MemoTulisPesan.Visible:=False; MemoTulisPesan.Lines.Clear; EditMaks.Clear; EditSisa.Clear; exit; end

2. Jika program tidak menemukan fleck di dalam file image, setelah proses cek fleck selesai, maka program akan meneruskan proses selanjutnya yaitu proses sisip fleck. Proses sisip fleck ini berfungsi untuk memberi tanda pada file image bahwa file image ini sudah mengandung pesan.

(4)

//Sisip Fleck Screen.Cursor:=CrHourGlass; fleck:='@#$'; BinerFleck:=''; n:=1; for i:=1 to 3 do BinerFleck:=BinerFleck+biner(ord(fleck[i])); z:=0; for i:=0 to 7 do begin inc(z); merah:=GetRValue(getpixel(ImageFile.Canvas.Handle,i,0)); hijau:=GetGValue(getpixel(ImageFile.Canvas.Handle,i,0)); biru:=GetBValue(getpixel(ImageFile.Canvas.Handle,i,0)); BinerMerah:=biner(merah); BinerHijau:=biner(hijau); BinerBiru:=biner(biru); delete(BinerMerah,8,1); delete(BinerHijau,8,1); delete(BinerBiru,8,1); BinerBiru:=BinerBiru+BinerFleck[n]; BinerHijau:=BinerHijau+BinerFleck[n+1]; BinerMerah:=BinerMerah+BinerFleck[n+2]; n:=n+3; MerahBaru:=decimal(BinerMerah); HijauBaru:=decimal(BinerHijau); BiruBaru:=decimal(BinerBiru); setpixelV(hdc1,i,0,RGB(MerahBaru,HijauBaru,BiruBaru)); end;

3. Setelah sisip fleck selesai, kemudian program akan melanjutkan proses selanjutnya yaitu proses sisip pesan.

//Sisip Pesan

pesan:=MemoTulisPesan.Lines.Text; BinerPesan:='';

PanjangText:=length(MemoTulisPesan.Lines.Text); for i:=1 to PanjangText do

begin BinerPesan:=BinerPesan+biner(ord(pesan[i])); end; n:=1; for j:=1 to ImageFile.Height-1 do begin

(5)

begin inc(z); merah:=GetRValue(getpixel(ImageFile.Canvas.Handle,i,j)); hijau:=GetGValue(getpixel(ImageFile.Canvas.Handle,i,j)); biru:=GetBValue(getpixel(ImageFile.Canvas.Handle,i,j)); BinerMerah:=biner(merah); BinerHijau:=biner(hijau); BinerBiru:=biner(biru); delete(BinerMerah,8,1); delete(BinerHijau,8,1); delete(BinerBiru,8,1); BinerBiru:=BinerBiru+BinerPesan[n]; BinerHijau:=BinerHijau+BinerPesan[n+1]; BinerMerah:=BinerMerah+BinerPesan[n+2]; n:=n+3; MerahBaru:=decimal(BinerMerah); HijauBaru:=decimal(BinerHijau); BiruBaru:=decimal(BinerBiru); setpixelV(hdc1,i,j,RGB(MerahBaru,HijauBaru,BiruBaru)); if n>length(BinerPesan) then break; end; if n>length(BinerPesan) then break; end;

4. Setelah proses sisip pesan selesai, program akan melanjutkan proses terakhir dalam modul proses Tulis Pesan yaitu proses sisip lokasi. Proses sisip lokasi ini adalah proses memasukkan informasi tempat baris dan kolom terakhir di mana pesan rahasia disisipkan di dalam file image. Informasi ini berguna agar dalam proses pemisahan pesan rahasia dari file image, program bisa tepat dalam mengambil bit-bit biner pesan yang telah habis diambil oleh program. //Sisip Baris InfoBaris:=j; BinerBaris:=biner16(InfoBaris); n:=1; for x:=8 to 15 do begin inc(z); biru:=GetBValue(getpixel(ImageFile.Canvas.Handle,x,0));

(6)

hijau:=GetGValue(getpixel(ImageFile.Canvas.Handle,x,0)); merah:=GetRValue(getpixel(ImageFile.Canvas.Handle,x,0)); BinerHijau:=biner(hijau); BinerMerah:=biner(merah); delete(BinerHijau,8,1); delete(BinerMerah,8,1); BinerHijau:=BinerHijau+BinerBaris[n]; BinerMerah:=BinerMerah+BinerBaris[n+1]; HijauBaru:=decimal(BinerHijau); MerahBaru:=decimal(BinerMerah); n:=n+2; setpixelV(ImageFile.Canvas.Handle,x,0,RGB (MerahBaru,HijauBaru,biru)); end; //Sisip Kolom InfoKolom:=i; BinerKolom:=biner16(InfoKolom); n:=1; for x:=16 to 23 do begin inc(z); biru:=GetBValue(getpixel(ImageFile.Canvas.Handle,x,0)); hijau:=GetGValue(getpixel(ImageFile.Canvas.Handle,x,0)); merah:=GetRValue(getpixel(ImageFile.Canvas.Handle,x,0)); BinerHijau:=biner(hijau); BinerMerah:=biner(merah); delete(BinerHijau,8,1); delete(BinerMerah,8,1); BinerHijau:=BinerHijau+BinerKolom[n]; BinerMerah:=BinerMerah+BinerKolom[n+1]; HijauBaru:=decimal(BinerHijau); MerahBaru:=decimal(BinerMerah); n:=n+2; setpixelV(ImageFile.Canvas.Handle,x,0,RGB (MerahBaru,HijauBaru,biru)); end;

Diagram alir untuk proses menulis pesan rahasia dari keempat proses utama di atas, terlihat seperti gambar di bawah ini.

(7)

Mulai Cek Gambar Gambar berisi pesan? Tuliskan Pesan! Tulis Pesan/ batal? Proses Tulis Pesan Simpan Selesai Pindah ke form Baca Pesan? Diproses di form Baca Pesan Tidak Ya Tidak Ya Ya Tidak

(8)

3.1.3 Diagram Alir Baca Pesan

Dalam memisahkan pesan rahasia dari file image, modul program Baca Pesan menggunakan tiga proses utama yang dieksekusi secara berurutan yaitu, cek fleck, ambil lokasi, dan ambil pesan. Langkah-langkah proses penulisan pesan berdasarkan ketiga proses utama di atas, dijelaskan sebagai berikut.

1. Modul program Baca Pesan diawali oleh cek fleck yaitu proses yang memeriksa keberadaan fleck pada file image.

//Cek Fleck for i:=0 to 7 do begin merah:=GetRValue(getpixel(ImageFile.Canvas.Handle,i,0)); hijau:=GetGValue(getpixel(ImageFile.Canvas.Handle,i,0)); biru:=GetBValue(getpixel(ImageFile.Canvas.Handle,i,0)); CekBiner:=CekBiner+(biner(biru))[8]+(biner(hijau))[8]+(biner(merah))[8]; end; huruf1:=chr(decimal(copy(CekBiner,1,8))); huruf2:=chr(decimal(copy(CekBiner,9,8))); huruf3:=chr(decimal(copy(CekBiner,17,8))); fleck:=huruf1+huruf2+huruf3; if fleck='@#$' then

2. Jika program tidak menemukan fleck pada file image dalam proses cek fleck, maka program akan berhenti dan akan menampilkan sebuah message dialog yang berisi bahwa file image tidak berisi pesan. Tetapi jika program menemukan fleck dalam file image, maka modul program Baca Pesan ke proses selanjutnya yaitu proses ambil lokasi. Proses ambil lokasi ini adalah proses pengambilan informasi tempat baris dan kolom terakhir di mana pesan rahasia disisipkan di dalam file image. Informasi lokasi ini berguna agar dalam proses pemisahan pesan rahasia dari file image, program bisa tepat dalam mengambil bit-bit biner pesan, sehingga program bisa berhenti ketika bit-bit

(9)

biner pesan telah habis diambil oleh program. Informasi baris dan kolom terakhir ini berfungsi sebagai pembatas dalam looping pada proses ambil pesan, sehingga ketika sampai pada baris dan kolom terakhir proses ambil pesan bisa berhenti.

//Ambil Info Baris BinerBaris:=''; for i:=8 to 15 do begin merah:=GetRValue(getpixel(ImageFile.Canvas.Handle,i,0)); hijau:=GetGValue(getpixel(ImageFile.Canvas.Handle,i,0)); BinerBaris:=BinerBaris+(biner(hijau))[8]+(biner(merah))[8]; end; InfoBaris:=decimal(BinerBaris); //Ambil Info Kolom

BinerKolom:=''; for i:=16 to 23 do begin merah:=GetRValue(getpixel(ImageFile.Canvas.Handle,i,0)); hijau:=GetGValue(getpixel(ImageFile.Canvas.Handle,i,0)); BinerKolom:=BinerKolom+(biner(hijau))[8]+(biner(merah))[8]; end; InfoKolom:=decimal(BinerKolom);

3. Setelah proses ambil lokasi selesai dan mendapatkan hasil berupa informasi baris dan kolom terakhir penyisipan pesan, maka program akan melanjutkan proses selanjutnya yaitu proses ambil pesan. Proses ambil pesan ini adalah proses inti pemisahan pesan rahasia dari file image, sekaligus menampilkan pesan rahasia tersebut ke dalam Form Baca Pesan sehingga pesan rahasia bisa dibaca oleh pengguna. Looping proses ini akan berhenti ketika sampai pada baris dan kolom terakhir penyisipan pesan yang informasinya didapat dari proses ambil lokasi, setelah looping berhenti kemudian program akan menampilkan pesan rahasia ke dalam Form Baca Pesan.

(10)

//Ambil Pesan Dari Gambar BinerPesan:=''; begin total:=(ImageFile.Width*(InfoBaris-1))+InfoKolom+1; for j:=1 to ImageFile.Height-1 do begin

for i:=0 to ImageFile.Width-1 do begin inc(z); biru:=GetBValue(getpixel(ImageFile.Canvas.Handle,i,j)); hijau:=GetGValue(getpixel(ImageFile.Canvas.Handle,i,j)); merah:=GetRValue(getpixel(ImageFile.Canvas.Handle,i,j)); BinerBiru:=biner(biru); BinerHijau:=biner(hijau); BinerMerah:=biner(merah); BinerPesan:=BinerPesan+copy(BinerBiru,8,1)+ copy(BinerHijau,8,1)+copy(BinerMerah,8,1); if (j=InfoBaris) and (i=InfoKolom) then break;

end;

if (j=InfoBaris) and (i=InfoKolom) then break;

end; n:=1; pesan:='';

for i:=1 to (round(length(BinerPesan)/8)) do begin inc(z); pesan:=pesan+chr(decimal(copy(BinerPesan,n,8))); n:=n+8; end; MenuTulisPesan.Enabled:=True; MemoBacaPesan.Visible:=True; MemoBacaPesan.Lines.Text:=pesan; Screen.Cursor:=crdefault; end;

Diagram alir untuk proses membaca pesan rahasia dari ketiga proses utama di atas, terlihat seperti gambar di bawah ini.

(11)
(12)

3.2 Rancangan Antarmuka (User Interface)

Rancangan sistem aplikasi steganografi kali ini yaitu akan merancang rancangan antarmuka (User Interface), di mana rancangan yang akan dibuat terdiri dari empat rancangan antarmuka, yaitu: rancangan antarmuka menu utama, rancangan antarmuka tulis pesan, rancangan antarmuka baca pesan, dan rancangan antarmuka about. Keempat rancangan antarmuka tersebut secara rinci akan dibahas seperti penjelasan berikut ini.

3.2.1 Rancangan Antarmuka Menu Utama

Antarmuka menu utama ini merupakan antarmuka yang pertama kali muncul pada aplikasi. Pada antarmuka menu utama ini terdapat tiga buah tombol yang menghubungkan ke proses selanjutnya yaitu tombol Tulis Pesan yang jika diklik akan masuk ke antarmuka Tulis Pesan, tombol Baca Pesan yang jika diklik akan masuk ke antarmuka Baca Pesan, dan tombol Keluar yang jika diklik akan keluar dari aplikasi. Tampilan rancangan antarmuka Form Menu Utama dapat dilihat pada gambar di bawah ini.

(13)

3.2.2 Rancangan Antarmuka Tulis Pesan

Rancangan antarmuka tulis pesan merupakan antarmuka untuk proses penyembunyian pesan. Dalam antarmuka tulis pesan ini terdapat komponen image yang dipakai untuk menempatkan file image sebagai file untuk disisipi pesan rahasia, komponen Memo yang dipakai untuk menempatkan penulisan pesan rahasia, tombol Batal digunakan untuk membatalkan penulisan pesan pada Memo, tombol Tulis Pesan yang jika diklik akan memulai proses penyembunyian pesan. Tampilan rancangan antarmuka Form Tulis Pesan dapat dilihat pada gambar di bawah ini.

Gambar 3.5: Rancangan Antarmuka Tulis Pesan

3.2.3 Rancangan Antarmuka Baca Pesan

Rancangan antarmuka baca pesan merupakan antarmuka untuk proses pemisahan pesan rahasia dari file image dan antarmuka untuk membaca pesan rahasia. Pada antarmuka baca pesan ini terdapat komponen Image yang dipakai untuk menempatkan file image yang sudah disisipi pesan rahasia, komponen

(14)

Memo yang dipakai untuk menempatkan pesan rahasia uang akan dibaca, tombol Baca Pesan yang jika diklik akan memulai proses pemisahan pesan rahasia dari file image. Tampilan rancangan antarmuka Form Baca Pesan dapat dilihat pada gambar di bawah ini.

Gambar 3.6: Rancangan Antarmuka Baca Pesan

3.2.4 Rancangan Antarmuka About

Rancangan antarmuka about digunakan untuk menjelaskan mengenai aplikasi steganografi. Form about merupakan bagian dari menu Help. Tampilan rancangan antarmuka Form about dapat dilihat pada gambar di bawah ini.

Gambar

Gambar 3.1: Diagram Alir Menu Utama
Diagram  alir  untuk  proses  menulis  pesan  rahasia  dari  keempat  proses  utama di atas, terlihat seperti gambar di bawah ini
Gambar 3.2: Diagram Alir Tulis Pesan
Diagram  alir  untuk  proses  membaca  pesan  rahasia  dari  ketiga  proses  utama di atas, terlihat seperti gambar di bawah ini
+5

Referensi

Dokumen terkait

Berdasarkan hasil wawancara dan FGD ( Focus Group Discussion ) pada petugas filling mengenai kebutuhan dan harapan dikemudian hari, agar adanya sistem

Penerapan Pendekatan Jelajah Alam Sekitar (JAS) untuk Meningkatkan Motivasi dan Hasil Belajar Siswa pada Pokok Bahasan Pengelolaan Lingkungan (Kelas VII A SMP Negeri 1

Event-driven Process Chain(2) Tindakan Medis Bed Alat Medis Obat- obatan X Pelayanan Bedah Pelayanan Lab PK Pelayanan Radiologi V Pelayanan Medis Selesai Dilakukan XOR Pasien

Dalam penelitian ini, Variabel yang diambil dalam kebijakan penyusunan anggaran adalah kemampuan seorang manajer atau aparat pemerintahan mengenai pengelolaan

Dalam hal ini, Ibnu Khaldun menyimpulkan para filosof pendidikan Islam mengenai hukuman dengan mengambil contoh nasehat Harun Al Rasyid yang menjelaskan tentang hukuman

Sebagaimana diketahui dari pemaparan sebelumnya bahwa banyak kegiatan eksplorasi yang dapat dilakukan dalam kegiatan pembelajaran pada anak usia dini. Begitupula halnya

Penelitian ini dilakukan dalam tiga tahap yaitu preparasi dan karakterisasi kimia kulit ikan C. striata ; isolasi kolagen terdiri dari proses pretreatment dengan larutan

Pada Tabel 6 di atas dapat dilihat bahwa penggunaan herbisida Amonium Glufosinat dan Metil Metsulfuron secara tunggal mendapatkan hasil penekanan gul- ma yang