Pendefinisian Data DTMF Proses Pemilihan Data

register status digunakan untuk dua sumber data. Gambaran mengenai hubungan antara handphone, port paralel dan DTMF dekoder dijelaskan pada Gambar 3.7. 1 = port paralel 2 = DTMF decoder 3 = Handphone penerima panggilan = lampu Gambar 3.7 Hubungan antara DTMF, DB-25 dan Handphone Dari gambar diatas, dapat dilihat bahwa perangkat yang terkoneksi, dalam hal ini lampu tidak hanya menjadi perangkat yang diberikan data keluaran dari port paralel, namun juga sebagai sumber data bagi port paralel. Dengan menggunakan rancangan rangkaian tersebut, hanya memungkinkan untuk menghubungkan dua buah perangkat saja untuk dikendalikan dikontrol. Kemudian dalam pendefinisian data masukan, pendefinisian terbagi atas dua proses, yaitu pendefinisian mana data yang berasal dari DTMF dekoder, dan proses pendefinisian nilai data yang diberikan oleh lampu.

3.9.1 Pendefinisian Data DTMF

Untuk dapat memahami bagaimana proses ini terjadi, terlebih dahulu perlu diingat kembali mengenai tabel register status yang digambarkan pada Tabel 3.4. Tabel 3.4 Port Status alamat 379 ~S7 S6 S5 S4 S3 - - - ~Busy Ack PE Select Error - - - Ketika dalam rangkaian terbuka, atau tanpa pengaruh dari perangkat luar, register status bernilai 127, yang dalam biner adalah 01111111. Untuk mecari bagaimana cara memperoleh data hanya data DTMF saja, dicari satu operator dan operand yang dapat menghasilkan kemungkinan hanya S3, S4 dan S5 yang berpeluang bernilai logika 1 satu. Maka digunakanlah operasi AND dan operand 56. Dengan menggunakan operasi AND dengan operand 56, maka akan diperoleh data yang diinginkan, sedangkan data lain akan bernilai 0 nol, dimana untuk saluran status S0 dan S1 masih tercadang, S2 tidak dikeluarkan ke pin DB25. Ilustrasi proses yang terjadi, digambarkan dalam Tabel 3.5. Tabel 3.5 Rangkaian Proses Operasi Logika AND pada Register Status ~S7 S6 S5 S4 S3 S2 S1 S0 0 1 1 1 1 1 1 1 Keadaan default register status 0 1 1 0 1 1 1 1 Diberikan input dari DTMF decoder 1 1 1 Oprasi AND dengan operand 56 0 0 1 0 1 0 0 0 Hasil operasi AND Tabel 3.5 memperlihatkan gambaran yang jelas mengenai bagaimana pendefinisian nilai DTMF dekoder pada register status dapat dilakukan. Tabel 3.5 menggambarkan contoh pendefinisian data DTMF dekoder dengan nilai data 5 lima , 0101 dalam biner dari data keseluruhan pada register status. Melalui operasi AND akan dihasilkan nilai 1 satu hanya jika keduanya benilai 1satu. Sehingga hanya ada kemungkinan terbesar 3 tiga bit data yang bernilai logika 1 satu. Berikut algoritma yang digunakan dalam pendefinisian nilai DTMF dekoder dalam program: temp := Hwinterface1.InPort378; temp1 := Hwinterface1.InPort379; nilai := temp1 and 56; Dari algoritma diatas terlihat bahwa proses yang pertama kali dilakukan adalah membaca data yang ada pada register status dengan alamat 379, kemudian menyimpannya pada satu variabel, yaitu variabel temp. Kemudian nilai dari variabel temp di-AND kan dengan operand, yakni 56, dan kemudian disimpan dalam variabel nilai. Untuk melakukan operasi logika tersebut, nilai yang dalam desimal tidak perlu dirubah ke dalam biner terlebih dahulu karena bahasa pemrograman sudah memiliki kemampuan untuk melakukan operasi logika dengan nilai desimal. Gambaran alur proses pendefinisian nilai DTMF dijelaskan pada Gambar 3.8. Mengambil data dari register status alamat 379 Data DTMF AND 56 = nilai Nilai = nilai div 8 Pemrosesan delphi Gambar 3.8 Alur proses pendefinisian nilai DTMF

3.9.2 Pendefinisian Nilai Status Lampu