BAB IV. ANALISIS DAN PERANCANGAN - digilib.itb.ac.id · Realisasi use case tahap perancangan berisi...
Transcript of BAB IV. ANALISIS DAN PERANCANGAN - digilib.itb.ac.id · Realisasi use case tahap perancangan berisi...
IV-1
BAB IV.
ANALISIS DAN PERANCANGAN
Pada bab ini, akan dibahas mengenai proses analisis dan perancangan dari add-on
yang akan dibangun. Pada bagian awal, akan dijelaskan deskripsi umum, kebutuhan
perangkat lunak, dan use case dari add-on. Pada bagian analisis, akan dibahas
mengenai pemodelan masalah dengan berbasiskan use case pada bagian sebelumnya,
sedangkan tahap perancangan membahas pemodelan solusi dari masalah yang
dijelaskan pada bagian analisis.
IV.1 Deskripsi Umum Perangkat Lunak
Perangkat lunak yang akan dibangun mampu melakukan enkripsi dan dekripsi surat
elektronik dengan menggunakan XXTEA. Perangkat lunak ini merupakan add-on
yang akan dipasang pada Mail User Agent (MUA) Mozilla Thunderbird. Ketika
pengguna ingin mengenkripsi surat elektronik yang akan dikirimnya, pengguna
memasukan kata kunci dan menekan tombol enkripsi sehingga body pesan akan
berubah menjadi bentuk terenkripsi.
Spesifikasi add-on yang ingin dibangun:
1. Mampu mengenkripsi dan mendekripsi surat elektronik dengan menggunakan
XXTEA.
2. Berjalan di atas Mozilla Thunderbird 2.0 ke atas.
3. Menyediakan fasilitas pengecekan kekuatan kata kunci.
4. Menyediakan fasilitas pembangkitan kata kunci.
Spesifikasi nomor 1 dan 2 merupakan spesifikasi utama dari tugas akhir sebab sesuai
dengan judul tugas akhir ini, sedang spesifikasi nomor 3 dan 4 merupakan spesifikasi
tambahan untuk meningkatkan kekuatan dari kata kunci yang berdampak pada
sulitnya memecahkan ciphertext. Dengan adanya pembuatan add-on enkripsi surat
IV-2
elektronik pada Mozilla Thunderbird ini, diharapkan user dapat lebih menjaga
keamanan data rahasia yang dikirimkan melalui MUA.
Gambar IV-1 Skema Umum Perangkat Lunak menjelaskan alur kerja dari perangkat
lunak yang akan dibangun.
Skema Umum Perangkat Lunak
Internet MUA PenerimaMUA Pengirim
Body surat dienkripsi
Surat ditransfer hingga mailbox
tujuanSurat dikirim
Surat diunduh dari mailbox untuk
dibaca
Body didekripsi
Surat siap dibaca penerima
Surat selesai ditulis dan siap dikirim
Gambar IV-1 Skema Umum Perangkat Lunak
IV.2 Fitur Utama Perangkat Lunak
Pada subbab ini, akan dibahas fitur utama perangkat lunak yang meliputi kebutuhan
fungsional dan non-fungsional.
IV-3
IV.2.1 Kebutuhan Fungsional
Kebutuhan fungsional dari perangkat lunak ini adalah:
1. Mampu mengenkripsi dan mendekripsi surat elektronik dengan menggunakan
XXTEA.
2. Mampu berjalan di atas Mozilla Thunderbird 2.0 ke atas.
3. Menyediakan fasilitas pengecekan kekuatan kata kunci.
4. Menyediakan fasilitas pembangkitan kata kunci.
IV.2.2 Kebutuhan Non-fungsional
Kebutuhan non-fungsional dari perangkat lunak ini adalah:
1. Proses enkripsi dan dekripsi berjalan dengan cepat.
2. Perangkat lunak nyaman digunakan, yaitu jumlah langkah tambahan sekitar 2
(dua) hingga 3 (tiga) langkah dan menggunakan icon yang representatif dalam
menggambarkan sebuah proses yang disediakan add-on.
IV.3 Model Use Case
Pada subbab ini, akan dibahas use case yang menjadi dasar pembangunan perangkat
lunak. Penjelasan dimulai dengan diagram use case yang menggambarkan kebutuhan
fungsional perangkat lunak, kemudian definisi aktor, definisi dan skenario dari
masing-masing use case.
IV.3.1 Diagram Use Case
Gambar IV-2 Diagram Use Case menampilkan kebutuhan fungsional perangkat lunak
yang dapat digunakan oleh aktor “user”.
IV-4
Gambar IV-2 Diagram Use Case
Dalam penggunaan add-on ini, aktor “user” dapat melakukan 2 (dua) aksi yang
tersedia, yaitu mengenkripsi surat elektronik yang akan dikirim dan mendekripsi surat
elektronik yang diterima. Terdapat fitur lain yang disediakan add-on, yaitu
pengecekan kekuatan kata kunci, di mana fitur ini akan berjalan otomatis ketika aktor
“user” memasukkan kata kunci.
IV.3.2 Definisi Aktor
Terdapat 1 (satu) aktor dalam penggunaan perangkat lunak ini, yaitu pemakai add-on
(user), dimana user menggunakan add-on ini untuk mengenkripsi dan mendekripsi
surat elektronik yang user kirim atau terima.
IV.3.3 Definisi Use Case
Tabel IV-1 Definisi Use Case berisi deskripsi use case yang telah dijelaskan pada
subbab IV.3.1 Diagram Use Case.
IV-5
Tabel IV-1 Definisi Use Case
ID Use Case Deskripsi
UC‐01 Mengenkripsi surat elektronik Aktor “user” dapat mengenkripsi surat elektronik
yang dikirim dengan menggunakan algoritma
XXTEA yang disediakan add‐on.
UC‐02 Mendekripsi surat elektronik Aktor “user” dapat mendekripsi surat elektronik
yang diterima dalam keadaan terenkripsi sehingga
dapat dimengerti dengan mudah.
IV.3.4 Skenario Use Case
ID : SC-01
Nama Use Case : Mengenkripsi surat elektronik
Deskripsi : Aktor “user” dapat mengenkripsi surat elektronik yang
dikirim dengan menggunakan algoritma XXTEA yang
disediakan add-on.
Pre-kondisi : Aktor ”user” telah menulis surat elektronik yang akan
dikirim.
Skenario : Tabel IV-2 Skenario Use Case Mengenkripsi Surat Elektronik
Aksi Aktor Reaksi Sistem
Skenario Normal
1. Memasukkan kata kunci enkripsi surat
elektronik
2. Menekan tombol enkripsi
3. Mengenkripsi surat elektronik dengan kata
kunci masukan aktor “user”
4. Menampilkan surat elektronik yang
terenkripsi.
Skenario Alternatif
1. Menekan tombol enkripsi
2. Kata kunci belum dimasukkan,
menampilkan pesan kesalahan.
IV-6
ID : SC-02
Nama Use Case : Mendekripsi surat elektronik
Deskripsi : Aktor “user” dapat mendekripsi surat elektronik yang
diterima dalam keadaan terenkripsi sehingga dapat
dimengerti dengan mudah.
Pre-kondisi : Aktor ”user” sedang melihat surat elektronik terenkripsi.
Skenario :
Tabel IV-3 Skenario Use Case Mendekripsi Surat Elektronik
Aksi Aktor Reaksi Sistem
Skenario Normal
1. Memasukkan kata kunci dekripsi surat
elektronik
2. Menekan tombol dekripsi
3. Mendekripsi surat elektronik dengan kata
kunci masukan aktor “user”
4. Menampilkan surat elektronik yang
terdekripsi (plaintext).
Skenario Alternatif
1. Menekan tombol dekripsi
2. Kata kunci belum dimasukkan,
menampilkan pesan kesalahan.
IV.4 Analisis Perangkat Lunak
Pada subbab ini, akan dibahas proses analisis perangkat lunak yang merupakan
pemodelan masalah dalam pembangunan perangkat lunak. Proses analisis akan
dilakukan dengan berbasiskan use case yang telah dijelaskan pada subbab
sebelumnya. Subbab ini akan berisi realisasi use case analisis yang terdiri dari
diagram kelas dan sequence diagram analisis.
IV-7
IV.4.1 Realisasi Use Case Tahap Analisis
Realisasi use case tahap analisis berisi kelas-kelas dan sequence diagram pada tahap
analisis. Pembangunan kelas analisis dimulai dari pemahaman akan skenario use case
pada subbab IV.3.4 sehingga dapat ditentukan kelas apa saja yang dibutuhkan untuk
masing-masing use case, sedangkan pembangunan sequence diagram juga akan
berbasiskan skenario use case.
IV.4.1.1 Use Case Mengenkripsi Surat Elektronik
Aktor “user” dapat mengenkripsi surat elektronik yang dikirim dengan menggunakan
algoritma XXTEA yang disediakan add-on. Bagian ini diisi dengan sequence diagram
dan diagram kelas analisis untuk use case Mengenkripsi Surat Elektronik.
ID: CL-A-01
Gambar IV-3 Class Diagram Analisis Mengenkripsi Surat Elektronik
Terdapat 2 kelas analisis pada use case Mengenkripsi Surat Elektronik, yaitu:
1. enkripsi form : merupakan form pengiriman surat elektronik yang sudah
ditambahkan dengan sejumlah komponen dari add-on.
2. proses control : merupakan kelas pengatur kegiatan add-on yang bertugas
menerima pesan yang akan dikirim, melakukan enkripsi dan menampilkannya
kembali pada enkripsi form.
IV-8
ID: SQ-A-01
Gambar IV-4 Sequence Diagram Analisis Mengenkripsi Surat Elektronik
Gambar IV-4 menampilkan skema pengiriman pesan yang diinisialisasi oleh user,
kemudian user memasukkan kata kunci, proses control mengenkripsi pesan hingga
kemudian ditampilkan kembali pada enkripsi form. Sequence diagram tahap analisis
di atas dibangun berdasarkan Tabel IV-2 Skenario Use Case Mengenkripsi Surat
Elektronik.
IV.4.1.2 Use Case Mendekripsi Surat Elektronik
Aktor “user” dapat mendekripsi surat elektronik yang diterima dalam keadaan
terenkripsi sehingga dapat dimengerti dengan mudah. Bagian ini diisi dengan
sequence diagram dan diagram kelas analisis untuk use case Mendekripsi Surat
Elektronik.
ID: CL-A-02
Gambar IV-5 Class Diagram Analisis Mendekripsi Surat Elektronik
IV-9
Terdapat 2 kelas analisis pada use case Mendekripsi Surat Elektronik, yaitu:
1. dekripsi form : merupakan komponen dekripsi add-on yang ditambahkan
pada window utama dari Mozilla Thunderbird.
2. proses control : merupakan kelas yang mengatur jalannya proses dekripsi yang
terdiri dari pengambilan pesan terenkripsi pada surat elektronik, proses
dekripsi pesan, dan penampilan pesan yang sudah menjadi plaintext.
ID: SQ-A-02
user
:dekripsi form :proses control
1: memasukkan kata kunci
2: menekan tombol dekripsi
3: mengambil kata kunci
5: mendekripsi surat elektronik
6: menampilkan surat elektronik terdekripsi (plaintext)
4: mengambil surat elektronik
Gambar IV-6 Sequence Diagram Analisis Mendekripsi Surat Elektronik
Gambar IV-6 menampilkan skema dekripsi pesan yang diinisialisasi oleh user,
kemudian user memasukkan kata kunci, proses control mendekripsi pesan hingga
kemudian ditampilkan kembali pada enkripsi form. Komponen dekripsi add-on
diletakkan pada window utama Mozilla Thunderbird. Sequence diagram tahap analisis
di atas dibangun berdasarkan Tabel IV-3 Skenario Use Case Mendekripsi Surat
Elektronik.
IV.4.2 Diagram Kelas Analisis Keseluruhan
Bagian ini diisi dengan diagram kelas analisis keseluruhan yang dibangun dari kelas
analisis yang didapat pada subbab sebelumnya. Dengan adanya diagram kelas analisis
IV-10
ini, dapat dilihat keterkaitan masing-masing kelas dan hubungan antara masing-
masing use case.
Gambar IV-7 Diagram Kelas Analisis Keseluruhan
Gambar IV-7 Diagram Kelas Analisis Keseluruhan dibangun berdasarkan kelas-kelas
analisis yang telah didapatkan pada tahap-tahap sebelumnya. Pada add-on, terdapat 3
kelas analisis, yaitu:
1. enkripsi form : kelas antarmuka yang bertugas menampilkan komponen
enkripsi dan pengecekan kekuatan kata kunci yang akan dibangun pada
window pengiriman surat elektronik Mozilla Thunderbird.
2. dekripsi form : kelas antarmuka yang bertugas menampilkan komponen
dekripsi add-on yang akan dibangun pada window utama Mozilla
Thunderbird.
3. proses control : kelas yang bertugas mengatur kegiatan add-on yang meliputi
enkripsi, dekripsi, dan pengecekan kekuatan kata kunci.
IV-11
IV.5 Perancangan Perangkat Lunak
Pada subbab ini, akan dibahas perancangan perangkat lunak yang merupakan
pemodelan solusi dari masalah yang dijelaskan pada subbab sebelumnya.
Perancangan perangkat lunak akan dibuat dengan menggunakan data yang didapat
pada tahap analisis. Perancangan perangkat lunak meliputi realisasi use case tahap
perancangan, diagram kelas keseluruhan, perancangan antarmuka, dan perancangan
modul.
IV.5.1 Realisasi Use Case Tahap Perancangan
Realisasi use case tahap perancangan berisi kelas-kelas dan sequence diagram yang
lebih detil. Kelas-kelas pada tahap ini sudah berisi fungsi-fungsi yang
menggambarkan aksi-aksi yang dapat dilakukan masing-masing kelas.
IV.5.1.1 Use Case Mengenkripsi Surat Elektronik
Bagian ini akan diisi dengan kelas dan sequence diagram tahap perancangan dari use
case mengenkripsi surat elektronik.
ID: CL-D-01
:compose_window
+encryptEmail()+getEmail()+getKeyword()+viewEncryptedEmail()
-email : String-keyword : String
:proses_control
1..1 1..1
Gambar IV-8 Diagram Kelas Perancangan Mengenkripsi Surat Elektronik
Terdapat 2 (dua) kelas perancangan pada use case ini, yaitu:
1. compose_window: tidak memiliki fungsi tambahan dari program.
2. proses_control: fungsi utama pada kelas ini adalah encryptEmail() yang akan
memanggilkan fungsi-fungsi lainnya dalam menjalankan tugasnya, yaitu
mengenkripsi surat elektronik.
IV-12
ID: SQ-D-01
user
:compose_window :proses_control
1: inputKeyword()
2: startEncryption()
3: getKeyword()
5: encryptEmail()
6: viewEncryptedEmail()
1. User telah selesai menulis surat elektronik dan memasukkan kata kunci
2. User menekan tombol untuk memulai enkripsi
3. proses_control mengambil kata kunci masukan user
4. proses_control mengambil surat elektronik
5. proses_control memulai proses enkripsi surat elektronik
6. proses_control menampilkan surat elektronik terenkripsi di enkripsi_form
4: getEmail()
Gambar IV-9 Sequence Diagram Perancangan Mengenkripsi Surat Elektronik
Sama seperti penjelasan pada subbab IV.4.1.1 Use Case Mengenkripsi Surat
Elektronik, tugas utama use case ini adalah mengenkripsi pesan dan menampilkannya
kepada user. Sequence diagram tahap perancangan ini pada Gambar IV-9
memperjelas sequence diagram analisis sebelumnya dengan memasukkan fungsi-
fungsi yang telah dijabarkan pada kelas perancangan di atas.
IV.5.1.2 Use Case Mendekripsi Surat Elektronik
Bagian ini akan diisi dengan kelas dan sequence diagram tahap perancangan dari use
case mendekripsi surat elektronik.
ID: CL-D-02
Gambar IV-10 Diagram Kelas Perancangan Mendekripsi Surat Elektronik
IV-13
Terdapat 2 (dua) kelas perancangan pada tahap ini, yaitu:
1. main_window: tidak memiliki fungsi tambahan dari program.
2. proses_control: mirip dengan use case mengenkripsi surat elektronik, fungsi
utama dari kelas ini adalah decryptEmail() yang bertugas mendekripsi surat
dengan menggunakan fungsi-fungsi lainnya.
ID: SQ-D-02
Gambar IV-11 Sequence Diagram Perancangan Mendekripsi Surat Elektronik
Proses dekripsi dapat dilakukan pada main window dari Mozilla Thunderbird.
Program akan mendekripsi surat yang sedang dibaca oleh user setelah kata kunci
dimasukkan. Sequence diagram perancangan pada Gambar IV-11 menjelaskan lebih
detil dibandingkan dengan sequence diagram analisis use case ini dengan
memasukkan fungsi-fungsi dari kelas perancangan di atas.
IV.5.2 Diagram Kelas Keseluruhan
Mirip dengan diagram kelas keseluruhan pada tahap analisis, terdapat beberapa
perbedaan nama kelas pada diagram kelas keseluruhan pada tahap perancangan.
Diagram kelas keseluruhan dibangun dengan menggabungkan kelas-kelas
perancangan pada subbab sebelumnya.
IV-14
Gambar IV-12 Diagram Kelas Perancangan Keseluruhan
Penjelasan diagram kelas pada Gambar IV-12 sebagai berikut:
1. compose_window: merupakan kelas perancangan dari kelas analisis “enkripsi
form” dan merupakan antarmuka dari proses enkripsi.
2. main_window: merupakan kelas perancangan dari kelas analisis “dekripsi
form” dan antarmuka dari proses dekripsi.
3. proses_control: merupakan kelas controller yang menjalankan fungsi enkripsi
dan dekripsi program.
IV.5.3 Perancangan Antarmuka
Antarmuka yang akan dirancang akan disesuaikan dengan kebutuhan non-fungsional
yang didefinisikan pada IV.2.2 Kebutuhan Non-fungsional, dimana perangkat lunak
yang dibangun nyaman digunakan oleh user, maka tampilan dari add-on yang akan
dibangun diusahakan tidak banyak mengubah tampilan dari Mozilla Thunderbird.
Terdapat 2 (dua) antarmuka Mozilla Thunderbird yang akan berhubungan dengan
pembangunan add-on ini adalah compose window dan main window pada Mozilla
Thunderbird. Gambar IV-13 Screenshot Main Window Mozilla Thunderbird
menampilkan tampilan jendela utama dari Mozilla Thunderbird.
IV-15
Gambar IV-13 Screenshot Main Window Mozilla Thunderbird
Gambar IV-14 Screenshot Compose Window Mozilla Thunderbird menampilkan
jendela ketika user ingin mengirimkan surat elektronik.
Gambar IV-14 Screenshot Compose Window Mozilla Thunderbird
Akan terdapat tambahan sejumlah komponen add-on yang ditampilkan pada main
window dan compose window dari Mozilla Thunderbird, sehingga sketsa dari
tampilan main window dan compose window akan menjadi seperti yang ditunjukkan
IV-16
pada Gambar IV-15 Sketsa Main Window Mozilla Thunderbird dan Gambar IV-16
Sketsa Compose Window Mozilla Thunderbird.
Gambar IV-15 Sketsa Main Window Mozilla Thunderbird
Pada bagian toolbar, komponen antarmuka dari add-on akan diletakkan, seperti
tombol “Dekripsi”.
Gambar IV-16 Sketsa Compose Window Mozilla Thunderbird
Pada bagian toolbar, komponen add-on, yaitu tombol “Enkripsi” akan diletakkan.
Pada bagian interface add-on akan diletakkan antarmuka untuk memasukkan kata
kunci dan skor kata kunci.
IV-17
IV.5.4 Perancangan Modul
Dalam pembangunan perangkat lunak untuk tugas akhir ini, terdapat sejumlah modul
yang merepresentasikan fungsi-fungsi dalam menjalankan perangkat lunak. Modul-
modul tersebut terdiri dari modul utama dan modul tampilan dengan penjelasan
sebagai berikut:
1. Modul utama:
Modul utama berfungsi menjalankan proses enkripsi, dekripsi, pengaturan
tampilan, dan pengecekan keabsahan surat elektronik.
2. Modul tampilan:
Modul tampilan berisi fungsi-fungsi dalam pembangunan antarmuka add-on,
dimana proses penampilannya diatur oleh modul utama.