Kelas
4 D4 Telekomunikasi A
Anggota kelompok
Pitaloka Fortuna Dewi S 1210161002
Christian Jeremia 1210161006
Dhea Amalia Lutfiani 1210161013
Iis Nur Kumalasari 1210161016
Muhammad Hamzah 1210161026
TEKNIK TELEKOMUNIKASI
DEPARTEMEN ELEKTRO
POLITEKNIK ELETRONIKA NEGERI SURABAYA
A. LATAR BELAKANG
Kemajuan teknologi sekarang ini terjadi dengan sangat pesat seiring dengan
berkembangnya ilmu pengetahuan. Konsep pemenuhan segala kebutuhan di upayakan dapat
terjadi secara cepat dan mudah. Salah satu kebutuhan yang penting untuk masyarakat adalah
layanan pembelian tiket transportasi umum maupun khusus, contohnya adalah pembelian tiket
pesawat.
Pembelian tiket pesawat pada waktu-waktu tertentu bisa menjadi sebuah hal yang sangat
merepotkan karena harus melalui antrian panjang yang pastinya menghabiskan waktu berharga
dari pelanggan. Untuk mengatasi permasalahan ini dibuat sebuah sistem pemesanan tiket
pesawat melalui telepon dengan teknologi IVR (Interactive Voice Respons) sehingga
pelanggan tidak perlu pergi ke tempat pembelian tiket dan bisa dilakukan dimana saja. Sistem
pemesanan tiket dilakukan dengan cara pelanggan (yang akan membeli tiket) menelepon
nomor server dari maskapai penerbangan yang akan digunakan kemudian secara otomatis pada
saat server sedang kosong atau tidak melayani panggilan lain panggilan akan langsung diterima
dan secara otomatis dilayani oleh server. System pelayanan pada teknologi ini dilakukan secara
otomatis dan runtut sesuai dengan program yang dibangun dan file rekaman suara yang
dijalankan, sehingga tidak dibutuhkan banyak customer service untuk melayani panggilan
yang masuk. Digunakan system inbound dan outbound pada project yang di bangun.
Pada saat melakukan pemesanan tiket, pelanggan akan diminta untuk memasukkan
beberapa data penting diantaranya adalah nomor telepon, tanggal atau jadwal penerbangan,
dan data diri berupa nomor e-KTP. Nomor telepon ini nantinya akan disimpan di dalam
database untuk kemudian akan digunakan pada remainder di system outboung dimana secara
otomatis pada hari sebelum jadwal penerbangan server akan menghubungi pelanggan untuk
mengingatkan jadwal penerbang yang telah dipesan. Kemudian informasi tanggal penerbangan
ini akan disimpan didalam database begitupula data nomor e-KTP. Digunakan nomor e-KTP
karena pada suatu system pembelian tiket pasti dibutuhkan keterangan data diri dari
penumpang, namun dengan system IVR ini untuk memasukkan data diri berupa huruf alpabet
cukup sulit untuk dilakukan sehingga digunakan nomor identitas e-KTP yang mana milik
masing-masing individu adalah berbeda.
Dalam system pemesanan tiket ini disediakan beberapa pilihan diantaranya adalah tujuan
penerbangan, kelas penerbangan (bisa memilih ekonomi atau bisnis), dan jadwal penerbangan
(berupa jam penerbangan yang tersedia untuk masing-masing kelas penerbangan dan tujuan
yang dipilih). Untuk menentukan pilihan pelanggan hanya perlu menekan nomor pilihan sesuai
dengan yang dipilih.
Sehingga dengan menggunakan system pembelian tiket dengan menggunakan teknologi
IVR ini mempermudah pelanggan untuk membeli tiket, efisiensi waktu, serta dapat dilakukan
oleh semua orang yang memiliki telepon seluler meskipun tidak memiliki jaringan internet.
1
B. DESAIN SISTEM
Pada Proyek Tengah Semester ini, Desain sistem dalam aplikasi yang kami buat yaitu
“Aplikasi Pemesanan Tiket Pesawat” adalah seperti gambar 1 berikut.
C. PARAMETER
Dalam perancangan sistem aplikasi yang dibuat, akan memuat parameter-parameter berupa :
- Pilihan rute
- Pilihan kelas pesawat
- Pilihan jam penerbangan
D. FLOWCHART
Dalam pembuatan “Aplikasi Pemesanan Tiket Pesawat” digunakan sistem layanan IVR
secara outbound serta inbound. Untuk mempermudah pembuatan sistem yang mencakup
program serta implementasi secara langsung, dibuat terlebih dahulu flowchart dari masing-
masing sistem layanan. Oleh karena itu terdapat dua flowchart yang digunakan pada aplikasi
ini. Sebagaimana yang ditunjukan pada gambar 2 untuk flowchart layanan inbound serta
gambar 3 untuk flowchart layanan outbound.
2
Gambar 2. Flowchart Layanan Inbound
3
Gambar 3. Flowchart Layanan Outbound
E. FILE WAV
File wav yang digunakan untuk layanan inbound
Proses Nama File Kalimat
Salam Pembuka salampembuka.wav Selamat datang dalam layanan
jadwal penerbangan, silakan
masukan no telepon anda
Masukan data tanggal pemesanan Tanggalpemesanan.wav Masukan data tanggal pemesanan
tiket pesawat
Apakah data tanggal benar? Cek_tanggal.wav Apakah data tanggal pemesanan
yang anda inputkan sudah benar?
Tekan 1 jika data tanggal benar
Tekan 2 jika data tanggal salah
Pilih rute pilihan Pilih_rute.wav Pilih rute
Tekan 1 untuk rute penerbangan
jakarta
Tekan 1 untuk rute penerbangan
Bali
4
Proses Nama File Kalimat
Tekan * untuk keluar
Pemilihan kelas penerbangan tujuan Kelas_jakarta.wav Pilih kelas pesawat
jakarta Tekan 1 untuk bisnis
Tekan 2 untuk ekonomi
Tekan # untuk kembali ke
pemilihan rute
Pemilihan kelas penerbangan tujuan Kelas_bali.wav Pilih kelas pesawat
bali Tekan 1 untuk bisnis
Tekan 2 untuk ekonomi
Tekan # untuk kembali ke
pemilihan rute
Pemilihan jadwal penerbangan Jadwal_bisnis_JKT.wav Pilih jadwal penerbangan kelas
kelas bisnis tujuan jakarta bisnis
Tekan 1 untuk penerbangan pukul
09.00 WIB
Tekan 2 untuk penerbangan pukul
12.00 WIB
Tekan # untuk kembali ke
pemilihan rute
Pemilihan jadwal penerbangan Jadwal_ekonomi_JKT.wav Pilih jadwal penerbangan kelas
kelas ekonomi tujuan jakarta ekonomi
Tekan 1 untuk penerbangan pukul
06.00 WIB
Tekan 2 untuk penerbangan pukul
19.00 WIB
Tekan # untuk kembali ke
pemilihan rute
Pemilihan jadwal penerbangan Jadwal_bisnis_BL.wav Pilih jadwal penerbangan kelas
kelas bisnis tujuan Bali bisnis
Tekan 1 untuk penerbangan pukul
08.00 WIB
Tekan 2 untuk penerbangan pukul
17.00 WIB
Tekan # untuk kembali ke
pemilihan rute
Pemilihan jadwal penerbangan Jadwal_ekonomi_BL.wav Pilih jadwal penerbangan kelas
kelas ekonomi tujuan Bali ekonomi
Tekan 1 untuk penerbangan pukul
10.00 WIB
Tekan 2 untuk penerbangan pukul
15.00 WIB
Tekan # untuk kembali ke menu
utama
Tekan # untuk kembali ke
pemilihan rute
Info penerbangan JKT bisnis 09.00 Info1.wav Anda memilih rute pilihan jakarta
dengan jadwal penerbangan kelas
bisnis pukul 09.00 WIB
Info penerbangan JKT bisnis 12.00 Info2.wav Anda memilih rute pilihan jakarta
dengan jadwal penerbangan kelas
bisnis pukul 12.00 WIB
Info penerbangan JKT ekonomi Info3.wav Anda memilih rute pilihan jakarta
06.00 dengan jadwal penerbangan kelas
ekonomi pukul 06.00 WIB
Info penerbangan JKT ekonomi Info4.wav Anda memilih rute pilihan jakarta
19.00 dengan jadwal penerbangan kelas
ekonomi pukul pukul 19.00 WIB
5
Proses Nama File Kalimat
Info penerbangan BL bisnis 08.00 Info5.wav Anda memilih rute pilihan jakarta
dengan jadwal penerbangan kelas
bisnis pukul 08.00 WIB
Info penerbangan BL bisnis 17.00 Info6.wav Anda memilih rute pilihan bali
dengan jadwal penerbangan kelas
bisnis pukul 17.00 WIB
Info penerbangan BL Ekonomi Info7.wav Anda memilih rute pilihan bali
10.00 dengan jadwal penerbangan kelas
ekonomi pukul 10.00 WIB
Info penerbangan BL ekonomi Info8.wav Anda memilih rute pilihan bali
15.00 dengan jadwal penerbangan kelas
ekonomi pukul 15.00 WIB
Isi nomor E-KTP Isi_ktp.wav Silahkan isi data diri berupa nomor
E-KTP
Cek nomor E-KTP No_ektp Nomor ektp anda adalah
Konfirmasi E-KTP Cek_ektp.waav Apakah data nomor ektp yang anda
inputkan sudah benar
Tekan 1 jika data E-KTP benar
Tekan 2 jika data E-KTP salah
Salam penutup salampenutup.wav Terima kasih telah menggunakan
layanan pemesanan tiket pesawat.
Untuk pembayaran silahkan
transfer melalui bank mandiri
dengan nomor rekening
1400015919047
6
F. DATABASE
Pada sistem yang dibuat diperlukan sebuah database untuk menyimpan data data pelanggan
saat diinputkan melalui layanan inbound. Lalu berdasarkan data yang ada pada database sistem
layanan outbound akan berjalan. Data pelanggan berada pada satu tabel bernama ‘data’ yang
berisi 5 field seperti Gambar 4.
Field no_telp akan diinputkan secara manual melalui phpmyadmin dikarenakanan sistem
ivr tidak dapat mendeteksi no telepon yang masuk secra otomatis saat call berlangsung. Selain
itu field no_telp juga digunakan sebagai primary key bagi data lain saat field lain akan
diinputkan. Sedangkan empat field lainnya akan terisi secara otomatis melalui fungsi detect
digit pada program yang dibuat kemudian diupdate kan ke database nya. Setelah database
terisi, maka tampilan databasae akan sesuai dengan Gambar 5
G. PROGRAM
Program layanan inbound
#define W32_LEAN_AND_MEAN
#include <winsock2.h>
#include "mysql.h"
#include <windows.h>
#include <fcntl.h>
#include <srllib.h>
#include <dxxxlib.h>
#include <stdio.h>
#include <string.h>
#include <time.h>
7
tpt[0].tp_termno=DX_MAXDTMF;
tpt[0].tp_length=x;
tpt[0].tp_flags=TF_MAXDTMF;
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)
{
printf("Error get digit\n");
exit(1);
}
printf("get digit succes\n");
for(cnt=0;cnt<numdigs;cnt++)
{
digit[cnt]=digp.dg_value[cnt];
}
return(digp.dg_value[0]);
}
8
char number[4],dig[10];
int tanggal_pemesanan, info_penerbangan;
char query[100],terupdate[100],query1[100],terupdate1[100];
MYSQL mysql;
MYSQL_RES *result;
MYSQL_ROW row;
MYSQL *hnd=NULL;
//koneksi ke mysql
hnd = mysql_init(NULL);
if(!mysql_connect(hnd,host,user,paswd))
{
printf(mysql_error(hnd));
}
if(mysql_select_db(hnd,db))
{
printf(mysql_error(hnd));
}
PlaySuara(chdev,"isi_ktp.wav");
number[0]=DetectDigit(chdev,dig,1);
number[1]=DetectDigit(chdev,dig,1);
number[2]=DetectDigit(chdev,dig,1);
number[3]=DetectDigit(chdev,dig,1);
number[4]='\0';
angka=atoi(number);
PlaySuara(chdev,"no_ektp.wav");
//Angka pertama//
if(number[0]=='1')
{
PlaySuara(chdev,"satu.wav");
}
else if(number[0]=='2')
{
PlaySuara(chdev,"dua.wav");
}
else if(number[0]=='3')
{
PlaySuara(chdev,"tiga.wav");
}
else if(number[0]=='4')
{
PlaySuara(chdev,"empat.wav");
}
else if(number[0]=='5')
{
PlaySuara(chdev,"lima.wav");
}
else if(number[0]=='6')
{
PlaySuara(chdev,"enam.wav");
}
else if(number[0]=='7')
{
PlaySuara(chdev,"tujuh.wav");
}
else if(number[0]=='8')
{
9
PlaySuara(chdev,"delapan.wav");
}
else if(number[0]=='9')
{
PlaySuara(chdev,"sembilan.wav");
}
else if(number[0]=='0')
{
PlaySuara(chdev,"nol.wav");
}
//Angka kedua//
if(number[1]=='1')
{
PlaySuara(chdev,"satu.wav");
}
else if(number[1]=='2')
{
PlaySuara(chdev,"dua.wav");
}
else if(number[1]=='3')
{
PlaySuara(chdev,"tiga.wav");
}
else if(number[1]=='4')
{
PlaySuara(chdev,"empat.wav");
}
else if(number[1]=='5')
{
PlaySuara(chdev,"lima.wav");
}
else if(number[1]=='6')
{
PlaySuara(chdev,"enam.wav");
}
else if(number[1]=='7')
{
PlaySuara(chdev,"tujuh.wav");
}
else if(number[1]=='8')
{
PlaySuara(chdev,"delapan.wav");
}
else if(number[1]=='9')
{
PlaySuara(chdev,"sembilan.wav");
}
else if(number[1]=='0')
{
PlaySuara(chdev,"nol.wav");
}
//Angka ketiga//
if(number[2]=='1')
{
PlaySuara(chdev,"satu.wav");
}
10
else if(number[2]=='2')
{
PlaySuara(chdev,"dua.wav");
}
else if(number[2]=='3')
{
PlaySuara(chdev,"tiga.wav");
}
else if(number[2]=='4')
{
PlaySuara(chdev,"empat.wav");
}
else if(number[2]=='5')
{
PlaySuara(chdev,"lima.wav");
}
else if(number[2]=='6')
{
PlaySuara(chdev,"enam.wav");
}
else if(number[2]=='7')
{
PlaySuara(chdev,"tujuh.wav");
}
else if(number[2]=='8')
{
PlaySuara(chdev,"delapan.wav");
}
else if(number[2]=='9')
{
PlaySuara(chdev,"sembilan.wav");
}
else if(number[2]=='0')
{
PlaySuara(chdev,"nol.wav");
}
//Angka keemoat//
if(number[3]=='1')
{
PlaySuara(chdev,"satu.wav");
}
else if(number[3]=='2')
{
PlaySuara(chdev,"dua.wav");
}
else if(number[3]=='3')
{
PlaySuara(chdev,"tiga.wav");
}
else if(number[3]=='4')
{
PlaySuara(chdev,"empat.wav");
}
else if(number[3]=='5')
{
PlaySuara(chdev,"lima.wav");
}
else if(number[3]=='6')
11
{
PlaySuara(chdev,"enam.wav");
}
else if(number[3]=='7')
{
PlaySuara(chdev,"tujuh.wav");
}
else if(number[3]=='8')
{
PlaySuara(chdev,"delapan.wav");
}
else if(number[3]=='9')
{
PlaySuara(chdev,"sembilan.wav");
}
else if(number[3]=='0')
{
PlaySuara(chdev,"nol.wav");
}
PlaySuara(chdev,"cek_ektp.wav");
number[0]=DetectDigit(chdev,dig,1);
number[1]='\0';
if(number[0]=='1')
{
sprintf(terupdate,"update pelanggan set no_ktp=%d where
no_telp=%d", angka,no_telp);
mysql_query(hnd,terupdate);
result=mysql_use_result(hnd);
mysql_close(hnd);
}
else if(number[0]=='2')
{
goto ektp;
}
char number[10],dig[10];
int chdev,no_telp, tanggal_pemesanan, info_penerbangan;
char query[100],terupdate[100],query1[100],terupdate1[100];
MYSQL mysql;
MYSQL_RES *result;
MYSQL_ROW row;
MYSQL *hnd=NULL;
MYSQL *hnd1=NULL;
//koneksi ke mysql
hnd = mysql_init(NULL);
if(!mysql_connect(hnd,host,user,paswd))
{
printf(mysql_error(hnd));
}
if(mysql_select_db(hnd,db))
{
printf(mysql_error(hnd));
}
12
hnd1 = mysql_init(NULL);
if(!mysql_connect(hnd1,host,user,paswd))
{
printf(mysql_error(hnd1));
}
if(mysql_select_db(hnd1,db))
{
printf(mysql_error(hnd1));
}
awal:
//Open channel//
if((chdev = dx_open("dxxxB1C2",NULL))==-1)
{
printf("Error open channel");
exit(1);
}
printf("open channel succes\n"); //Set on hook//
if(dx_sethook(chdev,DX_ONHOOK,EV_SYNC)==-1)
{
printf("Error on hook");
exit(1);
}
printf("Onhook succes\n"); //Wait ring tone//
if(dx_wtring(chdev,2,DX_OFFHOOK,-1)==-1)
{
printf("Error off hook");
exit(1);
}
printf("off hook succes\n");
pembuka:
PlaySuara(chdev, "salampembuka.wav");
//Input no telpon//
number[0]=DetectDigit(chdev,dig,1);
number[1]=DetectDigit(chdev,dig,1);
number[2]=DetectDigit(chdev,dig,1);
number[3]=DetectDigit(chdev,dig,1);
number[4]='\0';
no_telp=atoi(number);
PlaySuara(chdev,"cek_tanggal.wav");
number[0]=DetectDigit(chdev,dig,1);
number[1]='\0';
if(number[0]=='1')
{
sprintf(terupdate,"update pelanggan set tgl_pemesanan=%d where
no_telp=%d", tanggal_pemesanan,no_telp);
13
mysql_query(hnd,terupdate);
result=mysql_use_result(hnd);
mysql_close(hnd);
rute:
PlaySuara(chdev,"pilih_rute.wav");
number[0]=DetectDigit(chdev,dig,1);
number[1]='\0';
if(number[0]=='1')
{
PlaySuara(chdev,"kelas_jakarta.wav");
number[0]=DetectDigit(chdev,dig,1);
number[1]='\0';
if(number[0]=='1')
{
PlaySuara(chdev,"jadwal_bisnis_JKT.wav");
number[0]=DetectDigit(chdev,dig,1);
number[1]='\0';
if(number[0]=='1')
{
info_penerbangan = 9;
PlaySuara(chdev,"info1.wav");
pilihan_ektp(chdev, no_telp);
goto keluar;
}
else if(number[0]=='2')
{
info_penerbangan = 12;
PlaySuara(chdev,"info2.wav");
pilihan_ektp(chdev, no_telp);
goto keluar;
}
else if(number[0]=='#')
{
goto rute;
}
}
else if(number[0]=='2')
{
PlaySuara(chdev,"jadwal_ekonomi_JKT.wav");
number[0]=DetectDigit(chdev,dig,1);
number[1]='\0';
if(number[0]=='1')
{
14
info_penerbangan = 6;
PlaySuara(chdev,"info3.wav");
pilihan_ektp(chdev, no_telp);
goto keluar;
}
else if(number[0]=='2')
{
info_penerbangan = 19;
PlaySuara(chdev,"info4.wav");
pilihan_ektp(chdev, no_telp);
goto keluar;
}
else if(number[0]=='#')
{
goto rute;
}
}
else if(number[0]=='#')
{
goto rute;
}
}
else if(number[0]=='2')
{
PlaySuara(chdev,"kelas_bali.wav");
number[0]=DetectDigit(chdev,dig,1);
number[1]='\0';
if(number[0]=='1')
{
PlaySuara(chdev,"jadwal_bisnis_BL.wav");
number[0]=DetectDigit(chdev,dig,1);
number[1]='\0';
if(number[0]=='1')
{
info_penerbangan = 8;
PlaySuara(chdev,"info5.wav");
15
pilihan_ektp(chdev, no_telp);
goto keluar;
}
else if(number[0]=='2')
{
info_penerbangan = 17;
PlaySuara(chdev,"info6.wav");
pilihan_ektp(chdev, no_telp);
goto keluar;
}
else if(number[0]=='#')
{
goto rute;
}
}
else if(number[0]=='2')
{
PlaySuara(chdev,"jadwal_ekonomi_BL.wav");
number[0]=DetectDigit(chdev,dig,1);
number[1]='\0';
if(number[0]=='1')
{
info_penerbangan = 10;
PlaySuara(chdev,"info7.wav");
pilihan_ektp(chdev, no_telp);
goto keluar;
}
else if(number[0]=='2')
{
info_penerbangan = 15;
PlaySuara(chdev,"info8.wav");
pilihan_ektp(chdev, no_telp);
goto keluar;
}
else if(number[0]=='#')
16
{
goto rute;
}
}
else if(number[0]=='#')
{
goto rute;
}
}
else if(number[0]=='*')
{
goto keluar;
}
}
else if(number[0]=='2')
{
goto pembuka;
}
else
{
keluar:
PlaySuara(chdev,"salampenutup.wav");
goto awal;
}
}
#define W32_LEAN_AND_MEAN
#include <winsock2.h>
#include "mysql.h"
#include <windows.h>
#include <fcntl.h>
#include <srllib.h>
#include <dxxxlib.h>
#include <stdio.h>
#include <string.h>
#include <time.h>
char data[10];
char data1[10];
int chdev;
DX_CAP capp;
char dialstrg[5]="2000";
int cares;
17
DV_DIGIT digp;
int numdigs,cnt;
dx_clrtpt(tpt,3);
tpt[0].tp_type=IO_CONT;
tpt[0].tp_termno=DX_MAXDTMF;
tpt[0].tp_length=x;
tpt[0].tp_flags=TF_MAXDTMF;
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)
{
printf("Error get digit\n");
exit(1);
}
printf("get digit succes\n");
for(cnt=0;cnt<numdigs;cnt++)
{\
digit[cnt]=digp.dg_value[cnt];
}
return(digp.dg_value[0]);
}
18
void main(int argc, char* argv[])
{
MYSQL *hnd=NULL; // mysql connection handle
MYSQL_RES *res=NULL; // result of querying for all rows in table
MYSQL_ROW row; //one row returned
char sql[1024]; // sql statement used to get all rows
int i,j=0,numf=0; // number of fields returned from the query
int x,bil;
const char *sinf=NULL; // mysql server information
hnd = mysql_init(NULL);
if(NULL==mysql_real_connect(hnd,SERVER_NAME,DB_USER,DB_USERPASS,DB_NAME
,0,NULL,0))
{
fprintf(stderr,"ada masalah\n");
}
else
{
fprintf(stdout,"koneksi ok\n");
sinf = mysql_get_server_info(hnd);
if (sinf != NULL)
{
fprintf(stdout,"Got server information: '%s'\n",sinf);
balik:
sprintf(sql,"select NOW()");
if (!mysql_query(hnd,sql))
{
res = mysql_use_result(hnd);
if (res)
{
while (row=mysql_fetch_row(res))
{
for (i=0;i<mysql_num_fields(res);i++)
{
strcpy(data,row[i]);
printf("%s\n",data);
}
}
}
else
{
fprintf(stderr,"Failed to use the result
acquired!\n");
}
}
19
printf("%d", bil);
if((chdev = dx_open("dxxxB1C2",NULL))==-1)
{
printf("Error open channel");
exit(1);
}
printf("open channel succes\n");
awal:
if(dx_sethook(chdev,DX_OFFHOOK,EV_SYNC)==-1)
{
printf("Error off hook");
exit(1);
}
if((cares=dx_dial(chdev,dialstrg,&capp,DX_CALLP|EV_SYNC))
== -1 )
{
printf("error dial");
exit(0);
}
printf("proses dial");
switch(cares)
{
case CR_CNCT:
printf("answer\n");
PlaySuara(chdev,"salampembuka.wav");
// PlaySuara(chdev,"status.wav");
if(bil==6)
{
PlaySuara(chdev,"j_enam.wav");
}
else if(bil==8)
{
PlaySuara(chdev,"j_delapan.wav");
}
else if(bil==9)
{
PlaySuara(chdev,"j_sembilan.wav");
}
else if(bil==10)
{
PlaySuara(chdev,"j_sepuluh.wav");
}
else if(bil==12)
{
PlaySuara(chdev,"j_duabelas.wav");
}
else if(bil==15)
{
PlaySuara(chdev,"j_limabelas.wav");
}
else if(bil==17)
{
PlaySuara(chdev,"j_tujuhbelas.wav");
20
}
else if(bil==19)
{
PlaySuara(chdev,"j_sembilanbelas.wav");
}
break;
case CR_BUSY:
printf("Busy");
if(dx_sethook(chdev,DX_ONHOOK,EV_SYNC)==-1)
{
printf("Error on hook\n");
exit(1);
}
if(dx_sethook(chdev,DX_ONHOOK,EV_SYNC)==-1)
{
printf("Error on hook\n");
exit(1);
}
printf("on hook succes\n");
printf("\ntunggu 10 detik\n");
Sleep(10000);
goto awal;
break;
default :
printf("else");
printf("\ntunggu 10 detik\n");
Sleep(10000);
goto awal;
break;
}
PlaySuara(chdev,"salampenutup.wav");
if(dx_sethook(chdev,DX_ONHOOK,EV_SYNC)==-1)
{
printf("Error on hook\n");
exit(1);
}
21
else
{
fprintf(stderr,"Failed to execute query. Ensure table is
valid!\n");
}
}
else
{
fprintf(stderr,"Failed to retrieve the server information string.\n");
}
}
mysql_free_result(res);
goto balik;
mysql_close(hnd);
}
22