Hasil dan Pembahasan T1 672005021 Full Tex

13 Pada Gambar 11 memperlihatkan adanya relasi antara entity set inbox, dengan set outbox, dan set sent item. Gambar 12 ERD Sistem iCatalog Pada Gambar 11 memperlihatkan adanya relasi antara entity set penjualan, dengan entity set agen, entity set pembeli, entity set mobil, entity set model, entity set merk, entity set komentar, dan entity set guest.

4. Hasil dan Pembahasan

Inisialisasi Gammu Pada implementasi sistem layanan iCatalog berbasis SMS ini, dibutuhkan aplikasi Gammu yang digunakan sebagai SMS gateway antara handphone dengan sistem yang dibuat. Agar Gammu dapat mengidentifikasi handphone yang terhubung dengan komputer, perlu dilakukan edit file gammurc sebagai berikut. Kode Program 1 Konfigurasi file gammurc [gammu] port = com3: connection = at19200 Perintah pada Kode Program 1 digunakan untuk menghubungkan Gammu ke HP menggunakan port:com3 dengan setting koneksi AT19200. Untuk melakukan uji koneksi handphone yang sudah terpasang dengan PC, digunakan perintah seperti pada Kode Program 2 14 Kode Program 2 Identifikasi Handphone C:\Gammu\bingammu identify Hasil yang akan ditampilkan dari perintah pada Kode Program akan menampilkan identitas handphone seperti pada Gambar berikut ini. Gambar 13 Hasil Identifikasi Gammu membutuhkan sebuah database untuk menyimpan setiap pesan yang masuk maupun yang telah dikirimkan. Pada aplikasi SMS Gateway untuk menunjang aplikasi iCatalog ini digunakan database MySQL agar mudah terintegrasi dengan script PHP yang akan digunakan pada aplikasi pengelolaan yang berbasis web. Kode Program 3 Konfigurasi File SMSdrc [gammu] port = com3: connection = at19200 service = MYSQL user = root password = pc = localhost database = showroom Pada Kode Program 3 menunjukkan konfigurasi file SMSdrc agar Gammu dapat terkoneksi dengan database MySQL yang digunakan pada sistem ini. Implementasi Proses Layanan Cari Ketika aplikasi iCatalog menerima sebuah pesan masuk berisi permintaan cari dari agen, dibutuhkan fungsi yang dapat mengidentifikasi dan membalas kepada pengirim pesan tersebut, atau yang biasa disebut dengan autorepply. Format atau isi dari SMS Cari agar mendapat balasan adalah, “ Carimerk”, atau dapat juga “ CariMerkTahun”. Pada sistem yang dibuat ini menggunakan RunOnReceive yang merupakan fitur pada Gammu untuk menjalankan suatu script ketika ada pesan yang masuk. Kode Program 4 Konfigurasi RunOnReceive runonreceive = D:exec.bat Kode Program 4 merupakan bagian dari isi file smsdrc yang diaktifkan fitur RunOnReceive untuk mengeksekusi sebuah file batch yaitu exec.bat ketika sistem menerima sebuah pesan masuk. 15 Kode Program 5 File exec.bat C:\wamp\php\php -f C:\wamp\www\sms\proses.php File batch pada kode program 5 akan menjalankan sebuah file yaitu proses.php yang merupakan service untuk mengidentifikasi pesan yang masuk dan menentukan respon yang dijalankan. Kode Program 6 File proses.php untuk menjalankan proses autoreply pada layanan SMS Cari 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. ?php Includekoneksi.php; File proses.php digunakan untuk mengirimkan reply ketika ada sms masuk sql = SELECT ID, SenderNumber, TextDecoded FROM showroom.inbox WHERE processed = false; qry = mysql_querysql or diemysql_error; while arr = mysql_fetch_arrayqry { membaca id sms id = arr[id]; membaca isi sms sms = arr[TextDecoded]; memecah isi sms berdasarkan karakter sender = arr[SenderNumber]; pecah = explode ,sms; qry5 = select from showroom.agen where hp=.sender. ; hasil5 = mysql_queryqry5; cek_hp = mysql_num_rowshasil5; if emptycek_hp { } else { cek keyword apakah sama dengan LAPORAN? if strtoupperpecah[0] == CARI { qry2 = select from showroom.mobil where tag like .pecah[1]. AND tahun like .pecah[2]. AND sold=false ; hasil2 = mysql_queryqry2; cek_hasil = mysql_num_rowshasil2; if emptycek_hasil { qry3 = INSERT INTO showroom.outbox DestinationNumber, TextDecoded VALUES .arr[SenderNumber].,HASIL PENCARIAN TIDAK DITEMUKAN. SILAHKAN KUNJUNGI WEBSITE KAMI UNTUK TIPE LAINNYA; mysql_queryqry3; } else { i = 0; while data2 = mysql_fetch_arrayhasil2 { i++; nopol = data2[no_polisi]; tag = data2[tag]; tahun = data2[tahun]; warna = data2[warna]; harga = data2[harga]; pesan = Hasil Pencarian :\n.i.. .nopol. .tag. .tahun. .harga.\n INFO LEBIH LANJUT SILAHKAN KUNJUNGI WEBSITE KAMI. BERKAH MOTOR ; qry4 = INSERT INTO showroom.outbox DestinationNumber, TextDecoded VALUES .arr[SenderNumber].,.pesan.; mysql_queryqry4; teks[] = implode ,teks; } 16 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. } } else { mysql_queryINSERT INTO showroom.outboxDestinationNumber, TextDecoded VALUES .arr[SenderNumber]., FORMAT SMS ANDA SALAH or diemysql_error; } } mysql_queryUPDATE showroom.inbox SET processed=true WHERE ID=.arr[ID].; } ? Kode program di atas digunakan untuk mengidentifikasi pesan yang masuk dan menentukan respon yang dijalankan. Pada baris 10 sampai dengan baris 15 untuk membaca ID SMS, membaca isi SMS, dan memecah isi SMS berdasarkan keyword “”. Pada baris 16 sampai 23 digunakan untuk mencocokkan sender number ke database agen. Jika tidak cocok, maka tidak akan melakukan SMS balasan. Apabila cocok, akan menjalankan program pada baris 24 sampai 31 yang berfungsi untuk melakukan pengecekan keyword dengan laporan SMS Format SMS. Apabila keyword yang dicari di database mobil tidak diketemukan, akan menjalankan baris 32 sampai 37, dan jika sebaliknya, akan menjalankan baris 39 sampai 59. Apabila terjadi kesalahan saat pencocokan keyword laporan, akan menjalankan baris 60 sampai 66. Kode Program 7 Proses broadcast mobil baru 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. pesan = AGEN YTH. \n PRODUK BARU: \n.nopol..tag..tahun.\n.harga.\n INFO LEBIH LANJUT SILAHKAN KUNJUNGI WEBSITE KAMI. BERKAH MOTOR ; sql3 = select from showroom.agen where active = true; qry3 = mysql_querysql3; while row3 = mysql_fetch_arrayqry3 { nohp = row3[hp]; email = row3[email]; nama = row3[nama]; letter = Dear .nama., \n Kami memiliki prduk baru : \n No Polisi : .nopol.\n Merk : .tag.\n Tahun : .tahun.\n Harga : .harga.\n Untuk informasi lebih lanjut, silahkan kunjungi website kami.\n \n Salam, \n \n BERKAH MOTOR; Broadcast pesan ke setiap no hp qry4 = INSERT INTO showroom.outbox DestinationNumber, TextDecoded VALUES nohp, pesan; mysql_queryqry4; mailemail, subject, letter; } broadcast Pembeli pesan2 = PELANGGAN YTH. \n PRODUK BARU: \n.nopol..tag..tahun.\n.harga.\n INFO LEBIH LANJUT SILAHKAN KUNJUNGI WEBSITE KAMI. BERKAH MOTOR ; sql5 = select from showroom.pembeli where active = true; qry5 = mysql_querysql5; while row5 = mysql_fetch_arrayqry5 { hppembeli = row5[hp_pembeli]; email = row5[email_pembeli]; nama = row5[nama_pembeli]; 17 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. letter2 = Dear .nama., \n Kami memiliki prduk baru : \n No Polisi : .nopol.\n Merk : .tag.\n Tahun : .tahun.\n Harga : .harga.\n Untuk informasi lebih lanjut, silahkan kunjungi website kami.\n \n Salam, \n \n BERKAH MOTOR; Broadcast pesan ke setiap no hp qry6 = INSERT INTO showroom.outbox DestinationNumber, TextDecoded VALUES hppembeli, pesan2; mysql_queryqry6; mailemail, subject, letter2; Kode program di atas digunakan untuk mengirim broadcast SMS mobil baru. Pada baris pertama sampai dengan baris 20 berisi format SMS yang akan di broadcast-kan kepada agen setelah melakukan pengecekan terhadap agen yang dalam status aktif = true. Pada baris 23 sampai 26 berfungsi untuk mem- broadcast pesan ke setiap nomor agen yang dalam status aktif. Pada baris 28 sampai dengan baris 47 berisi format SMS yang akan di broadcast-kan kepada pembeli setelah melakukan pengecekan terhadap pembeli yang dalam status aktif = true. Pada baris 49 sampai 52 berfungsi untuk mem-broadcast pesan ke setiap nomor pembeli yang dalam status aktif. Hasil Implementasi iCatalog Gambar 14 tampilan halaman utama web iCatalog Pada Gambar 14 ditunjukkan halaman utama pada website utama Berkah Motor. Gambar 15 tampilan halaman Dashboard Pada Gambar 15, ditunjukkan tamppilan menu Dashboard. Menu dashboard merupakan halaman pertama setelah admin melakukan proses login. 18 Di dalam menu Dashboard terdapat beberapa shortcut atau tombol cepat untuk ke menu-menu di dalam web admin. Selain itu juga menampilkan statistik jumlah mobil, agen maupun pembeli. Dan juga menampilkan jumlah pengunjung yang telah mengakses halaman web utama.

5. Pengujian Sistem