BAB 3 ANALISIS DAN PERANCANGAN
Perancangan program aplikasi dalam skripsi ini menggunakan aturan linear sequential (waterfall). Metode ini terdiri dari empat tahapan yaitu analisis, perancangan, pengkodean/pembuatan, dan percobaan/implementasi (Pressman, 2001: 29). Tahap analisis, perancangan, dan pembuatan akan dibahas dalam Bab 3 ini, sedangkan tahap percobaan atau implementasi akan dilanjutkan di Bab 4.
3.1
Analisis Permasalahan Objek penelitian dalam analisis permasalahan ini adalah PT. Sahabat Sejati
Gemilang. Analisis terdiri dari 3 bagian, yaitu Latar Belakang Perusahaan, Perumusan Masalah, dan Usulan Pemecahan Masalah.
3.1.1
Latar Belakang PT. Sahabat Sejati Gemilang PT. Sahabat Sejati Gemilang yang didirikan pada tahun 2003 adalah perusahaan
yang bergerak di bidang penyediaan barang dan jasa secara umum, mulai dari penyediaan perlengkapan kantor, peralatan pertukangan, perlengkapan rumah tangga, bahan kimia, obat-obatan, hingga penyediaan jasa seperti pengiriman barang dan percetakan. Perusahaan ini berlokasi di Jl. Jembatan Dua Raya No. 16-8, dengan pusat di Jakarta. Perusahaan ini dapat melayani kebutuhan barang dan jasa secara nasional maupun internasional. Dipimpin oleh Komisaris dan Direktur, struktur organisasi perusahaan ini terbagi menjadi empat divisi, yaitu divisi Sales and Marketing, Finance and Accounting, Human 38
Resources Development, dan Logistics. Masing-masing divisi kemudian terbagi lagi menjadi staff-staff tersendiri. Struktur organisasi dalam bentuk bagan dapat dilihat pada Gambar 3.1. Komisaris Julius Chandra
Direktur Indra Agung
Sales & Marketing Manager Andreas Sugiharto
Finance & Accounting Manager Peggy Berhitu
Staff Divisi
HRD Manager Netty Bernata
Staff Divisi
Logistics Manager Kartika Sari
Staff Divisi
Staff Divisi
Gambar 3. 1 Struktur Organisasi PT. Sahabat Sejati Gemilang
Sumber: HRD Department, PT. Sahabat Sejati Gemilang
Tugas dan kewajiban masing-masing personil di perusahaan tersebut adalah sebagai berikut: 1. Komisaris Komisaris bertugas mengawasi jalannya perusahaan serta menentukan arah kebijakan perusahaan untuk mendorong kemajuan perusahaan 2. Direktur Direktur bertanggung jawab atas kelancaran kegiatan operasional perusahaan sesuai dengan kebijakan yang telah ditentukan
39
3. Sales & Marketing Manager Sales & Marketing Manager bertugas menyusun strategi penjualan, menjalankan kegiatan penjualan perusahaan, serta memastikan target penjualan tercapai 4. Finance & Accounting Manager Finance & Accounting Manager bertanggung jawab atas pembuatan laporan keuangan perusahaan 5. HRD Manager HRD Manager bertanggung jawab atas perekrutan karyawan, penggajian karyawan, administrasi dan masalah personalia 6. Logistics Manager Logistics manager bertanggung jawab atas penyimpanan dan pengiriman barang 7. Staf Divisi Staf divisi bertanggung jawab atas tugas dan kewajiban sesuai dengan fungsi divisi masing-masing agar kegiatan operasional perusahaan dapat berjalan lancar.
3.1.2
Perumusan Masalah Sehubungan dengan jangkauan pelayanan PT. Sahabat Sejati Gemilang yang
semakin meluas dan meningkat, maka komunikasi internal yang lancar dan aman menjadi kebutuhan perusahaan yang penting untuk menjaga kerahasiaan dan keamanan informasi. Para pegawai perusahaan semakin sering berkomunikasi jarak jauh dengan satu sama lain, yaitu dengan mengirimkan data-data yang bersifat rahasia ataupun internal, seperti harga penawaran barang, jumlah stock, informasi data pelanggan, omzet, memo internal, dan gaji pegawai. Karena sifat datanya yang rahasia, maka timbul kekhawatiran bahwa data dapat diakses oleh orang yang tidak berkepentingan dalam 40
proses pengirimannya. Oleh karena itu, terdapat kebutuhan sistem komunikasi yang aman dan terpercaya, sehingga data-data tersebut tidak dapat diakses oleh orang yang tidak berkepentingan.
3.1.3 Usulan Pemecahan Masalah Masalah keamanan komunikasi dapat diatasi dengan menggunakan program pengamanan data yang menggunakan Elliptic Curve Cryptography serta dilanjutkan dengan LSB embedding. Dengan program ini, informasi yang hendak dikirim dapat diamankan dan disembunyikan terlebih dahulu, sehingga orang-orang yang tidak berkepentingan tidak dapat mengakses ataupun mengetahui keberadaan informasi tersebut. Dengan demikian, informasi yang mungkin penting dan rahasia, seperti misalnya omzet, penawaran harga barang, gaji, dan nomor telepon, dapat dikirim dengan keamanan yang lebih memadai. Untuk ke depannya, program pengamanan dan informasi apa saja yang dapat dikirim dengan program tersebut dapat dirancang sesuai dengan kebutuhan masing-masing perusahaan atau lembaga.
3.2
Perancangan dan Pembuatan Program Perancangan dan pembuatan program terbagi menjadi 5 bagian, yaitu diagram
hirarki, State Transition Diagram, perancangan modul, perangkat pemograman dan algoritma pemograman.
3.2.1
Diagram Hirarki Perancangan diagram hirarki dibuat dengan tujuan untuk memberikan gambaran
program aplikasi yang akan dibuat sehingga mempermudah proses perancangannya. 41
aplikasi ini akan terdiri dari satu menu utama program yang terdiri dari tiga menu, yaitu menu File, menu Process, dan menu Help. Menu File terdiri dari tiga submenu, yaitu Open, Save dan Exit. Menu Process terdiri dari empat submenu, yaitu Encryption, Embedding, Extracting, Decryption,dan eRMS. Dan yang terakhir menu Help terdiri dari dua submenu, yaitu Content dan About. Diagram hirarki untuk program aplikasi ini dapat dilihat pada Gambar 3.2.
Menu Utama
Menu File
Submenu Open
Submenu Save
Menu Process
Submenu Exit
Submenu Encryption
Submenu Embedding
Submenu Extracting
Menu Help
Submenu Decryption
Submenu e-RMS
Submenu Content
Submenu About
Gambar 3. 2 Diagram Hirarki
3.2.2
State Transition Diagram STD atau State Transition Diagram menggambarkan sebuah sistem yang real-
time dan sistem yang on-line. STD merupakan suatu keadaan yang menggambarkan suatu keadaan pada waktu tertentu (Yourdon, 2006). Perubahan keadaan disebabkan oleh adanya suatu kejadian dan sebagai akibat dari kejadian tersebut maka akan muncul suatu aksi yang akan menyebabkan keadaan berubah. STD membantu dalam memberikan gambaran secara keseluruhan dari program. STD untuk menu utama, file,
42
process, dan help dapat dilihat pada Gambar 3.3, Gambar 3.4, Gambar 3.5, dan Gambar 3.6.
Gambar 3. 3 STD Menu Utama
Gambar 3. 4 STD File
43
Gambar 3. 5 STD Process
Gambar 3. 6 STD Help
44
3.2.3
Perancangan Modul Pada perancangan program aplikasi ini, dibuat enam modul, yaitu modul
encryption, modul embedding, modul extracting, modul decryption, modul e-RMS,dan modul help.
a.
Perancangan Modul Encryption Modul encryption dirancang untuk melakukan proses enkripsi terhadap pesan
yang di-input oleh pengguna serta meminta pengguna untuk memasukkan key. Dalam modul ini terdapat tiga menu utama yaitu menu File, Process, dan Help. Ketiga menu beserta submenu-submenu di dalamnya adalah sebagai berikut: 1.
Menu File, dengan tiga submenu, yaitu submenu Open Audio, Save Audio, dan Exit.
2.
Menu Process, dengan lima submenu di dalamnya, yaitu submenu Encryption, Embedding, Extracting, Decryption,dan e-RMS.
3.
Menu Help, dengan dua submenu, yaitu Content dan About.
Rancangan layar untuk modul encryption dapat dilihat pada Gambar 3.7
45
Gambar 3. 7 Rancangan Layar Modul Encryption
b.
Perancangan Modul Embedding Modul embedding dirancang untuk melakukan proses penyembunyian pesan
pada audio digital yang telah dienkripsi sebelumnya dengan modul encryption serta meminta input berupa stego-key. Dalam modul ini yang disembunyikan bukan hanya pesan tapi juga stego-key serta panjang pesan pada bagian belakang file audio dimulai dari stego-key, panjang pesan dan pesannya secara berturut-turut dengan pembacaan dari belakang ke depan. Bit-bit stego-key dan panjang pesan disembunyikan secara berturutturut dimulai pada byte yang paling akhir. Sedangkan bit-bit pesan disembunyikan tidak berdekatan tapi setiap seratus byte disubstitusikan satu bit pesan. Banyak bit yang akan disubstitusikan dengan bit pesan tiap byte-nya hanya satu bit. Sehingga tiap satu karakter membutuhkan cover file minimal berukuran 900 byte.
46
Pada modul ini terdapat tiga menu utama yaitu menu File, Process ,dan Help. Pada menu File terdiri dari tiga submenu yaitu submenu Open Audio, Save Audio,dan Exit. Submenu Open Audio berguna untuk mengambil input berupa file audio dengan format .WAV yang akan digunakan sebagai cover dari pesan yang akan disembunyikan, Submenu Save Audio berguna untuk menyimpan hasil embedding yaitu inconspicious file dan Submenu Exit untuk keluar dari program aplikasi. Rancangan layar untuk modul embedding dapat dilihat pada Gambar 3.8.
Gambar 3. 8 Rancangan Layar Modul Embedding
c.
Perancangan Modul Extracting Modul extracting dirancang untuk melakukan proses ekstrak pesan yang telah
disembunyikan pada file audio(.WAV), modul ini juga akan meminta pengguna untuk 47
memasukkan stego-key. Pada modul ini terdapat tiga menu utama yaitu menu FILE, Process ,dan Help. Pada menu FILE terdiri dari dua submenu yang aktif yaitu submenu Open Audio,dan Exit. Submenu Open Audio berguna untuk mengambil input berupa file audio dengan format .WAV yang akan mengandung pesan tersembunyi. Exit berguna untuk keluar dari program aplikasi. Rancangan layar untuk modul extracting dapat dilihat pada Gambar 3.9.
Gambar 3. 9 Rancangan Layar Modul Extracting
d.
Perancangan Modul Decryption Modul decryption dirancang untuk melakukan proses dekripsi terhadap pesan
yang telah diekstrak pada modul extracting sebelumnya modul ini akan meminta
48
pengguna untuk memasukkan key. Modul ini akan menampilkan pesan yang telah berhasil diekstrak dari file audio (.WAV) serta telah didekripsi. Modul ini juga terdapat tiga menu utama yaitu menu File, Process, dan Help. Rancangan layar untuk modul decryption dapat dilihat pada Gambar 3.10.
Gambar 3. 10 Rancangan Layar Modul Decryption
e.
Perancangan Modul e-RMS Modul e-RMS Modul ini memberikan informasi mengenai nilai error dari
frekuensi file cover audio sebelum proses embedding dengan frekuensi file audio hasil embedding, Jika nilai e-RMS untuk perbandingan antara frekuensi file cover audio dengan frekuensi file audio hasil embedding kecil, maka hasil embedding dinilai sukses. Rancangan layar untuk modul e-RMS dapat dilihat pada Gambar 3.11.
49
Gambar 3. 11 Rancangan Layar Modul E-RMS
f.
Perancangan Modul Help Modul help sangat berguna untuk memberikan informasi tentang program
aplikasi yang dibuat, bagaimana cara menggunakannya, dan informasi mengenai pembuat program. Modul ini terdiri dari dua bagian, yaitu Content dan About. Content berisi informasi tentang program dan cara menggunakan program aplikasi ini dan About berisi informasi mengenai pembuat program aplikasi ini. Rancangan layar untuk modul Help dapat dilihat pada Gambar 3.12 dan Gambar 3.13.
Gambar 3. 12 Rancangan Layar Modul Help
50
Gambar 3. 13 Rancangan Layar Modul About
3.2.4
Perangkat Pemograman Setelah melakukan proses perancangan, tahap selanjutnya adalah pembuatan
program aplikasi untuk merealisasikan rancangan. Untuk membuat program ini, spesifikasi perangkat pemograman adalah sebagai berikut: 1. Prosesor Intel Pentium 4 1,6 G 2. Memori DDRAM 256 MB. 3. Harddisk berkapasitas 40 GB. 4. Soundcard C-Media 5. Speaker Altec Lansing
Sedangkan perangkat lunak yang digunakan dalam pembuatan program aplikasi ini mempunyai spesifikasi sebagai berikut : 1. Sistem operasi Microsoft Windows XP Professional. 2. Borland Delphi 7.0 Enterprise Edition 3. HelpScribble.
51
Kode program dibuat dengan bahasa pemrograman Pascal. Alasan dipilihnya Borland Delphi 7 sebagai bahasa pemrograman adalah karena Delphi 7 merupakan suatu bahasa pemrograman visual yang berbasis windows sehingga akan lebih mudah dalam perancangan secara visual. Selain itu, Borland Delphi 7.0 juga dilengkapi dengan compiler yang handal sehingga dapat mendeteksi kesalahan-kesalahan yang ditemukan selama penulisan program yang akan sangat membantu dalam pembuatan program. HelpScribble digunakan untuk membuat modul help pada program aplikasi ini. HelpScribble merupakan perangkat lunak dengan prosedur yang cukup mudah untuk membuat help.
3.2.5
Algoritma Pemograman
Dalam pembuatan program ini, diperlukan algoritma pemograman Elliptic Curve Cryptography serta alogoritma Proposed LSB Embedding.
A. Algoritma Elliptic Curve Cryptography Berikut ini adalah beberapa buah algoritma aritmatika elliptic curve yang menjadi dasar bagi proses enkripsi dan dekripsi program nantinya. Algoritma- algoritma tersebut antara lain adalah algoritma untuk mencari negasi sebuah point yang ada di elliptic curve, algoritma untuk penjumlahan dua buah point, algoritma pengurangan point, algoritma untuk perkalian sebuah point dengan sebuah integer yang sangat besar (IEEE, 1999) a. Algoritma Negasi Titik (Point Negation) Input : sebuah titik P (x0,y0) pada kurva eliptik E.
52
Output : titik -P=(x1,y1) Algoritma : 1. if P = point at infinity then output=point at infinity 2. x1 ← x0. y1 ← -(y0).
3. Output (x1,y1). b. Algoritma Penambahan Point (Point Addition) Input:
suatu bilangan prima p > 3 koefisien a, b untuk sebuah kurva eliptik E: y2 = x3 + ax + b modulo p titik P0 = (x0,y0) dan P1=(x1,y1) pada E
Output: titik P2 = P0 + P1
Algoritma : 1. if P0 = ϕ then P2 ← P1 dan berhenti. 2. if P1 = ϕ then P2 ← P0 dan berhenti. 3. if x0 ≠ x1 then 3.1. set λ ← (y0-y1)/(x0-x1) mod p 3.2. go to step 7. 4. if y0 ≠ y1 or y1 = 0 then P2 ← ϕ dan berhenti. 5. set λ ← (3x12+a)/(2y1) mod p 6. set x2 ← λ2 - x0 - x1 mod p 53
7. set y2 ← λ (x1-x2) - y1 mod p 8. output P2 ← (x2,y2)
c. Algoritma Pengurangan Point (Point Subtraction) Input: suatu bilangan prima p > 3 koefisien a, b untuk sebuah kurva eliptik E: y2 = x3 + ax + b modulo p titik P0 = (x0,y0) dan P1=(x1,y1) pada E Output: titik P2 = P0 - P1
Algoritma : 1. if P0 = ϕ then P2 ← P1 dan berhenti. 2. if P1 = ϕ then P2 ← P0 dan berhenti. 3. if x0 ≠ x1 then 3.1. set λ ← (y0-y1)/(x0-x1) mod p 3.2. go to step 7. 4. if y0 ≠ y1 or y1 = 0 then P2 ← ϕ dan berhenti. 5. set λ ← (3x12+a)/(2y1) mod p 6. set x2 ← λ2 - x0 - x1 mod p 7. set y2 ← λ (x1-x2) - y1 mod p 8. output P2 ← (x2,y2) d. Perkalian skalar kurva eliptik (elliptic scalar multiplication)
54
Input : suatu integer n dan sebuah titik kurva eliptik P Output : point nP Algoritma : 1. If n = 0 then output ϕ dan berhenti. 2. If n < 0 then set Q ← (-P) dan k ← (-n), else set Q ← P dan k ← n. 3. Misalkan hLhL-1 ... h1h0 adalah representasi biner 3k, dengan MSB hL adalah 1. 4. Misalkan kLkL-1 ... k1k0 merupakan representasi biner k. 5. Set S ← Q. 6. For i from L-1 down to 1 do Set S ← 2S. if hi=1 and ki=0 then S ← S + Q (algoritma 3.2.2). if hi=0 and ki=1 then S ← S - Q (algoritma 3.2.3). 7. Output S.
B. Algoritma Proposed LSB Embedding Pada algoritma embedding, LSB layer(bit ai) diubah terlebih dahulu dengan mensubstitusi bit pada pesan yang akan disembunyikan kemudian algoritma Proposed LSB embedding digunakan. Algoritma Proposed LSB embedding adalah sebagai berikut (Cvejic & Seppanen, 2005: 3): If bit 0 is to be embedded If ai-1=0 then ai-1,ai-2...a0 = 11...1 If ai-1=1 then ai-1,ai-2...a0 = 00...0 If ai+1=0 then ai+1=1 55
Else if ai+2=0 then ai+2=1 ... Else if a7=0 then a7=1 Else If bit 1 is to be embedded If ai-1=1 then ai-1,ai-2...a0 = 00...0 If ai-1=0 then ai-1,ai-2...a0 = 11...1 If ai+1=1 then ai+1=0 Else if ai+2=1 then ai+2=0 ... Else if a7=1 then a7=0
Kedua jenis algoritma di atas digunakan untuk pembuatan program aplikasi pengamanan data dalam penulisan ini. Listing Program dalam pembuatan program tersebut dapat dilihat selengkapnya di Lampiran 1.
56