• Tidak ada hasil yang ditemukan

Departemen Ilmu Komputer

HASIL DAN PEMBAHASAN Perangkat lunak yang akan dikembangkan

1.1 Watch Tower

Perencanaan dan Analisis 1.1.1

Tujuan utama dari Watch Tower adalah mencatat data tentang kejadian pemadaman listrik dan kapan listrik kembali hidup. Watch Tower akan mendapatkan data ada atau tidak adanya arus listrik dari sistem luar (atau device atau perangkat keras lain) yang dapat disebut dengan power checker device. Power checker device terhubung ke komputer melalui serial port. Watch Tower akan memantau serial port

Sistem luar ini akan mengirimkan sinyal ke serial port. Sinyal 0 untuk menandakan bahwa tidak ada arus listrik (listrik padam) dan sinyal 1 untuk menandakan bahwa ada arus listrik (listrik hidup).

Data yang diterima akan ditampilkan pada window utama dari Watch Tower. Untuk setiap data yang diterima akan dibuatkan log-nya pada database. Log ini berupa waktu kejadian kapan data dari serial port tersebut diterima. Selain itu, Watch Tower juga akan mengirimkan pesan pemberitahuan kepada administrator.

Pada Watch Tower juga dapat dilakukan

1. Power checkerdevice terhubung langsung pada power outlet. Jika terjadi pemadaman listrik maka

device tersebut akan mengetahuinya

2. Device tersebut memberitahukan komputer bahwa terjadi pemadaman listrik (melalui serial port) 3. Subsistem Watch Tower akan menerima pemberitahuan dan akan mencatatnya pada database

4. Pemberitahuan tercatat pada database sebagai log

5. Watch Tower juga mengirimkan pesan singkat pemberitahuan 6. Pesan singkat diterima oleh administrator

dipantau dan pengaturan untuk koneksi ke database.

Watch Tower dibuat dalam bentuk aplikasi desktop. Watch Tower akan ikut menyala selama komputer tempat Watch Tower dipasang juga menyala. ConnectorMySql Query CommunicationManager Port Power

Gambar 6 Domain model awal untuk Watch Tower.

Hal pertama yang dilakukan dalam membuat Watch Tower adalah membuat domain model awal. Domain model dibuat untuk menyamakan persepsi mengenai requirements yang ada. Domain model awal untuk Watch Tower ditunjukkan oleh Gambar 6.

Gambar 7 Use cases untuk Watch Tower. Berdasarkan domain model awal yang telah ada maka dibuatlah use cases yang ditulis dalam konteks domain model tersebut. Gambar 7 menjelaskan deskripsi Watch Tower yang telah dituangkan dalam bentuk use cases.

Berdasarkan use cases pada Gambar 7, maka dibuatlah rencana iterasi atau release plan untuk Watch Tower seperti yang dijelaskan pada Tabel 1.

Tabel 1 Release plan untuk Watch Tower Release Kode Use Cases

1 WT-01 Menerima dan menampilkan data yang diterima serial port WT-02 Melihat current log WT-03 Menerima pesan

pemberitahuan 2 WT-04 Pengaturan serial port

WT-05 Pengaturan database

Desain 1.1.2

1.1.2.1 Lingkungan Pengembangan

Watch Tower dikembangkan pada perangkat keras dengan spesifikasi sebagai berikut: 1. prosesor AMD Athlon™ 64 3000+ 1.80

GHz

2. RAM dengan kapasitas 2 GB

3. monitor dengan resolusi 1280 × 960 pixels 4. media penyimpanan sebesar 330 GB.

Spesifikasi perangkat lunak yang digunakan selama pengembangan Watch Tower adalah: 1. sistem operasi Microsoft® Windows 7

Ultimate Service Pack 1 2. .NET Framework 4

3. IDE Microsoft® Visual Studio 2010 Service Pack 1.

4. database MySQL 5.1.33

5. MySQL Connector 6.3.6 untuk .NET. 1.1.2.2 Desain Database

Log yang dihasilkan oleh Watch Tower akan disimpan dalam database MySQL. Database ini hanya memiliki satu tabel utama dengan nama power_log2. Desainnya ditunjukkan oleh Tabel 2.

Tabel 2 Desain database Field Tipe Atribut

id integer primary key, unsigned, auto_increment down datetime -

Tabel-tabel lain yang terdapat pada database ini adalah tabel-tabel yang dibuat sendiri oleh Gammu agar dapat berjalan dengan baik.

1.1.2.3 Use Case: Menerima dan Menampilkan Data yang Diterima

Serial Port serta Menerima Pesan Pemberitahuan

Use case dengan kode WT-01 dan WT-03 ini dibahas secara bersamaan. Penyebabnya adalah terjadinya penerimaan pesan pemberitahuan akan dipicu oleh kejadian penerimaan data port. Untuk setiap data yang diterima pada serial port, maka akan terdapat pula pesan singkat yang diterima. Deskripsi untuk kedua use case ini dapat dilihat pada Tabel 3.

Tabel 3 Use case menerima dan menampilkan data port serta menerima pesan pemberitahuan

Penjelasan

Aktor Power checker device dan administrator

Tujuan Menerima data yang dikirimkan oleh power checker device melalui serial port. Untuk setiap data yang diterima ada pesan pemberitahuan yang dikirim Watch Tower dan diterima oleh administrator Pre-

condition

Watch Tower telah dijalankan (bisa berupa dalam keadaan minimize di system tray atau window utama telah terbuka) Deskripsi Ketika terjadi pemadaman listrik,

maka Watch Tower akan

menerima sinyal 0 dari serial port dari power checker device dan kemudian administrator menerima pesan pemberitahuan bahwa telah terjadi pemadaman listrik. Sebaliknya ketika listrik kembali menyala maka sinyal yang diterima adalah sinyal 1 dan pesan yg dikirimkan adalah listrik kembali menyala

Post- condition

Data yang diterima Watch Tower dari power checker device ditampilkan pada window Watch Tower. Selain itu data yang diterima juga tersimpan waktu kejadiannya pada database. Administrator menerima pesan pemberitahuan

Diagram robustness ditunjukkan oleh Gambar 8.

Gambar 8 Diagram robustness untuk menerima data port.

Diagram sequence untuk use case menerima data port dapat dilihat pada Lampiran 1. 1.1.2.4 Use Case: Melihat CurrentLog

Deskripsi untuk use case melihat current log dapat diperhatikan pada Tabel 4.

Tabel 4 Use case melihat current log Penjelasan

Aktor Administrator

Tujuan Menampilkan log tentang pemadaman listrik sejak saat Watch Tower dijalankan Pre-

condition

Watch Tower telah dibuka dan berada dalam keadaan minimize di system tray

Deskripsi Administrator melakukan double click pada icon Watch Tower yang terdapat pada system tray. Cara lain adalah dengan melakukan klik kanan pada icon Watch Tower, kemudian memilih menu Restore

Diagram robustness untuk melihat current log dapat dilihat pada Gambar 9.

Administrator

dobel klik icon

Window Watch Tower

icon Watch Tower padasystem tray

klik kananicon

restore

Gambar 9 Diagram robustness untuk melihat current log.

Diagram sequence untuk use case ini ditunjukkan oleh Gambar 10.

Gambar 10 Diagram sequence untuk melihat current log.

Implementasi 1.1.3

1.1.3.1 Menerima Data pada SerialPort

Kelas CommunicationManager mengatur koneksi ke serial port. Kelas ini menggunakan objek dari kelas SerialPort yang terdapat dalam namespace System.IO.Ports pada .NET Framework 4.0. Kelas SerialPort dari .NET ini menyediakan fungsi-fungsi dasar untuk komunikasi dengan serial port.

Fungsi dari kelas SerialPort yang dipakai di antaranya:

1. Open() dan Close(). Kedua fungsi tersebut digunakan untuk membuka dan menutup koneksi serial port

2. DataReceived(). Fungsi ini merepresentasikan suatu fungsi yang akan menangani data yang diterima oleh objek SerialPort

3. ReadExisting(). Fungsi ini membaca semua data yang tersedia pada objek SerialPort. Objek dari SerialPort akan digunakan dalam kelas CommunicationManager. Konfigurasi atau parameter serial port yang ingin dibuka diimplementasikan pada constructor CommunicationManager. Pada constructor juga ditentukan fungsi mana yang akan menangani data yang diterima oleh serial port. Semua data yang diterima akan ditangani oleh salah satu fungsi dari kelas CommunicationManager yang disebut dengan comPort_DataReceived(). Data yang diterima oleh fungsi ini selanjutnya akan ditampilkan pada window utama Watch Tower oleh fungsi DisplayData(). Window utama Watch Tower ditunjukkan oleh Gambar 11.

Fungsi utama lain dari kelas CommunicationManager ini adalah melakukan buka dan tutup dari suatu serial port. Hal ini ditangani oleh fungsi openPort().

Kelas lain yang juga mengatur komunikasi dengan serial port adalah kelas Port. Port merupakan kelas turunan dari kelas CommunicationManager. Dibuatnya kelas CommunicationManager adalah untuk menangani fungsi-fungsi dasar yang berhubungan dengan komunikasi serial. Kelas Port juga bertugas untuk berkomunikasi dengan serial port dengan menambahkan fungsi-fungsi tambahan lain yang diperlukan oleh Watch Tower. Oleh karena itu, yang dilakukan oleh Watch Tower adalah menginstantiasi kelas Port, bukan kelas CommunicationManager.

Kelas Query berisi perintah yang berhubungan dengan database. Misalnya adalah membuat log. Selain itu, pesan pemberitahuan yang diterima oleh administrator dipicu juga oleh kelas ini. Kelas Query membuat record baru pada tabel outbox dan hal ini memicu Gammu untuk mengirimkan pesan singkat.

Gambar 11 Window utama Watch Tower. 1.1.3.2 Melihat CurrentLog

Berdasarkan diagram robustness pada Gambar 9, untuk melihat current log dapat dilakukan dengan dua cara. Cara utama adalah dengan melakukan dobel klik pada icon Watch Tower yang terdapat pada system tray. Cara alternatif adalah dengan melakukan klik kanan pada icon Watch Tower (yang berada pada system tray) dan kemudian memilih menu Restore.

Gambar 12 Langkah untuk melihat current log. Data atau log yang ingin dilihat ditampilkan dalam rich text box yang terdapat pada bagian bawah window utama Watch Tower (lihat Gambar 11).

Dokumen terkait