Mozilla Thunderbird dan Add On pada Mozilla Thunderbird Unified Modelling Language

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