perancangan piranti antar muka penjawab telpon otomatis

advertisement
Jurnal Artificial, ICT Research Center UNAS
Vol.2 No.1 Januari 2008
ISSN 1978-9491
PERANCANGAN PIRANTI ANTAR MUKA PENJAWAB TELPON
OTOMATIS DENGAN BAHASA C
Fuad Djauhari
Jurusan Teknik Informatika, Fakultas Teknologi Komunikasi dan Informatika, Universitas Nasional
Jl. Raya Sawo Manila, Pejaten No. 61, Jakarta 12520
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.
Key Words : Automatic answering machine, Phone Interfacing, DTMF Decoder
Abstrak
Dalam makalah ini kami mendesain suatu perekam otomatis pada pesawat telepon rumah
dengan memanfaatkan fasilitas DTMF. Piranti perekam ini menggunakan fasilitas antar muka
dengan komputer melalui terminal RS32. Sedangkan pemrograman yang digunakan adalah
bahasa C.Dari hasil pengujian piranti diperoleh bahwa piranti bekerja secara reliabel dan realtime.
Kata kunci: Penjawab telepon otomatis, antar muka, dekoder DTMF
I.
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
53
Jurnal Artificial, ICT Research Center UNAS
Vol.2 No.1 Januari 2008
ISSN 1978-9491
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.
II. 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)
Frekwensi Rendah (Low
Frequencies)
1209 Hz
1336 Hz
1477 Hz
1633 Hz
679 Hz
1
2
3
A
770 Hz
4
5
6
B
852 Hz
7
8
9
C
941 Hz
*
0
#
D
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.
III.PERANCANGAN 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
54
Jurnal Artificial, ICT Research Center UNAS
Vol.2 No.1 Januari 2008
ISSN 1978-9491
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 3.1 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
55
Jurnal Artificial, ICT Research Center UNAS
Vol.2 No.1 Januari 2008
ISSN 1978-9491
Gambar 3.2 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
Terdeteksi
C
H
H
L
D
H
H
L
H = Logika High
L = Logika Low
56
Jurnal Artificial, ICT Research Center UNAS
Vol.2 No.1 Januari 2008
ISSN 1978-9491
X = tidak diperhatikan
Z = Impedansi Tinggi
1 = Logika 1 standar TTL
0 = Logika 0 Standar TTL
IV. 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},
57
Jurnal Artificial, ICT Research Center UNAS
Vol.2 No.1 Januari 2008
ISSN 1978-9491
{'#', 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;
58
Jurnal Artificial, ICT Research Center UNAS
Vol.2 No.1 Januari 2008
ISSN 1978-9491
#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. 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. 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.
DAFTAR PUSTAKA
[1]
[2]
[3]
[4]
[5]
[6]
Topic 7, “Digital Telepony”, Siemens AG, Munich, June, 1983.
Clark M.P., “Network and Telecommunications”, John Wiley & Sons Ltd, England, 1991
Depati, G., “Saluran Transmisi Gelombang dan Teorema Jaringan”, Erlangga, 1987.
PT. Radio Frequency Communication, “Sistem Komunikasi Satelit”, Bandung, 1981.
Tolsma, R. and Pc Den Heijer, “Komunikasi Data”, Erlangga, 1988.
Siemens, “Basic of Digital Switching and Transmission with Pulse Code Modulation”, Munich,
1982.
59
Download