Anda di halaman 1dari 9

MESIN TELPON OTOMATIS

Oleh : Arief Setyanto, S.Si.,MT.

Abstract
Telephone as a communication device has been familiar to be used by people. Now
it’s a need to response a phone call with a machine, especially for precise
information based on database. For example when a phone caller ask an information
about how much his phone pulse remaining in pulse database. If somebody have to
answer to this phone call he has to querying the database first with the suitable query
then he answer his client. It will make service lag, because the client has to wait
people who answer his phone type some word in his computer. It can be bypassed
with building an answering machine that will automaticelly query the database then
answer the question based on the key that he stroke. For the purpose it’s need to
build an interface between a phone and a computer, then a program to decode the
keystoke and then program for respons the keystoke decoded.

KeyWord : Automatic answering machine, Phone Interfacing, DTMF Decoder

A. Pendahuluan
Penggunaan telepon sebagai media komunikasi sudah umum dijumpai
dalam masyarakat kita. Sebagai salah satu peranti elektronika telepon
menggunakan sinyal dengan frekwensi tertentu untuk berkirim pesan. Pada saat
melakukan dial (menekan nomor tujuan) dan pada saat terjadi komunikasi maka
sinyal di lewatkan media kabel telapon untukberkomunikasi antara dua pihak
yang sedang berhubungan. Selain dapat digunakan untuk berkomunikasi antar
manusia, telepon juga dapat digunakan untuk berkomunikasi antara manusia
dengan alat elektronik. Salah satu contohnya adalah komunikasi jarak jauh
antara manusia dengan peranti komputer. Atau komunikasi jarak jauh antara
manusia dengan perangkat elektronik pengaman rumah.
Bagimana hal ini menjadi mungkin dilakukan? Pertanyaan ini akan
terjawab dengan mempelajari bagaimana telapon menggunakan frekwensi untuk
mengkodekan setiap tombol yang ditekan dari pesawat telpon yang digunakan.
Sistem pengkodean menggunakan frekwensi yang saat ini diacu sebagai standar
disebut DTMF (Dual Tone Multiple Freqwencies). Sebanarnya ada dua bahasan
pokok yang bisa dikupas dari materi ini yaitu pembangkitan sinyal untuk
melakukan dial secara elektronik dan pendekodean sinyal untuk menanggapi
panggilan telapon secara elektronik. Dalam makalah ini penulis akan membatasi
bahasan pada materi yang kedua yaitu mendekodekan sinyal yang diterima
untuk menanggapi pangglan secara elektronik. Aplikasi yang bisa dibangun dari
bahasan ini adalah memberikan respon terhadap panggilan telepon
menggunakan aplikasi komputer dengan menyediakan jawaban berdasarkan
data yang tersedia di komputer misalnya querying terhadap basis data. Dalam
pembahasan di sini penulis membatasi diri pada menyediakan interfacing dari
Saluran telepon menjadi bilangan biner yang bisa di tangkap dari sebuah
program saja. Langkah selanjutnya setelah modul interface ini dibuat adalah
membuat program untuk menanggapi hasil pembacaan interface dan
mengeluarkan sinyal suara berdasarkan hasil querying terhadap basis data akan
di bahas pada makalah selanjutnya.

B. DTMF (Dual Tone Multiple Frequencys)


Telpon PSTN maupun handphone saat ini menggunakan sistem yang
dikenal secara umum disebut DTMF yaitu dual tone multiple frequencys.
Telephon PSTN pada umumnya memiliki 10 buah tombol ditambah * dan # jadi
jumlahnya adalah 12. sebenarnya disamping 12 angka dan simbol tersebut
masih ada 4 huruf yang bisa kita letakan disana katakanlah A, B, C dan D. Jadi
semuanya terdapat 16 tombol. Di dalam komunikasi ke enambelas tombol
tersebut dikirimkan dengan 2 frekwensi yang berbeda. Satu frekwensi masuk ke
dalam grup frekwensi tinggi dan satu frekwensi lagi masuk ke dalam grup
frekwensi rendah. Masing masing grup memiliki 4 macam variasi (nilai
frekwensi) sinyal sehingga dengan 2 grup fekwensi tadi dapat di kodekan 16 (4
pangkat 2) macam simbol. Untuk lebih jelas dapat dilihat pada tabel dibawah
ini:

Tabel 1. Frekwensi dan simbol yang di wakili

Frekwensi Tinggi
(High Frequencies)
1209 Hz 1336 Hz 1477 Hz 1633 Hz
(Low Frequencies)
Frekwensi Rendah

679 Hz 1 2 3 A

770 Hz 4 5 6 B

852 Hz 7 8 9 C

941 Hz * 0 # D

Gambar 1. Tabel frekwensi DTMF (Sumber www.dtmf.org)

Dari tabel 1 dapat di baca bahwa setiap penekanan tombol di pesawat


telepon, telpon akan membangkitkan dua nada (tone) yaitu nada berfrekwensi
tinggi dan satu nada berfrekwensi rendah. Kedua sinyal tersebut dikirimkan ke
penerima. Dengan cara melakukan penguraian (decoding) terhadap kedua sinyal
tadi maka penerima dapat mendeteksi tombol tombol apa saja yang ditekan oleh
lawan bicaranya. Sifat inilah yang akan digunakan untuk membangun aplikasi
perespon telepon menggunakan peranti elektronik, yaitu interface dan komputer.

C. Rangkaian DTMF Decoder


Untuk menangkap tombol apa yang ditekan oleh penelepon maka peranti
pertama yang harus disediakan adalah peranti yang bertugas mendeteksi sinyal
apa yang dikirimkan. Jika sinyal yang dikirimkan bukan sinyal bicara
melainkan sinyal yang dikarenakan penekanan tombol telepon maka dapat
digunakan tabel 1 untuk melakukan pendekode-an. Untuk itu diperlukan
sebuah rangkaian elektronik yang mendapat masukan dari kabel telepon dan
keluaran bilangan hasil pendekodean sinyal tersebut.
Jika dilihat tombol tombol yang di kodekan ada 16 buah, digunakan 2 buah
nada dengan variasi nilai masing masing nada 4 nilai. Keluaran dari rangkaian
ini yang diharapkan adalah bilangan biner 4 digit. Dari tabel 1 dapat di buat
tabel 2 dibawah ini yang menunjukan konversi masukan menjadi keluaran.
Karena ada 16 buah keluaran sebetulnya keluran ini jika dilambangkan dengan
bilangan biner dapat diwakili dengan 4 bit bilangan biner dari 0000 sampai
dengan 1111.
Tabel 2. Fungsi Transfer dari input menjadi output
Frekwensi Frekwensi Tombol
rendah Tinggi yang
ditekan
679 Hz 1209 Hz 1
679 Hz 1366 Hz 2
679 Hz 1477 Hz 3
679 Hz 1633 Hz A
770 Hz 1209 Hz 4
770 Hz 1366 Hz 5
770 Hz 1477 Hz 6
770 Hz 1633 Hz B
852 Hz 1209 Hz 7
852 Hz 1366 Hz 8
852 Hz 1477 Hz 9
852 Hz 1633 Hz C
941 Hz 1209 Hz *
941 Hz 1366 Hz 0
941 Hz 1477 Hz #
941 Hz 1633 Hz D

Untuk keperluan mendekode masukan tersebut diperlukan sebuah peranti


elektronika dengan masukan sinyal telepon dan keluaran logika 4 bit. Untuk
keperluan ini dapat digunakan salah satu produk IC Dual Tone Multiple
Frquencies Dekoder yaitu MT8770 produk MITEL

gambar 1. Diagram blok IC MT8770


Tabel 3 Daftar Keluaran Hasil Dekode sinyal IC MT8770 :
Digit TOE NH ES1 Q4 Q3 Q2 Q1
ANY L X H Z Z Z Z
1 H X H 0 0 0 1
2 H X H 0 0 1 0
3 H X H 0 0 1 1
4 H X H 0 1 0 0
5 H X H 0 1 0 1
6 H X H 0 1 1 0
7 H X H 0 1 1 1
8 H X H 1 0 0 0
9 H X H 1 0 0 1
0 H X H 1 0 1 0
* H X H 1 0 1 1
# H X H 1 1 0 0
A H L H 1 1 0 1
B H L H 1 1 1 0
C H L H 1 1 1 1
D H L H 0 0 0 0
A H H L
B H H L Output Tidak
C H H L Terdeteksi
D H H L

H = Logika High
L = Logika Low
X = tidak diperhatikan
Z = Impedansi Tinggi
1 = Logika 1 standar TTL
0 = Logika 0 Standar TTL

D. Interfacing Rangkaian DTMF decoder dengan Komputer


Untuk membuat interface ke komputer agar dapat dibuat sebuah aplikasi
mesin penjawab telepon digunakan rangkaian dengan komponen utama IC
MT8770. Keluaran dari IC MT8770 akan diablil empat digit dari Q1 sampai Q3
di alirkan melalui port paralel. Masukan melalui port paralel ini akan ditangkap
sebagai bilangan biner 0000 sampai dengan 1111. Jeda masukan melalui port
paralel satu ke berikutnya diberikan jeda (delay) minimal.
Masukan dari port paralel kemudian ditangkap oleh sebuah program untuk
mengartikan tombol yang ditekan. Contoh program untuk mendekodekan dalam
bahasa C adalah sebagai berikut :

Program 1 DTMF Decoder

#include <stdio.h>
#include <ctype.h>
#include <math.h>
#include <conio.h>

#define BITS 0xFF00


#define NOISE 0 /* enable noise shaper */
#define TON 0.100 /* tone duration */
#define TOFF 0.100 /* silence duration */
#define RAMP 0.002 /* tone rise and fall time */
#define RATE 11025.0 /* sample rate */
#define numberof(n) (sizeof(n)/sizeof(*n))

struct
{
char letter;
double f1, f2;
} button[] =
{
{'1', 697, 1209},
{'2', 697, 1336},
{'3', 697, 1477},
{'A', 697, 1633},
{'4', 770, 1209},
{'5', 770, 1336},
{'6', 770, 1477},
{'B', 770, 1633},
{'7', 852, 1209},
{'8', 852, 1336},
{'9', 852, 1477},
{'C', 852, 1633},
{'*', 941, 1209},
{'0', 941, 1336},
{'#', 941, 1477},
{'D', 941, 1633},
{'X', 20, 20},
{'Y', 100, 100},
{'Z', 500, 500},
};

int main(void)
{
double t, v=0;
char c;
int value=0, n;
FILE *fout;

puts("Press 123A456B789C*0#D to digitize DTMF-tones to


file. Fs=11025. ESC quits.");
fout = fopen("x", "wb");
while (1)
{
c = toupper(getch());
if (c == 0x1B)
break;
for (n=0; n<numberof(button); n++)
{
if (c==button[n].letter)
{
putchar(c);
for (t=0.0; t<TON; t+=1/RATE)
{
v = sin(2*M_PI*button[n].f1*t) +
sin(2*M_PI*button[n].f2*t);
if (t<RAMP) /* See Note Below */
v *= t/RAMP; /* See Note Below */
if (t>TON-RAMP) /* See Note Below */
v *= (TON-t)/RAMP; /* See Note Below */
#if NOISE
value = floor(v*(BITS/4)+BITS/2) +
(value&~BITS);
#else
value = floor(v*16383+32768.5);
#endif
fputc((value&BITS)>>8, fout);
}
for (t=0.0; t<TOFF; t+=1/RATE)
fputc(0x80, fout);
}
}
}
putchar('\n');
fclose(fout);
return 0;
}
v *= (TON-t)/RAMP;
#if NOISE
value = floor(v*(BITS/4)+BITS/2) +
(value&~BITS);
#else
value = floor(v*16383+32768.5);
#endif
fputc((value&BITS)>>8, fout);
}
for (t=0.0; t<TOFF; t+=1/RATE)
fputc(0x80, fout);
}
}
}
putchar('\n');
fclose(fout);
return 0;
}
E. Kesimpulan
Berdasarkan teori operasi yang digunakan oleh sistem telepon khususnya
PSTN yang menggunakan sistem Dua suara dengan beberapa frekwensi (Dual
Tone Multiple Frequencies ), dengan standar yang persinyalan yang dapat
dilihat pada tabel 1 dapat dibuat sebuah rangkaian untuk mendekode tombol
yang ditekan. Untuk mendekode dapat digunakan salah satu produk IC yaitu IC
MT8770 yang mampu mendekode sinyal masukan menjadi sinyal keluaran
dalam bentuk bilangan biner 4 digit. Bilangan biner 4 digit ini dapat ditangkap
oleh port paralel dan dimanfaatkan oleh komputer untuk membuat aplikasi
selanjutnya yaitu mesin penjawab. Contoh program sederhana dalam bahasa C
diatas dapat dijadikan contoh untuk pengambangan aplikasi yang dimaksud.

F. Saran
Aplikasi mesin penjawab telpon otomatis berdasarkan sebuah isi basis data
saat ini aplikasinya banyak sekali dibutuhkan oleh masyarakat untuk keperluan
otomatisasi pelayanan. Sebagai contoh aplikasi yang biasa dilakukan adalah
pada saat pengisian pulsa handphone. Selain untuk keperluan itu dapat pula
dibuat aplikasi untuk memberikan informasi tentang jumlah tagihan, batas
waktu pembayaran pajak di kantor pajak kendaraan bermotor. Oleh karena itu
pengembangan penelitian penerapan aplikasi ini masih sangat terbuka.