• Tidak ada hasil yang ditemukan

PERCOBAAN 9 APLIKASI DATABASE UNTUK PEMROGRAMAN IVR

N/A
N/A
Protected

Academic year: 2021

Membagikan "PERCOBAAN 9 APLIKASI DATABASE UNTUK PEMROGRAMAN IVR"

Copied!
16
0
0

Teks penuh

(1)

PERCOBAAN 9

APLIKASI DATABASE UNTUK PEMROGRAMAN IVR

9.1. Tujuan :

Setelah melaksanakan praktikum ini mahasiswa diharapkan mampu : • Membuat Database Layanan IVR dengan MS-Access

• Membuat koneksi antara Database dengan C++ • Menjalankan rogram IVR dengan aplikasi database 9.2. Peralatan :

• PABX

• 2 pesawat Telepon

• 1 PC dilengkapi dengan Dialogic Card (D/41JCT-LS atau D/4PCI-U)

9.3. Teori :

9.3.1. Menyiapkan Aplikasi Data Base

Aplikasi data base diperlukan jika Layanan sistim informasi menggunakan jenis data inventory, yaitu data yang memerlukan inventarisasi, seperti data Pelanggan, data Jenis Barang, data Nilai Mahasiswa dan sebagainya. Data base yang digunakan dalam sistim Layanan ini adalah Data base Microsoft Access. Tidak menutup kemungkinan menggunakan jenis data base yang lain, selama data base tersebut dapat di-akses dari program C yang disediakan oleh Dialogic.

Langkah-langkah yang diperlukan untuk menyiapkan aplikasi data base adalah : 1. Membuat Tabel

2. Membuka ODBC untuk koneksi Database dengan C++ 3. Mengaktifkan ADODC dan ADO Data Grid

(2)

1. Membuat Tabel

Buka Microsoft Access, pilih File Æ New Æ blank Database Æ Create Table in Design view. Isi nama field dan tipe masing-masing field. Simpan dengan nama tertentu (tanpa Primary key).

Gambar 9.1. Tampilan field untuk Tabel pada Microsoft Access

Buka file Tabel yang sudah dibuat tadi. Isi masing-masing field dengan informasi yang diperlukan.

Gambar 9.2. Isi Masing-masing Field Keluar dari Tabel

(3)

2. Membuka ODBC (Open Database Connectivity)

ODBC adalah standarisasi yang diperlukan jika kita ingin mengakses database melalui aplikasi tertentu. ODBC membangun semacam layer tengah antara program aplikasi dan Database Management System (DBMS).

Cara mengaktifkan ODBC pada Windows adalah sebagai berikut : Control Panel Æ Administrative Tools Æ Data Source (ODBC)

Pada Data Source Æ System DSN Æ Add Æ Driver do Microsoft Access Æ Finish

Gambar 9.3. Tampilan ODBC

Pada ODBC Microsoft Access Setup :

Data Source Name : …… (beri nama file untuk menghubungkan Database Access dengan C++).

Description : ……(bisa diberi nama yang sama dengan di atas).

Pilih Select Æ cari directory dimana database Access 97 disimpan. Æ Ok. Keluar dari ODBC.

(4)

3. Mengaktifkan ADODC dan ADO Data Grid

ADODC (ActiveX Database Object Data Control) adalah tool untuk mengontrol data dari sebuah database melalui program aplikasi (seperti Visual C++, Visual basic). Dengan tool ADODC ini data yang sudah ditulis pada Tabel Access dapat diambil atau diedit melalui program aplikasi tersebut.

ADO Data Grid adalah tool untuk mendisplay kan data dari database access ke dalam display program aplikasi, sehingga melalui program aplikasi user dapat melihat isi field-field dari database yang diakses.

Langkah-langkah untuk mengaktifkan ADODC dan ADO Data Grid : a. Buka Visual C++ , buat Proyek baru.

File Æ New Æ MFC AppWizard (exe) Æ beri nama file (untuk proyek) Æ buka Dialog Box .

b. Menambah Microsoft ADO Data Control version 6.0 (OLEDB).

Project Æ Add to Project Æ Component & Control Æ pilih : folder Registered

ActiveX Control Æ Microsoft ADO Data Control version 6.0 (OLEDB) Æ Insert Æ Ok.

Akan muncul komponen baru pada kotak Dialog (warna hijau). c. Menambah Microsoft Data Grid Control version 6.0 (OLEDB).

Project Æ Add to Project Æ Component & Control Æ pilih : folder Registered

ActiveX Control Æ Microsoft ADO Data Control version 6.0 (OLEDB) Æ Insert Æ Ok.

Akan muncul komponen baru pada kotak Dialog (warna merah). Tutup Component and Control Gallery.

(5)

Gambar 9.4. Component and Control Gallery

d. Mengatur Property ADODC Kembali ke Dialog Box.

Drag komponen hijau (ADO Data Control) ke Dialog Box Æ klik kanan object : Properties Æ Control Æ Use ODBC Data Source Name : … (pilih nama database source yang sudah dibuat dengan ODBC).

Properties Æ record Sources Æ Command Type : 2-adcmdTable (jenis pekerjaan yang akan dikoneksikan berbentuk Tabel) Æ Table or Stored Procedure Name : …(pilih nama Tabel yang akan dikoneksikan).

Tool ADODC

Tool ADO Datagrid

(6)

Seluruh property yang sudah di set untuk ADO DC akan ditampilkan di menu All pada Properties ADODC.

e. Mengatur Property ADO Datagrid Kembali ke Dialog Box.

Drag komponen merah (ADO Datagrid) ke Dialog Box Æ klik kanan object : Properties Æ All Æ Pilih Data Source : … (pilih nama IDC_ADODC1).

Properties Æ Control Æ centang pada : AllowAddNew dan AllowDelete, sehingga pada Property All diberi nilai True. Fungsi ini digunakan untuk penambahan dan pengurangan pada Datagrid yang ditampilkan di Dialog Box, yang akan menyebabkan terjadinya perubahan pula pada Dabase Access-nya.

Pilih IDC_ADODC1 Jadikan: True

Gambar 9.6. Tampilan Property All untuk pengaturan ADO Datagrid

5. Me-run database melalui aplikasi C++

Setelah seluruh persiapan sudah dilakukan, akan dilakukan eksekusi tombol-tombol yang sudah dibuat pada Dialog Box melalui C++. Tombol-tombol-tombol yang sudah dibuat tersebut secara otomatis sudah dibangkitkan program-nya di Project sheet. Langkah-langkah meng-eksekusi program tersebut adalah sebagai berikut :

Pilih Build Æ Rebuild All Æ tunggu beberapa saat sampai proses build selesai. Jika tidak ada kesalahan, lanjutkan dengan eksekusi program :

(7)

Setelah proses eksekusi selesai, akan ditampilkan isi dari file database ke dalam program C++, seperti ditunjukkan pada Gambar 9.7.

Gambar 9.7. Hasil Eksekusi Isi database pada Dialog Box

9.3.2. Program Query untuk meng-akses database melalui aplikasi C++

Database adalah tempat untuk menyediakan data. Biasanya tersedia bahasa SQL untuk melakukan manipulasi data pada program database itu sendiri (misalkan pada MS Access 2003, MySQL, SQL Server 2000 dsb).

Pada praktikum ini, database MS Access yang digunakan akan dipanggil oleh aplikasi C++, sebagai program utama, untuk diambil data-data yang disimpan dalam database tersebut. Selanjutnya, data yang sudah diambil ini akan dproses dengan C++ untuk keperluan yang diinginkan.

Proses pemanggilan data menggunakan query seperti ditunjukkan pada program di bawah ini :

query="select Bulan_1 from Pelanggan where No_plg like'"+ nom +"'"; m_baris.SetCommandType(1); m_baris.SetRecordSource(query); m_baris.Refresh(); m_data.SetRefDataSource(m_baris.GetDSCCursor()); dataa=m_data.GetText(); char *data1; data1=dataa.GetBuffer(255);

(8)

Proses query di atas menyatakan, dilakukan seleksi pada Kolom Bulan_1 dari Tabel Pelanggan, dimana Kolom No_plg nya bernilai sama dengan nilai ‘nom’. Nilai nom adalah nilai yang diinputkan. Sedangkan variabel m_baris adalah member variabel dari IDC ADODC1 yang ditambahkan melalui Class Wizard. Demikian pula m_data merupakan member variabel yang ditambahkan pada Class Wizard dari DataGrid. Kedua nama ini boleh dibuat bebas.

Jenis data yang diambil tersebut berupa karakter (char). Jika ingin diubah ke integer, cukup ditambahkan syntax atoi (nama var yang akan diubah).

9.3.3. Membuat Aplikasi Layanan Informasi

Aplikasi ini merupakan aplikasi lanjutan dari tiga jenis aplikasi yang sudah dibahas, yaitu Kenal Digit, Play dan aplikasi Database. Untuk membuat aplikasi ini perlu dijelaskan gambaran proyek yang akan dibuat.

Akan dibuat sebuah sistim layanan Tagihan PLN untuk pelanggan Rumah. Aplikasi ini berisi jumlah tagihan pelanggan setiap bulan selama 3 bulan terakhir.

- Field-field yang disiapkan untuk database adalah : 1. Nomor pelanggan (number 4 digit)

2. Nama pelanggan (text 25)

(9)

- Sedangkan jenis file wav yang akan dibunyikan adalah seperti pada Tabel 9.1

Tabel 9.1. Tabel Isi file wav

Nama file Kalimat

welcome.wav Selamat datang dalam layanan Informasi Tagihan PLN Wilayah Surabaya

input.wav Masukkan empat digit nomor pelanggan konfirmasi.wav Nomor pelanggan anda adalah

pilihan.wav

Tekan satu untuk bulan kesatu, tekan dua untuk bulan kedua, tekan tiga untuk bulan ketiga, tekan pagar untuk kembali ke menu pilihan, tekan bintang untuk keluar

satu.wav satu

dua.wav dua

tiga.wav tiga

empat.wav empat

ribu.wav ribu

limapuluhribu.wav lima puluh ribu enampuluhribu.wav enam puluh ribu tujuhpuluhlimaribu.wav tujuh puluh lima ribu sembilanpuluhribu.wav sembilan puluh ribu seratusribu.wav seratus ribu

seratusduapuluhribu.wav seratus dua puluh ribu

rupiah.wav rupiah

bulan1.wav Tagihan anda bulan ke satu adalah bulan2.wav Tagihan anda bulan ke dua adalah bulan3.wav Tagihan anda bulan ke tiga adalah keluar.wav

Terima kasih telah menggunakan sistim layanan ini. Untuk pengaduan silakan hubungi lima sembilan empat tiga tiga empat empat.

Diagram Alir cara pengaksesan Sistim Layanan Informasi PLN ditunjukkan pada gambar 9.8.

(10)

Tekan nomor.server

Connect Y

N

‘1’ Tagihan bulan ke-1

‘2’

‘3’

Tagihan bulan ke-2

Tagihan bulan ke-3

‘ #’ ‘*’’ Y Y Y N N N Pilihan Bulan 1 Bulan ke-1 2 Bulan ke-2 3 Bulan ke-3

# Kembali ke pilihan bulan * Keluar N Y 4 digit nomor pelanggan STOP START

Gambar 9.8. Diagram Alir cara pengaksesan Sistim Layanan Informasi PLN

(11)

Tekan nomor.server Connect Y N ‘1’ Bulan1.wav ‘2’ ‘3’ ‘ #’ Bulan2.wav ‘*’’ N Y N N Y Bulan3.wav N Y Y Keluar.wav STOP pilihan.wav input.wav welcome.wav START

(12)

9.4. Prosedur Percobaan :

1. Siapkan file-file wav yang akan digunakan, dengan cara merekam melalui SAMPLE PROGRAM atau menggunakan software AUDACITY (penjelasan tersendiri). Isi dari file wav seperti pada Tabel 9.1.

2. Siapkan Tabel menggunakan MS-Access seperti pada Gambar 9.10. Namai : Pelanggan

Gambar 9.10. Pembuatan Field-field

3. Isilah masing-masing field dengan record seperti ditunjukkan pada Gambar 9.11.

Gambar 9.11. Pengisian Record di masing-masing Field

4. Aktifkan ODBC, isi data Source Name (nama yang digunakan sebagai penghubung Database dan C++). Pilih Select, cari directory dimana Tabel Pelanggan tadi disimpan Æ Ok. Keluar dari ODBC.

5. Buka C++, buat Project baru untuk Sistim Layanan ini (caranya seperti pada Percobaan sebelumnya).

6. Tambahkan fungsi ADODC dan ADO DataGrid (seperti dijelaskan pada sub bab 9.3.1).

(13)

8. Buat Main Program dengan mengaktifkan Tombol yang sudah dibuat. Main Program ditunjukkan pada gambar 9.12.

9. Jalankan program sampai tidak ada error yang didapat.

10. Panggil nomor server, dan tekan digit pilihan sesuai perintah yang anda dengarkan.

void CPLN4Dlg::OnTbl() {

// TODO: Add your control notification handler code here CString nomi;

int chdev;

char dig[10],nomor[5];

//Open channel//

if((chdev = dx_open("dxxxB1C1",NULL))==-1) { MessageBox("Error open channel"); exit(1); } //Set on hook// if(dx_sethook(chdev,DX_ONHOOK,EV_SYNC)==-1){ MessageBox("Error on hook"); exit(1); }

//Wait ring tone//

if(dx_wtring(chdev,2,DX_OFFHOOK,-1)==-1){ MessageBox("Error off hook"); exit(1); } Suara(chdev,"welcome.wav"); digit: Suara(chdev,"input.wav"); nomor[0]=GoDigit(chdev,dig,1); nomor[1]=GoDigit(chdev,dig,1); nomor[2]=GoDigit(chdev,dig,1); nomor[3]=GoDigit(chdev,dig,1); nomor[4]='\0'; nomi=nomor; //MessageBox(nomi); Suara(chdev,"konfirmasi.wav"); if(nomor[0]=='2') { Suara(chdev,"dua.wav"); Suara(chdev,"ribu.wav"); if(nomor[3]=='1') Suara(chdev,"satu.wav"); else if(nomor[3]=='2') Suara(chdev,"dua.wav"); else if(nomor[3]=='3') Suara(chdev,"tiga.wav"); else if(nomor[3]=='4') Suara(chdev,"empat.wav"); }

(14)

else

goto digit;

pilih(nomi); }

void CPLN4Dlg::pilih(CString nom) {

CString query1,dataa; char dig[10],bulan[2];

int chdev,dat1;

if((chdev = dx_open("dxxxB1C1",NULL))==-1) { MessageBox("Error open channel"); exit(1); } awal: Suara(chdev,"pilihan.wav"); bulan[0]=GoDigit(chdev,dig,1); bulan[1]='\0'; if (bulan[0]=='1') { Suara(chdev,"bulan1.wav");

query1="select Bulan_1 from Pelanggan where No_plg like'"+ nom +"'"; m_baris.SetCommandType(1); m_baris.SetRecordSource(query1); m_baris.Refresh(); m_data.SetRefDataSource(m_baris.GetDSCCursor()); dataa=m_data.GetText(); char *data1; data1=dataa.GetBuffer(255); dat1=atoi(data1); if(dat1==50000) { Suara(chdev,"50ribu.wav"); Suara(chdev,"rupiah.wav"); } else if(dat1==60000) { Suara(chdev,"60ribu.wav"); Suara(chdev,"rupiah.wav"); } else if(dat1==75000) { Suara(chdev,"75ribu.wav"); Suara(chdev,"rupiah.wav"); } else if(dat1==90000) { Suara(chdev,"90ribu.wav"); Suara(chdev,"rupiah.wav"); } else if(dat1==100000) { Suara(chdev,"100ribu.wav"); Suara(chdev,"rupiah.wav");

(15)

else if(dat1==120000) { Suara(chdev,"120ribu.wav"); Suara(chdev,"rupiah.wav"); } goto awal; } else if(bulan[0]=='2') { Suara(chdev,"bulan2.wav");

query1="select Bulan_2 from Pelanggan where No_plg like'"+ nom +"'"; m_baris.SetCommandType(1); m_baris.SetRecordSource(query1); m_baris.Refresh(); m_data.SetRefDataSource(m_baris.GetDSCCursor()); dataa=m_data.GetText(); char *data1; data1=dataa.GetBuffer(255); dat1=atoi(data1); if(dat1==50000) { Suara(chdev,"50ribu.wav"); Suara(chdev,"rupiah.wav"); } else if(dat1==60000) { Suara(chdev,"60ribu.wav"); Suara(chdev,"rupiah.wav"); } else if(dat1==75000) { Suara(chdev,"75ribu.wav"); Suara(chdev,"rupiah.wav"); } else if(dat1==90000) { Suara(chdev,"90ribu.wav"); Suara(chdev,"rupiah.wav"); } else if(dat1==100000) { Suara(chdev,"100ribu.wav"); Suara(chdev,"rupiah.wav"); } else if(dat1==120000) { Suara(chdev,"120ribu.wav"); Suara(chdev,"rupiah.wav"); } goto awal; } else if(bulan[0]=='3') { Suara(chdev,"bulan3.wav");

query1="select Bulan_3 from Pelanggan where No_plg like'"+ nom +"'";

m_baris.SetCommandType(1); m_baris.SetRecordSource(query1);

(16)

m_baris.Refresh(); m_data.SetRefDataSource(m_baris.GetDSCCursor()); dataa=m_data.GetText(); char *data1; data1=dataa.GetBuffer(255); dat1=atoi(data1); if(dat1==50000) { Suara(chdev,"50ribu.wav"); Suara(chdev,"rupiah.wav"); } else if(dat1==60000) { Suara(chdev,"60ribu.wav"); Suara(chdev,"rupiah.wav"); } else if(dat1==75000) { Suara(chdev,"75ribu.wav"); Suara(chdev,"rupiah.wav"); } else if(dat1==90000) { Suara(chdev,"90ribu.wav"); Suara(chdev,"rupiah.wav"); } else if(dat1==100000) { Suara(chdev,"100ribu.wav"); Suara(chdev,"rupiah.wav"); } else if(dat1==120000) { Suara(chdev,"120ribu.wav"); Suara(chdev,"rupiah.wav"); } goto awal; } else if(bulan[0]=='#') goto awal; else if(bulan[0]=='*') goto keluar; keluar: Suara(chdev,"keluar.wav"); }

9.5. Pertanyaan & Tugas :

Buat program Database Inventory sebuah toko berbasis IVR. Jenis toko terserah anda (usahakan hanya satu jenis saja supaya tidak terlalu banyak record yang diisikan, misalkan : toko roti, toko tanaman, toko obat dll). Disainlah variable yang diperlukan untuk pembuatan database. Buat flow chart pengaksesan dan lengkapi dengan breakdown menu pilihan.

Gambar

Gambar 9.1. Tampilan field untuk Tabel pada Microsoft Access
Gambar 9.3. Tampilan ODBC
Gambar 9.5. Tampilan Tool ADO DC dan ADO Datagrid pada Dialog Box
Gambar 9.6. Tampilan Property All untuk pengaturan ADO Datagrid
+6

Referensi

Dokumen terkait

PENERAPAN PROGRAM APLIKASI MICROSOFT ACCESS UNTUK DATA BARANG DI PT.SANWA PARTS INDONESIA.. LAPORAN KULIAH

Microsoft Access adalah program aplikasi basis data (database) yang dikeluarkan oleh Microsoft dalam satu paket Microsoft Office.Microsoft Access adalah suatu program aplikasi

PHP tidak menyediakan fungsi khusus untuk membuat tabel dengan field-fieldnya, sehingga untuk membuat tabel data tetap menggunakan sintaks dari program database MySQL yang

Pokok Bahasan : Pembuatan program master data beserta display berbasis database Microsoft Access 2007 dengan menggunakan Base Class SQLClient (1 tabel) Standar Kompetensi

Jika menggunakan tipe data ini untuk sebuah field, maka bisa memilih sebuah nilai dari tabel lain atau dari sebuah daftar nilai yang ditampilkan dalam

Berdasarkan hasil analisis data tentang permasalahan yang diteliti, yakni Program Aplikasi Perhitungan IP Mahasiswa Menggunakan Macro, dapat diambil kesimpulan bahwa

Tampilan database penggunaan data yang diambil dari aplikasi jasper Data-data yang terdapat di dalam database tersebut merupakan hasil dari aplikasi otomatisasi yang dapat melakukan