Class Diagram Sequence Diagram Perancangan Proses Latar

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