Program Penambahan File Tersembunyi Pada File Gambar.
i
Universitas Kristen Maranatha
PROGRAM PENAMBAHAN FILE TERSEMBUNYI PADA
FILE GAMBAR
Hendy Tanumihardja / 0927041
Jurusan Sistem Komputer, Fakultas Teknik, Universitas Kristen Maranatha
Jalan Prof. drg. Suria Sumantri, MPH. No 65 Bandung 40164, Indonesia
ABSTRAK
Sejalan dengan perkembangan teknologi yang semakin pesat sehingga teknologi menjadi bagian hidup di masyarakat luas dan data digital telah banyak digunakan di berbagai bidang sehingga data digital mudah sekali berpindah – pindah tempat dari orang ke orang lain bahkan dalam hitungan detik data digital bisa tersebar sampai ke penjuru dunia dengan teknologi yang ada sekarang ini mudah diolah dan mudah disalah gunakan oleh orang yang tidak bertanggung jawab. Internet sebagai salah satu media informasi dan telekomunikasi yang banyak digunakan saat ini, menyebabkan distribusi data digital semakin mudah, sehingga membuat kepemilikan dari suatu data digital menjadi sesuatu yang penting di jaman informasi.
Data merupakan sesuatu yang harus dijaga, terutama kerahasiaan salah satu teknik pengamanan data digital adalah dengan menggunakan program yang dapat membuat file seakan tidak terlihat secara kasat mata. Agar masyarakat memiliki sebuah data yang aman, maka dibutuhkan suatu program yang dapat membuat data tersebut tidak terlihat oleh orang yang tidak berkepentingan. Tujuan Tugas Akhir ini adalah untuk menciptakan sebuat program yang dapat membuat data yang aman dengan cara menambahkan file yang tersembunyi pada file gambar sehingga hanya pemilik data dan yang berkepentingan yang dapat melihat data tersebut.
(2)
ii
Universitas Kristen Maranatha
APPLICATION FOR ADDING HIDDEN IMAGE FILE INTO
COVER IMAGE FILE
Hendy Tanumihardja / 0927041
Department of Computer Engineering, Faculty of Engineering, Maranatha Christian University
Prof. drg. Suria Sumantri, MPH. No 65 Bandung 40164, Indonesia
ABSTRACT
In line with the rapid development of technology so that technology becomes a part of life in the wider community and digital data have been widely used in various fields so that the digital data is easy to move - moving from person to person even within seconds of digital data can be spread to all corners of the world with current technology is easily processed and easily misused by people who are not responsible. Internet as a medium of information and telecommunications are widely used today, causing the distribution of digital data more easily, making the ownership of a digital data into something that is important in this information age.
Data is something that must be maintained, especially one technique confidentiality protection of digital data is to use a program that can create the file if not visible by naked eye. In order for people to have a secure data, then it takes a program that can make such data is not visible to unauthorized persons. Purpose of this thesis is to create a program that can make sebuat secure data by adding a hidden file on the image file so that only the owner of the data and are interested to see the data.
(3)
v
Universitas Kristen Maranatha
DAFTAR ISI
ABSTRAK ... i
ABSTRACT ... ii
KATA PENGANTAR ... iii
DAFTAR ISI ... v
DAFTAR GAMBAR ... vii
DAFTAR TABEL ... ix
BAB I PENDAHULUAN ... 1
1.1. Latar Belakang ... 1
1.2. Rumusan Masalah ... 2
1.3. Tujuan Penelitian ... 3
1.4. Pembatasan Masalah ... 3
1.5. Sistematika Penulisan... 4
BAB II TEORI PENDAHULUAN ... 5
2.1. Pengertian Program Komputer ... 5
2.2. Teori Informasi... 6
2.3. Konsep Steganografi ... 8
2.4. Steganografi Pada Media Digital File Image ... 10
2.5. Aplikasi Steganografi ... 11
2.6. Tata Cara Penyimpanan ... 11
2.7. Macam-macam Format Gambar ... 14
2.7.1. Bitmap ... 15
2.7.2. JPEG ... 16
2.7.3. GIF ... 19
2.7.4. TIFF ... 20
2.7.5. PCX ... 20
2.8. Metodologi Pengembangan Sistem ... 21
2.8.1. Pengertian Metodologi ... 21
2.8.2. Klasifikasi Metodologi ... 22
2.8.3. Alat Pengembangan Sistem ... 26
2.9. Visual Basic ... 32
BAB III PERANCANGAN DAN PEMODELAN ... 40
3.1. Aliran Informasi Sistem ... 40
3.2. Flowchart ... 44
BAB IV HASIL DAN IMPLEMENTASI ... 48
4.1. Implementeasi Aplikasi ... 48
4.1.1. Menu ... 48
4.1.2. Implementasi ... 49
4.2. Pengujian Aplikasi ... 62
4.2.1. Uji Aplikasi Penggabungan File ... 62
4.2.2. Uji Aplikasi Pembongkaran FIle ... 68
4.3. Pengamatan hasil Pengujian Aplikasi ... 73
4.3.1. Pengamatan Hasil Penggabungan ... 73
(4)
vi
Universitas Kristen Maranatha
BAB V KESIMPULAN DAN SARAN ... 77
5.1. Kesimpulan ... 77
5.2. Saran ... 78
DAFTAR PUSTAKA ... 79 LAMPIRAN PROGRAM ... A-1
(5)
vii
Universitas Kristen Maranatha
DAFTAR GAMBAR
Gambar 2.1. Diagram Sistem Steganografi... 9
Gambar 2.2. Kesatuan/Entitas Luar Versi YOURDAN dan DE MARCO ... 30
Gambar 2.3. Arus data Versi YOURDAN dan DE MARCO ... 30
Gambar 2.4. Proses versi YOURDAN dan DE MARCO ... 31
Gambar 2.5. Simpanan YOURDAN dan DE MARCO ... 31
Gambar 2.6. Baris Menu ... 32
Gambar 2.7. Toolbar ... 32
Gambar 2.8. Form ... 33
Gambar 2.9. Windows Kode ... 34
Gambar 2.10. Toolbox ... 35
Gambar 2.11. Baris Menu ... 36
Gambar 2.12. Windows Propertis ... 37
Gambar 2.13. Windows Form Layout ... 38
Gambar 2.14. Windows Intermadiate... 38
Gambar 2.15. Metoda ... 39
Gambar 2.16. Event ... 39
Gambar 3.1. Program Penambahan File Tersembunyi pada File Gambar ... 40
Gambar 3.2. DFD Level 1 ... 41
Gambar 3.3. Pembongkaran File Tersembunyi pada Gambar ... 42
Gambar 3.4. Context Diagram Pembongkaran File Tersembunyi pada Gambar . 43 Gambar 3.5. Flowchart Penggabungan File Tersembunyi ... 44
Gambar 3.6. Flowchart Pembongkaran File Tersembunyi pada File Gambar ... 46
Gambar 4.1. Menu Aplikasi ... 48
Gambar 4.2. Form Menu Aplikasi ... 49
Gambar 4.3. Form Penggabungan ... 50
Gambar 4.4. Form Penggabungan Setelah Di berikan Password ... 52
Gambar 4.5. Form Penggabungan Setelah Di berikan Konfirmasi Password ... 52
Gambar 4.6. Form Penggabungan Setelah di klik Tombol Bersih ... 53
Gambar 4.7. Tempat Penyimpanan File Penggabungan ... 54
Gambar 4.8. Form Pemilihan File Cover... 55
Gambar 4.9. Form Penggabungan Setalh diisi File Cover ... 56
Gambar 4.10. Form Pemilihan File Content ... 57
Gambar 4.11. Form Penggabungan Setelah diisi File Content ... 58
Gambar 4.12. Form Pembongkaran ... 58
Gambar 4.13. Form Pembongakran Setelah diisi Password... 59
Gambar 4.14. Form Pembongkaran Setelah di klik Tombol Bersih ... 60
Gambar 4.15. Tempat Penyimpanan File Pembongkaran ... 60
Gambar 4.16. Form Pemilihan File yang akan di bongkar ... 61
Gambar 4.17. Form Pembongkaran Setelah Diisi File Cover ... 62
Gambar 4.18. File Cover (8.JPG) ... 62
Gambar 4.19. File Content (39.BMP) ... 62
(6)
viii
Universitas Kristen Maranatha
Gambar 4.21. File Content (53.BMP) ... 63
Gambar 4.22. File Hasi Penggabungan (07-08-2012 02.36.17.JPG)... 63
Gambar 4.23.File Cover (01.BMP)... 64
Gambar 4.24.File Content (3.JPG) ... 64
Gambar 4.25.File Content (4.JPG) ... 64
Gambar 4.26.File Content (5.JPG) ... 65
Gambar 4.27. File Hasi Penggabungan (07-08-2012 03.18.44.BMP) ... 65
Gambar 4.28.File Cover (01.JPG) ... 66
Gambar 4.29.File Content (2.JPG) ... 66
Gambar 4.30.File Content (3.JPG) ... 66
Gambar 4.31.File Content (4.JPG) ... 67
Gambar 4.32. File Hasi Penggabungan (07-08-2012 03.46.12.JPG)... 67
Gambar 4.33.File yang akan Dibongkar (07-08-2012 02.36.17.JPG) ... 68
Gambar 4.34 File Hasil (39.BMP) ... 68
Gambar 4.35. File Hasil (43.BMP) ... 68
Gambar 4.36. File Hasil (53.BMP) ... 69
Gambar 4.37. File yang akan Dibongkar (07-08-2012 03.18.44.BMP) ... 69
Gambar 4.38 .File Hasil (3.JPG) ... 70
Gambar 4.39.File Hasil (4.JPG) ... 70
Gambar 4.40.File Hasil (5.JPG) ... 70
Gambar 4.41. File yang akan Dibongkar (07-08-2012 03.46.12.JPG) ... 71
Gambar 4.42.File Hasil (2.JPG) ... 71
Gambar 4.43.File Hasil (3.JPG) ... 72
(7)
ix
Universitas Kristen Maranatha
DAFTAR TABEL
Tabel 2.1 Tabel Komparasi Jenis File Gambar ... 18
Tabel 2.2 Penomoran Level DFD... 28
Tabel 4.1 Pengamatan Hasil Penggabungan File ... 74
(8)
LAMPIRAN
Listing Program
(9)
A-1 unit uMain;
interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, StdCtrls, ExtCtrls, ExtDlgs, DCPcrypt2, DCPrc4, DCPsha1, sSkinManager, Menus;
type
TfrmMain = class(TForm)
OpenPictureDialog1: TOpenPictureDialog; SavePictureDialog1: TSavePictureDialog; sSkinManager1: TsSkinManager; MainMenu1: TMainMenu; Action1: TMenuItem; Home1: TMenuItem; Encrypt1: TMenuItem; Decrypt1: TMenuItem; Exit1: TMenuItem; Label1: TLabel; Label2: TLabel; Page: TPageControl; TabSheet1: TTabSheet; Panel5: TPanel; Panel2: TPanel; imgEncode: TImage; OpEncode: TButton; NextEncode: TButton; ResetEncode: TButton; TabSheet2: TTabSheet; Panel6: TPanel; Panel4: TPanel; imgDecode: TImage; OpDecode: TButton; NextDecode: TButton; ResetDecode: TButton; TabSheet3: TTabSheet; Label5: TLabel; Label6: TLabel; Label7: TLabel; btnEncode: TButton; BackEncode: TButton; moEncode: TMemo; TabSheet4: TTabSheet; Label3: TLabel; btnDecode: TButton; BackDecode: TButton;
(10)
A-2 edDecodePass1: TEdit; TabSheet5: TTabSheet; Label4: TLabel; moDecode: TMemo; TabSheet6: TTabSheet; edEncodePass1: TEdit; edEncodePass2: TEdit; ResetEncode2: TButton; ResetDecode2: TButton; Label8: TLabel; Label9: TLabel;
procedure btnEncodeClick(Sender: TObject); procedure btnDecodeClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure OpEncodeClick(Sender: TObject); procedure OpDecodeClick(Sender: TObject); procedure NextEncodeClick(Sender: TObject); procedure NextDecodeClick(Sender: TObject); procedure BackEncodeClick(Sender: TObject); procedure BackDecodeClick(Sender: TObject); procedure moEncodeChange(Sender: TObject); procedure edEncodePass1Change(Sender: TObject); procedure edEncodePass2Change(Sender: TObject); procedure Home1Click(Sender: TObject);
procedure Encrypt1Click(Sender: TObject); procedure Decrypt1Click(Sender: TObject); procedure Exit1Click(Sender: TObject); procedure FormShow(Sender: TObject); procedure ResetEncodeClick(Sender: TObject); procedure ResetDecodeClick(Sender: TObject); procedure ResetEncode2Click(Sender: TObject); procedure ResetDecode2Click(Sender: TObject); private
{ Private declarations }
function CarrierCheck(img: TBitmap): Boolean; function doDecrypt(Pass, Content: String): String; function doEncrypt(Pass, Content: String): String; procedure Encode;
procedure Decode; public
{ Public declarations } end; var frmMain: TfrmMain; Bmp: TBitmap; implementation {$R *.dfm}
(11)
A-3 function getByte(Number: Byte): String;
var i : integer; Bit : String[1]; Return : string[8]; begin
i := 0;
Return := '00000000'; if Number <> 0 then begin while Number <> 1 do begin Str(Number mod 2,Bit); Return[8-i] := Bit[1];
Number := Trunc(Number/2); Inc(i);
end;
Str(Number,Bit); Return[8-i] := Bit[1]; end;
Result := Return; end;
function getWord(Number: Word): String; var i : integer;
Bit : String[1]; Return : string[16]; begin
i := 0;
Return := '0000000000000000'; if Number <> 0 then begin while Number <> 1 do begin Str(Number mod 2,Bit); Return[16-i] := Bit[1]; Number := Trunc(Number/2); Inc(i);
end;
Str(Number,Bit); Return[16-i] := Bit[1]; end;
Result := Return; end;
function getDecimal(Bit: String): Integer; var i : Integer;
Return: Integer; begin
Return := 0;
for i := 1 to Length(Bit) do begin
(12)
A-4 end;
Result := Return; end;
procedure TfrmMain.Encode; var i, j, k, x, LSBCount: Integer; Red, Green, Blue: Integer;
strMark, bitMark, bitContent, tempContent: String; bitRed, bitGreen, bitBlue: String;
bitBaris, bitKolom: String; begin
Bmp.Assign(imgEncode.Picture.Bitmap); Bmp.PixelFormat := pf24bit;
if CarrierCheck(Bmp) then begin
MessageDlg('File carrier sudah disisipi data.',mtWarning,[mbOK],0); Exit;
end;
LSBCount := (Bmp.Width * Bmp.Height) * 3; LSBCount := LSBCount - (Bmp.Width * 3);
tempContent := edEncodePass1.Text + '#' + moEncode.Lines.Text; tempContent := doEncrypt(edEncodePass1.Text, tempContent); for i := 1 to Length(tempContent) do begin
bitContent := bitContent + getByte(Ord(tempContent[i])); end;
if Length(bitContent) > LSBCount then begin
MessageDlg('Content yang akan diisikan terlalu besar.',mtWarning,[mbOK],0); Exit;
end;
Self.Cursor := crHourGlass; strMark := '&&&';
bitMark := getByte(Ord(strMark[1])) + getByte(Ord(strMark[2])) + getByte(Ord(strMark[3])); j := 1;
for i := 0 to 7 do begin
Red := GetRValue(GetPixel(Bmp.Canvas.Handle,i,0)); Green := GetGValue(GetPixel(Bmp.Canvas.Handle,i,0)); Blue := GetBValue(GetPixel(Bmp.Canvas.Handle,i,0)); bitRed := getByte(Red);
bitGreen := getByte(Green); bitBlue := getByte(Blue);
(13)
A-5 Delete(bitRed,8,1);
Delete(bitGreen,8,1); Delete(bitBlue,8,1);
bitBlue := bitBlue + bitMark[j]; bitGreen := bitGreen + bitMark[j+1]; bitRed := bitRed + bitMark[j+2]; j := j + 3;
Red := getDecimal(bitRed); Green := getDecimal(bitGreen); Blue := getDecimal(bitBlue);
Bmp.Canvas.Pixels[i,0] := RGB(Red,Green,Blue); end;
k := 1;
for i := 1 to Bmp.Height - 1 do begin for j := 0 to Bmp.Width - 1 do begin
Red := GetRValue(GetPixel(Bmp.Canvas.Handle,j,i)); Green := GetGValue(GetPixel(Bmp.Canvas.Handle,j,i)); Blue := GetBValue(GetPixel(Bmp.Canvas.Handle,j,i)); bitRed := getByte(Red);
bitGreen := getByte(Green); bitBlue := getByte(Blue); Delete(bitRed,8,1); Delete(bitGreen,8,1); Delete(bitBlue,8,1);
bitBlue := bitBlue + bitContent[k]; bitGreen := bitGreen + bitContent[k+1]; bitRed := bitRed + bitContent[k+2]; k := k + 3;
Red := getDecimal(bitRed); Green := getDecimal(bitGreen); Blue := getDecimal(bitBlue);
Bmp.Canvas.Pixels[j,i] := RGB(Red,Green,Blue); if k > length(bitContent) then Break;
end;
if k > length(bitContent) then Break; end;
(14)
A-6 k := 1;
bitBaris := getWord(i);
for x := 8 to 15 do begin
Red := GetRValue(GetPixel(Bmp.Canvas.Handle,x,0)); Green := GetGValue(GetPixel(Bmp.Canvas.Handle,x,0)); Blue := GetBValue(GetPixel(Bmp.Canvas.Handle,x,0)); bitRed := getByte(Red);
bitGreen := getByte(Green); Delete(bitRed,8,1);
Delete(bitGreen,8,1);
bitGreen := bitGreen + bitBaris[k]; bitRed := bitRed + bitBaris[k+1]; k := k + 2;
Red := getDecimal(bitRed); Green := getDecimal(bitGreen);
Bmp.Canvas.Pixels[x,0] := RGB(Red,Green,Blue); end;
k := 1;
bitKolom := getWord(j);
for x := 16 to 23 do begin
Red := GetRValue(GetPixel(Bmp.Canvas.Handle,i,0)); Green := GetGValue(GetPixel(Bmp.Canvas.Handle,i,0)); Blue := GetBValue(GetPixel(Bmp.Canvas.Handle,i,0)); bitRed := getByte(Red);
bitGreen := getByte(Green); Delete(bitRed,8,1);
Delete(bitGreen,8,1);
bitGreen := bitGreen + bitKolom[k]; bitRed := bitRed + bitKolom[k+1]; k := k + 2;
(15)
A-7 Green := getDecimal(bitGreen);
Bmp.Canvas.Pixels[x,0] := RGB(Red,Green,Blue); end;
Self.Cursor := crDefault;
if SavePictureDialog1.Execute then begin SavePictureDialog1.DefaultExt := '*.bmp'; Bmp.SaveToFile(SavePictureDialog1.FileName); end;
end;
procedure TfrmMain.Decode; var i, j, k: Integer;
Red, Green, Blue: Integer; bitContent, tempContent: String; bitRed, bitGreen, bitBlue: String; bitBaris, bitKolom: String; Baris, Kolom: Integer; begin
Bmp.Assign(imgDecode.Picture.Bitmap); Bmp.PixelFormat := pf24bit;
if not CarrierCheck(Bmp) then begin
MessageDlg('File gambar tidak mengandung pesan.',mtWarning,[mbOK],0); Exit;
end;
bitBaris := '';
for k := 8 to 15 do begin
Red := GetRValue(GetPixel(Bmp.Canvas.Handle,k,0)); Green := GetGValue(GetPixel(Bmp.Canvas.Handle,k,0)); bitBaris := bitBaris + getByte(Green)[8] + getByte(Red)[8]; end;
Baris := getDecimal(bitBaris); bitKolom := '';
for k := 16 to 23 do begin
Red := GetRValue(GetPixel(Bmp.Canvas.Handle,k,0)); Green := GetGValue(GetPixel(Bmp.Canvas.Handle,k,0)); bitKolom := bitKolom + getByte(Green)[8] + getByte(Red)[8]; end;
Kolom := getDecimal(bitKolom); tempContent := '';
for i := 1 to Bmp.Height - 1 do begin for j := 0 to Bmp.Width - 1 do begin
Red := GetRValue(GetPixel(Bmp.Canvas.Handle,j,i)); Green := GetGValue(GetPixel(Bmp.Canvas.Handle,j,i)); Blue := GetBValue(GetPixel(Bmp.Canvas.Handle,j,i));
(16)
A-8 bitRed := getByte(Red);
bitGreen := getByte(Green); bitBlue := getByte(Blue);
tempContent := tempContent + Copy(bitBlue,8,1) + Copy(bitGreen,8,1) + Copy(bitRed,8,1); if (Baris = i) and (Kolom = j) then Break;
end;
if (Baris = i) and (Kolom = j) then Break; end;
bitContent := ''; k := 1;
for i := 1 to Round(Length(tempContent)/8) do begin
bitContent := bitContent + Chr(getDecimal(Copy(tempContent,k,8))); k := k + 8;
end;
bitContent := doDecrypt(edDecodePass1.Text,bitContent);
if edDecodePass1.Text = Copy(bitContent,1,Length(edDecodePass1.Text)) then
moDecode.Lines.Text := StringReplace(bitContent,edDecodePass1.Text+'#','',[rfReplaceAll]) else MessageDlg('Password salah.',mtWarning,[mbOK],0);
end;
function TfrmMain.CarrierCheck(img: TBitmap): Boolean; var i: Integer;
Red, Green, Blue: Integer; strMark, bitLSB: String; begin
bitLSB := '';
for i := 0 to 7 do begin
Red := GetRValue(GetPixel(img.Canvas.Handle,i,0)); Green := GetGValue(GetPixel(img.Canvas.Handle,i,0)); Blue := GetBValue(GetPixel(img.Canvas.Handle,i,0));
bitLSB := bitLSB + getByte(Blue)[8] + getByte(Green)[8] + getByte(Red)[8]; end;
strMark := Chr(getDecimal(Copy(bitLSB,1,8))) + Chr(getDecimal(Copy(bitLSB,9,8))) + Chr(getDecimal(Copy(bitLSB,17,8))); Result := strMark = '&&&';
end;
procedure TfrmMain.btnEncodeClick(Sender: TObject); begin
(17)
A-9 if edEncodePass1.Text <> edEncodePass2.Text then begin MessageDlg('Konfirmasi password salah',mtWarning,[mbOK],0); Exit;
end;
if imgEncode.Picture.Bitmap = nil then begin
MessageDlg('File carrier belum dipilih',mtWarning,[mbOK],0); Exit;
end;
if Trim(moEncode.Lines.Text) = '' then begin
MessageDlg('Content belum diisi',mtWarning,[mbOK],0); Exit;
end; Encode; end;
procedure TfrmMain.btnDecodeClick(Sender: TObject); begin
Decode;
page.TabIndex:=5; end;
procedure TfrmMain.FormCreate(Sender: TObject); begin
Bmp := TBitmap.Create; end;
procedure TfrmMain.OpEncodeClick(Sender: TObject); var bmp : TBitmap;
begin
OpenPictureDialog1.Filter := 'Bitmaps (*.bmp)|*.bmp'; OpenPictureDialog1.DefaultExt := '*.bmp';
if OpenPictureDialog1.Execute then begin bmp := TBitmap.Create;
bmp.LoadFromFile(OpenPictureDialog1.FileName);
imgEncode.Picture.LoadFromFile(OpenPictureDialog1.FileName); FreeAndNil(bmp);
NextEncode.Enabled :=true; ResetEncode.Enabled :=true; end;
end;
procedure TfrmMain.OpDecodeClick(Sender: TObject); var bmp : TBitmap;
begin
OpenPictureDialog1.Filter := 'Bitmaps (*.bmp)|*.bmp'; OpenPictureDialog1.DefaultExt := '*.bmp';
(18)
A-10 if OpenPictureDialog1.Execute then begin
bmp := TBitmap.Create;
bmp.LoadFromFile(OpenPictureDialog1.FileName); imgDecode.Picture.LoadFromFile(OpenPictureDialog1.FileName); FreeAndNil(bmp); NextDecode.Enabled:=true; ResetDecode.Enabled:=true; end; end;
procedure TfrmMain.NextEncodeClick(Sender: TObject); begin
page.TabIndex := 2; end;
procedure TfrmMain.NextDecodeClick(Sender: TObject); begin
page.TabIndex := 4; end;
procedure TfrmMain.BackEncodeClick(Sender: TObject); begin
page.TabIndex := 1; end;
procedure TfrmMain.BackDecodeClick(Sender: TObject); begin
page.TabIndex := 3; end;
procedure TfrmMain.moEncodeChange(Sender: TObject); begin
if (edEncodePass1.Text ='') and (moEncode.Text ='') then begin
btnEncode.Enabled := false; end
else begin
btnEncode.Enabled := true; end
end;
procedure TfrmMain.edEncodePass1Change(Sender: TObject); begin
if (edEncodePass1.Text ='') and (moEncode.Text ='') then begin
btnEncode.Enabled := false; end
else begin
(19)
A-11 btnEncode.Enabled := true;
end end;
procedure TfrmMain.edEncodePass2Change(Sender: TObject); begin
if (edEncodePass1.Text ='') and (moEncode.Text ='') then begin
btnEncode.Enabled := false; end
else begin
btnEncode.Enabled := true; end
end;
procedure TfrmMain.Home1Click(Sender: TObject); begin
page.tabindex := 0; end;
procedure TfrmMain.Encrypt1Click(Sender: TObject); begin
page.tabindex := 1; end;
procedure TfrmMain.Decrypt1Click(Sender: TObject); begin
page.tabindex := 3; end;
procedure TfrmMain.Exit1Click(Sender: TObject); begin
Application.Terminate; end;
procedure TfrmMain.FormShow(Sender: TObject); begin
page.TabIndex:=0; end;
procedure TfrmMain.ResetEncodeClick(Sender: TObject); begin imgEncode.Picture.Assign(nil); moEncode.Clear; edEncodePass1.Clear; edEncodePass2.Clear; ResetEncode.enabled :=false; NextEncode.enabled :=false; end;
(20)
A-12 begin
imgDecode.Picture.Assign(nil); moDecode.Clear;
edDecodePass1.Clear; NextDecode.enabled :=false; ResetDecode.enabled :=false; end;
procedure TfrmMain.ResetEncode2Click(Sender: TObject); begin
moEncode.Clear;
edEncodePass1.Clear; edEncodePass2.Clear; end;
procedure TfrmMain.ResetDecode2Click(Sender: TObject); begin
moDecode.Clear; edDecodePass1.Clear; end;
(21)
1 Universitas Kristen Maranatha
BAB I
PENDAHULUAN
1.1. Latar Belakang
Seiring dengan perkembangan teknologi yang semakin pesat komputer, tablet, smart phone, internet dan perangkat lainnya yang serba digital, telah membuat data digital banyak digunakan di berbagai media dan mudah sekali berpindah - pindah dari orang ke orang lain bahkan dalam hitungan detik data digital bisa tersebar sampai ke penjuru dunia dengan teknologi yang ada sekarang ini mudah diolah dan mudah disalah gunakan oleh orang yang tidak bertanggung jawab. Internet sebagai salah satu media informasi dan telekomunikasi yang banyak digunakan saat ini, menyebabkan distribusi data digital semakin mudah, sehingga membuat kepemilikan dari suatu data digital menjadi sesuatu yang penting di jaman informasi seperti ini.
Data merupakan sesuatu yang harus dijaga, semakin maraknya pencurian data kartu kredit dan mudahnya mencari data kerahasiaan maka diperlukan program komputer untuk mengamankan data tersebut. Program komputer adalah serangkaian instruksi atau arahan yang dapat dipahami
(22)
2
Universitas Kristen Maranatha
oleh manusia (kode khusus) untuk menentukan tugas ataupun satu set tugas untuk dilakukan oleh komputer setelah diterjermah oleh penterjermah ke bahasa mesin (compiler) biasanya dalam binary hexadecimal. Teknik yang digunakan adalah steganografi untuk mengamankan data yaitu dengan cara menyisipkan data rahasia tanpa menimbulkan suatu kecurigaan. Steganografi adalah ilmu dan seni untuk menyembunyikan pesan rahasia (hiding message) sedemikian rupa sehingga keberadaan (eksistensi) pesan tidak terdeteksi oleh indera manusia. Metode yang digunakan adalah data flow oriented methodologies yaitu Structured Analysis and Design Technique (SADT).
SADT sebagai metodologi pengembangan sistem terstruktur juga menganut konsep dekomposisi, menggambarkan terlebih dahulu sistem secara utuh sebagai tingkat tertinggi dan memecahkannya menjadi lebih terperinci.
1.2. Rumusan Masalah
Beberapa masalah yang akan dibahas pada Tugas Akhir ini adalah:
1. Bagaimana membuat program yang dapat mengimplementasikan aplikasi penambahan file tersembunyi pada file gambar yang berisi sebuah informasi kedalam file gambar yang berfungsi sebagai cover dengan menyertakan password pada file cover.
2. Bagaimana perubahan yang terjadi setelah disisipi file data informasi yang berbentuk gambar pada sebuah file cover yang berbentuk gambar
(23)
3
Universitas Kristen Maranatha
dan bagaimana perubahan pada file data setelah dilakukan pembongkaran.
1.3. Tujuan Penelitian
Tujuan dari Tugas Akhir ini adalah :
Dapat mengimplementasikan aplikasi penambahan file tersembunyi pada file gambar dengan menyertakan password pada file cover agar informasi yang disimpan aman dari orang yang tidak berkepentingan terhadap informasi tersebut .
1.4. Pembatasan Masalah
Bentuk data yang dipakai dalam penyisipan informasi ini berupa file bitmap 24-bit dengan format *.bmp dan file gambar berupa *.JPG
File data informasi yang bisa disisipkan hanya berupa gambar.
Gambar yang sudah disisipkan dengan program ini hanya dapat dilihat dengan menggunakan program ini dengan menyertakan password yang sesuai yang sebelumnya telah di input.
(24)
4
Universitas Kristen Maranatha 1.5. Sistematika Penulisan
Bab I : Pendahuluan
Membahas tentang latar belakang, identifikasi masalah, tujuan, pembatasan masalah, dan jadwal pengerjaan. Bab II : Teori Pendahuluan
Membahas tentang teori – teori yang menunjang topik Tugas Akhir.
Bab III : Perancangan dan Pemodelan
Membahas tentang perancangan program penambahan file tersembunyi pada file gambar.
Bab IV : Hasil Dan Implementasi
Membahas tentang hasil rancangan program penambahan file tersembunyi pada file gambar dan kemudian mengimplementasikannya.
Bab V : Kesimpulan dan Saran
Berisi kesimpulan dan saran dari program penambahan file tersembunyi pada file gambar.
(25)
77 Universitas Kristen Maranatha
BAB V
KESIMPULAN DAN SARAN
5.1. Kesimpulan
Implementasi aplikasi program penambahan file tersembunyi pada file gambar telah berhasil dilakukan dengan file yang disisipi berbentuk Gambar yang jumlahnya bisa lebih dari satu file yang disertakan password.
Implementasi aplikasi pembongkaran file yang telah disisipi telah berhasil dilakukan dengan menyertakan password yang sebelumnya telah dimasukan, tetapi jika password yang dimasukan tidak sesuai maka file tidak dapat dibuka dan hasil yang telah diimplementasikan menunjukkan file gambar yang berisi informasi tidak ada perubahan antara file yang sudah sisipkan dengan file yang sebelumnya.
Gambar yang sudah disisipi memiliki kualitas yang hampir sama dibandingkan dengan gambar aslinya dan sangat sulit untuk dibedakan oleh penglihatan manusia.
(26)
78
Universitas Kristen Maranatha 5.2. Saran
Program penambahan file tersembunyi pada file gambar ini dapat dikembangkan untuk menggabungkan file dalam bentuk yang lain agar dapat mengamankan file-file penting baik itu text, audio atau video sehingga aplikasi ini tidak fokus hanya dapat mengamankan file informasi dalam bentuk gambar.
(27)
79 Universitas Kristen Maranatha
DAFTAR PUSTAKA
Bahra, al., Analist dan desain sistem informasi, Graha ilmu, Yogyakarta, 2005 Darmawan, M.S, Steganografi, Sebuah Pendekatan Baru dalam Pengamanan Data, http://3ka-09.digimon.tv/t9-pengertian-visual-basic25 April 2012
http://elib.unikom.ac.id/files/disk1/302/jbtunikompp-gdi-hermizahad/, 28 Januari 2013 http://en.wikipedia.org/wiki/Steganography, 15 Maret 2012
http://eprints.undip.ac.id/1802/2/Prosiding_Buku_IIOK(komp).pdf, 15 April 2012 http://repository.upi.edu/operator/upload/s_d505_033021_chapter2.pdf, 28 Januari 2013 http://overclockerindo.com/moduls.php?name:reviews., 2003
http://ochip.wordpress.com/2010/10/29/sejarah-steganografi/, 30 Mei 2012
http://planetsourcecode.com/vb/scripts/ShowCode.asp?txtCodeId=61511&lngWId=1, 30 Mei 2012
(1)
2 Universitas Kristen Maranatha
oleh manusia (kode khusus) untuk menentukan tugas ataupun satu set tugas untuk dilakukan oleh komputer setelah diterjermah oleh penterjermah ke bahasa mesin (compiler) biasanya dalam binary
hexadecimal. Teknik yang digunakan adalah steganografi untuk
mengamankan data yaitu dengan cara menyisipkan data rahasia tanpa menimbulkan suatu kecurigaan. Steganografi adalah ilmu dan seni untuk menyembunyikan pesan rahasia (hiding message) sedemikian rupa sehingga keberadaan (eksistensi) pesan tidak terdeteksi oleh indera manusia. Metode yang digunakan adalah data flow oriented methodologies yaitu Structured Analysis and Design Technique (SADT).
SADT sebagai metodologi pengembangan sistem terstruktur juga menganut konsep dekomposisi, menggambarkan terlebih dahulu sistem secara utuh sebagai tingkat tertinggi dan memecahkannya menjadi lebih terperinci.
1.2. Rumusan Masalah
Beberapa masalah yang akan dibahas pada Tugas Akhir ini adalah:
1. Bagaimana membuat program yang dapat mengimplementasikan aplikasi penambahan file tersembunyi pada file gambar yang berisi sebuah informasi kedalam file gambar yang berfungsi sebagai cover dengan menyertakan password pada file cover.
2. Bagaimana perubahan yang terjadi setelah disisipi file data informasi yang berbentuk gambar pada sebuah file cover yang berbentuk gambar
(2)
3 Universitas Kristen Maranatha
dan bagaimana perubahan pada file data setelah dilakukan pembongkaran.
1.3. Tujuan Penelitian
Tujuan dari Tugas Akhir ini adalah :
Dapat mengimplementasikan aplikasi penambahan file tersembunyi pada
file gambar dengan menyertakan password pada file cover agar informasi
yang disimpan aman dari orang yang tidak berkepentingan terhadap informasi tersebut .
1.4. Pembatasan Masalah
Bentuk data yang dipakai dalam penyisipan informasi ini berupa file
bitmap 24-bit dengan format *.bmp dan file gambar berupa *.JPG
File data informasi yang bisa disisipkan hanya berupa gambar.
Gambar yang sudah disisipkan dengan program ini hanya dapat dilihat dengan menggunakan program ini dengan menyertakan password yang sesuai yang sebelumnya telah di input.
(3)
4 Universitas Kristen Maranatha
1.5. Sistematika Penulisan Bab I : Pendahuluan
Membahas tentang latar belakang, identifikasi masalah, tujuan, pembatasan masalah, dan jadwal pengerjaan. Bab II : Teori Pendahuluan
Membahas tentang teori – teori yang menunjang topik Tugas Akhir.
Bab III : Perancangan dan Pemodelan
Membahas tentang perancangan program penambahan
file tersembunyi pada file gambar.
Bab IV : Hasil Dan Implementasi
Membahas tentang hasil rancangan program penambahan
file tersembunyi pada file gambar dan kemudian
mengimplementasikannya. Bab V : Kesimpulan dan Saran
Berisi kesimpulan dan saran dari program penambahan
(4)
77 Universitas Kristen Maranatha
BAB V
KESIMPULAN DAN SARAN
5.1. Kesimpulan
Implementasi aplikasi program penambahan file tersembunyi pada file gambar telah berhasil dilakukan dengan file yang disisipi berbentuk
Gambar yang jumlahnya bisa lebih dari satu file yang disertakan password.
Implementasi aplikasi pembongkaran file yang telah disisipi telah berhasil dilakukan dengan menyertakan password yang sebelumnya telah dimasukan, tetapi jika password yang dimasukan tidak sesuai maka file tidak dapat dibuka dan hasil yang telah diimplementasikan menunjukkan file gambar yang berisi informasi tidak ada perubahan antara file yang sudah sisipkan dengan file yang sebelumnya.
Gambar yang sudah disisipi memiliki kualitas yang hampir sama dibandingkan dengan gambar aslinya dan sangat sulit untuk dibedakan oleh penglihatan manusia.
(5)
78 Universitas Kristen Maranatha 5.2. Saran
Program penambahan file tersembunyi pada file gambar ini dapat dikembangkan untuk menggabungkan file dalam bentuk yang lain agar dapat mengamankan file-file penting baik itu text, audio atau
video sehingga aplikasi ini tidak fokus hanya dapat mengamankan file
(6)
79 Universitas Kristen Maranatha
DAFTAR PUSTAKA
Bahra, al., Analist dan desain sistem informasi, Graha ilmu, Yogyakarta, 2005 Darmawan, M.S, Steganografi, Sebuah Pendekatan Baru dalam Pengamanan Data, http://3ka-09.digimon.tv/t9-pengertian-visual-basic25 April 2012
http://elib.unikom.ac.id/files/disk1/302/jbtunikompp-gdi-hermizahad/, 28 Januari 2013 http://en.wikipedia.org/wiki/Steganography, 15 Maret 2012
http://eprints.undip.ac.id/1802/2/Prosiding_Buku_IIOK(komp).pdf, 15 April 2012 http://repository.upi.edu/operator/upload/s_d505_033021_chapter2.pdf, 28 Januari 2013 http://overclockerindo.com/moduls.php?name:reviews., 2003
http://ochip.wordpress.com/2010/10/29/sejarah-steganografi/, 30 Mei 2012
http://planetsourcecode.com/vb/scripts/ShowCode.asp?txtCodeId=61511&lngWId=1, 30 Mei 2012