Yudhi Andrian1
Email :
yudhi@potensi-utama.ac.id
ABSTRAKSI
Sistem pengendalian merupakan satu contoh penggunaan teknologi komunikasi. Sinyal DTMF (Dual
Tone Multi Frequency) yang terdapat pada telepon dapat digunakan untuk mengendalikan peralatan
listrik, yaitu dengan menggunakan DTMF decoder. Pada penelitian ini telah dirancang sebuah
pengolahan data keluaran dari DTMF decoder untuk mengendalikan peralatan listrik menggunakan
handphone. Saat handphone client telah terhubung ke handphone server, maka komunikasi nada
DTMF dapat dilakukan. Penekanan tombol pada handphone client akan menghasilkan nada DTMF,
nada DTMF ini akan terkirim ke handphone server, selanjutnya akan diteruskan ke rangkaian DTMF
decoder. Nada DTMF yang berisikan frekuensi tertentu tersebut akan diterjemahkan oleh rangkaian
DTMF decoder menjadi data biner 4 bit. Data yang dihasilkan tersebut diteruskan ke komputer melalui
port paralel. Nilai dari port paralel akan diolah oleh program untuk menentukan tindakan selanjutnya,
yaitu menghidupkan atau mematikan lampu tertentu yang terkoneksi ke komputer. Lampu Beban
dihubungkan dengan rangkaian sensor, selanjutnya rangkaian sensor dihubungkan ke port paralel
komputer. Dengan demikian sistem dapat mengetahui status lampu, hidup atau mati. Sistem dapat
mengirimkan status lampu ke handphone client melalui SMS. Dari hasil pengujian, dapat disimpulkan
bahwa IC DTMF decoder MT 8870 dapat menerjemahkan tone pada pada handphone menjadi 4 bit
data biner, data biner yang dihasilkan sesuai dengan tombol handphone yang ditekan kecuali data
pada tombol 0 diterjemahkan menjadi 1010 biner, port paralel tidak dapat mengendalikan lampu
beban secara langsung, untuk itu diperlukan transistor dan relay sebagai perantara antara komputer
dengan lampu beban.
Kata kunci : DTMF Tone, DTMF decoder, sistem kendali, port paralel, komputer, MT 8870, interface.
ABSTRACT
DTMF (Dual Tone Multi Frequency) signal that is contained on the phone, it can be used to control
electrical appliance. In this research, it was designed a data processing output from DTMF decoder to
control electrical appliances by using mobile phones. When the mobile client is connected to the mobile
server, the communication DTMF tone has been done. Pressing a key on the mobile client will generate
DTMF tones, DTMF tones will be sent to the mobile server, then, it would be forwarded to the DTMF
decoder circuit. DTMF tones containing certain frequencies would be decoded by DTMF decoder circuit
into 4-bit binary data. The resulting data is transmitted to the computer through the parallel port. The
value of the parallel port would be processed by the program to determine the next action, which is to
turn on or turn off certain lights that are connected to the computer. The light load is connected to the
sensor circuit, then, the sensor circuit is connected to the parallel port of the computer. Thus, the
system can determine the status of the lamp, on or off. The system can transmit light status via SMS to
the mobile client. From the test results, it can conclude that the DTMF decoder IC MT 8870 can
translate tone on the phone to 4-bit binary data, binary data generated in accordance to the button of
cell phone pressed unless the data on the "0" translates to "1010" binary, parallel port can not directly
control the light load, it is necessary transistor and relay as an interface between computer and load
light.
Keywords : DTMF Tone, DTMF decoder, Control system, parallel port, computer, MT 8870, interface.
1 Dosen Program Studi Teknik Informatika, STMIK Potensi Utama Jl. K.L. Yos Sudarso Km 6,5 No. 3A
Medan, Telp (061) 6640525
PENDAHULUAN
Sistem pengendalian merupakan salah satu contoh penggunaan teknologi komunikasi di
bidang teknologi dan industri. Contoh nyatanya adalah ketika seseorang hendak berpergian jauh
meninggalkan rumah dalam keadaan kosong. Tentu saja untuk menjaga keamanan rumah, orang
tersebut harus terus membiarkan lampu rumah dalam keadaan menyala. Hal tersebut merupakan suatu
pemborosan. Contoh lain adalah ketika seseorang sedang dalam perjalanan, untuk memastikan apakah
orang tersebut benar telah mematikan ataupun menghidupkan perangkat elektronik lain ketika
menginggalkan rumah, itu berarti orang yang bersangkutan harus memutar haluan, kembali ke
rumahnya untuk memastikan. Jika harus kembali ke rumah, pastilah sangat merepotkan dan
menimbulkan kerugian dalam hal biaya terlebih-lebih waktu.
Pengendalian lampu dengan menggunakan photocell saat ini mulai dijadikan alternatif pilihan
untuk mengatasi permasalahan tersebut. Namun photocell ini tidak memungkinkan user untuk
mengontrol lampu, karena photocell diatur oleh cahaya. Sebagai alternatif pengganti photocell, dapat
digunakan cara lain, yaitu pemanfaatan sinyal DTMF (Dual Tone Multi Frequency) yang terdapat pada
telepon. Telepon maupun handphone saat ini jelas lebih memasyarakat penggunaannya dibandingkan
dengan solar cell, handphone yang bayak digunakan saat ini menggunakan sistem yang dikenal
secara umum disebut dengan DTMF. DTMF merupakan sinyal informasi berupa nada pada frekuensi
tertentu yang dikirim oleh handphone ke handphone lain. Tone yang dibangkitkan dapat dikodekan
menggunakan DTMF decoder yang menghasilkan data keluaran 4 bit.
Data keluaran DTMF decoder dapat diolah dan dimanfaatkan sebagai sarana untuk
mengendalikan peralatan listrik. Dengan kata lain, dapat digunakan sebagai solusi alternatif untuk
mengatasi permasalahan seperti yang telah dicontohkan sebelumnya.
RANCANGAN SISTEM
Diagram Blok Sistem
Diagram blok dari sistem yang dirancang adalah seperti yang diperlihatkan pada gambar 1.
menentukan tindakan selanjutnya, yaitu menghidupkan atau mematikan lampu tertentu yang terkoneksi
ke komputer tersebut. Sistem ini menggunakan MT8870 sebagai DTMF dekoder.
Sedangkan untuk proses pengiriman data balasan ke user, maka lampu dihubungkan dengan
rangkaian sensor. Output rangkaian sensor dihubungkan ke input port paralel, sehingga program yang
dirancang akan mengetahui status lampu. Selanjutnya program akan dikoneksikan dengan
OxygenSMS untuk mengirimkan SMS ke handphone client.
Komponen utama dari rangkaian ini adalah IC MT8870. IC ini akan merubah nada DTMF yang
ada menjadi 4 bit data biner. Jika nada yang diterima adalah nada dari penekanan keypad angka 1,
maka output dari rangkaian ini adalah 0001. Jika yang diterima nada 2, maka output dari rangkaian ini
adalah 0010 dan demikian seterusnya.
Output dari rangkaian DTMF dekoder ini dihubungkan ke komputer melalui konektor DB 25,
pada pin 15, 13 dan 12. Pin-pin tersebut merupakan pin input untuk port 379. sehingga komputer dapat
mengenali data yang dikirimkan oleh rangkaian ini untuk kemudian diolah oleh komputer untuk
melaksanakan instruksi selanjutnya.
Rangkaian Driver Lampu
Port paralel tidak dapat mengendalikan lampu beban secara langsung, karena itu diperlukan
rangkaian driver sebagai perantara antara lampu dengan port paralel. Rangkaian driver ini
menggunakan sebuah transistor C945 dan relay, dimana keduanya merupakan saklar elektronik.
Rangkaian driver Lampu ditunjukkan pada gambar 3.
yes
Apakah proram
masih berjalan
no
STOP
3
4
5
6
7
Menghidupkan lampu2
Mematikan lampu1
Mematikan lampu2
Meminta laporan status kedua lampu
Mematikan semua lampu
Karena dari 4 bit keluaran DTMF dekoder hanya digunakan 3 bit pertama saja, maka jika user
menekan tombol 8 akan sama dengan nilai 0, dan nilai tombol 9 akan sama dengan 1, 0 sama dengan
2, bintang sama dengan 3 dan pagar sama dengan 4.
Proses penyampaian data keluaran DTMF dekoder ke Port Paralel
Data hasil keluaran DTMF dekoder yang sepanjang 4 bit, diteruskan ke port paralel sebagai
input ke register status dengan alamat 378h. Namun tidak keseluruhan bit tersebut dipergunakan.
Karena alat peraga hanya memakai dua buah lampu sehingga macam instruksi yang digunakan
hanyalah sedikit, yakni 7 perintah instruksi. Oleh karena itu, 3 bit data biner dari DTMF dekoder sudah
cukup untuk mewakili instruksi yang akan digunakan. Jadi, hanya 3 bit data yang disampaikan ke
register status pada port paralel. Seperti yang ditunjukkan oleh tabel 2.
Tabel 2 Rangkaian output DTMF decoder
D
D
D
D
3
2
1
0
Dari tabel 2 tampak bahwa ada 4 bit data keluaran DTMF dekoder dan yang dihubungkan
dengan port paralel dan digunakan sebagai input hanya 3 bit pertama saja, yakni D0-D2. Ketiga bit data
tersebut dihubungkan dengan pin ke 15, 13 dan 12 dari port paralel.
Data yang disampaikan ke port paralel sebagai input masuk ke register status. Data yang
disampaikan oleh DTMF dekoder akan mengalami perubahan nilai ketika berada di register status. Hal
ini dikarenakan ketika berada pada register status yang berjumlah 8 pin, 5 pin lain juga memiliki nilai
masing-masing, adanya 3 pin yang tidak digunakan yang selalu bernilai logika 1 (nilai default) dan juga
diakibatkan adanya inverting pada S7 ataupun bit kedelapan pada register status. Inverting berarti pin
bersifat aktif rendah, dan setiap data yang masuk akan diinverskan, dengan kata lain, apabila data yang
disampaikan ke S7 adalah 1, maka data tersebut akan di inverskan menjadi 0. Nilai default setiap pin
ketika tidak digunakan adalah 1. Proses perubahan nilai tersebut dapat digambarkan seperti rangkaian
gambar 5.
~
S7
0
Dari gambar 5 terlihat jelas bagaimana perbedaan antara nilai yang dikirim oleh DTMF
dekoder dan yang terbaca pada port status (alamat 379). Nilai tersebut yang kemudian dibaca oleh
delphi sebagai antar mukanya untuk kemudian digunakan untuk mengetahui perintah eksekusi
selanjutnya.
Proses Pemilihan Data
Sumber data pada DB-25 tidaklah berasal dari satu sumber saja, namun ada 2 (dua) sumber
data, yakni DTMF dekoder dan lampu. Pembacaan data pada register status dilakukan bersamaan,
yang berarti bahwa data yang dikirimkan oleh lampu dan data yang dikirimkan oleh DTMF dekoder
akan dibaca bersamaan dalam satu kesatuan waktu. Sumber data yang lebih dari satu memunculkan
permasalahan baru, yakni bagaimana cara membedakan data yang masuk merupakan data yang
berasal dari DTMF dekoder dan data yang berasal dari perangkat elektronik yang dikontrol, dalam hal
ini lampu.
Seperti yang telah dijelaskan sebelumnya, bahwa input port paralel dilakukan pada register
status. Dalam hal ini, port paralel DB-25 tidak bersifat bi-directional. Sehingga masukan port paralel
hanya bisa dilakukan pada register status, dan pin pada register status digunakan untuk dua sumber
data.
1 = port paralel
2 = DTMF decoder
3 = Handphone penerima panggilan
Dengan menggunakan operasi AND dengan operand 56, maka akan diperolehlah data yang
diinginkan, sedangkan data lain akan berniali 0 (nol). Ilustrasi proses yang terjadi, digambarkan dalam
tabel register status pada tabel 5.
Tabel 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 hanya jika keduanya benilai 1(satu). Sehingga hanya ada kemungkinan terbesar 3 bit data yang
bernilai logika 1. Berikut algoritma yang digunakan dalam pendefinisian nilai DTMF dekoder dalam
program:
temp := Hwinterface1.InPort($378);
temp1 := Hwinterface1.InPort($379);
nilai := temp1 and 56;
Algoritma 1
Dari algoritma 1 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.
Pendefinisian Nilai Status Lampu
Proses ini bertujuan untuk memilah dan mengetahui nilai yang dikirimkan oleh lampu. Untuk
operasi pendefinisian nilai status lampu tidaklah seperti pada DTMF dekoder, operand yang digunakan
untuk kedua lampu tidak bisa disamakan. Hal ini dikarenakan adanya operasi invers pada S7, ataupun
sifat active low pada S7.
Lampu 1 adalah lampu yang terhubung dengan pin 11, yakni S7. S7 yang bersifat aktif low
yang berarti memiliki sifat kebalikan dari sinyal listrik lain, yaitu akan aktif ketika sinyal low. Berikut
algoritma yang digunakan untuk mengetahui nilai status lampu 1:
temp1 := Hwinterface1.InPort(lptdata);
nilai := temp1 and 128;
Nilai := nilai div 128;
Algoritma 2
Penjelasan dari algoritma 2 adalah: hal yang pertama dilakukan adalah menyimpan nilai yang
dibaca dari register status dalam sebuah variabel bernama temp1, kemudian dilakukan operasi logika
dengan operator AND dengan operand 128. Operator AND digunakan karena operator AND hanya akan
bernilai 1 jika kedua operand bernilai 1. Sehingga hanya akan ada satu pin yang bernilai 1, yaitu pin 11
yang terhubung ke lampu 1. Dengan demikian hasil operasi hanya mungkin memiliki dua nilai, yaitu 128
atau 0.
Nilai hasil opererasi AND tersebut selanjutnya di bagi dengan 128, yang memiliki kemungkinan
hasil adalah 0 dan 1. 0 dan 1 sudah jelas menggambarkan keadaan sinyal lampu. Hanya saja ada
sedikit perbedaan dari sinyal listrik biasanya. Bila secara umum nilai 1 menyatakan lampu dalam
keadaan menyala, maka pada lampu 1, nilai 1 menyatakan bahwa lampu dalam keadaan padam.
Lampu 2 memiliki kesamaan proses dengan lampu 1 dalam pendefinisian nilai status yang
diberikan lampu. Hanya saja ada perbedaan yang lerletak pada nilai operand dan pendefinisian status.
Berikut algoritma dalam pemrograman untuk pendefinisian nilai status lampu 2:
temp1 := Hwinterface1.InPort(lptdata);
nilai := temp1 and 64;
Algoritma 3
Apabila perintah petama telah dieksekusi, dan nilainya dibaca dan disimpan pada satu variabel
dan kemudian variabel tersebut di OR kan dengan perintah kedua maka:
Dari perhitungan logika di atas terlihat bahwa hasil dari operasi logika OR nilai perintah
pertama dan nilai perintah kedua dapat menghasilkan data yang diharapkan. Jadi apa yang sebenarnya
dilakukan ketika perintah menghidupkan lampu pertama adalah proses mengirimkan data ke register
data (alamat 378), nilai yang dikirimkan adalah nilai hasil dari operasi logika OR antara variabel yang
menyimpan nilai register data sebelumnya dengan operand 1.
Jika lampu1 menggunakan operand 1, maka lampu2 menggunakan operand 2 dalam
prosesnya. Digunakan operand bernilai 2 karena pin yang dituju pada register data akan logika 1 yang
artinya benilai 2 bila ingin menghidupkan lampu2. sedangkan pin yan lain pada register data di OR kan
dengan nilai 0 karena nilai 0 pada operasi logika OR tidak akan mempengaruhi nilai sesungguhnya.
Berikut perhitungannya:
Dengan demikian rangkaian proses yang terjadi untuk menghidupkan lampu2 adalah
mengirimkan sebuah nilai, misalkan variabel X pada register data (alamat 378). Variabel X tersebut
berisikan nilai hasil operasi OR antara nilai operand 2 dengan nilai yang dibaca dari register data yang
telah dibaca sebelum proses pengiriman nilai X dilakukan, yang disimpan dalam sebuah variabel juga,
misal: variabel Y. Jadi variable X sebenarnya berisikan :
X = Y OR 2
(1)
Selanjutnya, dikirimkan data untuk memadamkan lampu1, berarti data yang dikirimkan bernilai
0.
Tabel 8 Gambaran nilai bit untuk mematikan lampu
Dari tabel 7 dan 8, terlihat bahwa ketika dikirimkan data yang baru, maka data yang
sebelumnya akan terhapus digantikan oleh data yang baru, yang berarti lampu yang telah menyala
sebelumnya akan padam bersamaan dengan padamnya lampu1. Namun dengan menggunakan
operasi AND dan operand 2 akan dihasilkan hal seperti ditunjukkan pada tabel 9. Diasumsikan keadaan
awal adalah kedua lampu menyala seberti tabel 9.
Tabel 9 Ilustrasi keadaan register data bila kedua lampu menyala
Selanjutnya, ketika datang perintah untuk mematikan lampu1, yang terjadi adalah nilai register
data di AND kan dengan 2 seperti ditunjukkan pada tabel 10.
Tabel 10 menunjukkan bahwa dengan menggunakan operasi logika AND, maka hasil yang
diperoleh sama dengan hasil yang ingin dicapai. Maka data yang akan dikirimkan untuk memadamkan
lampu1 adalah data hasil operasi logika tersebut.
Proses pemadaman lampu2 sama dengan proses pemadaman lampu 1, yang berbeda
hanyalah operand yang digunakan. Bila memadamkan lampu1 menggunakan operand 2, maka untuk
memadamkan lampu 2 digunakan operand 1.
Pengujian dan Analisa Sistem.
Pengujian Data
Pengujian data berarti pengujian mengenai berapa nilai data yang ditekan pada tombol
handphone client, berapa data yang dibaca oleh DTMF dekoder dan berapa data yang dibaca oleh port
paralel yang bersumber dari DTMF dekoder. Hasil pengujian ditunjukkan pada tabel 11.
Hp
1
2
3
4
5
6
7
8
9
0
*
#
Uji coba dilakukan dengan memberikan beberapa skenario untuk mengetahui fungsionalitas
dari program. Uji coba dilakukan mulai dari masuknya input dan diproses sampai akhirnya
menghasilkan output.
Pengendali Manual
Pengendalian alat dapat dilakukan baik manual, yakni langsung dari komputer ataupun jarak
jauh, melalui telepon. Halaman tampilan untuk pengendalian manual ditunjukkan oleh gambar 7.
terhubung akan dikirimkan melalui pesan singkat atau SMS. Proses pengiriman sms tidak terlihat pada
halaman form.
Pengujian Perangkat Keras Sistem Pengendali Perangkat Elektronik Jarak Jauh
Pengujian Penerimaan Data DTMF pada Rangkaian
Pada rangkaian DTMF, disediakan 4(empat) buah LED sejajar. Tujuan dari LED ini adalah
sebagai pertanda apakah rangkaian telah berhasil menerima tone dari telepon atau tidak. 4 buah LED
dapat digambarkan sebagai 4 bit biner, sebagaimana ditunjukkan pada gambar 9.
LED 4
23
0
0
0
0
0
0
0
1
1
1
1
1
LED 3
22
0
0
0
1
1
1
1
0
0
0
0
1
LED 2
21
0
1
1
0
0
1
1
0
0
1
1
0
LED 1
20
1
0
1
0
1
0
1
0
1
0
1
0
Contoh dari tabel 12 adalah: Bila data= 0001 = penekanan tombol 1 dan LED 1 menyala, 0011
= penekanan tombol 3 dan LED 1 dan LED 2 menyala, dan begitu seterusnya.
Pengujian Penghidupan Lampu
Melalui halaman menu utama, hasil yang terjadi apabila dilakukan perintah menghidupkan
kedua lampu ditunjukkan pada gambar 10.
KESIMPULAN
DAFTAR PUSTAKA
PW Marpaung, M Murti, M Ramdhani, DESAIN DAN IMPLEMENTASI L-C METER
BERBASIS PC, Seminar Nasional Aplikasi Teknologi Informasi 2007 (SNATI
2007), Yogyakarta, 16 Juni 2007
Sulistiyo , Agus, Kwh Meter Digital Terkoneksi Personal Computer (Pc) Berbasis
Mikrokontroler Atmega16. Skripsi Thesis, Universitas Muhammadiyah Surakarta,
2011.
Iswanto, Antarmuka Port Paralel dan Port Serial.Yogyakarta : Gava Media, 2008.
http://www.alldatasheet.com/datasheet-pdf/pdf/77074/MITEL/MT8870D.html,
Januari 2013
diakses
16