PENDAHULUAN
Pada saat ini telah banyak sistem informasi yang dibuat dengan
web maupun sms, namun kendala dari layanan ini adalah bagi mereka
yang di daerah tanpa ada jaringan internet, maupun belum terjangkau
oleh handphone, tidak akan bisa mengaksesnya. Layanan informasi
dengan mendial nomor telepon sebenarnya sudah mulai dikenalkan oleh
perusahaan telekomunikasi seperti dial nomor tertentu untuk mengetahui
tagihan telepon rumah. Dialogic card yang telah terpasang pada personal
komputer di lab komunikasi digital bisa diaplikasikan untuk berbagai
informasi diantaranya untuk sistem informasi nilai IP mahasiswa PENS
dengan metode searching bertingkat. Dialogic card yang berfungsi
sebagai interface antara sistem telepon dengan PABX dan komputer,
dijadikan pilihan dalam proyek akhir ini sehingga nantinya kita bisa
mendial nomor telepon tertentu dan bisa langsung mendapatkan
informasi.
Tugas akhir ini adalah pengembangan dari tugas akhir yang
berjudul ”Sistem Informasi Nilai IP Mahasiswa PENS”. Hal yang
membedakan antara keduanya yaitu pada metode searching yang
dipakai. Pada tugas akhir ini menggunakan metode searching bertingkat.
Metode searching bertingkat sebenarnya hampir sama dengan metode
searching. Bila pada tugas akhir sebelumnya program melakukan
searching data untuk menemukan data IP (index prestasi) selama satu
semester, maka pada tugas akhir ini program searching digunakan untuk
menemukan beberapa data yang dibutuhkan . Misalnya NRP, PIN, ID
dan IP.
1.2 TUJUAN
Tujuan dari proyek akhir ini adalah memberdayakan Dialogic
Card D/4 PCI – U yang merupakan teknologi Computer Telepony
Integration (CTI) dan telah ada pada lab komunikasi digital, supaya bisa
dimanfaatkan untuk berbagai aplikasi diantaranya akses nilai mahasiswa
PENS lewat dial telepon. Sistem yang dibuat berupa simulasi dengan
1
2
mempergunakan PABX yang tersambung dengan telepon DTMF beserta
Dialogic Card D/4 PCI-U sebagai interface yang menghubungkan
dengan Personal Komputer.
2.1 TELEPON
2.1.5 Allerting
Allerting semacam loncatan sinyal yang menandakan bahwa ada
suatu panggilan yang masuk pada pesawat telepon kita. Allerting ini
diaktifkan oleh sinyal AC frekuensi rendah dan dihubungkan oleh
saluran pada suatu terminal, dan alat ini tidak melewatkan sinyal DC.
Allerting sederhana terdiri dari sebuah bel yang dikontrol oleh sinyal AC
dengan sebuah kapasitor yang berfungsi sebagai penahan sinyal DC.
♦ Nada Pulsa
Nada ini tidak begitu terdengar karena dikirim dengan
frekuensi 16 Khz dari sentral telepon dengan selang waktu 100
mili detik untuk setiap pulsa yang dikirim. Nada ini mulai
muncul saat pertama lawan bicara lawan bicara mengangkat
gagang telepon ( handset ) dan diulang secara periodic untuk
menghitung pulsa pada sentral telepon. Nada-nada tersebut
dikirim oleh sentral kepada telepon pemanggil untuk
memberitahu kepada penelepon tentang status panggilannnya.
Sebagai contoh dial tone ( nada pilih ), dimana nada pilih
tersebut adalah suatu nada kontinyu yang dibuat dengan
menggabungkan frekuensi 350 Hz dan 440 Hz.
4 Melakukan pembicaraan
Keterangan :
LT00-LT11 Line/Trunk card mounting slot
AP00-AP11 Application Processor card mounting slot
MP PN-CP14 mounting slot
FP PN-CP15 mounting slot
14
VM PZ-VM00-M Mounting Slot
PFT PZ-8PFTB Mounting Slot
AC/DC PWR PZ-PW121/PW126 Mounting Slot
DC/DC PWR PZ-PW122 Mounting Slot
*
1 PZ-VM00-M CARD diletakkan pada slot LT00 untuk
menggunakan slot VM
*
2 Baik line/ trunk card atau aplikasi processor card dapat diletakkan
pada slot LT00/AP00-LT10/AP10
*
3 Baik PN-CP15 atau line/ trunk card atau aplikasi processor card
diletakkan pada slot LT11/AP11/FP11 berdasar konfigurasi
system
*
4 PN-CP14 atau PN-CP15 card diletakkan pada slot MP12/FP12
berdasar konfigurasi system
*
5 PZ-8PFTB card diletakkan pada slot PFT
• Tekan transfer
• Tekan conf
• Tekan *
• Tekan transfer
• Tekan conf
• Tekan #
• Redial (Tampilan di monitor “COMMAND” )
Keterangan :
2.4 DATABASE
Database yang digunakan adalah Microsoff Access. Database
merupakan kumpulan data-data dalam bentuk tabel-tabel yang saling
berhubungan yang disimpan dalam media perangkat keras komputer
yang dapat diambil lagi sebagai informasi. Elemen-elemen penyusun
database antara lain :
¥ dx_open:
Fungsi ini untuk membuka channel pada card. Fungsi lain
dapat dijalankan setelah channel dibuka. Command yang
digunakan adalah :
¥ dx_sethook
Fungsi yang mengontrol status kondisi hook dari channel
tertentu.
int dx_sethook(chdev, hookstate, mode)
Parameter Penjelasan
chdev : menunjukkan channel yang sudah dibuka
hookstate : menunjukkan kondisi hook ;
- DX_ONHOOK untuk kondisi onhook
- DX_OFFHOOK untuk kondisi off
hook
mode : - EV_SYNC untuk menjalankan secara
sinkron
- EV_ASYNC untuk menjalankan secara
asinkron
¥ dx_wtring
Fungsi yang menunggu banyaknya jumlah ring tone dan
merubah kondisi channel menjadi On Hook atau Off Hook.
21
int dx_wtring(chdev, nrings, hstate, timeout)
Parameter Penjelasan
chdev : menunjukkan channel yang sudah dibuka
dx_open
rings : banyaknya rings yang ditunggu sebelum
setting hookstate
hstate : hookstate
timeout : lamanya waktu untuk melaksanakan
fungsi tersebut
¥ dx_getdig
Fungsi ini digunakan untuk menerima digit dari penelpon.
¥ dx_reciottdata
Fungsi untuk menjalankan perekaman suara (file suara) ke
beberapa sumber.
short dx_reciottdata (chdev, iottp, tptp, xpbp, mode)
Parameter Penjelasan
chdev : menunjukkan channel yang telah dibuka
dx_open
iottp : menunjuk ke struktur DX_IOTT
tptp : menunjuk ke struktur DX_TPT
22
xpbp : menunjuk ke struktur DX_XPB
mode : menunjukkan mode yang digunakan;
- EV_SYNC : mode sinkron
- EV_ASYNC : menjalankan dengan
mode asinkron
- RM_TONE : mengirimkan sebuah
tone sebelum merekam file.
- MD_PCM : merekam dengan
menggunakan format µ-law PCM
- RM_SR8 : merekam dengan
menggunakan sampling rate 8 kHz
};
23
Struktur dari dx_xpb adalah :
typedef struct {
¥ dx_playiottdata
Fungsi untuk menjalankan rekaman suara (file suara) dari
beberapa sumber.
short dx_playiottdata (chdev, iottp, tptp, xpbp, mode)
Parameter Penjelasan
chdev : menunjukkan channel yang telah
dibuka dx_open
iottp : menunjuk ke struktur DX_IOTT
tptp : menunjuk ke struktur DX_TPT
xpbp : menunjuk ke struktur DX_XPB
mode : menunjukkan mode yang digunakan;
- EV_SYNC : mode sinkron
- EV_ASYNC : menjalankan
dengan mode asinkron
- PM_TONE : menjalankan 200 ms
audible tone
24
Sistem yang akan diaplikasikan pada dialogic card kali ini adalah sistem
nilai mahasiswa EEPIS di mana informasi yang didapatkan adalah IP
semester dari keempat jurusan program D3 dan D4 reguler. Pertama-
tama dial nomor telepon server yang selanjutnya PC membalas dengan
meminta pemasukan berupa nrp mahasiswa. Format nrp berupa sepuluh
angka , dua digit dari depan menunjukkan jurusan, digit ketiga dan
empat menunjukkan tahun masuk, tiga digit selanjutnya menunjukkan
kelas reguler D3 atau D4 dan tiga digit terakhir menunjukkan nomor
urut mahasiswa. Sehingga dari nrp 7203030052 kita bisa langsung tahu
bahwa mahasiswa tersebut adalah mahasiswa jurusan teknik
telekomunikasi angkatan 2003 reguler dengan nomor urut lima puluh
dua. Setelah itu nrp yang dimasukkan akan dicek, bila benar maka
proses selanjutnya adalah pemasukan 4 digit PIN, tetapi bila salah maka
akan keluar layanan. Setelah user memasukkan PIN, maka PIN yang
telah dimasukkan akan dicek ,bila benar maka dapat melanjutkan ke
proses berikutnya yaitu ke menu. Ada 8 pilihan menu yaitu semester 1
s.d 8. User dapat menentukan pilihannya dengan menekan ”1” untuk
semester 1,tekan ”2” untuk semester 2 dan seterusnya. Bila user
menekan karakter selain angka ”1” s.d. ”8” ,maka akan keluar layanan.
Setelah menekan pilihan semester, selanjutnya user harus memasukkan
ID untuk mengakses nilai. ID hampir sama dengan PIN ,yang berbeda
hanya digit pertamanya. Hal ini bertujuan agar mudah diingat. Setelah
memasukkan ID, maka akan ada pengecekan di database. Bila ID user
terdapat pada database, selanjutnya informasi nilai IP dapat diakses,
kemudian data berupa string di database akan disuarakan. Namun bila
ID tidak ditemukan ,user akan keluar layanan.
27
2. Step 2
Masukkan nama dan company, seperti ditunjukkan oleh gambar 3.6
kemudian klik next.
30
3. Step 3
Pilih salah satu pilihan dari typical installation dan jangan
memilih complete option.
4. Step 4
Pilih directory tujuan dan default harus OK. Klik next.
31
5. Step 5
Penerimaan default program folder. Pada programs folder dan
existing folders pilih Dialogic System Software dan klik next.
7. Step 7
Pada step ini jangan pilih option apapun.
9. Step 9
Untuk menginstal dialogic card D/4PCIU (akhiran Umenandakan
PCI versi Universal, seri baru dari D/4PCI card), maka harus
dilakukan penginstalan lebih lanjut untuk 2 paket layanan:
- Pertama, menginstal "Service Pack 1".
- Kedua, menginstal " Support for D/4PCIU SP1".
2. Step 2
Pilih option “Search for a suitable driver”. Klik next.
3.
4.
5.
6.
7.
Gambar 3.14 Jendela Install device drivers
35
3. Step 3
Pilih hanya pada option “specify a locaton” . Klik next.
4. Step 4
Browse ke Dialogic instllation directory dan pelihatkan disini.
8. Step 8
Auto card detection akan dimulai.
Pendeteksian Gagal
Jika card tidak terdeteksi atau model ditampilkan ???, maka lakukan hal
berikut:
- Restart PC
- Enter system BIOS
- Jika tidak bisa ”Plug & play” di BIOS
- Ulangi langkah 7 s/d 9
10. Step 10
Lakukan double click pada voice card icon. Set parameter country
dengan nilai yang benar.
39
Ada empat langkah dalam membuka file MFC baru, setelah langkah
pertama ketik next untuk langkah berikutnya. Setelah selesai maka
tampilan aktif MFC bisa dilihat pada gambar di bawah ini :
51
Setelah ADO Data Control dan Data Grid aktif maka harus
disetting terlebih dahulu menu yang ada di tiap control. Untuk ADO
Data Control, menu Control dipilih ODBC Data Source yang telah
diaktifkan sebelumnya, pada menu RecordSource dipilih field
53
didatabase yang diaktifkan. Untuk DataGrid pada menu all dipilih
DataSource IDC_ADODC1.
Input ID
Cek dari
Database
database
Access
no
Ada?
yes
Dapat
nilai IP
end
play(chdev,"id.wav");
id[0]=kenaldigit(chdev,dig,1);
id[1]=kenaldigit(chdev,dig,1);
id[2]=kenaldigit(chdev,dig,1);
id[3]=kenaldigit(chdev,dig,1);
id[4]='\0';
idnum=id;
if((idnum>="4000")&&(idnum<="5221"))
{
query="select semester1 from index2 where ID like '" + idnum + "'";
m_Adodc.SetCommandType(1);
m_Adodc.SetRecordSource(query);
m_Adodc.Refresh();
m_DataGrid.SetRefDataSource(m_Adodc.GetDSCCursor());
55
data2=m_DataGrid.GetText();
char *data3="";
data3=data2.GetBuffer(255);
MessageBox(data3,"%s");
play(chdev,"konfirmasi_nilai.wav");
play_number(chdev,data3);
play(chdev,"terimakasih.wav");
close();
}
else
{
play(chdev,"gak_ada.wav");
play(chdev,"terimakasih.wav");
close();
}
}
1. Kondisi awal dari channel B1C1 dibuka dan kondisi hook diset
on-hook. Fungsi membuka dan set hook tersebut dijalankan
pada suatu fungsi timer.
2. Channel yang terbuka akan menunggu sampai terdeteksinya
adanya ring tone, apabila terdeteksi adanya ring tone yang
masuk maka program akan mengeset hook menjadi kondisi off-
hook.
3. Ketika kondisi ini, maka program akan digunakan untuk
perekaman file suara.
4. Untuk proses perekaman suara yang perlu dipersiapkan adalah ;
file handler (untuk tempat menyimpan file), penentuan lamanya
perekaman, jenis data, jenis coding, jumlah bit per sample serta
sampling ratenya.
5. Perekaman suara terdiri dari suara awal masuk sistem, angka 0-
9 beserta koma untuk mengeluarkan 4 digit suara menuju
telepon dtmf.
56 start
Buka Channel
error open
No
aktifkan server
dan deteksi ring
Yes
rekam
end
Langkah awal adalah dengan memilih channel, dalam hal ini channel
B1C1. Setelah itu pada menu Function pilih On Hook, pada menu option
karena kita akan merekam maka memilih Record Wave Setting AD
PCM 8 KHz. Langkahnya dapat dilihat lewat gambar di bawah ini :
57
tpt[1].tp_type=IO_CONT;
tpt[1].tp_termno=DX_LCOFF;
tpt[1].tp_length=10;
tpt[1].tp_flags=TF_LCOFF|TF_10MS;
tpt[2].tp_type=IO_EOT;
tpt[2].tp_termno=DX_MAXTIME;
tpt[2].tp_length=50;
tpt[2].tp_flags=TF_MAXTIME;
//Get digit//
if((numdigs=dx_getdig(chdev,tpt,&digp,EV_SYNC))==-1)
{
MessageBox("Error get digit");
exit(1);
}
SetDlgItemText(IDC_DIGIT1,"Get digit success");
for(cnt=0;cnt<numdigs;cnt++){
digit[cnt]=digp.dg_value[cnt];
}
return(digp.dg_value[0]);
}
start
Input ID
Cek dari
Database database
Access
no
Ada?
yes
Dapat
nilai IP
Ambil file
suara
end
1
5o
2 o
3o
6
4o o
o 7
o
Keterangan :
Kondisi
Pengamatan Input Output
Baik Cacat
1 7203030045 7203030045 -
2 72030030045 - - -
3 7203030045 7203030045 -
4 7203300045 - - -
5 7203003004 - - -
6 7203003304 - - -
7 7203033045 - - -
8 720303004 720303004 -
9 7203033045 - - -
10 7203030 7203030 -
Output
No Input (ringtone) Delay (detik)
(ringtone)
1 2 1 3.20
2 2 2 3.70
3 2 1 2.24
4 2 1 2.35
5 2 1 3.07
6 2 1 3.36
7 2 1 3.33
8 2 1 3.75
9 2 2 3.80
10 2 1 3.15
nomor=member;
MessageBox(nomor,"%s");
if((nomor>="7102030045")&&(nomor<="7405040059"))
{
query="select PIN from index where NRP like'"+nomor+"'";
m_Adodc1.SetCommandType(1);
m_Adodc1.SetRecordSource(query);
m_Adodc1.Refresh();
m_DataGrid1.SetRefDataSource(m_Adodc1.GetDSCCursor());
data=m_DataGrid1.GetText();
char *data1;
data1=data.GetBuffer(255);
MessageBox(data1,"%s");
}
• Perintah SQL
query="select PIN from index where NRP like'"+nomor+"'";
70
Maksud dari perintah SQL di atas adalah select data yang ada pada
tabel index di mana data itu berada di field PIN di mana NRP
kondisinya sama dengan input nomor.
• m_Adodc.SetCommandType :
Digunakan untuk mengeset tipe dari command yang dihasilkan oleh
sumber data (data source).
Jika perintah ini dihilangkan terjadi error “[Microsoft] ODBC
Microsoft Access (Driver) Syntax error in FROM clause” saat
memasukkan pilihan yang kedua.
• m_Adodc.SetRecordSource(query) :
Digunakan untuk mengeset persyaratan koneksi yang harus
dipenuhi dalam membuka sebuah obyek Recordset.
Jika perintah ini dihilangkan terjadi error [Microsoft] [ODBC
Microsoft Access Driver] Invalid SQL statement; expected
‘DELETE’,’INSERT’,’PROCEDURE’,’SELECT’, or ‘UPDATE’
saat program dijalankan. Sehingga proses memasukkan pilihan
tidak bisa dilakukan.
• m_Adodc1.Refresh( )
Digunakan untuk me-refresh data yang telah diambil dari database.
Sehingga saat program layanan sistem informasi ini dijalankan lagi,
data yang lama tidak akan muncul kembali karena sudah digantikan
dengan data yang baru.
Jika perintah ini dihilangkan maka data yang diinginkan tidak akan
diselect melainkan semua data yang ada akan ditampilkan.
play(chdev,"id.wav");
id[0]=kenaldigit(chdev,dig,1);
id[1]=kenaldigit(chdev,dig,1);
id[2]=kenaldigit(chdev,dig,1);
id[3]=kenaldigit(chdev,dig,1);
id[4]='\0';
pswd=id;
if((pswd>="4000")&&(pswd<="5221"))
{
query="select semester1 from index2 where ID like'" + pswd + "'";
m_Adodc2.SetCommandType(1);
m_Adodc2.SetRecordSource(query);
m_Adodc2.Refresh();
m_DataGrid2.SetRefDataSource(m_Adodc2.GetDSCCursor());
data2=m_DataGrid2.GetText();
char *data3="";
data3=data2.GetBuffer(255);
MessageBox(data3,"%s");
72
play(chdev,"konfirmasi_nilai.wav");
play_number(chdev,data3);
play(chdev,"terimakasih.wav");
close();
}
else
{
play(chdev,"gak_ketemu.wav");
play(chdev,"terimakasih.wav");
close();
}
}
5.1 KESIMPULAN
5.2 SARAN
oleh :
7203.030.040
JURUSAN TELEKOMUNIKASI
2006
79
PEMBUATAN SISTEM INFORMASI NILAI AKADEMIK
MAHASISWA PENS VIA PSTN
---Dengan metode searching bertingkat ---
Oleh:
TEGUH SAPUTRA IMANSYAH
7203 030 040
Disetujui oleh
3. Sritrusta Sukaridhoto,S.T
NIP.132 300 372
Mengetahui:
Ketua Jurusan Telekomunikasi
Penyusun
83
UCAPAN TERIMA KASIH
Dalam pelaksanaan dan pembuatan proyek akhir ini kami banyak
menerima dan bantuan dari berbagai pihak. Kami bersyukur sebesar –
besarnya kepada Allah SWT atas semua karunia yang telah diberikan-
Nya kepada kami sehingga kami dapat menyelesaikannya dengan baik.
Dan tanpa menghilangkan rasa hormat kami mengucapkan terima kasih
kepada pihak – pihak yang telah membantu kami antara lain :
1. Ayah dan Ibuku yang sangat aku sayangi dan cintai, terima kasih
atas dukungan baik spiritual maupun material yang tiada ternilai
harganya.
2. Bapak Dr.Ir.Titon Dutono,M.Eng, selaku Direktur Politeknik
Elektronika Negeri Surabaya .
3. Bapak Drs. Miftahul Huda, M.T selaku Ketua Jurusan
Telekomunikasi Politeknik Elektronika Surabaya.
4. Ibu Ir.Prima Kristalina,M.T selaku dosen pembimbing dalam
pembuatan Tugas Akhir ini. Terima kasih atas bimbingan,
masukan, motivasi dan pengarahannya selama saya mengerjakan
tugas akhir.
Halaman
HALAMAN JUDUL i
LEMBAR PENGESAHAN ii
ABSTRAK iii
ABSTRACT iv
KATA PENGANTAR v
UCAPAN TERIMA KASIH vi
DAFTAR ISI vii
DAFTAR GAMBAR ix
DAFTAR TABEL xi
BAB I PENDAHULUAN
1.1 LATAR BELAKANG 1
1.2 TUJUAN 1
1.3 BATASAN MASALAH 2
1.4 METODOLOGI 3
1.5 SISTEMATIKA PEMBAHASAN 4
BAB II TEORI PENUNJANG
2.1 TELEPON 7
2.1.1 Sejarah Telepoh 7
2.1.2 Fungsi Pesawat Telepon 7
2.1.3 Sistem Switching 8
2.1.4 Prinsip Dasar Signaling 8
2.1.5 Allerting 9
2.1.6 Nada-nada Telepon 9
2.1.7 Peasawat Telepon sistem DTMF 11
2.2 SENTRAL TELEPON 11
2.3 PABX NEAX 2000 IPS 12
2.3.1 Langkah-langkah masuk ke “COMMAND” 14
2.3.2 Program Penomoran 14
2.4 DATABASE 15
2.5 MFC (Mcrosoft Foundation Class Library) 16
2.6 ACTIVE X DATA OBJECT (ADO) 17
2.7 DIALOGIC CARD D/4 PCIU 17
2.7.1 Fungsi atau Syntax-syntax Dialogi Card 19
yang Digunakan
BAB III PERENCANAAN DAN IMPLEMENTASI
3.1 DIAGRAM KERJA SISTEM 25
85
3.2. INSTALASI HARDWARE 29
3.2.1 Dialogic Card D/4PCIU 29
3.2.1.1 Penginstalan Driver Dialogic 29
3.2.1.2 Penginstalan PCI Voice Card 33
3.2.1.3 Penginstalan Dialogic Card ke Slot PC 39
3.2.2 Pemrograman PABX 41
3.3 PERENCANAAN PERANGKAT LUNAK 42
(SOFTWARE)
3.3.1 Penambahan Link Library 42
3.3.2 Program Pembuatan Database Microsoft 44
Access
3.3.3 Koneksi Database di C++ 48
3.3.4 Program Searching Database 53
3.3.5 Perekaman File Suara 55
3.3.6 Pendeteksian Digit DTMF 60
3.3.7 Pengambilan File Suara 61
3.4 KRONOLOGI PEMAKAIAN SISTEM 64
INFORMASI NILAI IP EEPIS PROGRAM REGULER
BAB IV PENGUJIAN DAN ANALISA
4.1 TUJUAN PENGUJIAN DAN ANALISA 65
4.2 METODE PENGUJIAN DAN ANALISA 65
4.3 HASIL PENGUJIAN DAN ANALISA 65
4.3.1 Pendeteksian Digit 65
4.3.2 Fungsi Wtring 67
4.3.3 Program Searching Database 68
4.3.4 Akses Database 72
4.4 ANALISA UNJUK KERJA SISTEM 73
BAB V PENUTUP
5.1 KESIMPULAN 75
5.2 SARAN 75
DAFTAR PUSTAKA 77
LAMPIRAN
RIWAYAT HIDUP PENULIS
86
DAFTAR GAMBAR