bab iii perancangan program - thesis.binus.ac.idthesis.binus.ac.id/doc/bab3/2010-1-00511-mtif bab...

18
BAB III PERANCANGAN PROGRAM 3.1 Perancangan Program Aplikasi 3.1.1 Requirement Spesification 1. Program dibuat menggunakan Microsoft Visual Studio 2005. 2. M etode yang digunakan pada proses kriptografi adalah MM B (Modular Multiplication-Based Block cipher). 3. Data yang digunakan berupa input teks. 3.1.2 Bentuk Program Arsitektur dari sebuah program dapat dirancang dengan dua konsep yaitu dengan Object Oriented dan procedural . Procedural programming, yang dikenal ju ga sebagai imperative programming adalah pemrograman dengan pemanggilan function atau procedure, disebut juga dengan istilah umum routines. Setiap procedure harus mengandung sederetan langkah-langkah algoritma. Procedure-procedure tersebut kemudian dapat dipanggil kapan saja dari program. Procedural Programming adalah konsep pemrograman sederhana dengan menerapkan urutan-urutan langkah. Object Oriented Programming (OOP) adalah sebuah paradigma pemrograman yang menggunakan class dan object dan interaksinya untuk

Upload: trinhmien

Post on 23-Mar-2019

228 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BAB III PERANCANGAN PROGRAM - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2010-1-00511-mtif bab 3.pdf · BAB III PERANCANGAN PROGRAM 3.1 Perancangan Program Aplikasi ... 3.2 Perancangan

BAB III

PERANCANGAN PROGRAM

3.1 Perancangan Program Aplikasi

3.1.1 Requirement Spesification

1. Program dibuat menggunakan Microsoft Visual Studio 2005.

2. Metode yang digunakan pada proses kriptografi adalah MMB (Modular

Multiplication-Based Block cipher).

3. Data yang digunakan berupa input teks.

3.1.2 Bentuk Program

Arsitektur dari sebuah program dapat dirancang dengan dua konsep yaitu

dengan Object Oriented dan procedural.

Procedural programming, yang dikenal juga sebagai imperative

programming adalah pemrograman dengan pemanggilan function atau

procedure, disebut juga dengan istilah umum routines. Setiap procedure harus

mengandung sederetan langkah-langkah algoritma. Procedure-procedure

tersebut kemudian dapat dipanggil kapan saja dari program. Procedural

Programming adalah konsep pemrograman sederhana dengan menerapkan

urutan-urutan langkah.

Object Oriented Programming (OOP) adalah sebuah paradigma

pemrograman yang menggunakan class dan object dan interaksinya untuk

Page 2: BAB III PERANCANGAN PROGRAM - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2010-1-00511-mtif bab 3.pdf · BAB III PERANCANGAN PROGRAM 3.1 Perancangan Program Aplikasi ... 3.2 Perancangan

52

mendesain aplikasi dan program komputer (Deitel, p3). Keunggulan yang

membuat OOP semakin marak digunakan adalah karena sifatnya yang

reusable, di mana programmer tidak perlu membuat program berulang-ulang

untuk modul-modul yang mempunyai kegiatan fungsional yang mirip,

sehingga penerapan OOP sangat cocok untuk membuat aplikasi atau program

yang rumit.

Konsep-konsep dasar dari OOP terdiri dari tiga bagian, antara lain adalah

encapsulation, inheritance dan polymorphism.

Encapsulation adalah konsep untuk membungkus atribut-atribut dan

method-method yang ada pada suatu bagian menjadi sebuah class. Tujuan dari

encapsulation adalah untuk memudahkan konsep pemrograman,

menyembunyikan informasi yang rahasia, dan untuk memungkinkan

pembuatan objek-objek yang mempunyai sifat yang sama.

Inheritance adalah konsep penurunan sifat yang terdapat pada OOP, yang

bertujuan untuk memudahkan pemrograman dari yang sederhana menjadi

yang rumit sehingga tidak akan membuat konsep pemrograman menjadi

rumit. Tujuan dari inheritance selain untuk memudahkan pemrograman adalah

untuk menjaga hubungan antar class. Sehingga baik programmer maupun

user dapat dengan mudah memengerti aliran program apabila program telah

berkembang menjadi rumit.

Page 3: BAB III PERANCANGAN PROGRAM - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2010-1-00511-mtif bab 3.pdf · BAB III PERANCANGAN PROGRAM 3.1 Perancangan Program Aplikasi ... 3.2 Perancangan

53

Polymorphism adalah konsep OOP di mana sebuah objek dapat berubah

bentuk sifatnya ditengah jalannya program. Dasar dari konsep polymorphism

adalah konsep inheritance. Pada dasarnya polymorphism adalah sebuah

abstract class yang mempunyai virtual method yang diturunkan menjadi

beberapa class yang harus mengimplementasikan virtual method tersebut.

Tujuan dari polymorphism adalah untuk memantapkan arsitektur

pemrograman, karena dengan adanya polymorphism arah hubungan antar

class akan menjadi jelas dan method-method dari class tersebut juga akan

menjadi jelas.

Dengan adanya tiga konsep OOP tersebut, OOP menjadi konsep

pemrograman yang handal dan dapat diimplementasikan dalam segala situasi.

3.2 Perancangan Program

3.2.1 Flowchart Diagram

Page 4: BAB III PERANCANGAN PROGRAM - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2010-1-00511-mtif bab 3.pdf · BAB III PERANCANGAN PROGRAM 3.1 Perancangan Program Aplikasi ... 3.2 Perancangan

54

Gambar 3.1 Flowchart Diagram Enkripsi – Dekripsi

Page 5: BAB III PERANCANGAN PROGRAM - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2010-1-00511-mtif bab 3.pdf · BAB III PERANCANGAN PROGRAM 3.1 Perancangan Program Aplikasi ... 3.2 Perancangan

55

3.2.2 Use Case diagram

Gambar 3.2 Use Case Diagram Enkripsi – Dekripsi

Page 6: BAB III PERANCANGAN PROGRAM - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2010-1-00511-mtif bab 3.pdf · BAB III PERANCANGAN PROGRAM 3.1 Perancangan Program Aplikasi ... 3.2 Perancangan

56

3.2.3 Class Diagram

Gambar 3.3 Class Diagram Enkripsi - Dekripsi

Page 7: BAB III PERANCANGAN PROGRAM - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2010-1-00511-mtif bab 3.pdf · BAB III PERANCANGAN PROGRAM 3.1 Perancangan Program Aplikasi ... 3.2 Perancangan

57

3.2.4 Sequence Diagram

Gambar 3.4 Sequence Diagram Enkripsi - Dekripsi

Page 8: BAB III PERANCANGAN PROGRAM - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2010-1-00511-mtif bab 3.pdf · BAB III PERANCANGAN PROGRAM 3.1 Perancangan Program Aplikasi ... 3.2 Perancangan

58

3.3 Perancangan Layar

3.3.1 Perancangan Tampilan

Perangkat lunak bantu pemahaman ini dirancang dengan menggunakan

bahasa pemrograman Microsoft Visual Studio 2005 dan menggunakan MDI

Form (Multiple Document Interface Form) sebagai form induk (main form)

dan fasilitas menu editor untuk membuat dan mengatur tampilan menu pull

down.

Perangkat lunak bantu pemahaman ini dirancang dengan menggunakan

beberapa layar, antara lain :

1. Layar ‘Main’, berfungsi sebagai layar induk untuk menggabungkan

semua layar yang ada.

2. Layar ‘Teori’.

3. Layar ‘Proses Pembentukan Kunci’, merupakan anak layar dari layar

‘Main’.

4. Layar ‘Proses Enkripsi’, merupakan anak layar dari layar ‘Main’.

5. Layar ‘Proses Dekripsi’, merupakan anak layar dari layar ‘Main’.

6. Layar ‘Kecepatan Animasi’.

Secara ringkas, menu-menu dapat digambarkan seperti gambar berikut

ini :

Page 9: BAB III PERANCANGAN PROGRAM - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2010-1-00511-mtif bab 3.pdf · BAB III PERANCANGAN PROGRAM 3.1 Perancangan Program Aplikasi ... 3.2 Perancangan

59

Gambar 3.5 Menu dan Sub-menu pada Layar Utama

3.3.1.1 Rancangan Layar ‘Main’

Layar ini merupakan layar induk yang berfungsi untuk menggabungkan

semua layar yang ada pada perangkat lunak. Rancangan layar ‘Main’ ini dapat

dilihat pada gambar 3.6 berikut ini :

Page 10: BAB III PERANCANGAN PROGRAM - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2010-1-00511-mtif bab 3.pdf · BAB III PERANCANGAN PROGRAM 3.1 Perancangan Program Aplikasi ... 3.2 Perancangan

60

Gambar 3.6 Rancangan Layar ‘Main’

3.3.1.2 Rancangan Layar Teori

Layar ini berfungsi untuk menampilkan teori-teori yang berhubungan

dengan perangkat lunak. Rancangan layar ini dapat dilihat pada gambar 3.7

berikut ini :

Page 11: BAB III PERANCANGAN PROGRAM - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2010-1-00511-mtif bab 3.pdf · BAB III PERANCANGAN PROGRAM 3.1 Perancangan Program Aplikasi ... 3.2 Perancangan

61

Gambar 3.7 Rancangan Layar ‘Teori’

3.3.1.3 Rancangan Layar Proses Pembentukan Kunci

Layar ini berfungsi untuk menampilkan proses pembentukan kunci dari

metode MMB secara tahap demi tahap. Rancangan layar ini dapat dilihat pada

gambar 3.8 berikut ini :

Page 12: BAB III PERANCANGAN PROGRAM - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2010-1-00511-mtif bab 3.pdf · BAB III PERANCANGAN PROGRAM 3.1 Perancangan Program Aplikasi ... 3.2 Perancangan

62

Gambar 3.8 Rancangan Layar ‘Proses Pembentukan Kunci’

3.3.1.4 Rancangan Layar Proses Enkripsi

Layar ini berfungsi untuk menampilkan proses enkripsi dari metode

MMB secara tahap demi tahap. Rancangan layar ini dapat dilihat pada gambar

3.9 berikut ini :

Page 13: BAB III PERANCANGAN PROGRAM - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2010-1-00511-mtif bab 3.pdf · BAB III PERANCANGAN PROGRAM 3.1 Perancangan Program Aplikasi ... 3.2 Perancangan

63

Gambar 3.9 Rancangan Layar ‘Proses Enkripsi’

3.3.1.5 Rancangan Layar Proses Dekripsi

Layar ini berfungsi untuk menampilkan proses dekripsi dari metode

MMB secara tahap demi tahap. Rancangan layar ini dapat dilihat pada gambar

3.10 berikut ini :

Page 14: BAB III PERANCANGAN PROGRAM - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2010-1-00511-mtif bab 3.pdf · BAB III PERANCANGAN PROGRAM 3.1 Perancangan Program Aplikasi ... 3.2 Perancangan

64

Gambar 3.10 Rancangan Layar ‘Proses Dekripsi’

3.3.1.6 Rancangan Layar Kecepatan Animasi

Layar ini berfungsi untuk mengatur kecepatan animasi dari proses

pembentukan kunci, enkripsi dan dekripsi. Rancangan layar ini dapat dilihat

pada gambar 3.11 berikut ini :

Page 15: BAB III PERANCANGAN PROGRAM - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2010-1-00511-mtif bab 3.pdf · BAB III PERANCANGAN PROGRAM 3.1 Perancangan Program Aplikasi ... 3.2 Perancangan

65

Gambar 3.11 Rancangan Layar ‘Kecepatan Animasi’

3.4 State Transition Diagram

Gambar 3.12 State Transition Diagram ‘File’

Page 16: BAB III PERANCANGAN PROGRAM - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2010-1-00511-mtif bab 3.pdf · BAB III PERANCANGAN PROGRAM 3.1 Perancangan Program Aplikasi ... 3.2 Perancangan

66

Gambar 3.13 State Transition Diagram ‘Theory’

Page 17: BAB III PERANCANGAN PROGRAM - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2010-1-00511-mtif bab 3.pdf · BAB III PERANCANGAN PROGRAM 3.1 Perancangan Program Aplikasi ... 3.2 Perancangan

67

Gambar 3.14 State Transition Diagram ‘Process’

Gambar 3.15 State Transition Diagram ‘Animation Speed’

Page 18: BAB III PERANCANGAN PROGRAM - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2010-1-00511-mtif bab 3.pdf · BAB III PERANCANGAN PROGRAM 3.1 Perancangan Program Aplikasi ... 3.2 Perancangan

68

Gambar 3.16 State Transition Diagram ‘Help’