Download - Aplikasi Sistem Penerima Tamu

Transcript

PROYEK AKHIRPEMBUATAN SISTEM PENERIMA TAMU BERBASIS WIRELESS DAN VOICE PROCESSING BOARD ---VOICE PROCESSING BOARD---

oleh :

BAGUS WILANGGONO 7203030053

JURUSAN TELEKOMUNIKASI POLITEKNIK ELEKTRONIKA NEGERI SURABAYA INSTITUT TEKNOLOGI SEPULUH NOPEMBER SURABAYA 2006

PEMBUATAN SISTEM PENERIMA TAMU BERBASIS WIRELESS DAN VOICE PROCESSING BOARD ---VOICE PROCESSING BOARD--Oleh: BAGUS WILANGGONO 7203.030.053 Proyek Akhir ini Diajukan Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Ahli Madya (A.Md.) di Politeknik Elektronika Negeri Surabaya Institut Teknologi Sepuluh Nopember Surabaya Disetujui oleh Tim Penguji Proyek Akhir: Dosen Pembimbing:

1. Aries Pratiarso, ST, MT NIP.131 964 953

1. Amang Sudarsuno ST, MT NIP. 132 300 371

2. Ir Nonot Harsono, MT NIP. 131 964 535 3. Mike yuliana, ST NIP. 131 916 825

2. Ir. Prima Kristalina, MT NIP.131 916 852

Mengetahui: Ketua Jurusan Telekomunikasi

Drs. Miftahul Huda, MT NIP. 132.055.257

ii

ABSTRAKBel penerima tamu sekarang ini hanya mengirimkan tanda ada tamu dengan suara menyerupai alarm. Tanda ini tidak cukup memberikan informasi yang lengkap menenai tamu dan tamu juga tidak tahu keberadaan pemilik rumah. Agar pemilik rumah mendapatkan informasi yang lengkap mengenai tamu dan tamu mendapatkan informasi mengenai keberadaan pemilik rumah maka kami membuat sebuah sistem yang dapat mengirimkan gambar tamu ke pemilik rumah dan pemilik rumah rumah dapat melakukan pemberitahuan ke tamu. Proses pengiriman gambar dilakukan menggunakan teknologi bluetooth dan pemberitahuan pemilik rumah ke tamu menggunakan jalur telepon. Agar komputer dan telepon dapat melakukan komunikasi maka kita menggunakan teknologi voice processing board yaitu dialogic D 41/JCT-LS. Proyek akhir ini dibagi 2 subjudul yaitu WebCam dan Wireless dan voice processing board. Dalam buku ini dibahas bagaimana membuat sistem voice processing board. Sistem yang kami buat berjalan di sistem operasi linux debian. Pemrograman untuk dialogic menggunakan bahasa C. Sistem ini mengirimkan gambar tamu handphone pemilik rumah dan selanjutnya komputer melakukan panggilan ke pemilik rumah. Pemberitahuan pemilik rumah ke tamu melalui penekanan tombol sesui intruksi dari sistem. Kata kunci komputer, handphone, Bluetooth, dialogic D41/JCT-LS.

iii

ABSTRACTExisting house bell is just sending sign like an alarm sound. This sign is not enough because the house owner doesnt know who the guest is. Sending image process using bluetooth tegnology could inform the information to the house owner using line telephone. the interface between computer and telephone using dilaogic D41/JCT-LS. This project has 2 sub titles such as WEBCAM and WIRELESS and VOICE PROCESSING BOARD. This system using debian linux operating system and the soding using C programming. This system sending guest image and calling to the handphone of house owner. Keyword - handphone,Computer, Bluetooth, dialogic D41/JCT-LS

iv

KATA PENGANTAR

Syukur Alhamdulillah kami panjatkan kepada Allah SWT karena hanya dengan rahmat, hidayah dan inayah-Nya kami dapat menyelesaikan proyek akhir ini dengan judul : PEMBUATAN SISTEM PENERIMA TAMU BERBASIS WIRELESS DAN VOICE PROCESSING BOARD ---VOICE PROCESSING BOARD--Dalam menyelesaikan proyek akhir ini, kami berpegang pada teori yang pernah kami dapatkan dan bimbingan dari dosen pembimbing proyek akhir. Dan pihak pihak lain yang sangat membantu hingga samapi terselesaikannya proyek akhir ini. Proyek akhir ini merupakan salah satu syarat akademis untuk memperoleh gelar Ahli Madya (A.Md.) di Politeknik Elektronika Negeri Surabaya, Institut Teknologi Sepuluh Nopember Surabaya. Kami menyadari bahwa masih banyak kekurangan pada perancangan dan pembuatan buku proyek akhir ini. Oleh karena itu, besar harapan kami untuk menerima saran dan kritik dari para pembaca. Semoga buku ini dapat memberikan manfaaat bagi para mahasiswa Politeknik Elektronika Negeri Surabaya pada umumnya dan dapat memberikan nilai lebih untuk para pembaca pada khususnya.

Surabaya, juli 2006

Penyusun

v

UCAPAN TERIMA KASIHDalam 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 diberikanNya 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. 2. 3. 4. 5. 6. 7. 8. Ibu tercinta yang tak pernah lelah mendoakan aku. Bapak ku yang selalu sabar menghadapaiku. Yayangku yang selalu memberi motifasi dan dukungan fisik maupun moral Bapak Dr. Ir. Titon., M.Eng, selaku Direktur Politeknik Elektronika Negeri Surabaya sekaligus dosen pembimbing. Bapak Drs. Miftahul Huda, M.T selaku Ketua Jurusan Telekomunikasi Politeknik Elektronika Surabaya. Bapak Amang, ST, MT selaku dosen pembimbing dalam pembuatan Tugas Akhir ini. Ibu Prima, S.T selaku dosen pembimbing sekaligus Kepala Lab. Jaringan Komputer. Seluruh Dosen Penguji maupun Dosen bukan Penguji yang telah melontarkan pertanyaan dan sarannya yang sangat membantu dalam penyempurnaan Tugas Akhir ini. My lovely sister yang selalu memberikan dukungan dengan senyum dan nasehatnya.

9.

10. Semua anak kos yang selalu mengganggu ketenanganku. 11. Komputerku walau lemot tapi bermutu. 12. Ali walau printernya jelek tapi mau membantu.

vi

DAFTAR ISILembar Judul ................................................................................ i Lembar Pengesahan ...................................................................... ii Abstrak.......................................................................................... iii Abstract ......................................................................................... iv Kata Pengantar .............................................................................. v Ucapan Terima Kasih.................................................................... vi Daftar Isi ....................................................................................... vii Daftar Gambar............................................................................... x Daftar Tabel .................................................................................. xii BAB I PENDAHULUAN 1.1 Latar Belakang ............................................................. 1 1.2 Tujuan dan Manfaat ........................................................ 1 1.3 Perumusan Masalah ........................................................ 1 1.3 Batasan Masalah ............................................................ 1 1.3 Tujuan dan Manfaat ........................................................ 2 1.4 Metodologi 1.4.1 Perancangan Sistem ......................................... 2 1.4.2 Peancangan Perangkat keras dan perangkat Lunak Pembuatan dan pengujian perangkat lunak .................... 2 1.4.3 Integerasi dan Pengujian Sistem ...................... 3 1.4.4 Eksperimen dan Analisa Sistem ...................... 3 1.5 Sistematika Pembahasan................................................. 3 BAB II DASAR TEORI 2.1 parallel port 2.1.1 pengertian ......................................................... 5 2.1.2 komunikasi parallel........................................... 5 2.1.3 data DB 25........................................................ 5 2.2 linux 2.2.1 Pengenalan linux .............................................. 7 2.2.2 Perbedaan mendasar linux ................................ 7 2.2.3 Perbandingan linux dengan OS lain.................. 8 2.2.4 Bagian linux...................................................... 9 2.2.5 Bagian kernel linux........................................... 10 2.3 linux stream 2.3.1 Pengertian LiS .................................................. 10 2.3.2 Penginstallan LiS.............................................. 11

vii

2.3.2.1 konfigurasi................................................. 11 2.3.2.2 konfigurasi ulang....................................... 12 2.3.2.3 pembuatan Lis ........................................... 12 2.4 dialogic D/41 JCT-LS ..................................................... 13 2.4.1 syntax-syntax dialogic ...................................... 15 2.4.1.1 dx_open ..................................................... 15 2.4.1.2 dx_close..................................................... 15 2.4.1.3 dx_sethook ................................................ 16 2.4.1.4 dx_clrcap ................................................... 16 2.4.1.5 dx_dial....................................................... 16 2.4.1.6 dx_recwav ................................................. 17 2.4.1.7 dx_playwav ............................................... 17 2.4.1.8 dx_getdig................................................... 18 2.5 Pemrograman C di linux ................................................. 18 2.5.1 Struktur bahasa C ............................................. 19 2.5.2 GCC.................................................................. 20 2.5.3 Pembuatan program C ...................................... 20 2.5.4 Konpile file....................................................... 21 2.5.5 Jalankan program.............................................. 21 2.5.6 Operator............................................................ 21 2.5.6.1 Aritmatika.................................................. 22 2.5.6.2 Relasi......................................................... 22 2.5.6.3 Logika........................................................ 22 2.6 Mysql 2.6.1 Pengertian ......................................................... 23 2.6.2 keunggulan mysql............................................. 24 2.6.3 syntax-syntax mysql ......................................... 24 BAB III PERENCANAAN DAN PEMBUATAN 3.1 Perencanaan hardware .................................................... 29 3.1.1 penetuan pin parallel port ................................. 29 3.1.2 gambar rangkaian ............................................ 29 3.1.3 program parallel port ........................................ 30 3.1.3.1 flowcart program ....................................... 31 3.1.3.2 syntax-syntax IO parallel port ................... 31 3.2 installasi dialogic card..................................................... 32 3.3 perencanaan dan pembuatan software 3.3.1 installasi software 3.3.1.1 installlasi linux debian............................... 33 3.3.1.2 inatallasi GCC ........................................... 35 3.3.1.3 installasi dialogic system software ............ 35

viii

3.3.1.4 installasi audacity ...................................... 46 3.3.1.5 installasi bplay dan brec ............................ 47 3.3.1.6 intallasi web server .................................... 47 3.3.1.7 installasi mysql .......................................... 49 3.4 pembuatan data base mysql ............................................ 50 3.5 perekaman file suara format WAV ................................. 52 3.6 play suara dan record suara............................................. 54 3.7 perencanaan dan pembuatan software............................. 54 3.7.1 program saat ada tamu...................................... 56 3.7.2 program saat ada pemberitahuan ...................... 57 3.7.3 program dipanggil ............................................ 58 3.7.4 program hapus data........................................... 59 3.7.5 flowchat fungsi dialogic ................................... 60 3.7.6 program MySQL .............................................. 63 3.7.7 syntax yang digunakan ..................................... 64 BAB IV PENGUJIAN DAN ANALISA 4.1 pengujian hardware......................................................... 75 4.2 pengujian rangkaian dialogic .......................................... 75 4.3 penguian software 4.3.1 pengujian software dialogic.............................. 78 4.3.2 pengujian file suara........................................... 80 4.3.3 pengujian getdigit ............................................. 81 4.3.4 pengujian mysql................................................ 83 4.4 pengujian integrasi.......................................................... 75 BAB V KESIMPULAN................................................................ 89 Daftar Pustaka .................................................................. xiii Lampiran ....................................................................................... xiv

ix

DAFTAR GAMBARGambar 2.1 Tata letak DB 25 ..............................................6 Gambar 2.2 Dialogic D/41 JCT-LS ......................................15 Gambar 2.3 Struktur Dasar Program C ...............................19 Gambar 2.4 Proses Pembuatan Program C........................21 Gambar 3.1 Blok diagram sistem.........................................27 Gambar 3.2 Pin pada parallel port .......................................29 Gambar 3.3 Rangkaian pada parallel port...........................30 Gambar 3.4 Flowchart program parallel port .......................31 Gambar 3.5 Deskripsi Fisik Card D/41JCT-LS ..................32 Gambar 3.6 Tampilan Konfigurasi LiS.................................39 Gambar 3.7 Tampilan Konfigurasi Vim .bashrc ...................40 Gambar 3.8 Tampilan Konfigurasi Vim config.sh ................41 Gambar 3.9 Tampilan Konfigurasi ./config.sh......................44 Gambar 3.10 Tampilan PHP info ........................................48 Gambar 3.11 Tampilan phpmyadmin...................................49 Gambar 3.12 Login phpmyadmin.........................................49 Gambar 3.13 Form create database....................................51 Gambar 3.14 Tabel system_tamu........................................52 Gambar 3.15 Table bluetooth ..............................................52 Gambar 3.16 Table pasword ...............................................52 Gambar 3.17 Tabel user ......................................................52 Gambar 3.18 Setting sample rate ........................................53 Gambar 3.19 Setting format file ...........................................53 Gambar 3.20 Tampilan saat perekaman .............................54 Gambar 3.21 Flowcart program sistem ...............................55 Gambar 3.22 Flowcart panggilan saat ada tamu.................56 Gambar 3.23 Flowcart panggilan saat ada beritahuan........57 Gambar 3.24 Flowcart program dipanggil ...........................58 Gambar 3.25 Flowcart hapus data sesuai batas waktu.......59 Gambar 3.26 Flowchart Program Perekaman File ..............60 Gambar 3.27 Flowchart Program Pemutaran File suara .....61 Gambar 3.28 Flowchart Program Pendeteksian Digit DTMF....................................................................................62 Gambar 3.29 Flowchart Program Call (panggilan) ..............63 Gambar 3.30 Flowchat Program MySQL cari data..............61 Gambar 3.31 Flowchart program MySQL insert data ..........64 Gambar 3.32 Flowchart Program MySQL delete data.........64 Gambar 3.33 Flowchart Program MySQL update data .......63

x

Gambar 4.1 Rangkaian parallel ...........................................71 Gambar 4.2 Tampilan Dialogic Start....................................73 Gambar 4.3 Tampilan Dialogic Stop ....................................74 Gambar 4.4 Tampilan Orbacus start....................................74 Gambar 4.5 Tampilan Orbacus Stop and Start ...................75

xi

DAFTAR TABELTabel 2.1 Tabel register .......................................................... 5 Tabel 2.2 Fungsi pin-pin dari db25.......................................... 6 Tabel 2.3 Deklarasi Make ....................................................... 12 Tabel 2.5 Keyword Bahasa C ................................................. 18 Tabel 2.6 Operator Aritmatika ................................................. 22 Tabel 2.7 Operator Relasi ....................................................... 22 Tabel 2.8 Operator Logika ...................................................... 23 Tabel 4.1 Tabel test get digit................................................... 77 Table 4.2 Pangujian prioritas panggilan dari scan Bluetooth.. 83

xii

BAB I PENDAHULUAN1.1 LATAR BELAKANG Bel penerima tamu yang ada sekarang ini sudah dianggap tidak praktis dan membahayakan pemilik rumah karena pemilik rumah tidak dapat mengetahui siapa tamu yang datang. Bel penerima tamu biasa hanya dapat memberikan informasi berupa suara bel yang mengindikasikan adanya tamu yang datang selain itu tamu tidak bisa berkomunikasi jika pemilik rumah tidak berada dirumah. Oleh karena itu akan dibuat suatu sistem penerima tamu yang dapat memudahkan si pemilik rumah mengetahui ada tamu dari panggilan telepon dan dapat memberikan pesan baik pemilik rumah maupun tamu. Dialogic card ini memiliki kemampuan untuk integrasi antara komputer dengan jaringan telepon sehingga kita bisa melakukan otomatisasi dalam panggilan dengan membuat program pada komputer. Kemampuan dialogic bukan hanya mendial tapi juga melakukan komunikasi atau memberikan informasi berupa suara dan dapat mengenali penekanan DTMF, dialogic juga memiliki kemampuan untuk dejadikan switching, Teknologi program juga mendorong manusia membuat sesuatu serba otomatis dan juga dibidang telepon. Oleh karena itu kita membuat suatu system yang dapat mengeksplorasi kemampuan dialogic card yaitu sebagai system penerima tamu. 1.2 PERUMUSAN MASALAH Permasalahan proyek akhir ini adalah membuat suatu program yang otomatis dapat mendial/memanggil ke pemilik rumah jika ada tamu dan membuat suatu hardware beserta programnya agar dapat dikenali oleh PC melalui parallel port. Sistem penerima tamu ini juga dapat disebut monitoring tamu karena daftar tamu yang datang disimpan hingga batas waktu yang ditentukan. 1.3 BATASAN MASALAH Batasan masalah dari proyek akhir ini yaitu informasi yang dikirimkan ke pemilik rumah bahwa ada tamu adalah berupa dial telepon ke pemilik rumah seserta inforasi bahwa ada tamu, pemilik rumah bisa meninggalkan pesan pada tamu jika sibuk atau tamu bisa meninggalkan pesan jika semua tuan rumah yang dipanggil tidak menjawab atau sibuk kondisinya. 1

21.4 TUJUAN DAN MANFAAT Tujuan proyek akhir ini untuk memudahkan pemilik rumah mengetahui siapa tamu yang datang dengan informasi berupa gambar selain itu tamu dapat berkomunikasi kepada pemilik rumah walau pemilik rumah tidak ada dirumah sehingga meningkatkan keamanan rumah dan dapat juga digunakan untuk memonitor siapa saja tamu yang datang. Tamu juga dapat meninggalkan pesan suara sehingga walau tidak dapat berkomunikasi dangan pemilik rumah tapi dapat menyampaikan maksud kedatangannya. 1.5 METODOLOGI Untuk membuat peralatan sistem penerimaan tamu berbasiskan Bluetooth ini,dibutuhkan langkah-langkah sebagai berikut: (a) Perancangan Sistem Pada perancangan sistem ini, PC(server) dihubungkan dengan bel, kamera, microphone dan juga speaker.Antara tombol bel dengan PC dihubungkan dengan sebuah interface sehingga apabila tombol ditekan maka PC akan mentrigger kamera untuk mengambil gambar tamu.Disini PC juga dilengkapi dengan Bluetooth sebagai media pengiriman informasi gambar.Server juga dihubungkan dengan dialogic card yang berfungsi untuk melakukan panggilan secara otomatis sehingga tamu dan tuan rumah dapat melakukan pembicaraan (b) Perancangan Perangkat Keras (Hardware) dan Perangkat Lunak (Software) Untuk mengaktifkan hubungan antara fungsi-fungsi pada sistem tersebut maka pada sisi server perlu ditambahkan beberapa program tertentu.Perancangan tersebut meliputi perancangan Socket Programing untuk mengintegrasikan Bluetooth adapter pada PC yang berjalan di Linux. selain itu dibuat pula rangkaian interface antara tombol bel dengan PC. Adapun My SQL digunakan untuk data base dan software untuk menyimpan pesan suara (c) Pembuatan dan Pengukuran/Pengujian Perangkat Lunak (Software) Dari hasil perancangan, dilakukan realisasi/pembuatan perangkat lunak. Dan diadakan pengukuran/pengujian kinerja masing-masing bagian (sub-sistem) dari perangkat-perangkat tersebut sebelum dilakukan integrasi.

3(d) Integrasi dan Pengujian Sistem Setelah dilakukan pengujian pada masing-masing bagian,maka keseluruhan sistem tersebut akan diintegrasikan untuk mendapatkan sistem yang lengkap (e) Eksperimen dan Analisa Sistem Sistem yang sudah dibuat,terintegrasi dan unjuk kerjanya dianggap memadai dapat digunakan untuk eksperimen proses pengiriman informasi gambar dan dial telepon.. 1.6 SISTEMATIKA PEMBAHASAN Buku laporan proyek akhir ini terdiri dari 5 (lima) bab, dimana masing-masing bab mempunyai kaitan satu sama lain, yaitu: BAB I PENDAHULUAN Memberikan latar belakang tentang permasalahan, tujuan, masalah dan batasan masalah yang dibahas dalam proyek akhir ini. BAB II TEORI PENUNJANG Teori penunjang yang akan digunakan dalam penyelesaian proyek akhir ini akan di uraikan dalam bab ini sesuai kaitannya dengan perencanaan dan pembuatan sistem penerimaan tamu berbasis bluetooth dan dialogic card BAB III PERENCANAAN DAN PEMBUATAN PROGRAM Berisi tentang perencanaan dan pembuatan dari seluruh elemen dari sistem penerimaan tamu berbasis bluetooth dan dialogic card baik algoritma, flowchart, dan perangkat lunaknya. BAB IV ANALISA DAN PENGUJIAN Berisi tentang hasil pengukuran dan analisa dari sistem yang sudah dibuat, kemudian dibandingkan dengan perencanaan awal serta teori teori penunjang yang menjadi landasan dari proyek akhir ini. BAB V PENUTUP Berisi kesimpulan dan saran serta rencana pengembangan proyek akhir, jika dimungkinkan untuk masa yang akan datang DAFTAR PUSTAKA Pada bagian ini berisi tentang referensi referensi yang telah dipakai oleh penulis sebagai acuan dan penunjang serta parameter yang mendukung penyelesaian proyek akhir ini baik secara practice maupun sebagai teoritis.

4

Halaman ini sengaja dikosongkan

BAB II DASAR TEORI2.1 PARALLEL PORT 2.1.1 Pengertian Komunikasi paralel adalah komunikasi yang mengirimkan data secara bersamaan. Pada penggunaan komunikasi paralel semua bit dikirim secara bersamaan pada waktu yang sama. Oleh karena itu pada komunikasi ini kita membutuhkan banyak kabel. Hal memang sering menjadi kelemahan komunikasi paralel akibat banyaknya kabel yang dibutuhkan, dan panjang kabel ini tidak boleh lebih dari 20 m, untuk menjaga keaslian data. Namun kelebihan komunikasi paralel adalah lebih cepat dan kapasitas yang dibawa juga banyak serta pemrograman yang lebih mudah. 2.1.2 Komunikasi paralel Komunikasi paralel yang digunakan adalah komunikasi paralel lewat kabel data untuk printer (saat mengeluarkan data). Pada keadaan normal (tidak aktif) tegangan pada pin-pin ini adalah 0 volt, namun bila kita beri high, maka tegangannya akan berubah menjadi 5 volt. Pada pelatihan ini, komunikasi paralel hanya digunakan untuk mengeluarkan data, yang bisa berguna untuk menyalakan relay atau stepper motor untuk menjalankan atau mengontrol hardware. 2.1.3 Data db 25 Pada port paralel ada 3 jalur data, yaitu : Jalur kontrol : Memiliki arah bidirectional Jalur status : Memiliki satu arah, yaitu arah input. Jalur data : Memiliki 2 arah. Dapat juga berfungsi sebagai pengirim Address dan data, masing-masing 8 bit, dimana keduanya melakukan transfer data dengan protokol handshaking serta diakses dengan register yang berbeda. Bila kita menggunakan jalur LPT1 maka alamat yang ditentukan oleh PC adalah: Tabel 2.1 Tabel register(9) Register Register kontrol Status 37A 379 5

Register Data 378

Register Address 37B

6

Tabel 2. 2 Fungsi pin-pin dari db25(9) Nomor Pin 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 - 25 Nomor Bit 1 1 2 3 4 5 6 7 8 7 8 6 5 2 4 3 4 Jalur Kontrol Data Data Data Data Data Data Data Data Status Status Status Status Kontrol Status Kontrol Kontrol Sinyal Strobe Data 1 Data 2 Data 3 Data 4 Data 5 Data 6 Data 7 Data 8 Ack Busy P Error Select Auto FD Fault Init Select In Ground

Port paralel dapat mentransmisi 8 bit data dalam sekali detak. Tata-letak dari ke-dua puluh lima pin (DB 25) parallel printer port, diperlihatkan dalam Gambar.

Gambar 2.1 Tata letak DB 25(9) Untuk kirim data biner 8 bit ke por, dapat diperintah dengan menggunakan program C. Misalnya, untuk xxxxxxxxxxxxxxxx pertama

7

datanya adalah 1 hex (biner; 0000001), sedangkan data biner 10000000 (80 hex / 128 dec) digunakan untuk menyalakan LED kedelapan. Daftar berikut, dapat digunakan sebagai acuan. DataPort Bit 0 = LED1 = 00000001 bin = 1 hex = 1 dec DataPort Bit 1 = LED2 = 00000010 bin = 2 hex = 2 dec DataPort Bit 2 = LED3 = 00000100 bin = 4 hex = 4 dec DataPort Bit 3 = LED4 = 00001000 bin = 8 hex = 8 dec DataPort Bit 4 = LED5 = 00010000 bin = 10 hex = 16 dec DataPort Bit 5 = LED6 = 00100000 bin = 20 hex = 32 dec DataPort Bit 6 = LED7 = 01000000 bin = 40 hex = 64 dec DataPort Bit 7 = LED8 = 10000000 bin = 80 hex = 128 dec 2.2 LINUX 2.2.1 Pengenalan Linux Kata "Linux" untuk saat ini sudah tidak asing lagi bagi para pengguna internet dan komunitas mahasiswa yang memiliki hobi untuk mencoba software-software baru. Secara teknis dan singkat dapat dikatakan, Linux adalah suatu system operasi yang bersifat multi user dan multi tasking, yang dapat berjalan di berbagai platform termasuk prosesor Intel 386 maupun yang lebih tinggi. Linux dapat berinteroperasi secara baik dengan sistem operasi yang lain, termasuk Apple, Microsoft dan Novell. Nama Linux sendiri diturunkan dari pencipta awalnya, Linus Torvalds, yang sebetulnya mengacu pada suatu kumpulan software lengkap yang bersama-sama dengan kernel menyusun suatu sistem operasi yang lengkap. Lingkungan sistem operasi ini mencakup ratusan program, termasuk kompiler, interpreter, editor dan utilitas. Perangkat bantu yang mendukung konektifitas, ethernet, SLIP dan PPP dan interoperabilitas. Produk perangkat lunak yang handal (reliable), termasuk versi pengembangan terakhir. Kelompok pengembang yang tersebar di seluruh dunia yang telah bekerja dan menjadikan Linux portabel ke suatu platform baru, begitu juga mendukung komunitas pengguna yang memiliki beragam kebutuhan dan juga pengguna dapat turut serta bertindak sebagai tim pengembang sendiri. 2.2.2 Perbedaan mendasar Linux Satu hal yang membedakan Linux terhadap sistem operasi lainnya adalah harga. Linux ini lebih murah dan dapat diperbanyak serta didistribusikan kembali tanpa harus membayar fee atau royalti kepada

8

seseorang. Tetapi ada hal lain yang lebih utama selain pertimbangan harga yaitu mengenai source code. Source code Linux tersedia bagi semua orang sehingga setiap orang dapat terlibat langsung dalam pengembangannya.Kebebasan ini telah memungkinkan para vendor perangkat keras membuat driver ntuk device tertentu tanpa harus mendapatkan lisensi source code yang mahal atau menandatangani Non Disclosure Agreement (NDA). Dan itu juga telah menyediakan kemungkinan bagi setiap orang untuk melihat ke dalam suatu sistem operasi yang nyata dan berkualitas komersial.Karena Linux itu tersedia secara bebas di internet, berbagai vendor telah membuat suatu paket distrbusi yang dapat dianggap sebagai versi kemasan Linux. Paket ini termasuk lingkungan Linux lengkap, penagkat lunak untuk instalasi dan mungkin termasuk perangkat lunak khusus dan dukungan khusus. 2.2.3 Perbandingan Linux terhadap sistem operasi lainnya Linux disusun berdasarkan standar sistem operasi POSIX yang sebenarnya diturunkan berdasarkan fungsi kerja UNIX.UNIX kompatibel dengan Linux pada level system call, ini berarti sebagian besar program yang ditulis untuk UNIX atau Linux dapat direkompilasi dan dijalankan pada sistem lain dengan perubahan yang minimal. Secara umum dapatdikatakan Linux berjalan lebih cepat dibanding UNIX lain pada hardware yang sama. Dan lagi UNIX memiliki kelemahan yaitu tidak bersifat free. MS-DOS memiliki kemiripan dengan Linux yaitu file sistem yang bersifat hirarkis. Tetapi MS-DOS hanya dapat dijalankan pada prosesor x86 dan tidak mendukung multi user dan multi tasking, serta tidak bersifat free. Juga MSDOS tidak memiliki dukungan yang baik agar dapat berinteroperasi dengan sistem operasi lainnya, termasuk tidak tersedianya perangkat lunak network, program pengembang dan program utilitas yang ada dalam Linux. MSWindows menawarkan kemampuan grafis yang ada pada Linux termasuk kemampuan networking tetapi tetap memiliki kekurangan yang ada pada MS-DOS. Windows NT yang juga tersedia untuk Digital Alpha selain prosesor x86. Namun Windows NT ini masih juga memiliki beberapa kekurangan yang telah ada pada MSDOS.Waktu untuk menemukan suatu bug dalam suatu sistem operasi ini tak sebanding dengan harga yang harus dibayar. Sistem operasi Apple untuk Macintosh hanya dapat berjalan di sistem Mac. Juga memiliki kekurangan dari sisi ketersediaan perangkat bantu pengembang (development tool) dan juga kurang dapat secara mudah untuk

9

berintoperasi dengan sistem operasi lainnya. Apple juga telah memungkinkan Linux dapat dijalankan pada Power Kelebihan Linux Di sini akan dijelaskan beberapa kelebihan dari sistem operasi Linux/UNIX dibandingkan dengan dengan sistem operasi yang lain. Dan berikut ini adalah beberapa fakta dari hal-hal yang menguntungkan dengan menggunakan program dan file-file Linux/UNIX : 1. Pada dasarnya semua data tersimpan di dalam harddisk walau ada beberapa kondisi dimana data tersimpan di disket. Linux/UNIX memberikan beberapa proses spesial dimana terminal, printer dan device hardware lainnya dapat diakses seperti kita mengakses file yang tersimpan dalam harddisk atau disket. 2. Ketika program dijalankan, program tersebut dijalankan dari harddisk ke dalam RAM dan setelah dijalankan akan dinamakan sebagai proses. 3. Linux/UNIX menyediakan servis untuk membuat, memodifikasi program, proses dan file. 4. Linux/UNIX mendukung struktur file yang bersifat hirarki. 5. Linux/UNIX adalah salah satu sistem operasi yang termasuk ke dalam kelas sistem operasi yang dapat melakukan multitasking. Multitasking sendiri adalah keadaan dimana suatu sistem operasi dapat melakukan banyak kerjaan pada saat yang bersamaan. 6. Selain multitasking, Linux/UNIX juga dapat mendukung multiuser. Yaitu sistem operasi yang pada saat bersamaan dapat digunakan oleh lebih dari satu user yang masuk ke dalam sistem. Bahkan untuk Linux juga mendukung untuk multiconsole dimana pada saat bersamaan di depan komputer langsung tanpa harus melalui jaringan dan memungkinkan lebih dari satu user masuk ke dakam sistem. 2.2.4 Bagian sistem operasi Linux Sistem Operasi Linux/UNIX terdiri dari kernel, program sistem dan beberapa program aplikasi. Kernel merupakan inti dari sistem operasi yang mengatur penggunaan memori, piranti masukan keluaran, proses-proses, pemakaian file pada file system dan lain-lain. Kernel juga menyediakan sekumpulan layanan yang digunakan untuk mengakses kernel yang disebut system call. System call ini digunakan untuk mengimplementasikan berbagai layanan yang dibutuhkan oleh sistem operasi. Program sistem dan semua program-program lainnya yang berjalan di atas kernel disebut user mode. Perbedaan mendasar antara

10

program sistem dan program aplikasi adalah program sistem dibutuhkan agar suatu sistem operasi dapat berjalan sedangkan program aplikasi adalah program yang dibutuhkan untuk menjalankan suatu aplikasi tertentu. Contoh : daemon merupakan program sistem dan pengolah kata (word processor) merupakan program aplikasi. 2.2.5 Bagian penting kernel Linux Kernel Linux terdiri dari beberapa bagian penting, seperti : manajemen proses, manajemen memori, hardware device drivers, filesystem drivers, manajemen jaringan dan lain-lain. Namun bagian yang terpenting ialah manajemen proses dan manajemen memori. Manajemen memori menangani daerah pemakaian memori, daerah swap, bagian-bagian kernel dan untuk buffer cache. Manajemen proses menangani pembuatan proses-proses dan penjadwalan proses. 2.3 LINUX STREAM 2.3.1 Pengertian LiS LiS merupakan suatu paket software yang meliputi suatu implementasi SVR4 yang sesuai dan streamsnya dapat dipertukarkan untuk Linux. LiS mengambil format dari pengisian modul untuk Linux Kernel. LiS dapat diinstall di direktori manapun dalam sistem kita, bukan di dalam kernel source. Ketika Lis dibangun, sangat memungkinkan untuk menghubungkan pengarah Pre-compiled Streams dengan LiS sehingga ketika LiS mengisikan pada kernel, hal ini akan membawa aplikasi pengarah dengan streams. Sebagai alternatif, pengarah Stream dapat dikodekan sebagai pengarah pengisisan Linux yang tergantung pada LiS. Dengan cara ini, pengarah Streams individu dapat terisi dan dikosongkan dengan dinamis. LiS mengambil dua drivers pengadaptasian untuk dapat membantu didalam penyambungan Streams drivers dengan protokol TCP/IP pada Linux kernel. Satu driver (modul IP stream) bertindak sebagai IP penghubung driver. Ini sesuai dengan IP yang menggunakan standart langkah-langkah ifconfig. Pada gilirannya, komunikasi downstream dengan berbagai streams driver menggunakan protokol DLPI yang serupa dengan cara protokol IP pada penghubung sistem UNIX ke penghubung drivers yang lebih rendah. Ini mengijinkan suatu DLPI streams driver untuk bertindak sebagai penghubung driver dengan Linux TCP/IP.

11 2.3.1 Penginstallan LiS Penginstallan LiS dilakukan dengan menggunakan konfigurasi pada script kemudian menjalankan make tanpa konfigurasi pada file secara langsung. Setelah itu secara otomatis, konfigurasi script akan dijalankan dengan make file. Selama proses pengintallan LiS, kita harus login sebagai root. Walaupun begitu kita dapat menginstall LiS menggunakan user ID biasa. Akan tetapi, pada saat meng-compile LiS akan diproses namun hasil instalasi module akan mengalami kegagalan dalam hal permasalahan ijin login. Langkah langkah untuk menginstall LiS : #cd /usr/src/LiS-2.15.2.tgz #tar zxvf LiS-2.15.2.tgz #cd /usr/src/LiS-2.15/ #./Configure #make #make install Versi LiS 2.15.2 yang digunakan pada ilustrasi diatas sesuai untuk penginstallan dialogic software package 5.1 yang kami gunakan untuk intallasi dialogic D/41JCT-LS. Setelah penginstallan LiS dilakukan, maka secara otomatis makefile akan menjalankan script konfigurasi LiS. Selanjutnya, pada konfigurasi tersebut akan terdapat beberapa pertanyaan tentang konfigurasi yang ingin diproses. Jika dalam penginstallan, pada saat menjalankan LiS di dalam kernel linux lebih aman bila menjawab semua pertanyaan dengan menekan tombol enter. Konfigurasi yang terbuat akan berada pada /usr/src/LiS darimanapun directory LiS dijalankan asalkan tetap sebagai root, kemudian jalankan make. Setelah make telah dijalankan lalu lakukan penginstallan make atau program-program yang diperlukan dengan menjalankan make install. Apabila ingin meng-uninstall LiS, maka jalankan make clean or make very-clean. Setelah dijalankan maka lanjutkan dengan rm rf /usr/src/LiS-2.15 (apapun versi LiS yang ingin dihapus). 2.3.1.1 KonFigurasi Sebenarnya konfigurasi LiS sangatlah mudah dilakukan, bila LiS dijalankan sebagai loadable module yang terinstall pada direktori /lib/modules/kernel-version/misc dan kernel source terletak pada direktori /usr/src/linux. Setelah itu, hal termudah yang dapat dilakukan

12

adalah menekan enter pada saat muncul pertanyaan dalam memproses kompilasi konfigurasi dengan cepat. Apabila pada saat menjalankannya, terdapat kesalahan dalam proses konfigurasi maka tekan Ctrl-c untuk keluar dari sistem yang sedang dijalankan kemudian lakukan pengkonfigurasian dari awal. 2.3.1.2 Pengkonfigurasian Ulang Pengkonfigurasian ulang dapat dilakukan dengan menjalankan script konfigurasi secara ulang kapanpun. Apabila konfigurasi yang dipakai ditentukan sendiri, maka pindahkan file config.in dan jalankan Configure. Namun, untuk hasil yang terbaik maka jalankan make clean sebelum menjalankan make. 2.3.1.3 Pembuatan LiS Pembuatan LiS dilakukan dengan menjalankan make lalu make file pada direktori installasi LiS. Berikut ini adalah pendeklarasian make : Tabel 2.3 Deklarasi Make Default target Compile LiS dan driver biner ke dalam streams.o kemudian menyalin kedalam directory modules jika dikonfigurasi seperti itu, lalu menjalankan program-program yang diperlukan. Membuat library LiS yang penting dan dibutuhkan, kemudian menginstall hal-hal yang diperlukan ke dalam direktori yang tepat. Jalankan strmakenodes untuk membuat /dev untuk driver STREAMS. Memindahkan STREAMS program-program yang diperlukan dan file yang telah dibuat di dalam directory /dev. Memindahkan semua kode object dan program yang dipergunakan serta menghapus file konfigurasi di tempatnya.

Install

uninstall

Clean

13

realclean

Sama seperti clean kecuali pemindahan file konfigurasi lebih baik. Sama seperti realclean. make uninstall clean

very-clean

Dep

Membuat dependencies dan secara otomatis dilakukan default target. Seperti default target kecuali langkah lompatan yang mengharuskan login sebagai root.

All

DIALOGIC D/41JCT-LS Dialogic D/41 JCT LS merupakan suatu perangkat yang digunakan untuk mengolah suara dimana arsitekturnya mengkombinasikan kemampuan pengolahan sinyal dan penggunaan transfer data yang merupakan tujuan utama pengontrolan mikroprosesor dengan menggunakan prosesor yang cepat dan menyediakan memori yang lebih besar. Arsitektur perangkat ini berfungsi untuk menangani kejadian-kejadian real-time, mengatur aliran data ke PC yang memerlukan respon waktu yang cepat, melayani permintaan pengolahan dari suatu PC, dan mengolah DTMF dan sinyal telepon dan menjalankan pengolahan sinyal pada incoming call. Gateway jaringan terhubung pada PSTN (Public Telephone Switched Network) melalui card Dialogic D/41JCT-LS yang melayani hubungan antara jalur telepon dan gateway jaringan. Perangkat Dialogic D/41 JCT-LS merupakan hasil produk dialogic yang menggunakan PCI yang sesuai dengan H.100 standart CT BUS. Arsitektur terbuka dari perangkat ini membuat para developers membangun solusi dari sistem komunikasi yang ada menggunakan produk dari berbagai vendor. Apabila penginstallan beraneka ragam perangkat Dialogic D/41JCT-LS dapat dilakukan didalam sebuah PC maka sebanyak 32 port sistem dapat dibangun. Software Springware dan Firmware yang didownload dan dijalankan pada board DSP, akan menghasilkan beranekaragam pengkodean suara antara 24 hingga 32 Kb per detik ADPCM dan 48 serta 64 Kb per detik u-law atau A-law PCM. Hal ini dilakukan sebaik yang dihasilkan dalam pengkonfersian u-law dan A-law. Kecepatan

2.4

14

sampling dan metode pengkodean diambil di dalam channel melalui channel basis. Aplikasi ini memperbolehkan switch kecepatan sampling dan metode pengkodean untuk menyimpan data atau kualitas suara selama diperlukan dalam proses pembuatannya. Penambahan algoritma pengkodean seperti GSM dan G.726 sangat sesuai untuk aplikasi yang mendukung standart Voice Profile for Internet Mail (VPIM). Springware Fireware juga menyediakan pendeteksian DTMF dan pengkondisian talk off ataupun play off melalui berbagai macam kondisi jaringan telephone yang dipakai. Software Dialogic Global Dial Pulse Code Detection merupakan software yang sesuai untuk perangkat yang mempunyai pelayanan touchtone telephone sehingga dapat dioptimasikan untuk menyediakan superior dial pulse detection. Berikut ini adalah kelebihan dari perangkat Dialogic D/41JCT-LS : 1. Empat port voice processing yang berdiri sendiri di dalam sebuah slot PCI yang digunakan untuk aplikasi enterprise CT baik low atau medium. 2. Konektor CT Bus dapat meningkatkan kapasitasnya dengan mengoprasikannya bersama CT Bus dari perangkat lain yang sesuai. 3. Konektifitas SCSA Scbus melalui aplikasi simple cable adapter memungkinkan untuk mengakses sumber-sumber tambahan seperti Text to Speech (TTS) dan Automatic Speech Recognition (ASR). 4. Mudah dalam pemasangan karena plug and play serta memiliki installation hardware yang mudah dengan mensetting DIP Switch dan Jumper hanya dengan mengontrol konfigurasi software saja. 5. Konfigurasi dengan banyak perangkat dapat dilakukan hingga 32 port analog digunakan 6. Dukungan aplikasi program bahasa C untuk Windows NT/Windows 2000 dan UNIX/Linux. 7. Dukungan Feature Global Dial Tone Pulse Detection yang sesuai caller dengan non-touchtone phone untuk aplikasi tambahab Pulse to Tone Conversion. Beberapa aplikasi yang dapat dibangun Dialogic D/41JCT-LS antara lain Pemesanan Suara, IVR(Interactive Voice Response), Pusat Pemanggilan (Call Center), Audiotex, Pelayanan Operator, Dictation, Auto Dialers, Notification System, Online data entry/query.

15

Gambar 2.2 Dialogic D/41 JCT-LS(10) 2.4.1 syntax-syntax Dialogic Dalam membuat program, header dari Dialogic harus disertakan, header tersebut adalah : #include #include Header tersebut akan memanggil header-header yang lain, yaitu: Basetsd.h, d40low.h, dxcallp.h, dxdevdef.h, dxdigit.h, dxr2mf.h, dxsync.h, dxtables.h, srl_eblk.h, srltpt.h. 2.4.1.1 dx_open Fungsi untuk membuka channel pada card tersebut, fungsi yang lain baru dapat dijalankan setelah channel dibuka. int dx open(namep,oflags) char *namep = pointer ke channel yang akan dibuka channel B1C1 = dxxxB1C1 channel B1C2 = dxxxB1C2 channel B1C3 = dxxxB1C3 channel B1C4 = dxxxB1C4 int oflags = disediakan fungsi selanjutnya oflags = NULL 2.4.1.2 dx_close Fungsi untuk menutup channel dengan fungsi dx_open( ). int dx close (chdev)

setelah sebelumnya dibuka

16

Setelah channel ditutup dengan fungsi tersebut kita tidak dapat menjalankan fungsi lainnya. 2.4.1.3 dx_sethook Fungsi yang mengontrol status kondisi hook dari channel tertentu. int dx sethook(chdev, hookstate, mode) Parameter chdev hookstate Penjelasan : menunjukkan channel yang sudah dibuka : menunjukkan kondisi hook ; - DX_ONHOOK untuk kondisi onhook - DX_OFFHOOK untuk kondisi off hook : - EV_SYNC untuk menjalankan secara sinkron - EV_ASYNC untuk menjalankan secara asinkron

mode

2.4.1.4 dx_clrcap Fungsi yang digunakan untuk menghapus semua struktur DX_CAP dengan memberikan nilai 0. Hal ini merupakan cara tercepat untuk menghapus DX_CAP dimana penggunaannya sebagai parameter analisa pemanggilan sebelumpanggilan tersebut diterima. void dx_clrcap(capp) 2.4.1.5 dx_dial Fungsi untuk men-dial dari ASCII string dari channel open, idle dan memungkiinkan untuk Call Analysis untuk mengetahui keterangan dari panggilan baik itu gagal (engaged) atau berhasil (connect). int dx_dial (chdev, dialstrp, capp, mode)

17

char *dialstrp DX_CAP *cap

= pointer ke ASCII dial string = pointer ke Call Analysis Parameter Structure

Structur dari DX_CAP (yang diperlukan) adalah : typedef struct DX_CAP { unsigned short ca_nbra ;// banyaknya rings sebelum ada jawaban }DX_CAP; Catatan : dx_dial ( ) tidak berpengaruh pada hook state dx_dial ( ) tidak menunggu dial tone sebelum men-dial 2.4.1.6 dx_recwav Fungsi untuk menjalankan perekaman suara (file suara) ke dalam sebuah file wav. short dx_recwav (chdev, filenamep, tptp, xpbp,mode)

Parameter Chdev Filenamep Tptp Xpbp Mode

Penjelasan : menunjukkan channel yang telah dibuka dx_open : menunjukkan namafile : menunjuk ke struktur DX_TPT : menunjuk ke struktur DX_XPB : menunjukkan mode yang digunakan; - EV_SYNC : mode sinkron - RM_TONE : mengirimkan sebuah tone sebelum merekam file.

2.4.1.7 dx_playwav Fungsi untuk menjalankan rekaman suara (file suara) dari sebuah file wav yang telah terekam terlebih dahulu sesuai dengan format yang mampu dijalankan di dialogic. short dx_playwav (chdev, filenamep, tptp, mode)

18

Parameter chdev filenamep Tptp Xpbp Mode

Penjelasan :menunjukkan channel yang telah dibuka dx_open :menunjukkan namafile :menunjuk ke struktur DX_TPT :menunjuk ke struktur DX_XPB :menunjukkan mode yang digunakan; EV_SYNC : mode sinkron RM_TONE : mengirimkan sebuah tone sebelum merekam file.

2.4.1.8 dx_getdig Fungsi ini digunakan untuk menerima digit dari penelpon. int dx_getdig(chdev, tptp, digitp, mode) DV_TPT*tpt DV_DIGIT = menunjuk ke struktur tabel parameter terminasi = menunjuk ke struktur User Digit Buffer.

Struktur dari DV_DIGIT : typedef struct dv digit { char dg_value[DG_MAXDIGS-1]; char dg_type[DG_MAXDIGS-1]; }DV_DIGIT; 2.5 PEMOGRAMAN C DI LINUX Bahasa C bisa disebut bahasa pemograman tingkat menengah (middle level programming language ). Arti tingkat (level) disini adalah kemampuan mengakses fungsi-fungsi dan perintah-perintah dasar bahasa mesin/hardware (machine basic instruction set). Dalam perspektif mudahnya dipahami manusia, C bisa digolongkan dalam bahasa tingkat tinggi, namun C juga menyediakan kemampuan yang ada pada bahasa tingkat rendah, misalnya operasi bit, operasi byte, pengaksesan memori, dsb.Beberapa alasan mengapa memakai bahasa C adalah terangkum dibawah. C adalah bahasa pemograman yang paling popular saat ini C adalah bahasa pemograman yang memiliki portabilitas tinggi C adalah bahasa pemograman dengan kata kunci (keyword) sedikit C hanya menyediakan 32 kata kunci seperti terangkum dibawah:

19

Tabel 2.5 Keyword Bahasa C auto break case char do double else enum go to if int long signed sizeof static struct unsigned void volatile while

const extern register switch

continue float return typedef

default for short union

C adalah bahasa pemograman yang fleksibel C adalah bahasa yang bersifat moduler 2.5.1 Struktur Program Bahasa C Program bahasa C adalah suatu program terdiri dari satu atau lebih fungsi-fungsi. Fungsi utama dan harus ada pada program C yang kita buat adalah fungsi main(). struktur dasar program c dapat digambarkan sebagai berikut:

Gambar 2.3 Struktur Dasar Program C Fungsi main() ini adalah fungsi pertama yang akan diproses pada saat program di kompile dan dijalankan, sehingga bisa disebut sebagai fungsi yang mengontrol fungsi-fungsi lain. Karena struktur program C terdiri dari fungsi-fungsi lain sebagai program bagian (subroutine), maka bahasa C biasa disebut sebagai bahasa pemrograman terstruktur. Cara penulisan fungsi pada program bahasa C adalah dengan memberi nama fungsi dan kemudian dibuka dengan kurang kurawal buka ({) dan ditutup dengan kurung kurawal tutup (}). Fungsi-fungsi lain selain fungsi utama bisa dituliskan setelah atau sebelum fungsi utama dengan deskripsi prototype fungsi pada bagian awal program. Bisa juga dituliskan pada file lain yang apabila kita ingin

20

memakai atau memanggil fungsi dalam file lain tersebut, kita harus menuliskan header filenya, dengan preprocessor directive #include. File ini disebut file pustaka (library file). 2.5.2 GCC ( GNU C COMPILER ) GNU CC yang lebih dikenal dengan GCC merupakan salah satu compiler yang terkemuka di Linux dan lebih dikenal dengan nama GNU C Compiler. Pemrograman ini dapat digunakan untuk menyusun program bahasa C yang ditulis dalam C,C++, dan obyektif C. Meskipun GCC bersifat free namun dapat diandalkan sebagai salah satu compiler yang mendukung standar C dan C++ sehingga mampu bersaing dengan produk-produk komersial lainnya. GCC dalam melakukan prosesnya melalui empat bagian : Prepocessor Compilation Assembly Linking Keempat proses tersebut dapat dijalankan satu persatu tanpa sekaligus menjalankan keempat tahap tersebut. Bila dengan compiler komersial lainnya biasanya langsung memberikan proses jadi tanpa pengenalan proses-proses tersebut. Ketika kita menggunakan GCC untuk melakukan kompilasi pada sebuah program yang didukung oleh GCC biasanya kita mendapatkan beberapa perintah opsion-opsion agar hasilnya lebih baik lagi. Proses Pembuatan Program C Tulis source code program bahasa C dengan menggunakan text editor, kemudian simpan dalam sebuah file. Text editor disini untuk operating system unix/linux kita bisa menggunakan aplikasi kwrite atau text editor atau juga bisa membuat file pada terminal linux dengan cara memberi perintah : vi namafile.c / vim namafile.c Proses pembuatan program dengan menggunakan bahasa C adalah seperti gambar di bawah ini :

21

Gambar 2.4 Proses Pembuatan Program C 2.5.4 Kompile file yang berisi source code program bahasa C. Kompilasi atau kompile (compile) adalah suatu proses merubah source code ke bahasa mesin sehingga bisa dieksekusi (executable) atau dijalankan. Perintah untuk kompile program: gcc -o namafile namafile.c 2.5.5 Jalankan program yang telah dikompile. Setelah kita kompile file yang berisi source code, maka sebagai hasil kompilasi tersebut kita akan mendapatkan suatu file yang bisa dijalankan (executable file). Menjalankan program yang kita buat berarti menjalankan file hasil proses kompilasi tersebut. Perintah untuk menjalankan program: ./namafile 2.5.6 Operator Operator merupakan simbol atau karakter yang biasa dilibatkan dalam program untuk melakukan sesuatu operasi atau manipulasi, seperti menjumlahkan dua buah nilai, memberikan nilai ke suatu variable, membandingkan kesamaan dua buah nilai. Nilai yang dioperasikan oleh operator (disebut operand atau argumen) bersamasama operator membentuk ekspresi(ungkapan) sebagai contoh: 2+3*4

22

Disebut ekspresi. Tanda + dan * disebut operator,sedangkan 2,3,dan 4adalah operand atau argumen. Macam-macam operator adalah sebagai berikut: 2.5.6.1 Operator Aritmatika Operator aritmatika adalah operator yang digunakan dalam operasi matematika. Tabel 2.6 Operator Aritmatika Operator Kegunaan + Penjumlahan Pengurangan * Perkalian / Pembagian % Sisa pembagian ++ Penaikan -Penurunan 2.5.6.2 Operator Relasi Operator ralasi atau operator pembanding adalah operator yang digunakan untuk melakukan pembandingan dua buah operand dan menghasilkan nilai benar atau salah. Tabel 2.7 Operator Relasi Operator Keterangan == Sama dengan < Kurang dari > Lebih dari = Lebih dari atau sama dengan != Tidak sama dengan 2.5.6.3 Operator Logika Operator logika digunakan untuk menggabungkan kondisi berganda dan menghasilkan sebuah ekspresi yang bernilai benar (nilai 1) atau salah (nilai 0). Yang tergolong sebagai operator logika yaitu:

23

Tabel 2.8 Operator Logika Operator Makna && dan (AND) || atau (OR) ! tidak (NOT) 2,6 MySQL 2.6.1 Pengertian SQL (Structured Query Language) adalah bahasa standar yang digunakan untuk mengakses server basis data . Sejak tahun 70-an bahasa ini telah dikembangkan oleh IBM, yang kemudian diikuti dengan adanya Oracle, Informix dan Sybase. Dengan menggunakan SQL, proses akses basis data menjadi lebih user-friendly dibandingkan dengan misalnya dBase ataupun Clipper yang masih menggunakan perintah perintah pemrograman murni. Selain MySQL, ada beberapa jenis pemograman yang berorientasi basis data yang dapat digunakan untuk aplikasi di web seperti Oracle. Oracle merupakan sebuah perusahaan besar di dunia yang cakupan bisnis salah satunya adalah penjualan perangkat lunak dan pembuatan perangkat lunak basis data yang diperuntukkan bagi perusahaan-perusahaan besar di dunia. Karena softwarenya tidak bebas dipasaran atau tidak free perangkat lunak maka sebagian besar perusahaan kecil atau menengah atau programmer web masih menggunakan basis data MySQL sebagai perangkat lunak basis data perusahaan atau webnya. MySQL adalah sebuah server basis data SQL multiuser dan multi-threaded. SQL sendiri adalah salah satu bahasa basis data yang paling populer di dunia. Implementasi program server basis data ini adalah program daemon mysqld dan beberapa program lain serta beberapa pustaka. MySQL dibuat oleh TcX dan telah dipercaya mengelola sistem dengan 40 buah basis data berisi 10,000 tabel dan 500 di antaranya memiliki 7 juta baris (kira-kira 100 gigabyte data). Basis data ini dibuat untuk keperluan sistem basis data yang cepat, handal dan mudah digunakan. Walaupun memiliki kemampuan yang cukup baik, MySQL untuk sistem operasi Unix bersifat freeware, dan terdapat versi shareware untuk sistem operasi windows. Sebagaimana basis data sistem yang lain, dalam SQL juga dikenal hierarki server dengan basis data-basis data. Tiap-tiap basis data memiliki tabel-tabel. Tiap-tiap tabel memiliki field-field. Umumnya

24

informasi tersimpan dalam tabeltabel yang secara logik merupakan struktur 2 dimensi terdiri atas baris dan kolom. Field-field tersebut dapat berupa data seperti int, realm char, date, time dan lainnya. SQL tidak memiliki fasilitas pemrograman yang lengkap, tidak ada looping ataupun percabangan ,misalnya. Sehingga untuk menutupi kelemahan ini perlu digabung dengan bahasa pemrograman seperti C. 2.6.2 Keunggulan MySQL 1. MySQL merupakan program yang multi-threaded, sehingga dapat dipasang pada server yang memiliki multi-CPU. 2. Didukung program-program umum seperti C, C++, Java, Perl, PHP, Python, TCL APIs dls. 3. Bekerja pada berbagai platform. (tersedia berbagai versi untuk berbagai sistem operasi). 4. Memiliki jenis kolom yang cukup banyak sehingga memudahkan konfigurasi sistem basis data. 5. Memiliki sistem keamanan yang baik dengan verifikasi host. 6. Mendukung ODBC untuk sistem operasi Microsoft Windows. 7. Mendukung record yang memiliki kolom dengan panjang tetap atau panjang bervariasi. dan masih banyak keunggulan lainnya (lihat manual mysql_3.22) 8. MySQL merupakan perangkat lunak yang gratis, dan bisa di download di www.mysql.com. Sedangkan perangkat lunak basis data lainnya seperti ORACLE merupakan perangkat lunak yang harus di beli. 9. MySQL dan PHP saling terintegrasi. Maksudnya adalah pembuatan basis data dengan menggunakan sintak PHP dapat di buat. Sedangkan input yang di masukkan melalui aplikasi web yang menggunakan script server-side seperti PHP dapat langsung dimasukkan ke basis data MySQL yang ada di server dan tentunya web tersebut berada di sebuah web server. 2.6.3 Syntax-Syntax MySQL Untuk membuat program mysql kita menyertakan header sebagai berikut: #include MYSQL mysql , digunakan untuk menyimpan hasil koneksi dengan mysql.

25 MYSQL_RES *result , diguanakan untuk menyimpan hasil query mysql. MYSQL_ROW row, digunakan untuk menyimpan hasil dari mysql_fetch_row dari hasil result. Syntax yang digunakan untuk program mysql: int mysql_close ([int link_identifier]); menutup koneksi MySQL int mysql_connect ([string hostname], [string username], [string password]); membuka koneksi ke server MySQL array mysql_fetch_array (int result); mengambil (fetch) baris sebagai array array mysql_fetch_row (int result); mengabil baris sebagai array item int mysql_free_result (int result); membebaskan memori untuk penyimpanan hasil query int mysql_query (string query, [int link_identifier]); mengirim query MySQL int mysql_select_db (string database_name, [int link_identifier]); memilih database MySQL

26

Halaman ini sengaja dikosongkan

BAB III PERENCANAAN DAN PEMBUATANSistem penerima tamu berbasis wireless dan voice processing board memiliki blok sistem sebagai berikut :

Gambar 3.1 Blok diagram sistem Sistem ini memiliki 2 peralatan yang utama yaitu Bluetooth adapter dan dialogic card. Bluetooth adapter langsung di hubungkan dengan usb dan dialogic card D41JCT/LS di pasang pada PCI slot. Untuk trigger sistem ini menggunakan rangkaian yang dihubungkan pada parallel port dan juga terhubung pada bel DC. Untuk menerima gambar yang dikirim oleh computer melalui Bluetooth dan mendapatkan dial telepon juga dari computer menggunakan handphone yang memiliki fasilitas Bluetooth. Dan penempatan peralatan adalah webcam, speaker, microphone, push button diletakkan di pintu untuk berkomunikasi dengan tamu. Bel DC diletakkan pada suatu tempat yang paling strategis sehingga semua pemilik rumah bisa mendengar suara bel tersebut. Dan dengan keterbatasan kemampuan Bluetooth maka diusahakan tempat computer dekat dengan pintu sehingga kabel ke peralatan di pintu tidak terlalu panjang tapi juga memungkinkan semua pemilik rumah mampu terjangkau dengan kemampuan Bluetooth. 27

28

Cara kerja dari sistem sebagai berikut : 1. Pushbutton ditekan oleh tamu yang datang. 2. Dengan suatu program maka komputer mengenali penekanan push button itu sehingga mengaktifkan bel DC dengan parallel port juga. 3. Setelah itu sesuai urutan program computer mengaktifkan webcam untuk mengambil gambar tamu lalu melalui bluetooth computer mengirim gambar ke Handphone pemilik rumah yang terdeteksi. 4. Pada saat yang bersamaan, data berupa waktu dan gambar tamu tersebut disimpan dalam database. 5. Setelah semua pengiriman selesai, computer melalui dialogic card melakukan panggilan ke nomor handphone pemilik rumah yang terdeteksi untuk konfirmasi. Pilihan konfirmasi adalah ada di rumah atau tidak dan ingin meninggalkan pesan untuk tamu atau tidak. 6. Jika salah satu pemilik rumah ada dirumah, maka sistem selesai. Jika tidak maka akan dilakukan pemanggilan ke pemilik rumah yang lain. Yang dipanggil terlebih dahulu adalah yang terdeteksi bluetooth. Jika ada pemilik rumah yang meninggalkan pesan maka pesan langsung disampaikan ke tamu. 7. Jika salah satu pemilik rumah sudah dapat dihubungi walau tidak ada dirumah maka dianggap pemilik rumah sudah diberi tahu bahwa ada tamu maka kondisi dalam data base adalah 1 dan jika belum diberi tahu maka kondisi dalam data base adalah 0. 8. Jika semua pemilik rumah tidak dapat dipanggil dengan alasan apapun atau tidak ada dirumah maka tamu dapat meninggalkan pesan suara melalui microphone yang ada di pintu. 9. Pesan tamu tersebut langsung disimpan dalam database. 10. Untuk proses pemanggilan yang gagal ke semua nomor handphone pemillik rumah, maka tiap jam 9, 12, 15 computer akan melakukan pemanggilan ulang ke semua nomor handphone pemilik rumah. Jika informasi tentang kedatangan tamu telah diberitahukan maka computer tidak akan mendial lagi pada jam-jam tersebut. 11. Sistem ini juga dapat dipanggil dari luar oleh pemilik rumah.Disini masing-masing pemilik rumah mempunyai password pada saat akan masuk sistem. Jika password salah maka pemanggil tidak dapat memasuki sistem ini. 12. Jika sudah masuk sistem maka pemanggil yaitu pemilik rumah dapat mengganti pasword dan mendengarkan informasi mengenai tamu yang belum diberi tahukan dan tamu hari saat memanggil. 13. Sistem ini juga dilengkapi web yang dapat menampilkan semua data tamu dalam database dan update profil serta tambah user.

29

3.1 PERENCANAAN HARDWARE Untuk koneki antara pussbutton dengan computer melalui parallel port dan computer dengan bel DC melalui parallel port menggunakan suatu rangkaian. 3.1.1 Penentuan pin parallel port Pada port paralel ada 3 jalur data, yaitu : Jalur kontrol : Memiliki arah bidirectional Jalur status : Memiliki satu arah, yaitu arah input. Jalur data : Memiliki 2 arah. Dapat juga berfungsi sebagai pengirim Address dan data, masing-masing 8 bit, dimana keduanya melakukan transfer data dengan protokol handshaking serta diakses dengan register yang berbeda. Bila kita menggunakan jalur LPT1 maka alamat yang ditentukan oleh PC sesuai Table 2.1. Untuk penentuan pin yang digunakan kita menggunakan Tabel 3.2 Port paralel dapat mentransmisi 8 bit data dalam sekali detak. Tata-letak dari ke-dua puluh lima pin (DB 25) parallel printer port, diperlihatkan dalam Gambar berikut:

Gambar 3.2 pin pada parallel port(9) Sesuai dengan konfigurasi pin pada table diatas maka kita dapat menentukan pin input untuk pushbutton adalah pin 10 dan pin output untuk bel DC adalah pin 5. sebenarnya untuk data ada pada pin 2. 3.1.2 Gambar Rangkaian gambar rangkaian pushbutton, bel DC dan parallel port. gambar rangkaian sebagai berikut :

30

9V

3V

Gambar 3.3 Rangkaian pada parallel port keterangan gambar: 1. dioda 2. transistor 3. resistor 4. LED 5. push button 6. sumber DC yaitu baterei 9 votl dan 1,5 volt 7. bel rumah Dioda digunakan untuk menghindari arus balik yang kembali ke parallel port, LED digunakan untuk indikasi rangkaian bekerja dengan baik, resistor digunakan untuk membatasi tegangan pada LED agar tidak mudah rusak, transistor disini difungsikan sebagai switch untuk bel DC. 1. Jika pin 5 ada tegangan maka kaki kolektor dan emiter short/close. 2. Jika pin 5 tidak ada tegangan maka kaki kolektor dan emiter open. 3.1.3 Pembuatan Program Parallel Port Agar hardware yang telah dibuat dapat dikenali oleh komputer melalui parallel port maka perlu dibuatkan program akses IO yang dapat membaca kondisi port dan memberi nilai port. Program ini ditulis dalam bahasa C dalam linux adalah GCC.

31

3.1.3.1 Flowcart program

tidak ya

Gambar 3.4 flowchart program parallel port 3.1.3.2 Syntax program akses IO parallel port Sintak sintak dalam bahasa C yang digunakan untuk mengakses parallel port sebagai barikut: ioperm(): membuka alamat I/O, parameternya adalah alamat port dan panjangnya dalam bytes. Lokasi port 0x0000 to 0x03ff. iopl(): membuak masukan I/O (keterangan: I/O pada PCI devices ralokasinya pada 0x03ff.) untuk membaca dan menulis pada I/O memanggil sistem: inb(), inw(), dan inl(), untuk byte, kata and bacaan panjang; outb(), outw(), dan outl(), untuk byte, kata, menulis panjang.

32

3.2 INSTALLASI DIALOGIC D/41JCT-LS Hal yang perlu di perhatikan pada penginstallan Dialogic Card adalah pengesetan Board ID. Pengesetan Board ID memberikan suatu nomor yang digunakan sebagai identifikasi yang digunakan oleh Dialogic System Software. Nomor tersebut memberikan nama device dan channel untuk sebuah Board. Nomor tersebut berdasarkan atas Board ID yang diset menggunakan switch putar pada Board. Pada saat posisi switch putar menunjukkan posisi Board ID sama dengan 0 maka Board secara otomatis akan dikenali karena Board merupakan Plug and Play Device. Berikut ini merupakan deskripsi dari Card D/41JCT-LS secara fisik :

Gambar 3.5 Deskripsi Fisik Card D/41JCT-LS(10) Bagian-bagian dari deskripsi fisik card D/41JCT-LS yaitu SW30, SW4, J1-J4, JP1, dan JP2. SW30 digunakan untuk pengesetan Board ID dimana board ini menggunakan switch putar. SW4 digunakan untuk pengesetan switch hook apabila off (default) maka penelepon akan mendengar bunyi ringing tone (on-hook) dan apabila on maka penelepon akan mendengar bunyi signal busy (off-hook). J1-J4 merupakan connector RJ-11 yang digunakan untuk menghubungkan PABX atau Jaringan PSTN. JP1 merupakan jumper yang disediakan. JP2 merupakan jumper yang dipakai terminasi CT Bus di board pada bagian akhir dari kabel CT Bus yang lain. Setelah langkah-langkah tersebut dilakukan, maka Dialogic Card di kenali sebagai PCI Device. Ada beberapa hal yang diperlukan untuk dapat menggunakan Dialogic board D/41JCT-LS antara lain :

33

1. 2. 3.

Sistem linux dengan menggunakan kernel 2.4.x kernel dan paket sourcenya. Paket Linux Stream (LiS). Driver dialogic D/41JCT-LS ( Dialogic System Software ).

3.3 PERENCANAA DAN PEMBUATAN SOFTWARE 3.3.1 Installasi Software 3.3.1.1 Installasi Linux Debian Sistem operasi yang digunakan pada peralatan pengamanan rumah ini adalah linux debian kernel 2.4.x. Kernel 2.4.x ini di pilih karena merupakan kernel terbaru dari linux debian sehingga untuk konfigurasi sistem pengamanan rumah semuanya sudah memenuhi. Untuk update paket, sistem server mengambil paket dari mirror debian terdekat, yaitu mirror.eepis-its.edu server ini merupakan mirror lokal di PENS atau bisa juga mirror ke kebo.vlsm.org. Mirror merupakan sebutan untuk komputer server yang berfungsi sebagai rujukan atau pusat untuk melakukan update sistem operasi linuz debian. Pada mirror disediakan paket-paket software yang bisa berjalan di linux debian. Pemilihan mirror tersebut dilakukan dengan cara menentukan source list server dengan mengkonfigurasi file /etc/apt/source.list Adapun Langkah-langkah instalasi sebagai berikut : Booting dari CD dengan mengeset bios booting awal pada CD rom Pada menu input ketikan kernel linux yang akan di pakai, untuk kernel 2.6 ketikkan linux24 Pilihan bahasa, untuk bahasa yang standar pilih american english. Pilihan negara, pilih other, asia kemudian indonesia. Pilihan keyboard, untuk keyboard yang di gunakan adalah dari amerika, maka pilih american english. Automatic detect hardware, network (dhcp), klien akan mendapatkan IP dari server secara otomatis. Memasukkan hostname, debian (optional). Memasukkan domain name: eepis-its.edu Metode partisi, entire disk, untuk memudahkan manajemen hardisk pilih partisi secara manual. Finish partisi dan write changes to disk, pilih yes. Instaling debian base system.

34

Install GRUB boot loader, pilih yes. Setelah instaling compled,ambil CD installer, pilih continue. Komputer akan booting ulang. Tampilan " Welcome to your new Debian System!" pilih no. Konfigurasi waktu, pilih konfigurasi menual untuk wilayah asia pilih no. Pilih asia/ Jakarta ( java & sumatra ). Konfigurasi password root password (password untuk super user root) re-enter password (pengulangan password root) nama user / full name (user lain selain root) nama user account user password (password user) re-enter password (pengulangan password user) Konfigurasi apt, untuk instalasi sistem dari CD, masukkan CD Debian dan pilih CDROM tekan ok. perlu di ketahui letak direktori CD-ROM berada pada file /dev/cdrom. Tungggu beberapa saat. ! Tampilan scan untuk CD Debian Yang lain, pilih no Tampilan pilihan tentang informasi HTTP proxy kosongi, pilih ok. Tampilan connect security.debian.org CTRL-C untuk cancel Muncul peringatan untuk access security, pilih ok Debian Software Debian Selection Pilihan untuk memilih Paket yang akan diinstall kosongi, pilih ok (instalasi paket di lakukan secara manual saja) konfigurasi EXIM: Configuring Exim v4 (exim4- Config) general typre of mail configuration no configuration at this time, pilih ok Menu konfirmasi untuk Exim v4 pilih yes Menu untuk mempertanyakan tujuan mail (root and post mail recipent) ketik sesuai dengan user pilih ok Tunggu untuk reloding exim4 configuration files Tampilan Thank you for choosing debian ok. Kemudian masuk pada login ketik root dan masukkan password untuk root

35

3.3.1.2 Installasi GCC Untuk menjalankan program bahasa c yang telah kita buat dilinux maka dapat diperlukan langkah-langkah sebagai berikut : 1. Install compiler C (GCC) dengan mengetik : # apt-get install gcc-3.4 # apt-get install gcc-dev 2. Install paket library yang ada didalamnya dengan mengetik : # apt-get install libc6 # apt-get install libc6-dev Semua paket diatas dapat kita peroleh dari ftp://mirror.eepisits.edu/debian/ 3.3.1.3 Installasi Dialogic System Software Apabila hal-hal tersebut telah tersedia maka diperlukan langkah-langkah penginstalan software dialogic dan pengkonfigurasian sebagai berikut : 1. Penginstalan sistem linux dengan menggunakan kernel 2.4.x kernel dan paket sourcenya dimana pada penginstalan ini menggunakan distro linux debian dengan kernel 2.4.27. Caranya : 1. Login sebagai super user (root) 2. Masuk ke direktori /usr/src dengan mengetik : # cd /usr/src/ 3. Install kernel source dengan mengetik : /usr/src# apt-get install kernel-source4. ekstrak paket kernel source dengan mengetik : /usr/src# tar jxvf kernel-source-2.4.27.tar.bz2 /usr/src# ln s kernel-source-2.4.27 linux 5. Install kernel headers dengan mengetik : /usr/src# apt-get install kernel-header-2.4.27

36

2.

Penginstalan Linux Stream (LiS) dengan menggunakan LiS-2.15.2 dimana LiS ini yang mendukung driver Dialogic System Software. Install LiS dengan mengetik : #cd /usr/src/LiS-2.15.2.tgz /usr/src# tar zxvf LiS-2.15.2.tgz #cd /usr/src/LiS-2.15/ /usr/src# ./Configure /usr/src# make /usr/src# make install Hasil dari command yang dijalankan pada shell linux debian sebagai berikut:

37

38

39

Gambar 3.6 Tampilan Konfigurasi LiS

40

3.

Sebelum penginstallan dialogic package lakukan konfigurasi ..bashrc dengan mengetik : # apt-get install vim # vim . bashrc # . .bashrc

Gambar 3.7 Tampilan Konfigurasi Vim .bashrc 4. Penginstalan driver dialogic dan dialogic package yang dibutuhkan, dalam hal ini package yang diinstall adalah package springware. Install Dialogic System Software dan library dari rpm dengan mengetik : #cd dialogic/linux /root/dialogic/linux# apt-get install alien /root/dialogic/linux# alien *.rpm /root/dialogic/linux# dpkg i dlgdev_5.1-2_i386.deb dlgccom_5.1-2_i386.deb dlgcooc_4.0.5-2_i386.deb dlgccsp_5.1-2_i386.deb dlgparms_5.1-2_i386.deb dlgcgc_2.1-2_i386.deb dlgcpri_5.1-2_i386.deb dlgcdocs_5.1-2_i386.deb libstdc++devel_2.96111_i386.deb libstdc++_2.96-111_i3 86.deb

41

5.

Agar konfigurasi dialogic sesuai dengan dialogic yang kita gunakan makan kita perlu malakukan konfigurasi pada driver dialogic. Pengkonfigurasian dialogic dengan cara : 1. Lakukan konfigurasi dialogic dengan mengetik : /root/dialogic/linux# vim config.sh /root/dialogic/linux# chmod +x config.sh /root/dialogic/linux# ./config.sh Tampilan yang ada pada config.sh merupakan hasil konfigurasi yang telah kita lakukan.

Gambar 3.8 Tampilan Konfigurasi Vim config.sh

42

43

44

Gambar 3.9 Tampilan Konfigurasi ./config.sh 2. Konfigurasi .mastercfg dengan mengetik : # vim /usr/dialogic/cfg/.mastercfg 3. Konfigurasi syslog.conf dengan mengetik : # vim /etc/syslog.conf # /etc/init.d/syslogd restart 4. Konfigurasi untuk orbacus dengan mengetik : # ln s /etc/rc.d/init.d/orbacus /etc/init.d/orbacus # ln s /etc/rc.d/rc3.d/S85orbacus /etc/init.d/S85orbacus # rm /etc/init.d/S85orbacus # ln s /etc/rc.d/rc2.d/S85orbacus /etc/rc3.d/S85orbacus # ln s /etc/rc.d/rc5.d/S85orbacus /etc/rc5.d/S85orbacus

45

5. Konfigurasi untuk dialogic dengan mengetik : # for dyn in /usr/dialogic/lib/* /usr/dialogic/ooc/lib/*; do ln s ${dyn} /usr/lib/`basename ${dyn}`; done # ldconfig v # ldconfig v | grep dxxx 6. Konfigurasi pada ld.so.conf dengan mengetik : # vim /etc/ld.so.conf 7. Lanjutkan konfigurasi dialogic dengan mengetik : # for header in /usr/dialogic/inc/*.h; do ln s ${header} /usr/include/`basename ${header}` ; done # for dyn in /usr/dialogic/lib/* /usr/dialogic/ooc/lib/*; do ln s ${dyn} /usr/lib/`basename ${dyn}`; done # ln s /bin/pdiof /sbin/pidof # ln s /usr/lib/libxerces_c1_5.so /usr/lib/libxerces.so # mkdir p /var/dialogic/log # chmod 766 /var/dialogic/ /var/dialogic/log/ # cp /usr/dialogic/init.d/diaogic /etc/init.d/dialogic # update-rc.d f dialogic 2 5 6 0 # update-rc.d f dialogic defaults # update-rc.d f dialogic remove # update-rc.d f dialogic defaults 90 # cp /usr/dialogic/cfg/RtfConfig.xml /usr/dialogic/cfg /DefaultRtfConfig.xml # chmod w /usr/dialogic/cfg/DefaultRtfConfig.xml 8. Konfigurasi /etc/profile dengan mengetik : # echo . /etc/profile.d/orbacus.sh >> /etc/profile # echo . /usr/dialogic/bin/setenv.sh >> /etc/profile # vim /etc/profile 9. Konfigurasi .mastercfg dengan mengetik : # vim /usr/dialogic/.mastercfg

46

10. Jalankan config.sh lagi dengan mengetik : # ./config.sh

11. Copy file libstdc++-3-libc6.2-2-2.10.0.so dengan mengetik : # cd /usr/lib/ /usr/lib# cp libstdc++-3-libc6.2-2-2.10.0.so libstdc++-3-libc6.2-2-2.10.0.so.ORIG # cp /root/dari-rpm/usr/lib/ libstdc++-3libc6.2-2-2.10.0.so . 5. Lakukan Pengetesan driver dialogic untuk membuktikan apakah driver dialogic telah terinstall dan menjalankannya dengan mengetik : # /etc/dialogic/start 6. Untuk menghentikan dialogic dengan mengetik : # /etc/dialogic/start 3.3.1.4 Installasi Audacity Menggunkan software audacity digunakan untuk merekam suara dalam format wav yang dapat dimainkan pada dialogic. #apt-get install audacity Untuk penggunaan audacity dapat di baca di intruksi penggunaan audacity yaitu: #man audacity

47

3.3.1.5 Installasi Bplay dan Brec Memerlukan sofware ini untuk memainkan file suara dalam format wav pada speaker (bplay) dan merekam dalam format wav suara dari microphone (brec) yang juga dapat dimainkan pada dialogic. #apt-get install bplay Setelah menginstall bplay maka brec akan terinstall juga. Untuk penggunaan audacity dapat di baca di intruksi penggunaan bplay dan brec yaitu: #man brec #man bplay

3.3.1.6 Installasi Web Server Pada komputer server deperlukan web server untuk mendukung phpmyadmin. Langkah-langkah konfigurasi apache2 dengan mengetikkan perintah-perintah berikut pada shell : 1. install apache. Untuk melakukan installasi apache2, ketikkan perintah berikut pada shell linux. Perintah ini berfungsi untuk menginstall paket apache2 yang terdapat dalam debian, sedangkan baris kedua melakukan installasi paket library apache agar dapat mendukung aplikasi yang menggunakan php4 # apt-get install apache2 # apt-get install libapache2-mod-php4 2. Restart apache Agar konfigurasi baru tersebut berimbas maka apache perlu di restart terlebih dahulu. # /etc/init.d/apache restart 3.3.1.6 Installasi PHP Salah satu bahasa pemrograman yang digunakan dalam membangun sistem ini adalah PHP, pemilihan bahasa pemrograman ini karena sifatnya gratis dan handal untuk aplikasi berbasis web. Pemilihan aplikasi berbasis web ditujukan agar tidak perlu lagi melakukan setting

48

atau installasi khusus pada komputer klien, sehingga memungkinkan pelanggan menggunakan komputer pribadi untuk memanfaatkan sistem ini. PHP merupakan bahasa pemrograman yang bersifat server side, sehingga seluruh proses dijalankan disisi server. Hal ini sangat membantu keamanan sistem. Langkah-langkah installasi PHP : 1. Install php versi 4 # apt-get install php4 # apt-get install php4-mysql Baris pertama untuk menginstall paket php4, sedangkan baris kedua merupakan modul php4 untuk bisa koneksi dengan MySQL. 2. Buat file info.php # vim info.php ketikkan listing program 3.11 dan simpan program di direktori /var/www/

3.

Test PHP4 dengan memanggil file info.php dari browser. Bila php4 berjalan maka, akan keluar tampilan seperti dibawah ini

Gambar 3.10 Tampilan PHP info 3.3.1.7 Installasi MySQL

49

Sebagai media penyimpanan data, sistem ini menggunakan database MySQL. Pemilihan database ini karena MySQL merupakan database yang free namun memiliki kehandalan yang sudah teruji.. Installasi MySQL : 1. Install paket MySQL # apt-get install mysql-server-4.1 # apt-get install php4-mysql 2. Install phpmyadmin untuk memudahkan administrasi database. # apt-get install phpmyadmin 3. Jalankan web browser ke alamat http://localhost/phpmyadmin untuk mengecek phpMyadmin.

Gambar 3.11 tampilan phpmyadmin 3.4 PEMBUATAN DATABASE MYSQL

50

Pada proyek akhir ini kita menggunakan database untuk menyimpan data dari tamu yang datang. Data yang disimpan adalah waktu kedatangan, gambar dari tamu, pesan jika pemilik rumah tidak ada dirumah. Untuk membuat database ini. Menggunakan phpmyadmin yaitu: 1. Untuk membuka phpmyadmin kita menggunkan web browser. Ketik http://localhost/phpmyadmin 2. Login pertama kita mesukkan user dan password. Phpmyadmin ini user root dan password root.

Gambar 3.12 login phpmyadmin 3. Membuat database dengan memasukkan nama database yang kita ciptakan. Database kami bernama system_tamu.

51

Gambar 3.13 form create database 4. Membuat table dengan mengisi nama tabel yang akan kita buat dan jumlah field yang kita gunakan. Format tiap filed dapat kita set sesuai yang kita butuhkan. Type field yang kami gunakan untuk tiap tabel dapat kita lihat pada gambar dibawah beserta tabel apa saja yang kita gunakan.

Gambar 3.14 tabel system_tamu

52

Gambar 3.15 table bluetooth

Gambar 3.16 table pasword

Gambar 3.17 tabel user 5. Untuk merubah database dapat kita gunakan insert, delete atau update.

3.5 PEREKAMAN FILE SUARA FORMAT WAV Proses perekaman dalam proyek akhir ini menggunakan audacity. Banyak cara yang digunakan untuk merekam file suara dengan format WAV tapi menurut kami yang lebih mudah audacity karena ada tampilan GUI.

53

Setting audacity agar dapat dijalankan atau play di dialogic card sebagai barikut:

Gambar 3.18 setting sample rate

Gambar 3.19 setting format file

proses perekaman hanya menekan tombol record. Jika sudah selesai tekan tombol finish. Contoh hasil rekam suara sebagai berikut:

54

Gambar 3.20 tampilan saat perekaman 3.6 PLAY SUARA DAN RECORD SUARA Untuk play suara ke speaker dan record suara dari microphone kita menggunakan sofware bplay dan brec yang ada di debian. Untuk syntax yang digunakan untuk sebagai berikut : #bplay [-d device] [-B buffersize] [-S] [-s speed] [-b bits] [[-t secs] | [-T samples]] [[-j secs] | [-J samples]] [-D level] [file] #brec [-d device] [-B buffersize] [-S] [-s speed] [-b bits] [[-t secs] | [-T samples]] [-r|-v|-w] [-D level] [file] agar suara yang direkam dapat dimainkan oleh dialogic card maka menggunakan bit per sample 8bit. Tapi sample rate yang bisa 8000Hz atau 11025Hz. 3.7 PERENCANAAN DAN PEMBUATAN PROGRAM Untuk membuat program kita terlebih dahulu membuat flowcart yang merupakan jalan logika dari program yang akan kita buat. Pada proyek akhir ini kita tarlebih dahulu membuat cara kerja sistem penerima tamu yang tertuang pada flowcart dibawah ini :

55

Gambar 3.21 Flowcart program sistem Untuk menjalankan sistem ini kita menjalanka 2 program yaitu system_bamu.c dan bagusDipanggil5.c. program system_baru.c digunakan untuk melakukan proses seperti flowchart. Program pertama mendifinisikan input parallel adalah input yang berasal dari bel pintu. Database dicek apakah lebih dari 7 hari jika ya hapus file jika tidak melihat apakah ada tamu dari input parallel jika ya menjalankan program scan.c (untuk melakukan scan bluetooth) transfer.c (untuk transfer file) dan system_baru5.c (untuk melakukan panggilan saat ada tamu yang datang). tiap proram mempunyai tugas msing masing akan dijelaskan di subbab berikutnya. Kalau tidak ada tamu maka mengecek jam apakah waktu pemberitahuan jika ya maka lakukan program system_baru1.c (untuk melakukan panggilan saat waktu pemberitahuan). tugas program ini akan dijelaskan pada subbab berikutnya.

56

3.7.1 Program panggilan saat ada tamu

Gambar 3.22 flowcart panggilan saat ada tamu

57

Saat ada tamu program melakukan panggilan kepada pemilik rumah. Yang diutamakan adalah yang terdeteksi HP nya dari hasil scan bluetooth. Jika tidak ada yang ditemukan maka memanggil user sesuai urutan di database. Dalam pemanggilan itu pemilik rumah bisa memberi tahu bisa membuka pintu atau tidak atau ingin meninggalkan pesan. Jika pemanggilan berhasil maka user yang berhasil dipanggil diberi kondisi 1. jika tidak 0. jika semua gagal dipanggil atau tidak ada dirumah tamu bisa meninggalkan pesan suara. 3.7.2 Program saat waktu pemberitahuan

Gambar 3.23 flowcart panggilan saat waktu pemberitahuan

58

kami dapat menetukan jam berapa saja akan ada pemberi tahuan kepada user yang gagal dipanggil dengan informasi waktu ada tamu dan pesan jika ada. 3.7.3 Program dipanggil

Gambar 3.24 flowcart program dipanggil

59

Proyek akhit ini juga memiliki fasilitas untuk dipanggil dari luar. Pilihannya adalah rubah password dan info tamu hari ini dan yang belum diberitahukan. Saat akan masuk sistem akan ada autentifikasi dengan memasukkan pasword. 3.7.4 Program hapus data sesuai batas waktu

ya

Gambar 3.25 Flowcart hapus data sesuai batas waktu setiap ada tamu maka waktu dan file gambar serta suara disimpan dalam database dan hardisk jika semua disimpan tanpa ada penghapusan maka akan overload. Untuk itu kami buat program yang dapat menghapus data dalam datadase, file gambar dan file suara.

60

3.7.5 Flowchart Fungsi Dialogic 3.7.5.1 Program Perekaman file suara Program perekaman ini digunakan saat pemilik rumah ingin meninggalkan pesan. Jadi pesan dari pemilik rumah ini dapat didengarkan oleh tamu. Untuk membuat program ini pertama kita membuka channel dahulu. Jika jika tidak dapat dibuka langsung selesai. Lalu menyiapkan file handler. Dialogic lalu siap menuggu ring tone. Saat ada ring tone langsung melakukan perekaman file setelah selasai disimpan pada file handler. Sistem selesai.

Gambar 3.26 Flowchart Program Perekaman File 3.7.5.3 Program Pemutaran file suara Program pemutaran file WAV digunakan untuk memberikan informasi kepada siapa yang di telepon. Proses pembuatan program ini adalah open channel dahulu jika berhasil deteksi ringtone jika tidak sistem selesai. Lalu play file WAV yang diinginkan setelah itu selesai.

61

Gambar 3.27 Flowchart Program Pemutaran File suara 3.7.5.4 Program Call (panggilan) Program panggilan ini sangat penting karena tugasnya melakukan panggilan kepada pemilik rumah. Prosesnya open channel deteksi ringtone. Jika diterima maka set off hook lalu lakukan proses yang diinginkan; misalnya play suara, close channel, set on hook selesai. Jika tidak close channel lalu selasai.

62

Gambar 3.29 Flowchart Program Call (panggilan) 3.7.5.5 Program Pendeteksian Digit DTMF Program pendeteksian digit DTMF ini digunakan untuk konfirmasi apakah pemilik rumah bisa membuka pintu atau tidak. Atau pada program dipanggil yang membutuhkan penekanan digit untuk konfirmasi paseord. Pembuatannya hampir sama dengan sebelumnya. Yang pertama selalu membuka channel. Lalu deteksi ringtone setelah itu siap menerima digit. Lalu selesai.

63

Gambar 3.28 Flowchart Program Pendeteksian Digit DTMF 3.7.6 Program MySQL 3.7.6.1 Program Mysql cari data Program cari data ini paling banyak digunakan untuk dapat melakukan pencarian contohnya no telp atau data tamu. Proses pembuatan nya pertama connect mysql lalu memilih data base yang di cari. Lalu melakukan pencarian sesuai dengan yang diinginkan jika ada lalu ambil data jika tidak ada close mysql lalu selesai.

Gambar 3.30 flowchat ProgramMySQL cari data

3.7.6.2 Program MySQL insert data Program insert ini untuk memasukkan tanggal saat ada tamu. Prosesnya hamper sama hanya pada proses setelah select data base melakukan pemasukan data lalu close mysql.

Gambar 3.31 flowchart program MySQL insert data

3.7.6.3 Program MySQL delete dataStart Connect MySQL

data saat data tersebut lebih dari 7 hari. Prosesnya hampir sama dengan program insert tapi jika ada delete file.

Select Database

Cari Data

Ada Ya Delete data

Tidak

MySQL Close

End

Gambar 3.32 Flowchart Program MySQL delete data program delete data ini digunakan untuk menghapus 64

3.7.6.4 Program MySQL update data

Gambar 3.33 Flowchart Program MySQL update data Program ini juga penting untuk mengganti kondisi jika ada data yang semula belum dipanggil lalu diberitahukan ulang lalu berhasil maka kondisi itu diganti. Programnya hampir sama dengan cari data dan delete data, yang berbeda pada proses setelah data ditemukan yaitu update data.

64

3.7.7 Syntax-syntax yang digunakan 3.7.7.1 Syntax-syntax dialogic 3.7.7.1.1 dx_open program sebelum proses yang diinginkan dikjalankan maka harus membuka channel dahulu. Contoh dalam program TA ini sebagai berikut :

ch = "dxxxB1C1"; printf("Open Device state -----------\n"); if ((chdev = dx_open(ch,0)) == -1 ) { printf("Cannot open device"); exit(0); } pada program ini channel yang dibuka adalah channel 1.

3.7.7.1.2 dx_close fungsi ini digunakan untuk menutup channel jika selesai digunakan, jika tidak ditutup maka channel itu akan sibuk. Contoh program yang menggunakan syntax ini : dx_close(chdev); parameter yang digunakan dalam program diatas adalah hasil dari dx_open yaitu chdev. 3.7.7.1.3 dx_sethook fungsinya untuk mengatur hook dialogic. Jika ingin digunakan maka hook di buat off lalu setelah digunakan hook harus di on kan. Contoh program yang menggunakan syntax ini adalah:

int hook(int device,int hooknya) { if (hooknya == 1) { 66

67

printf("offhook\n"); if(dx_sethook(device,DX_OFFHOOK,EV_SYNC) == -1 ) { printf("error offhook"); exit(1); return 1; } } else { printf("onhook\n"); if(dx_sethook(device,DX_ONHOOK,EV_SYNC) == -1 ) { printf("error onhook"); return 1; } } } syntak dx_sethook pada program ini dibuat fungsi agar dapat dipanggil jika perlu. Jika ingin kondisi off hook maka parameter ke-2 yaitu hooknya diberi nilai 1 jika ingin on hook dipilih nilai lainnya contohnya 0. 3.7.7.1.4 dx_dial fungsi ini untuk mendial ke no yang diinginkan. Contoh pada program sebagai berikut : if ((care=dx_dial(ddd,baris[2],&capp,DX_CALLP|EV_SYNC)) == 1 ){ printf("error dial"); exit(0); } nilaiCek=cek(cares,ddd); int cek(int care,int ddd){ switch(care) { case CR_CNCT: printf("\nanswer \n"); return 0; case CR_BUSY: printf("busy\n");

68

return 1; case CR_CEPT: printf("intercept\n"); return 1; case CR_NOANS: printf("noanswer\n"); hook(ddd,0); return 1; case CR_NODIALTONE: printf("no dialtone\n"); return 1; case CR_NORB: printf("no ringback\n"); return 1; default : printf("mbuh"); return 1; } printf("done\n"); return 0; } syntax ini memiliki kondisi yang mungkin terjadi, mungkin sibuk atau tidak diangkat atau diangkat. Kondisi ini di lihat dari nilai dx_dial yang dijalankan dalam hal ini care jika nilainya CR_CNCT maka proses dilanjutkan. 3.7.7.1. 4 dx_recwav syntax ini digunakan pada program rekam. Contohnya sebagai berikut : tpt.tp_type = IO_EOT; tpt.tp_termno = DX_MAXDTMF; tpt.tp_length = 1; tpt.tp_flags = TF_MAXDTMF; /* Start 11Khz PCM recording */ if (dx_recwav(ddd,suara, &tpt, (DX_XPB *)NULL, PM_TONE | EV_SYNC ) == -1) { printf("Error recording file - %s\n", ATDV_ERRMSGP(ddd));

69

exit(4); } 3.7.7.1.5 dx_playwav syntak ini digunakan untuk menjalankan file suara format WAV. Contoh programnya adalah : void playWav(char suara[128], int ddd){ printf("..........WAV state\n"); tpt.tp_type = IO_EOT; tpt.tp_termno = DX_MAXDTMF; tpt.tp_length = 1; tpt.tp_flags = TF_MAXDTMF; printf("%s\n",suara); if (dx_playwav(ddd,suara , &tpt,EV_SYNC) == -1) { hook(ddd,0); printf("Error WAV %s\n", ATDV_ERRMSGP(ddd)); exit(4); } printf("play suara selesai\n"); return ; } pada program ini dx_playwav dijadikan fungsi tersendiri karena ada play suara yang sangat banyak. 3.7.7.1.6 dx_getdig syntax ini digunakan untuk mendeteksi digit yang ditekan. Contoh programnya adalah : char tekanDigit(int dev,char digit[10]){ int ndigit,cnt; printf("Get digit---------state "); dx_clrtpt(getdigit,3);

70

getdigit[0].tp_type = IO_CONT; getdigit[0].tp_termno = DX_MAXDTMF; getdigit[0].tp_length = 1; getdigit[0].tp_flags = TF_MAXDTMF; getdigit[1].tp_type = IO_CONT; getdigit[1].tp_termno = DX_LCOFF; getdigit[1].tp_length = 3; getdigit[1].tp_flags = TF_LCOFF|TF_10MS; getdigit[2].tp_type = IO_CONT; getdigit[2].tp_termno = DX_MAXTIME; getdigit[2].tp_length = 100; getdigit[2].tp_flags = TF_MAXTIME; if ((ndigit = dx_getdig(dev, getdigit, &digitp, EV_SYNC))==-1) { perror("Get digit\n"); } for(cnt=0; cnt

81

2 masuk database mysql> show databases; +-----------------------+ | Database | +-----------------------+ | system_tamu | +-----------------------+ 17 rows in set (0.00 sec) mysql> use system_tamu; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed 3 untuk melihat table mysql> show tables; +-----------------------+ | Tables_in_system_tamu | +-----------------------+ | bluetooth | | pasword | | tamu | | users | +-----------------------+ 4 rows in set (0.00 sec) untuk melihat isi dari tiap table maka: select * from nama table ; jika semua sudah berjalan maka mysql telah berjalan dengan baik. 4.3 PENGUJIAN INTEGRASI melakukan integrasi dengan menggabungkan antara haedware, dialogic card dan bluetooth. Tampilan jika tidak ada tamu :

82

Tidak ada tamu yang datang nilai 0 4 23 5 12 2 mulai cari jumlah yang 0 = 0 onhook error onhookEnd program.....Good Bye!!!!!! analisa : nilai 0 adalah return dari fungsi integrasi jika 0 tidak ada tamu jika 1 ada tamu. Yang lain adalah mencari tanggal sekarang dibandingkan dengan tanggal data. tampilan jika ada tamu :

83

Tanggal 28-7-2006 pukul 04:30 ada tamu yang datang Reading image from /dev/video 28-7-2006_04:30.jpg nilai 1 opening socket: No such device coba kenekgak open mulai cari nama gambar 28-7-2006_04:30.jpg nama gambar 28-7-2006_04:30.jpg 28-7-2006_04:30.jpg nama gambar 28-7-2006_04:30.jpg 28-7-2006_04:30.jpg nama gambar 28-7-2006_04:30.jpg jumlah user = 3 mulai cari jumlah bluetooth yang kedetex mulai cari tanggal saat bel aktif 2006-07-28 04:30:23 waktu integrasi 2006-07-28 04:30:23 keluar dari looping start of pisah waktu end of looping pertama end of looping kedua end of looping ketiga end of looping keempat end of pisah waktu 2006 07 28 04 30 setelah pisah waktu namaPesan = 2006-07-28_04:30.WAV jumlah yang ke detect 0 Analisa : Proses ini adalah proses penangkapan gambar scan bluetooth dan transfer file gambar.

tampilan jika waktu pemberitahuan

84

cari tanggal sekarang tanggal sekarang = 2006-07-28 cari user yang dipanggil where rfcomm = '0' analisa : ini merupakan hasil tanggal sekarang yang sama dengan waktu pemberitahuan dan mulai cari yang belum diberitahukan. tampilan saat tidak ada yang berhasil dihubungi atau tidak ada yang di rumah : Playing WAVE : 8 bit, Speed 11025 Mono ... brec -w -s 11025Hz -b 8 -t 10 2006-0728_02:50.WAV Writing MS WAV sound file, 11025Hz, 8bit, jalan update pada pesan = 2006-0728_02:50.WAV gambar = 28-7-2006_02:50.jpg waktu update pesan.wav UPDATE tamu SET pesan='2006-0728_02:50.WAV' WHERE gambar='28-72006_02:50.jpg' jalan update pada kondisi = 000 gambar = 28-72006_02:50.jpg nama UPDATE tamu SET kondisi='000' WHERE gambar='28-7-2006_02:50.jpg'onhook Analisa: Ini merupakan saat perekaman file suara oleh tamu jika tidak ada yang mengangkat atau sibuk. Dan proses memasukkan data file suara ke dalam data base. pengujian waktu dial yang sampai ke pemilik rumah setelah melewati proses scanning dan transfer file. maka hasilnya sebagai berikut : Lama panggilan saat :

1.

bluetooth yang terdeteksi 1

85 Dial 1 22,03 19,08 18,86 21,52 18,