3.2.5. Class Diagram
Gambar 3.6. Class Diagram aplikasi
Pada class diagram di atas memodelkan class-class apa saja yang terlibat
dalam sistem serta bagaimana interaksi antar class-class. Pada class-class tersebut juga definisikan operasi-operasi apa saja yang bisa dilakukan. Pada class
TulisPesan memiliki method untuk memasukkan no tujuan penerima dengan cara membaca dari phone book, selain itu terdapat method kirim pesan yang berinteraksi
dengan class Encoder yang memiliki method untuk mengompresi pesan berdasarkan atribut pada class DataBiner dan mempunyai method
inforasiokompresi. Method-method pada class Encoder dan Decoder dijalankan pada thread tersendiri yaitu pada proses background agar aplikasi tidak terhenti dan
tetap responsif ketika user melakukan operasi yang lain.
3.2.6. Sequence Diagram
Gambar 3.7. Sequence Diagram Latar
Diagram di atas menunjukkan urutan proses latar yang dikerjakan. Sequence diagram proses dimulai ketika AMS mendengarkan SMS pada port
tertentu, kemudian AMS akan mengaktifkan Midlet jika terdapat sms masuk dan ditangani oleh Class FormMain, jika SMS dibuka akan mengaktifkan method
dekompres pada Class Decoder. Proses ini dilakukan pada latar yang dibangun dengan konsep thread sehingga ketika ia sedang berjalan tetap tidak akan
mengganggu responsivitas antarmuka pemakai. Pesan sms yang masuk bisa jadi datang secara bersama-sama dan dalam jumlah yang cukup banyak. Untuk itu
penanganannya membutuhkan kembali thread, sehingga pemrosesan pesan masuk bisa dilakukan secara simultan tanpa harus menunggu proses yang awal selesai
dikerjakan terlebih dahulu oleh aplikasi.
3.2.7. Perancangan Proses Latar
Untuk menghindari terjadinya deadlock pada sistem, akan dibuat rancangan proses yang berjalan pada proses latar sehingga interaksi pengguna terhadap proses
muka tetap responsif. Masing masing proses latar ini dikerjakan pada object yang berbeda sehingga satu sama lain tidak berhubungan dalam pertukaran data.
Deskripsi dari proses-proses latar tersebut adalah sebagai berikut: 1.
Proses Kompres, yaitu menangkap pesan bertipe string, mengkompres pesan
berdasarkan tabel acuan dan menambahkan 4 bit versi pada awal string, mengubah deretan biner menjadi bertipe byte dan mengembalikan hasilnya.
2. Proses Dekompres, yaitu menangkap pesan bertipe byte, mengubah ke pesan
menjadi deretan biner, mengambil 4 bit pertama untuk menentukan tabel acuan yang akan digunakan dalam proses dekompres, hasil berupa String.
3. Proses menerima SMS, yaitu mendengarkan port-sms tertentu, mengambil
tanggal pesan dikirim, melemparkan isi pesan masuk pada proses dekompres, menyimpan pesan ke inbox.
4. Proses mengirim SMS, yaitu validasi no tujuan penerima, melemparkan ke
proses dekompres, mengirimkan hasil pesan dan menyimpannya ke outbox. 5.
Proses mengecek jumlah karakter yang diketikkan, yaitu menghitung
jumlah karakter yang sedang diketikkan, jika karakter yang diketikkan melebihi batas maksimal byte pengiriman akan ditampilkan alert kepada pengguna untuk
mengurangi beberapa karakter. 6.
Proses menghitung rasio hasil kompresi, ketika pengguna selesai mengetik
karakter, proses ini running untuk menghitung rasio kompresi dan hasilnya ditampilkan ke pengguna.
3.2.8. Perancangan Antarmuka