Untuk mengembalikan data ke deretan bit semula diperlukan infomasi mengenai panjang bit sebelum di-encoding. Dengan informasi ini deretan bit hasil
konversi karakter ke bentuk biner dikelompokkan dengan panjang masing-masing sama dengan panjang bit data sebelum di-encode. Sebelum proses konversi dilakukan
akan dicek terlebih dahulu padding yang disimbolkan dengan karakter ’=’. Bila terdapat padding maka karakter terakhir di-decode sepanjang selisih 6 dengan panjang
bitpadding . Himpunan karakter yang digunakan pada proses decoding sama dengan
himpunan karakter yang digunkan pada proses encoding. Untuk data pada contoh akhir input ditemukan simbol ‘=’ sebanyak 2 karakter, hal ini menunjukkan bahwa
terdapat padding sepanjang 4 bit. Dengan demikian karakter terakhir hanya dikonversi sepanjang 2 bit. Bila panjang bit tiap karakter sebelum di-encode adalah 8 bit, maka
diperoleh output sebagai berikut.
Gambar 2.5Proses Base64 Decoding
2.6 Mozilla Thunderbird dan Add On pada Mozilla Thunderbird
Mozilla Thunderbird merupakan salah satu produk Mozilla Foundation, yang pertama kali dirilis pada tanggal 7 Desember 2004. Perangkat ini merupakan aplikasi mail
client atau MUA - Mail User Agent yang bersifat free, open source dan multi-
platform .Perangkat ini dikembangkan dengan menggunakan bahasa pemrograman
C++, XUL, Javascript dan CSS.
Deretan Input r k q
l j
D== Konversi 6 bit 101011 100100 101010 100101 100011 11
Deretan output 1 0 1 0 1 1 1 0 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 1 0 0 0 1 1 1
Universitas Sumatera Utara
Gambar 2.6 Program Email Client Mozilla Thunderbird
Seperti perangkat lunak produk Mozilla Foundation lainnya perangkat ini juga dapat ditingkatkan kemampuannya melalui perangkat tambahan extension atau
dikenal juga dengan istilah add on. Add on dapat dirancang dan dikembangkan siapa saja yang memiliki kemampuan menggunakan bahasa pemrograman umum seperti
javascript dan untuk mengmbangkan user interface dapat digunakan XUL XML-
User Interface Language dan CSS.
2.7 Unified Modelling Language
Unified Modelling Language merupakan suatu kumpulan konvensi pemodelan yang
digunakan untuk menentukan atau menggambarkan sebuah sistem yang terkait dengan objek. Metode ini dikembangkan oleh Grady Booch dan James Rumbaugh pada tahun
1994 Ivar Jacobson bergabung tahun 1995 sebagai standar tunggal untuk mengembangkan sistem berorientasi objek. Sebelumnya telah dikembangkan metode-
metode terdahulu untuk pemodelan data dan pemodelan proses. Pemodelan- pemodelan yang paling terkenal pada akhir tahun 80-an dan awal tahun 90-an
diantaranya adalah, Metode Booch oleh Grady Booch, Object Modelling Technique OMT dari James Rumbaugh, dan Object Oriented Software Engineering OOSE
dari Ivar Jacobson [17].
Universitas Sumatera Utara
UML menawarkan diagram yang dikelompokkan menjadi lima persfektif berbeda untuk memodelkan suatu sistem yaitu, usecase diagram, diagram struktur
satis class diagram dan object diagram, diagram interaksi sequence diagram dan collaboration diagram
, diagram state statechart diagram dan activity diagram dan diagram implementasi component diagram dan deployment diagram [17].
Beberapa diagram yang nantinya digunakan untuk menganalisis dan merancang sistem pada penelitian ini adalah use case diagram, activity diagram,
sequence diagram dan class diagram.
2.7.1 Use Case Diagram
Use case diagram secara grafis menggambarkan interaksi antara sistem dan pengguna
pengguna juga dapat berupa sistem eksternal yang berinteraksi dengan sistem yang sedang dianalisis. Dengan kata lain, use case diagramsecara grafis mendeskripsikan
siapa yang menggunakan sistem dan dengan cara apa pengguna mengharapkan interaksi dengan sistem itu. Use case naratif digunakan untuk menggambarkan secara
tekstual urutan langkah-langkah dari setiap interaksi. Sebuah use case diagram terdiri dari actor dan use case [17].
Actor adalah segala sesuatu yang perlu berinteraksi dengan sistem untuk
pertukaran informasi. Use case adalah urutan langkah-langkah yang secara tindakan saling terkait skenario, baik terotomatisasi maupun secara manual, untuk melengkapi
satu fungsi tertentu. Use case menggambarkan fungsi-fungsi sistem dari sudut pandang pengguna eksternal dan dalam sebuah cara dan terminologi yang mereka
pahami. Contoh diagram use casedapat dilihat pada gambar berikut.
Universitas Sumatera Utara
Gambar 2.7Contoh Sebuah Use Case Diagram [3]
2.7.2 Activity Diagram
Activity diagram adalah sebuah diagram yang dapat digunakan untuk menggambarkan
secara grafis aliran proses bisnis, langkah-langkah sebuah use case atau logika behavior
metode objek. Diagram ini juga dapat digunakan untuk memodelkan action yang akan dilakukan saat sebuah operasi dieksekusi dan memodelkan hasil dari action
tersebut. Diagram ini serupa dengan flowchart dimana secara grafis diagram ini menggambarkan rangkaian aliran aktivitas baik proses bisnis atau use case. Diagram
ini berbeda dengan flowchart dimana diagram ini menyediakan sebuah mekanisme untuk menggambarkan kegiatan yang tampak secara parallel [17].
Universitas Sumatera Utara
Gambar 2.8Contoh Sebuah Activity Diagram [3]
2.7.3 Class Diagram
Class diagram merupakan diagram grafis mengenai struktur objek statis dari sebuah
sistem, menunjukkan kelas-kelas objek yang menyusun sebuah sistem dan juga hubungan antara kelas objek tersebut. Pada sebuah class diagram hubungan antara
Universitas Sumatera Utara
setiap objek digambarkan dengan asosiasi dan multiplicity serta
generalisasispesialisasi. Asosiasi dan multiplicity menunjukkan jumlah interaksi yang mungkin antara dua objek, sedangkan generalisasispesialisasi berkaitan erat dengan
pewarisan pada konsep pemrograman berorientasi objek [17].
Gambar 2.9Contoh Sebuah Class Diagram [3]
2.7.4 Sequence Diagram
Sebuah sequence diagram menggambarkan dengan sangat detail bagaimana sebuah objek berinteraksi satu sama lain sepanjang waktu. Atau dengan kata lain, sequence
Universitas Sumatera Utara
diagram adalah diagram UML yang memodelkan logika sebuah use case dengan cara
menggambarkan interaksi pesan di antara objek-objek dalam rangkaian waktu. Masing-masing objek participant digambarkan dengan simbol objek UML, referensi
pada use case digambarkan dengan lifeline-sebuah garis vertikal. Behaviour atau operasi yang perlu dilakukan oleh masing-masing objek digambarkan dengan kotak
segi empat pada lifelineobjek. Kotak-kotak tersebut menggambarkan kode program. Anak panah antara garis menggambarkan interaksi atau pesan yang telah dikirim
kepada sebuah objek tertentu untuk menginvokasi salah satu dari operasinya untuk memenuhi sebuah permintaan. Respon dari sebuah objek digambarkan dengan garis
panah putus-putus horizontal yang arahnya berlawanan dengan garis panah pesan yang dikirimkan [17].
Gambar 2.10Contoh Sebuah Sequanece Diagram [3]
Universitas Sumatera Utara
2.8 Kompleksitas Algoritma