Perancangan Perangkat Lunak (Software)

3.3 Perancangan Perangkat Lunak (Software)

Perangkat lunak merupakan program penggerak guna terlaksananya fungsi perangkat keras yang telah dirancang sebelumnya agar bekerja sesuai dengan fungsinya. Dalam merancang perangkat lunak, dua bagian utama yang harus dibuat adalah flowchart (diagram alir) dan layout view (tampilan program). Diagram alir merupakan bagian terpenting, di sini logika program penggerak secara garis besar ditentukan. Program dibuat dengan Microsoft Visual Basic 6.0.

3.3.1 Diagram Alir (Flowchart)

Diagram alir program secara keseluruhan ditampilkan pada Gambar 3.9 di halaman berikut ini. Diagram alir program membentuk sebuah loop tertutup, artinya program tidak akan selesai pada langkah tertentu melainkan selalu kembali ke awal setelah selesai melakukan suatu proses. Program akan dihentikan hanya jika pengguna menekan button “Keluar” pada tampilan program.

Pertamakali dihidupkan, program akan menginisialisasi driver input/output dalam bentuk file ‘io.dll’. File ini didapat secara terpisah dari paket Ms. Visual Basic. Driver ini mengizinkan Visual Basic berkomunikasi dengan devais luar melalui port LPT1. Setelah selesai inisialisasi program segera menampilkan status lampu saat itu. Sebenarnya status lampu itu lebih tepat disebut status D0...D7, sebab data diambil bukan dari nyala lampu melainkan diambil langsung dari bit D0...D7. Jika hendak mengambil status lampu langsung dari nyala lampu, misalnya menggunakan sensor cahaya, akan diperlukan 8 bit masukan. Hal ini tidak dimungkinkan mengingat interface yang digunakan adalah LPT1 yang hanya memiliki 5 bit masukan dan semuanya telah dipergunakan.

M ulai

R es et C 0...C 3 LPT1

T am pilkan s tatus lam pu ke m onitor

Ada sinyal dering? tidak

ya

Aktifkan pengangk at, penjaw ab dan perek am

T ek an passw ord? tidak W ak tu 1 m enit?

Batalk an perekam an dan ak tifkan

R ek am an berhenti dan

dis im pan

T elepon ditutup

pengontrolan

Tekan tom bol bintang?

tidak T ekan tom bol

pagar?

tidak

Tekan tom bol 0?

tidak W aktu 10 detik? tidak

Tekan salah s atu tidak Tekan salah s atu

T elepon ditutup no. lam pu?

tidak Lam pu yang dituju tidak Lam pu yang dituju sedang m ati?

s edang hidup?

ya

ya

H idupkan lam pu y ang M atikan lam pu y ang dituju

dituju

tidak T ek an tom bol 9?

H idupk an s em ua lam pu

M atik an s em ua lam pu

Gambar 3.9. Diagram alir program penggerak.

Program dalam keadaan standby menunggu masuknya sinyal dering. Saat ada panggilan dan sinyal dering dikirim oleh sentral, program akan mengaktifkan pengangkat telepon dan segera memperdengarkan suara penjawab ke penelepon. Sesaat setelah suara penjawab selesai, penelepon dapat segera meninggalkan pesan yang durasinya dibatasi hingga satu menit. Pada saat ini program juga menunggu masukan password agar dapat terhubung ke sistem pengontrolan.

Apabila penelepon tidak memasukkan password pengontrolan, perekaman akan terus berlangsung selama satu menit, walau penelepon telah selesai meninggalkan pesan dan menutup teleponnya sebelum satu menit, atau bahkan tidak meninggalkan pesan sama sekali. Hal ini dibuat karena IC MT8870 yang digunakan sebagai dekoder tidak mempunyai fasilitas untuk mendeteksi penutupan pesawat telepon pengirim. Setelah satu menit, program akan menutup telepon penerima dan menghentikan rekaman serta menyimpan rekaman tersebut dalam file berekstensi WAV.

Penelepon akan terhubung ke sistem pengontrolan jika saat penjawab telepon aktif menekan password yang telah ditentukan, dalam perancangan ini digunakan lima digit password, yaitu 12345. Password ini tidak dapat diganti tanpa mengubah source program. Setelah terhubung ke sistem pengontrolan, penelepon dapat mematikan atau menghidupkan kedelapan lampu yang diinginkan. Untuk menghidupkan lampu tertentu, penelepon harus menekan tanda bintang, diikuti nomor lampu yang dimaksud. Untuk mematikan lampu tertentu, penelepon harus menekan tanda pagar, diikuti nomor lampu yang dimaksud. Sebagai contoh jika ingin menghidupkan lampu nomor 3 maka penelepon harus menekan tombol * lalu tombol 3. Jika kebetulan lampu nomor 3 memang sedang hidup, program akan mengabaikan perintah menghidupkan lampu nomor 3 dan menunggu perintah selanjutnya. Untuk menghidupkan semua lampu, tombol yang harus ditekan penelepon adalah * dan 9, sedangkan untuk mematikan semua lampu, penelepon harus menekan tombol # dan 9.

Setelah melaksanakan satu perintah di atas, program akan terus menunggu perintah mematikan atau menghidupkan lampu yang lain dengan cara yang sama, sampai penelepon menekan tombol 0 yang artinya penelepon mengakhiri Setelah melaksanakan satu perintah di atas, program akan terus menunggu perintah mematikan atau menghidupkan lampu yang lain dengan cara yang sama, sampai penelepon menekan tombol 0 yang artinya penelepon mengakhiri

10 detik sistem pengontrolan akan ditutup secara otomatis.

3.3.2 Perancangan Tampilan (Layout View)

Bagian kedua dari perancangan perangkat lunak adalah perancangan tampilan program. Tampilan ini digunakan untuk memberi beberapa perintah langsung ke komputer sekaligus menunjukkan beberapa status yang terjadi saat itu. Tampilan dibuat agar pengguna mudah berinteraksi dengan program. Gambar

3.10 adalah tampilan program yang telah dibuat. Tampilan dibuat dalam bentuk form tunggal berisi empat frame (bingkai) dengan fungsi yang berbeda.

Gambar 3.10. Tampilan Program

Bingkai pertama adalah “Waktu Angkat”, digunakan untuk memasukkan variabel waktu pengangkatan telepon, default-nya diberikan selama lima detik. Bingkai “Rekaman” menunjuk-kan status rekaman dan tiga buah tombol perintah, Bingkai pertama adalah “Waktu Angkat”, digunakan untuk memasukkan variabel waktu pengangkatan telepon, default-nya diberikan selama lima detik. Bingkai “Rekaman” menunjuk-kan status rekaman dan tiga buah tombol perintah,

Bingkai “Status Lampu” menunjukkan keadaan lampu saat itu, apakah lampu hidup atau mati. Penunjukkan status ini tidak diambil dari kondisi lampu yang sebenarnya, tetapi dari terminal yang mengontrol kedelapan lampu tersebut yaitu port D0...D7 LPT1.

Bingkai “Kontrol Lampu” berisi tombol-tombol perintah menghidupkan atau mematikan lampu melalui form. Kelompok tombol ‘Menghidupkan Lampu’ digunakan untuk menghidupkan lampu, demikian juga kelompok tombol ‘Mematikan Lampu’ digunakan untuk mematikan lampu sesuai dengan nomor yang ditekan. Tombol ‘Menghidupkan Semua Lampu’ digunakan untuk menghi- dupkan semua lampu. Tombol ‘Mematikan Semua Lampu’ digunakan untuk mematikan semua lampu.

Suatu status tambahan yaitu ‘Mode’ pada bagian kiri bawah form menampilkan status yang sedang dikerjakan oleh program, seperti mendeteksi dering, terhubung ke perekam, telepon ditutup, dan lain-lain.

Command ‘About’ menampilkan copyright pembuat program seperti yang diperlihatkan pada Gambar 3.11 berikut ini.

Gambar 3.11. Tampilan form About