oleh sak ur skripsi sebagai salah satu syarat untuk...
TRANSCRIPT
APLIKASI MESSAGE SERVICE BERBASIS WEB MENGGUNAIUN SMS GATE\VAY
(STUDI I(ASUS PADA PT. ARTI-IA PRIMA MANDIRI)
Oleh SAK UR
101091023297
Skripsi Sebagai Salah Satu Syarat Untuk Memperolr,:h Gelar
Srujana Komputer
Fakultas Sains dru1 Teknologi Universitas Islam Negeri SyarifHidayatullah Jakarta
FAl(ULTAS SAINS DAN TEKNOLOGI UNIVERSIT AS ISLAM NEGER~I
SYARIF HIDAYATULLAH JAI(ARTA
1426 H/2005 M
APLIKASI MESSAGE SERVICE BERUASIS WEB MENGGUNAKAN SMS GATEWAY
(STUDI KASUS PADA PT. AR.TIIA PRIJ\1CA MANDilU)
Skripsi Sebagai Salah Satu Syarat Untuk Memperoleh Gelar
Sarjana Komputer Pada Fakultas Sains dan Teknologi UlN Jakarta
Oleh SAK UR
101091023297
Menyetujui,
Pembimbing II
\
Zainul Arham, S.Kom., M.Si Ir. Bakri. La Katjong, MT., M.Kom
Mengetahui
Ketua Jurusan Teknik Informatika,
Ir. Bakri La Katjong, MT., M.Kom NIP. 470 035 764
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UIN SYARIF HIDAYATULLAH JAKARTA
Dengan ini menyatakan bahwa skripsi yang ditulis oleh:
Nama
NIM
Program Studi
Judul Skripsi
:Sakur
; 101091023297
: Teknik Informatika
: Aplikasi Message Service Berbasis W1eb Menggunakan
SMSGateway
(Studi Kasus Pada PT. Artha Prima Mandiri)
Dapat Diterima sebagai syarat kelulusan untuk memperoleh gelar Sarjana
Komputer pada Jurusan Teknik Infonnatika, Fakultas Sains dan Teknologi UIN
Syarif Hidayatullah Jakarta.
Jakarta, Juli 2005
Menyetujui,
Dosen Pembimbing
Pembimbing I Pembimbing II
Zaitrnl Arham, S.Kom., M.Si Ir. Bakri La Ka1jong, MT., M.Kom
M.engetahui,
Dekan, < >:·~l\k;tj.1~!5 ·s~ins dan Teknologi
DR, Sybpiansya Jaya Putra. M. Sis NIP.150317965
Kenia Jurusan Teknik Infonnatika
~'JvZ~-r-./t// l .. · ~-------·
Ir. Bakri La Kationg, MT., M.Kom NIP. 470 035 764
PERNYATAAN
DENGAN INI SAYA MENYATAKAN BAHWA SKRU>SI INI BENARBENAR HASIL KARYA SENDIRI YANG BELUM PERNAH DIAJUKAN SEBAGAI SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI ATAU LEMBAGA MANA PUN
Jakarta, Juli 2005
Sak ur 101091023297
ABSTRAK
SAKUR, Aplikasi Message Service Berbasis Web Menggunakan SMS Gateway (Studi Kasus Pada PT. Artha Prima Mandiri). (Di bawah bimbingan ZAINUL ARHAM dan BAKRI LA KAT JONG)
Perkembangan teknologi komunikasi saat ini telah berkembang pesat. Satu teknologi komunikasi yang kini berkembang ialah Short Message Service (SMS). Sms telah menjadi aplikasi yang terpopuler saat ini. Tanpa disadari bahwa SMS adalah aplikasi yang mudah untuk digunakan sehingga banyak bidang dalam dunia teknologi infonnasi menggunakan tool ini sebagai media dalam berkomunikasi khususnya dalam bentuk teks singkat. Hal ini dikarenakan harganya yang tetap atau konstan, kesopanan, dan handal yang dapat mengetahui status pengiriman.
Dengan perkembangan tersebut diperlukan aplikasi yang dapat diintegrasikan dengan SMS ini. Dengan alasan-alasan diatas dan trend sekarang maka mutlak SMS ini merupakan kebutuhan yang diperlukan.
Aplikasi yang dapat dikembangkan dengan SMS ini tidak hanya menutup satu bidang saja tetapi bisa dilakukan diberbagai bidang. Aplikasi SMS dalam perusahaan retail ini digunakan untuk membantu dalam mengirimkan pesan singkat kepada customer sehingga meningkatkan pelayanan kepada customer. Aplikasi SMS gateway yang terhubung ke komputer mernpunyai fasilitas yang sederhana dan mudah digunakan. Tujuan pengenibangan ini adalah mempermudah dalam berkomunikasi yang cepat dan murah serta dapat mengirimkan ke beberapa penerima.
Teknologi yang digunakan dalam pengembangan ini, dari sisi perangkat keras yaitu komputer PC, GSM modem dan Handphone, sedangkan untuk perangkat lunaknya yaitu gammu yang digunakan untuk berk:omunikasi dengan SIM Card. Dengan sedikit pemrograman menggunakan PHP dan data disimpan menggunakan database MySQL.
KATA J>ENGANTAR
Puji syukur kami panjatkan ke hadirat Allah SWT, karena atas berkat dan
rahmat-Nya Skripsi dengan judul: Aplikasi Message Service Berbasis Web
Menggunakan SMS Gateway (Studi Kasus Pada PT. Artha Prima Mandiri)
diselesaikan dengan baik.
Penulisan skripsi ini dimaksudkan untuk melengkapi clan memenuhi syarat
yang telah ditetapkan dalam memperoleh gelar sarjana di Universitas Islam
Negeri Syarir Hidayatullah Jakarta.
Pada kesempatan ini kami juga hendak mengucapkan terima kasih kepada
pihak-pihak yang memberikan bimbingan, bantuan, clan duh.'Ullgan kepada saya
selama penulisan skripsi ini. Secara khusus saya ucapkan terima ikasih kepada:
I. Bapak Dr. Syopiansyah Jaya Putra, M.Sis, selaku Dekan Fakultas Sains dan
Teknologi
2. Bapak Zainul Arham, S.Kom., M.Si, selaku Pembimbing I yang secara
kooperatif telah memberikan bimbingan, bantuan, dan dukungan, baik secara
moral maupun secara teknis.
3. Bapak Ir. Bakri La Katjong, MT., M.Kom, selaku Ketua Jurusan Teknik
Informatika sekaligus sebagai Pembimbing lI yang telah memberikan nasihat
dan bimbingannya, te1ima kasih atas koreksinya yang membangun.
4. Kedua Orang Tua dan Keluargaku tercinta yang telah memberikan kasih
sayang yang tak ternilai sehingga aku dapat menyelesaikan skripsi ini.
5. Thu Paquita Wijaya dan Yayasan Emilatil Abbasiyah yang telah memberikan
beasiswa pendidikan sehingga saya dapat menyelesaikan pendidikan.
6. Bapak Yudi, S. Kom, selaku Direktur PT. Esolusi Indonesia yang telah
memberikan kesempatan untuk melakukan penelitian pada PT. Artha Prima
Mandiri.
7. Staff Karyawan PT. Esolusi Indonesia, Mas Imam, Mas Panji, Mas Denny,
Mas Pandi, Mpo' Ria, Mba' Dini yang telah membe1ikan dukungannya.
Terima kasih.
8. Kekasihku yang telah memberikan motivasi, masukan, dan dukungannya
untukku. Terima kasih atas waktu yang diluangkannya selama ini untuk
rnenernaniku. Syukron katsiron ya Ukhti. Jshhir Wastaqimu.
9. Naili Ulva Sa' dah, M. Khoriq, Abdul Mutholib, Sayyida, Siti Ha jar, Novi
Romawati, Ila, yang telah turut rnembantu dan memotivasi saya untulc
menyelesaikan skripsi ini.
l 0. Ternan-teman mahasiswa yang secara langsung rnaupun tidak langsung yang
telah memberikan bantuan dan dukungan moril dalam skipsi ini.
Pada kesempatan ini saya ingin memohon maaf yang :sebesar-besarnya
kepada semua pihak apabila sewaktu rnenjalankan penelitian ini ada hal-hal yang
kurang berkenan dari pihak kami. Saya juga menyadari bahwa kaiya ini belumlah
sempurna, maka kami sangat mengharapkan kritik dan saran dari pembaca dan
pihak lain untuk penulisan skripsi selanjutnya yang lebih baik.
Akhir kata saya berharap agar penelitian mi dapat bermanfaat bagi
pembaca sekalian. Amin.
Oputat, Juli 2005
Sakur 101091023297
DAFTARISI
Halaman Judul Luar ........................................................................................ .
Halaman Judul Dalam...................................................................................... ll
Halaman Pengesahan Pembimbing ........................................... .. ..................... iii
Hal a man Persetujuan...... .. . . . . .. .. . . . . . . . .. .. . .. . . .. . . .. . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. iv
Halaman Pernyataan .. . .. ... ... . .. ... . . . ... .. . .. .. ... ....... .. .. .. . . ... .. . . . .. . . ... .. ... . . . ... . . . .. .... .. ... v
Abstrak............................................................................................................. vi
Kata Pengantar. ... ... .. . .. . . . ... .. . .. . .. . . . . .. .. . . . . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . . . .. . . .. . . ... . . . . . . . . . .... vii
Daftar Isi..... .. . . . . . . . . . . . . . . .. . . . . .. . .. .. . . . . . . . . . . . . . . . . . . .. . . . .. . . . . .. . . . ... . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . x
Daftar Tabet ..................................................................................................... xiii
Daftar Garn bar.................................................................................................. xiv
Daftar lam pi ran . . . . . . . ... . . . .. . . .. .. . . . . .. . . . . . . . . . .. . .. . .. . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . . . . . . . .. . . .. . . . . . . . xv
BAB I PENDAHULUAN
1.1 Latar Belakang Masalah ............................................................. .
1.2 Rwnusan Masalah................................................... ................... 4
1.3 Ruang Lingkup............................................................................ 5
1.4 Tujuan dan Manfaat Penulisan........................................... ........ 5
1.5 Metodologi Penelitian................................................................. 6
1.6 Sistematika Penulisan ................................................................. 8
BAB II LANDASAN TEORI
2.1 Seki las Tentang PT. Artha Prima Mandiri.................................. I 0
2.2 Konsep Dasar SMS Gateway...................................................... 11
2.3 Daur hidup sistem (System Development Life Cycle)............... 21
2.4 Tools Analisis yang digunakan ................................................... 24
2. 5 Perancangan Input I Output......................................................... 24
2.6 Apache Web Server.................................................... ................. 25
2.7 MySQL ........................................................................................ 27
2.8 PHP ............................................................................................. 29
2.9 Gammu ......................................................................................... 30
BAB III METODOLOGI PENELITIAN
3.1 Tempat dan Waktu ...................................................................... 31
3.2 Bahan dan Perangkat.. ................................................................. 31
3 .2.1 Bahan ........................................................................ , .. .. .. . . 31
3.2.2 Perangkat......... ...................... ...................... ....... ... ...... ...... 31
3.3 Metode ........................................................................................ 33
3.3.1 Persiapan .......................................................................... 33
3.3.2 Prosedur............................................................................. 33
BAB IV HASIL DAN PEMBAHASAN
4.1 Analisa Kebutuhan Si stem........................................................... 44
4.2 Rancangan Input........................................................................... 44
4.4 Rancangan Output. ....................................................................... 47
4.5 Alur Proses SMS .......................................................................... 48
4.6 Proses Sistem Basis Data SMS .................................................... 50
4. 7 Mengetes Sistem .. .... . .. .. .. .. . .... . .... .. .. . .. . .... .. .. .. .. .. .. . . .. .. .. .. .. .. . .. .. ... ... 51
4.8 Kelebihan Sistem ....................................................... .................. 53
4.9 Keterbatasan sistem...................... .. .. ... ... .... . .. . .. . .. . .. .. .. .. .. . .. .. .. .. .. .. 54
BAB V KESIMPULAN DAN SARAN
5. I Kesimpulan . .. .. . .. .. . .. . .. . .. .. .. .. .. .. . . .. .. . .. .. . . ... .. . . .. . .. .. . .. .. . .. . .. .. .. .. . .. .. .. .. 5 5
5.2 Kesimpulan .................................................................................. 56
DAFT AR .PUST AKA..................................................................................... 57
LAMPIRAN-LAMPIRAN ............................................................................ 58
DAFTAR TABEL
Halaman
Tabel 1 : Item................................................................................................... 39
Tabel 2 : Customer........................................................................................... 40
Tabel 3 : Invoice Header.................................................................................. 40
Tabel 4 : Invoice Detail.................................................................................... 40
Tabel 5 : Inbox ................................................................ ......... ........................ 40
Tabel 6 : Outbox..................................................................... .............. ............ 41
Tabel 7 : Sentitems............................................................................... ............ 41
DAFTAR GAMBAR
Halaman
Gambar I : Grafik Pertumbuhan Penggunaan SMS
Gambar2
Gambar3
Gambar4
Gambar 5
Gambar6
Gambar 7
Gambar8
Gambar9
Gambar 10
Periode Jan 2003 - Dec 2004.................................................... I
: Gambar Struktur Organisasi PT. ArthaPrima Mandiri............ 10
: Arsitektur Sistem GSM............................................................. 13
: Mekanisme store dan forward pada pengiriman SMS.. .. . . . . .. . . . . 14
: Struktur time slot dan frame pad a sistem GSM ...... .. . .. . . . . .. . .. .. . . 16
: Perangkat Keras ........................................................................ 33
: Flow of Document Sistem yang berjalan................ ................. 36
: Diagram Alir Data..................................................................... 41
: Tampilan input invoicing.......................................................... 45
: Tampilan input ponsel................................................ ............ ... 45
Gambar 11 : Relation Table ........................................................................... 47
Gambar 12 : Tampilan list invoicing............................................................. 48
Gambar 13 : Tampilan di ponsel.................................................................... 48
Gambar 14 : Proses kerja perangkat lunak ................. .................. ... ..... ......... 50
Gambar 15 : Skemajaringan perangkat lunak ............................................... 50
Gambar 16 : Proses pra transaksi ............................................. ...................... 51
Gambar 17 : Proses ketika transaksi . . . . .. .. . . . .. . . . . . . . . .. . .. . . . . . . .. . . . . . .. . .. . . . . . . .. . . .. ... . . . 51
Garn bar 18 : Proses pasca transaksi . . ..... .. . . .. .. . .. . . . . .. ... . . . .. . ... .. . ... . . ..... .. ... . . . . . . .. . 53
DAFTAR LAMPIRAN
Halaman
Larnpiran l : Daftar biaya SMS operator GSM .............................................. 58
Lampiran 2 : Sirnbol-sirnbol dalam flow map................................................ 59
Larnpiran 3 : Tentang Gamrnu........................................................................ 61
Lampiran 4 : Tampilan input dan output program......................................... 73
Lampiran 5 : Source code ............................................................................... 77
BABI
PENDAHULUAN
1.1 Latar Belakang
Aplikasi SMS (Short Message Service) telah diakui merupakan
aplikasi messaging yang paling populer di dunia. Hal ini. dibuktikan dengan
sukses tak terduga seperti ditunjukkan grafik pertumbuhan penggunaan SMS
selama beberapa bulan terakhir (gambar I) hingga bulan Desember 2004
terhitung rata-rata terdapat 20 milyar kiriman SMS per bulan (sumber:
www.gsmworld.com).
"''·~ ... ______________ _
26 Ji .- i
30
I
10
6 fi--. -··
2-------
Gambar 1. Grafik Pcrtumbuhan Penggunaan SMS
Periode Jan 2003 - Dec 2004
SMS telah menjadi lahan yang menjanjikan untuk. meraih peluang
bisnis di pasar konsumen maupun industri di dunia. Dari jumlah kiriman SMS
1
2
di dunia 90% masih merupakan kiriman jenis person to person. Namun
demikian, SMS sangat potensial untuk dikembangkan menjadi aplikasi
berbasis industri dengan berbagai macam layanan, seperti location-based
service, periklanan, voting, games, entertainment, dan sebagianya
(Buckingham, 2001).
SMS pada awalnya tidak terhitung sebagai layanan penting dalam
jaringan GSM (Global Systems for Mobile communications) karena SMS
dikembangkan terutama sebagai alat pengirim informasi data konfigurasi dari
handset GSM dan tidak lebih dari sekedar layanan tambahim daripada sebagai
bagian dari protokol jaringan. Namun demikian pada akhimya SMS menjadi
sukses secara tak terduga sebagai layanan messaging paling populer di dunia.
Hal ini tentunya memberikan pendapatan ekstra bagi operator jaringan yang
akan memperoleh bayaran untuk tiap kiriman SMS melalui jaringannya.
Keberhasilan dan popularitas SMS antara lain disebabkan oleh:
a. Harga per kiriman tetap/konstan
Biaya telepon bervariasi sedangkan beban biaya kiriman SMS
tetap/konstan. Hal ini berpengaruh terutama kepada pelanggan yang
menggunakan kartu GSM pra-bayar yang mempunyai kredit pulsa
terbatas pada telepon selulemya (Lampiran I).
b. Kesopanan
Apabila kita hendak menggunakan telepon seluler di tempat
umum, maka berbicara menggunakannya dirasakan tidak sopan, namun
3
sebaliknya berkirim pesan menggunakan SMS adalah lebili sopan dan
privacy lebih terjaga.
c. Tidak mengganggu penerima
Seperti halnya e-mail, SMS sebagai alat komunikasi tidak
mengganggu penerima, karena penerima bisa memutuskan kemudian
kapan dan dimana dia akan menjawab pesan tersebut.
d. Handal (reliable)
Jaringan GSM secara umum diakui kehandalannya dalam
mengirimkan data, dan SMS mewarisi kehandalan tersebut. Tidak seperti
pager, ketika pesan SMS terkirim dan masuk ke gateway dan gateway
berhasil mengirimkannya ke nomor tujuan, gateW£!Y kemudian mengirim
pesan aclmowledgement ke pengirim bahwa pesan tdah terkirim (Ray,
et.al., 200 I).
Perusahaan PT. Artha Prima mandiri adalah perusahaan yang bergerak
dibidang penjualan barang spare part berbagai jenis mobil. Perusahaan ini
mempunyai customer yang secara geografis letaknya jauh sehingga apabila
bertransaksi tidak adanya konfirmasi oleh perusahaan terhadap customer
tentang pengiriman barang tersebut. Konfirmasi yang dilakukan sekarang
adalah dengan melakukan komunikasi menggunakan media telepon yang
kadang responnya terlambat. Biaya telepon itu pun mahal karena letaknya
jauh sehingga biayanya termasuk interlokal. Kadang customer yang ditelepon
sedang tidak berada ditempat.
4
Dengan adanya perkembangan aplikasi handphone tersebut penulis
ingin memanfaatkan teknologi aplikasi SMS tersebut dan menghubungkan
dengan web server untuk keperluan perusahaan retail dalam hal ini adalah
konfirmtrsi pengiriman barang seperti Invoicing dan tagihan jatuh tempo
hutang.
Aplikasi ini memtidahkan perusahaan dalam mengirimkan konfirmasi
pengiriman barang dan konfirmasi jatuh tempo tagihan rnenggunakan SMS.
Pengiriman SMS ini dapat dilakukan secara langsung secara satu per satu,
tetapi karena customer-nya banyak sehingga menyulitkan dalam mengirimkan
SMS secara kepada seluruh customer secara bersamaan .. Dengan demikian
rasa kepercayaan dan kepuasan bagi customer, dan menambah keuntungan
bagi perusahaan.
1.2 Rumusan Masalah
Rumusan masalahnya adalah sebagai berikut:
• Bagaimana cara mengembangkan aplikasi SMS dalam menunjang struktur
personal dalam perusahaan.
• Bagaimana merancang aplikasi SMS dalam menunjang sistem informasi
yang sudah ada.
• Bagaimana merancang sebuah program berbasis web yang dapat
mengirimkan message (pesan) singkat melalui Hane/phone atau GSM
Mode11I sebagai gateway dari komputer.
5
1.3 Ruang Lingkup
Dalam skripsi ini saya akan membahas bagaimana merancang
program berbasis web yang dapat mengirimkan konfirmasi transaksi
penjualan dan pemberitahuan jatuh tempo tagihan pembayaran hutang yang
berupa pesan SMS gateway menggunakan PHP Scripting Language, MySQL,
dan GSM Modem pada PT. Artha Prima Mandiri.
1.4 Tujuan dan Manfaat Penulisan
Berdasarkan masalah di atas, maka skripsi yang be'.judul "Aplikasi
Message Service Berbasis Web Menggunakan SMS Gateway (Studi Kasus
Pada PT. Artha Prima Mandiri)" dengan manfaat dan tujuan sebagai berikut:
1.4.l Tujuan
1) Tujuan Umum
Dapat menghasilkan software yang dapat mengirimkan
pesan singkat (SMS) kepada customer dengan cepat dengan
menggunakan sistem yang sudah ada.
2) Tujuan khusus
Untuk mengembangkan pemrograman sistem yang lebih
praktis dan cepat dalam pengaksesan data dalam menggunakan
teknologi komunikasi yang ada.
1.4.2 Manfaat
• Perusahaan
Meningkatkan kepercayaan pelanggan
Meningkatkan daya saing pemsahaan
Mengurangi biaya operasi untuk konfirnmsi
• Konsumen
6
Menumbuhkan kepercayaan customer kepada pemsahaan
sehingga proses bisnis dapat meningkat pula.
• Penulis
Untuk penulis, pengembangan program ini akan
meningkatkan kemampnan penulis dalam menganalisis,
merancang, dan mengembangkan aplikasi dengan
mengimplementasikannya dalam satu program
1.5 Metode Penelitian
Dalam rangka menyusun skripsi ini, diperlukan data-data informasi
yang relatif lengkap sebagai bahan yang dapat mendukung kebenaran materi
uraian pembahasan. Oleh karena itu sebelum menyusun skripsi ini, dalam
persiapannya terlebih dahulu dilakukan riset atau penelitian untuk menjaring
data-data atau bahan materi yang diperlukan.
1.5. l Metode Pengumpulan Data
Adapun metode pengumpulan data-data inforn1asi yang
diperlukan adalah sebagai berikut:
7
I) Metode Observasi
Dilakukan dengan cara rnelihat obyek penelitian secara
langsung di lapangan berhubungan dengan penyusunan skripsi ini.
2) Metode Wawancara
Dilakukan dengan rnewawancari seseorang yang paharn hal
ini atau rnelakukan diskusi dengan orang-orang atau ternan yang
rnengerti rnateri bahasan guna rnencari bahan rnasukan dan data
pendukung untuk penyusunan skripsi ini.
3) Metode Studi Pustaka (Library Research)
Studi pustaka yaitu teknik pengumpulan data dengan cara
rnembaca atau mencari literatur- literatur baik berupa buku, serta
tulisan- tulisan yang ada kaitannya dengan judul untuk rnernbantu
penulisan tugas akhir.
l.5.2 Mctodc Pendckatan Tcrstruktur
Dalam penyusunan tugas akhir ini menggunakan metode
pendekatan terstruktur dengan tiga tahap dalam metode Sistem
Development Live Cycle (SDLC), yaitu:
Tahap analisis, perancangan dan penerapan sistern
I. Tahap Analisis
Pada tahap analisis dilakukan:
• Survei atas sistem yang sedang berjalan
8
• Analisis sistem yang sedang berjalan dengan menganalisis
input yang ada, kebutuhan sistem, kelemahan dan kelebihan
sistem yang sedang beijalan, dan menganalisis masalah yang
ada dengan altematif pemecahan masalah, serta menganalisis
proses sistem yang sedang berjalan. Tools yang digunakan
untuk analisis system yang beijalan yaitu Flow Map.
Hasil dari analisis ini akan menjadi masukan dalam
perancangan sistem yang diusulkan
2. Tahap Perancangan
Pada Tahap Perancangan penulis merancang sistem yang
diusulkan dengan tahapan sebagai berikut:
• Membuat skema alur sistem yang dimodifikasi
• Pembuatan Rancangan layar tampilan sebagai Perancangan
Input dan Output.
3. Tahap Penerapan atau Pemrograman
Pada tahap penerapan ini dilakukan transfer hasil
perancangan ke coding bahasa pemrograman. Dimana akan
digunakan bahasa pemrograman PHP dan MySQL sebagai
database-nya.
1.6 Sistematika Penulisan
Dalam skripsi ini, pembahasan yang penulis sajikan terbagi dalam
lima bab yang secara singkat akan diuraikan sebagai berikut:
BAB!
BABU
BAB III
BAB IV
BABY
9
PENDAHULUAN
Dalam bab ini akan diterangkan tentm1g Jatar belakang
masalah, tujuan penulisan, ruang lingkup dan batasan
masalah, metode penelitian dan sistematika penulisan.
LANDASAN TEORI
Bab ini akan menjelaskan secara si.ngkat teori yang
diperlukan dalam penulisan suatu aplikasi sistem informasi
dan SMS Gateway .
METODOLOGI PENELITIAN
Pada bagian ini akan diuraikan tentang masalah-masalah
atau materi yang dibahas dalam sistem yang akan dibangun
HASlL DAN PEMBAHASAN
Pada bab ini akan dibahas implementasi aplikasi message
service untuk mengurangi permasalahan yang sistem yang
sudah ada.
PENUTUP
Bab ini merupakan bab terakhir dari selu:ruh rangkaian bab
yang ada diskripsi ini, maka dalam bab ini akan temmat
simpulan dari basil bahasan selumh bab serta saran-saran
yang kiranya dapat bermanfaat
BAB II
LANDASAN TEORI
Pada bab ini akan diuraikan sekilas tentang PT. Artha Prima Mandiri dan
teori-teori umum maupun khusus yang berhubungan dengan penelitian tugas
akhir seperti konsep dasar SMS Gateway, Bagan Alir, Perancangan Sistem,
Perancangan Database, Perancangan Input! output, Apache, PI-!P,, MySQL.
2.1 Sekilas Tentang PT. Artha Prima Mandiri
PT. Atha Prima Mandiri sebuah perusahaan yang bergerak di bidang
penjualan spare part mobil diantaranya kaca spion, autolamp, ban, dan
aksesories mobil. Perusahaan ini mempunyai profit yang cukup baik sehingga
berencana untuk membuka cabang di luar daerah. Perusahaan ini mempunyai
struktur organisasi yang tidak terlalu banyak. Berikut gambar struktur
organisasi PT. Artha Prima Mandiri
Direkiur
Bag. Keunngan Bag. Penjualan [ Sekrltaris J
Karyawan
1. Direktur
Fungsi dan tanggungjawab Direktur:
• Mengawasi dan mengontroljalannya perusahaan.
• Mengawasi kegiatan pemsahaan secara keseluruhan.
• Bertanggungjawab terhadap apa yang terjadi didalam perusahaan.
• Menentukan struktur organisasi.
2. Bagian Keuangan
Bertanggungjawab menangani masalah keuangan perusahaan,
membuat laporan keuangan, serta bertanggungjawab terhadap keuangan
perusahafiil.
3. Bagian Penjnalan
11
Bertanggung jawab menangani masalah penjualan barang kepada
Customer. Bagian penjualan ini juga sebagai admin dan operator sistem.
4. Sekretaris
Bertanggung jawab menangani pembuatan surat dan menangani
arsip-arsip perusahaan
5. Karyawan
Melakukan aktivitas membantu pengiriman barang, dan lain-lain.
2.2 Konsep Dasar SMS Gateway
2.2.l Arsitektur dan Teknologi SMS
SMS atau Short Message Service pada awal diciptakan adalah
12
sebuah komite dari Conference of European Posts and
Telecommunications yang ditunjuk untuk mengembangkan
komunikasi nirkabel dan kemudian lebih dikenal sebagai Global
Systems for Mobile communications (GSM), dikembangkan pertama
kali di Eropa dengan frekuensi utama 900MHz merupakan sistem
komunikasi digital nirkabel generasi kedua (2G). SMS semula
hanyalah merupakan layanan yang bersifat !complementer terhadap dua
layanan utama sistem GSM (atau sistem 2G pada umumnya) yaitu
layanan voice dan switched data. Namun karena keberhasilan SMS
yang tidak terduga, dengan ledakan pelanggan yang
mempergunakannya, menjadikan SMS sebagai bagian integral dari
layanan sistem.
Sebagai bagian dari sistem GSM, SMS adalah layanan yang
sebenamya merupakan bearer sevice atau packet pengirim dari data
GSM. Bearer service ini bekerja pada layer fisik yang merupakan
layer terbawah dari protokol aplikasi data GSM. Arsitektur sistem
GSM sendiri adalah seperti tergambar dalam gambar 3 (Andersson &
Cristo ff er, 2001 ).
Handseat GSM
Handscat GSM
serviceLh
Base Station Controller (BSC)
Mobile Switching Center (MSC)
Garn bar 3. Arsitektur sistem GSM
~ ~~ Application WAP
Server Gateway
)
13
SMS merupakan layanan messaging yang pada umumnya
terdapat pada setiap sistem jaringan wireless digital. SMS adalah
layanan untuk mengirim dan menerima pesan tertulis (teks) dari
maupun kepada perangkat bergerak (mobile device). Pesan teks yang
dimaksud tersusun dari huruf, angka, atau karakter alfanumerik. Pesan
teks dikemas dalam satu paketlframe yang berkapasitas maksimal 160
byte yang dapat direpresentasikan berupa 160 karakter huruf latin atau
70 karakter alfabet non-latin seperti alfabet Arab atau Cina.
SMS adalah data tipe asynchoronous message yang pengiriman
datanya dilakukan dengan mekanisme protokol store and forward. Hal
ini berarti bahwa pengirim dan penerima SMS tidak perlu berada
dalam status berhubungan ( connectedlonline) satu sama lain ketika
akan sating bertukar pesan SMS. Pengiriman pesan SMS secara store
14
andfonvard berarti pengirim pesan SMS menuliskan pesan dan nomor
telepon tujuan dan kemudian mengirimkannya (store) ke server SMS
(SMS-Center) yang kemudian bertanggung jawab untuk mengirimkan
pesan tersebut (jonvard) ke nomor telepon tujuan. Hal ini mirip
dengan mekanisme store and forward pada protokol SMTP yang
digunakan dalam pengiriman e-mail internet. Keuntungan mekanisme
store andfonvard pada SMS adalah, penerima tidak perlu dalam status
online ketika ada pengirim yang bermaksud mengirimkan pesan
kepadanya, karena pesan akan dikirim oleh pengirim ke SMSC yang
kemudian dapat menunggu untuk meneruskan pesan tersebut ke
pc'fierima ketika ia siap dan dalam status online dilain waktu. Ketika
pesan SMS telah terkirim dan diterima oleh SMSC, pengirim akan
menerima pesan singkat (konfirmasi) bahwa pesan telah terkirim
(message sent). Hal-ha! inilah yang mertjadi kdebihan SMS dan
populer sebagai layanan praktis darj sistem telekomunikasi bergerak
(Ray et al., 2001 ).
pcngirim
.... Wire!cs? Networks"'"· '.,.· .. -·if '"£fl.···-• SMS Center
Garn bar 4. Mekanisme store danforwn'rd pada pcngiriman SMS
Pencrima
Keterbatasan SMS adalah pada ukuran pesan yang dapat
dikirimkan, yaitu maksimal sebesar 160 byte. Keterbatasan ini
15
disebabkan karena mekanisme transmisi SMS itu sendiri. SMS pada
awalnya adalah layanan yang ditambahkan pada sistem GSM yang
digunakan untuk mengirimkan data mengenai konfigurasi dari handset
pelanggan GSM. SMS dikinnkan menggunakan signalling ji·ame pada
kanal frekuensi atau time slot frame GSM yang biasanya digunakan
untuk mengirimkan pesan untuk kontrol dan sinyal setup panggilan
telepon, seperti pesan singkat tentang kesibukan jaringan atau pesan
CLI (Caller Line indentijication). Frame ini bersifat khusus dan ada
pada setiap panggilan telepon serta tidak dapat digunakan untuk
membawa voice atau data dari pelanggan. Ukuran frame pada sistem
GSM sendiri adalah sebesar 1250 bit (l 60 byte) (gambar 5). Karena
hanya menggunakan satu frame inilah pengiriman pesan SMS menjadi
sangat murah, karena beban biaya hanya dihitung dari penggunaan satu
frame melalui kanal rekuensi. Pengiriman SMS menggunakan frame
pada kanal frekuensi adalah berarti SMS dikirim oleh pengirim ke
nomor telepon tertentu yang bertindak sebagai SMSC (SMS-Center)
dan kemudian SMSC bertugas untuk meneruskannya ke penerima.
Pengiriman SMS berlangsung cepat karena, seperti terlihat pada
gambar 4. SMSC selain terhubung ke LAN aplikasi juga terhubung ke
MSC (Mobile Switching Network) melalui SS7 (Signaling System 7)
yang merupakan jaringan khusus untuk menangkap frame kontrol dan
sinyal. Mekanisme pengiriman pesan singkat SMS yang serupa juga
16
cdmaOne. Beda antara sistem jaringan satu dengan yang lainnya
adalah ukuran dari pesan SMS itu sendiri yang bergantung pada
ukuran.frame yang digunakan pada masing-masing sistem. Pada sistem
TDMA dan PDC ukuran pesan SMS sama dengan sistem GSM, yaitu
160 byte dan pada cdma-One ukuran pesan SMS sebesar 256 byte.
(Dornan & Andy, 2001)
!Ale! c io iejF jo !H j 1 jJ.jK IL jMjN I~ ... ... ....
~""' ....... "'"4-P-,,;r .... , -Frama-
? ~~ ; ,,
~~ ,, ;I Frame= 1250 bit:i: 160 b~ '....,..,
I ij 2 j ~ 14 j6jce j 1 je j 1 J 2 j -lime Sbt = 156,2:5 bt (1 Frartlll = 8 Tirne. Slot)
D Frarrn 'Wioe/ llit:a
[] Frarro
-_ Kontrol & Sin~I
Gambar 5. Struktur time slot dauframe pada sistem GSM
Pada akhirnya SMS menjadi layanan messaging yang populer
dan digemari oleh pelanggan telepon seluler. Layanan SMS dapat
diintegrasikan dengan layanan GSM yang lain seperti voice, data, dan
fax, dan karena itu pesan SMS selain digunakan untuk pengiriman
pesan person to person juga digunakan untuk notifikasi voice dan fax
mail yang datang kepada pelanggan. Selain itu SMS juga berharga
murah, bersifat simpel dan personal, serta dalam pengoperasiannya
tidak terlalu mengganggu kesibukan pemakainya, karena mereka dapat
mengirim atau menerima pesan pada waktu yang mereka kehendaki.
17
2.2.2 Pengertian SMS Gateway
SMS Gateway adalah sistem yang menghubungkan SMS dengan
sistem komunikasi lain (TCP/IP, UDP, dan banyak lagi). Singkatnya
SMS Gateway berfungsi sebagai encoder-decoder antar protokol
komunikasi (SMS, Protokol lain). Ada dua macam format SMS, yaitu
Text Mode dan PDU Mode. Format PDU lebih umum digunakan pada
Handphone. Format PDU disebut juga format biner. Dengan
kemampuan encode-decode ini, kita dapat lebih mudah memasuki
teknologi MMS untuk aplikasi lainnya (http://www.forurnponsel.com!).
2.2.3 Tahap Perkembangan Aplikasi SMS
Aplikasi SMS berkembang seiring dengan kepopuleran SMS itu
sendiri. Aplikasi SMS dikembangkan pertama kali oleh operator network
sebagai bagian dari layanan aplikasi jaringan. Namun demikian dengan
tersedianya API (Application Programming Interface) untuk
pemrograman aplikasi SMS membuat berkembangnya aplikasi-aplikasi
SMS dari pengembang pihak ketiga (Buckingham & Simon, 2001 ).
Berikut ini adalah sejarah berkembangnya aplikasi SMS yang
dimulai dari dibangunnya SMS Center generasi pertama yang
dikembangkan perusahaan telekomunikasi CMG di atas jaringan GSM
di Eropa.
18
1. Notifikasi Voice-mail dan SMS Mobile Terminate Adalah aplikasi
pemberitahuan datangnya voice-mail dan pengiriman pesan satu
arah dari operator ke perangkat mobile pengguna.
2. SMS Mobile Originate, Adalah kemampuan komunikasi SMS
secara dua arah, yaitu pelanggan dapat mengirim pesan SMS
kepada pelanggan yang Iain. Diluncw·kannya aplikasi ini
menaikkan penggunaan SMS sebesar 25% dari semula.
3. Notifikasi E-mail, Service e-mail yang menyertikan nomor telepon
seluler sehingga pelanggan akan mendapat pemberitahuan apabila
datang e-mail ke account pelanggan. Layanan ini menaikkan
penggunaan SMS sebesar 20%.
4. Layanan Informasi, Layana:n penyediaan informasi umum yang
dikirimkan lewat pesan SMS, berupa informasi: berita, pe1jalanan,
cuaca, berita olah raga, horoscope, dan lain-lain. Karena kerumitan
dalam pembangunan dan seting server penyedia layanan, layanan
ini berkembang relatif lambat dan hanya menaikkan volume
penggunaan SMS sebesar I 0%. Berikut ini adalah layanan
informasi yang diurutkan dari yang paling sering digunakan oleh
pelanggan: informasi nomor telepon, mobile chatting, logos,
ringing tones, humor, horoscope, stock, info TV, info musik, info
cuaca, info bank, berita hangat
5. Program Partner Bisnis. Operator jaringan mulai membuka
19
berdasarkan spesifikasi dan kebutuhan sebuah perusahaan. SMS
Center dibangun untuk membantu proses bisnis dan komunikasi
yang ingin dibangun perusahaan menggunakan SMS. SMS Center
ini dibangun pada awalnya ditujukan untuk mengembangkan
jaringan komunikasi dan usaha dari perusahaan operator jaringan
tersebut. Layanan ini dapat menaikkan volume SMS hingga 20%.
6. SMS Center Generasi Kedua, SMS Center ini dibangun atas
kebutuhan terhadap perangkat dan aplikasi yang dapat
menampung traffic SMS dengan adanya kenaikan volume
penggunaan SMS. Diharapkan dengan adanya SMS Center
generasi baru kehandalan dan kualitas layanan SMS dapat
dipertahankan bahkan dinaikkan. Pada tahap ini terbukti kualitas
layanan dirasakan meningkat dan volume penggunaan SMS
meningkat 10%.
7. SMS lnternetworking Merupakan kerjasama antar operator yang
memungkinkan pelanggan dari lain sistem jaringan dapat saling
bertukar kiriman SMS, seperti halnya pelanggan dari jaringan satu
dapat mengakses voice-mail pelanggan dari jaringan yang lain.
Sebelumnya SMS hanya dapat dikirim kepada pelanggan lain yang
berada dalam satu jaringan. Layanan ini dirasakan sangat
bermanfaat dan mampu melonjakkan volume SMS hingga 50%.
8. SM'S untuk pelanggan Pra-Bayar. Dengan layanan ini diharapkan
pelanggan pra-bayar dapat turut menikmati lavanan SMS lrnrPn~
20
sebelumnya hanya pelanggan pasca-bayar saja yang dapat
menggunakan SMS. Diluncurkannya layanan ini membuat volume
penggunaan SMS melonjak I 00%, dan hal ini sudah diperkirakan
karena pelanggan pra-bayar pada umumnya adalah pelanggan dari
kaum muda usia yang sangat menggemari layanan untuk saling
berkirim SMS. Sebagai contoh, pada jaringan Vodafone di Inggris,
walupun jumlah pelanggan pasca-bayar lebih banyak dari
pelanggan pra-bayar, pelanggan pra-bayar menggunakan layanan
SMS 2 kali lebih sering daripada pelanggan pasca bayar.
9. Predictive Text Input Phones, Merupakan aplikasi yang terdapat
pada handphone pelanggan yang berisi algoritma yang dapat
memperkirakan kata-kata yang akan digunakan untuk menyusun
kalimat dalam pesan SMS. Aplikasi ini sangat membantu karena
penggunaan SMS person to . person masih mendominasi
penggunaan SMS, dan untuk itu pelanggan membutuhkan aplikasi
yang dapat mempennudah dan mempercepat proses penulisan
pesan menggunakan tombol-tombol telepon. Diluncurkannya
aplikasi ini menaikkan 25% volume penggunaan SMS.
I 0. Standardisasi Protokol. Dengan adanya standarisasi protokol
seperti WAP dan SIM (Subscriber /denti~)I ivfodule, kartu yang
berisi data-data network ID operator, telepon operator, PIN
(Personal Identity Number) maupun data-data pengguna seperti
phonebook atau SMS) Toolkit, maka akan memberi oeluamr lebih
21
besar kepada pengembang aplikasi dan content developer untuk
membangun aplikasi SMS sesuai dengan standar dan dapat
dioperasikan di jaringan. Dengan perkembangan ini membuat
layanan aplikasi menjadi bervariasi dan semakin menarik
pelanggan, dan menaikkan volume SMS hingga 15%.
11. Pengembangan Perangkat Keras pendukung layanan messaging.
Perangkat keras pendukung seperti QWERTY keyboard yang
dapat dipasang pada handphone untuk mengetikkan pesan SMS
secara cepat dapat menaikkan volume layanan SMS hingga 15%.
2.3 Daur hid up sistem (System Development Life Cycle)
Menurut Budi Sutedjo (2002) Metode daur hidup ini terdiri dari
beberapa tahapan proses, yaitu: tahap perencanaan, analisis, perancangan,
penerapan, evaluasi, penggunaan dan pemeliharaan. Sementara itu dalam
setiap tahapnya dilakukan pendokumentasian atas segala yang telah dilakukan
atau disepakati dalam setiap tahap tersebut. Setiap langkah tahapan SDLC
yang telah selesai harus dikaji ulang (review), ini untuk memastikan bahwa
langkah telah dikerjakan dengan benar dan sesuai dengan harapan. Jika tidak
maka langkah tersebut harus diulang atau kembali kepada langkah
sebelumnya.
2.3.1 Tahap Analisis
Tahap analisis dapat didefinisikan sebagai suatu penguraian
22
komponennya clengan maksucl untuk mengidentifikasikan clan
mengevaluasi permasalahan, kesempatan, hambata:n yang terjacli clan
kebutuhan- kebutuhan yang cliharapkan sehingga sistem yang
diusulkan perbaikan- perbaikannya.
Tahap analisis merupakan suatu tahap yang kritis clan sangat
penting, karena kesalahan cliclalam tahap ini akan menyebabkan juga
kesalahan clitahap selanjutnya.
1. JdentifY, yaitu mengiclentifikasi masalah
2. understand, yaitu memahami kerja clari sistem yang acla
3. Analize, yaitu menganalisis sistem
4. Report, yaitu membuat Japoran hasil analisis
2.3.2 Tahap Perancangan
Tahap perancangan clapat cliartikan sebagai berikut:
I. Tahap setelah analisis clari siklus pengembangan sistem (SDLC)
2. Penclefinisian clari kebutuhan- kebutuhan fungsional
3. Menggambarkan bagaimana sistem clibentuk
4. Berupa penggambaran, perencanaan clan pembuatan sketsa atau
pengaturan clari beberapa elemen yang terpisah kedalam satu
kesatuan yang utuh clan berfimgsi.
5. Termasuk menyangkut konfigurasi clari komponen-komponen
perangkat Iunak clan perangkat keras clari suatu sistem.
23
Adapun tujuan dari perancangan sistem secara umum adalah
memberikan gambaran secara umum kepada user tentang sistem
yangbam.
Sedangkan tujuan perancangan sistem lebih rinci lagi adalah:
1. Untuk memenuhi kebutuhan pemakai sistem
2. Untuk memberikan gambaran yangjelas dan rancang bangun yang
lengkap kepada pemogram komputer dan ahli- ahli teknik lainnya
yang terlibat.
2.3.3 Tahap Penerapan
Tahap ini mempakan kegiatan implementasi rancangan yang
telah disusun agar dapat diwujudkan. Proses implementasi ini untuk
prosedur dalam teknologi komputer akan menggunakan bahasa
komputer. Pada tahapan ini dilakukan pembuatan source code dari
sistem yang telah dibangun.
2.3.4 Tahap Evaluasi
Pada tahap ini dilakukan uji coba sistem yang telah selesai
disusun dan diterapkan di pemsahaan. Proses ini digunakan untuk
memastikan bahwa sistem tersebut sudah benar sesuai karakteristik
yang d itetapkan clan tidak ada kesalahan-kesalahan yang terkandung
didalamnya.
24
2.3.5 Tahap Pcnggunaan dan Pemeliharaan
Tahap penggunaan dan pemeliharaan adalah suatu tahap
dimana sistem yang telah diuji coba dapat mulai digunakan untuk
menangani prosedur bisnis yang ada. Selan1a sistem digunakan
pengembang sistem harus memperhatikan masalah pemeliharaan
sistem, ha! tersebut penting untuk memelihara data clan informasi yang
telah dihimpun.
2.4 Tools Analisis yang dignnakan
Adapun tools yang digunakan dalam tahap analisis antara lain:
2.4.1 Bagan Alir (Flow Map)
Flow Map atau bagan alir dokumen (alir formulir) merupakan
suatu bagan alir yang menunjukan arus laporan dan formulir termasuk
tembusan- tembusannya. Bagan alir dokumen ini menunjukan simbol
simbol yang sama dengan yang digunakan dalam bagan alir struktur
(Lampiran 2).
2.5 Pcrancangan /11put/Output
2.5. t Pcrancangan /11put
Input adalah informasi dalam bentuk formulir input, tampilan
layar, dokumen- dokumen jaringan interaktif. Yang mana bentuk
bentuk tersebut didasarkan pada hal-hal yang menurut pikiran kita
merupakan suatu ha! yang penting untuk bentuk. Adapun bentuk dari
suatu input yang baik dapat dilihat dari keefektifannva. keteoatannva.
25
serta kemudahan dalam penggunaanya dan tampilan layar yang
sederhana dan menarik.
2.5.2 Pera1lcangan Output
Output adalah infomasi yang telah dikirim kepada
pengguna melalui sistem informasi lewat intranet, extranet, atau World
Wide Web. Output dapat diwujudkan dalam beberapa bentuk, misalnya
hard copy tradisional dari laporan cetakan atau soft copy seperti layar
komputer.
Output dapat berupa Output cetakan dan Output layar. Pada Output
cetakan informasi yang dihasilkan dapat berupa laporan. Dimana
sumber informasi yang bisa dimasukan ke dalam laporan dapat berupa
kamus data.
2.6 Apache Web Server
Apache merupakan turunan dari web server yang dikeluarkan oleh
NSCA (http://hoohoo.nsca.uiuc.edu) , yaitu NSCA HTTPd sekitar tahun
1995-an. Pada dasarnya, Apache adalah "A PatCHy" (patch) dan pengganti
dari NCSA HTTPd. Apache Web Server merupakan tulang punggung dari
World Wide Web (WWW). Web server menunggu permintaan dari client yang
menggunakan browser, seperti Netscape Navigator, Internet Explorer,
Modzi!la, Lynx, dan Jain-lain. Web server dalam berkomunikasi dengan
kliennya menggunakan protokol HTTP (Hyper Text Transfer Protocol!.
26
Apache berada di bawah GNU, General Public License yang bersifat fi·ee
sehingga Apache dapat di download gratis pada alamat
http://www.apache.org. saat ini Apache banyak digunakan sebagai web server
untuk portal-portal besar. Adapun pertimbangan dalam memilih Apache
adalah:
I. Apache termasuk dalam kategori.free software (software gratis)
2. Instalasi Apache sangat mudah
3. Mampu beroperasi pada banyak platform sistem operasi, seperti AUX 3.1,
BSDI 2.0, Free BSD 2.1, HP-UX 9.07, IRIX 5.3, Linux, Solaris X86,
Windows dan lain-lain.
4. Mudah dalam pengkonfigurasian karena Apache hanya mempunyai empat
file konfigurasi.
5. Apache mudah dalam penambahan peripheral lainnya hanya ke dalam
platform web server, misalnya menambahkan modul.
Ada beberapa chi khas dari Apache, yaitu:
I. Apache sangat cepat dalam merespon client melebihi server NCSA.
2. Apache menyediakan fitur untuk multi banned dan virtual se111er.
3. Apache mempunyai level-level pengamanan.
4. Apache mempunyai komponen dasar terbanyak di antara web server lain,
Apache tennasuk dalam web server yang terlengkap.
5. Performasi dan konsumsi sumber daya dari web server Apache tidak
terlalu banyak sekitar 20 MB untuk file-file dasar dan setiap daemon-nya
hanya memerlukan sekitar 950 KR miemori nPr rh;/rl
27
6. Mendukung transaksi yang aman (secure transaction) menggunakan SSL
(Secure Socket Layer).
7. Banyak dukungan melalui web
8. Kompatibilitas yang tinggi.
2.7MySQL
MySQL adalah sebuah database server buatan TeX Data Konsultan AB,
Swedia. Database MySQL banyak digunakan di internet karena
kehandalannya. MySQL tidak membutuhkan ruang harddisk yang besar untuk
aplikasinya, dan mudah digunakan pada database server, sangat ideal untuk
aplikasi yang kecil dan menengah. Keistimeaan MySQL adalah seperti di
bawah ini:
I. Standards supported
MySQL mendukung level masukart ANSI SQL-92 dan ODBC
level 0-2 SQL standar
2. Language support
Databases mysqld dapat menampilkan pesan error dalam bahasa
Czech, Belanda, Inggris, Estonia, Prancis, Jerman, Hongaria, Italia,
Norwegia dan lain-lain. MySQL menggunakan IS0-8859-1, karakter
tertentu untuk data dan pengurutan. Karakter tertentu untuk data dan
pengurutan dapat dipilih ketika mengkompilasi source.
28
3. Bahasa Pemrograman API untuk mengakses database
Aplikasi database MySQL data ditulis dengan bahasa tertentu
seperti C, Perl, PHP dan lain-lain.
4. Large Table
MySQL menyimpan masing-masing tabel dalam database seperti
file, terpisah daiam direktori database. Ukuran maksimum tabeI berkisar
antara 408 dan sistem operasi mendekati ukuran.file maksimum.
5. Kecepatan, Kekuatan, dan Kemudahan digunakan
MySQL Iebih cepat tiga atau empat kali dari database komersiaI
yang Iain. MySQL sangat mudah untuk dikendalikan dan tidak
membutuhkan database administrator terlatih untuk menginstal MySQL.
6. Cost Advantage
MySQL adaiah database relasionaI yang open source.
Didistribusikan secara gratis untuk Unix/Linux dan OS/2 dan Windows.
Waiaupun MySQL adalah sistem database yang komprehensif, kita
juga harus waspada pada keterbatasannya. Ada keistimewaian dari databases
yang tidak dapat dilakukan dan dihilangkan pada MySQL. Sebagian dari
aplikasi database berbasis web dapat dituliskan tan;pa menggunakan
keistimewaan tersebut. Namun, jika aplikasi membutuhkan fitur ini untuk
menampilkan hasil akhir database, harus menggunakan database lain seperti
PostgresSQL, Oracle, Interbase dan Iain-lain yang mendukung fitur ini.
29
2.8PHP
PHP merupakan PHP· Hypertext Preprocessor, bahasa interpret1:r yang
mempunyai kemiripan dengan Bahasa C dan Perl yang mempimyai
kesederhanaan dalam perintah. PHP dapat digunakan bersama dengan HTML
sehingga memudahkan dalam membangun Aplikasi web dengan cepat. PHP
dapat digunakan untuk meng-update database menciptakan database dan
mengerjakan perhitungan matematika. Serpti halnya dengan program open
source laninnya, PHP dibuat di bawah GNU, General Public Lisence yang
dapat di download gratis melalui situs http://www.php.net. Awalnya, PHP
diciptakan oleh Andi Gutsman untuk menghitung berapa banyak pengunjung
yang mengakses homepage yang dibuatnya. Namun, seiring dengan
perkembangan Internet, dirilis PHP/FI dan selanjutnya PHP2:. dari sekelompok
orang yang bernama Rasmus Lerdorf, Andi Gutsman, Z·eev Suraski, Stig
Bakken, Shane Caraveo dan Jim Winstead, diri!is PHP3 yang mengalami
penyempumaan dari PHP/FI dan PHP2. PHP3 telah mampu digunakan untuk
membangun aplikasi web dengan koneksi database yang cukup banyak. PHP3
sangat baik digunakan untuk website yang tidak begitu kompleks. PHP4
adalah versi pengembangan dari PHP3 dengan menambah fungsi-fungsi
seperti Zend Engine http://www.zendcom sehingga lebih cepat, kuat, stabil,
mudah untuk berinteraksi dengan berbagai aplikasi pendukung lainnya. Versi
terakhir sekarang ini adalah PHP5 yang didalamnya terdapat SQL Lite yang
dapat berfungsi sebagai Database dengan fungsi-fungsi sederhana. PHP
30
banyak mendukung database, seperti MySQL, PostgrnsSQL, Interbase,
ODBC, mSQL, Oracle, Sybase (Indrajit et al., 2002).
2.9Gammu
Untuk menghubungkan komputer dengan GSM A1odem sebagai
program yang menerima dan mengirimkan SMS digunakan program aplikasi
yaitu Gammu (http://www.gammu.org), selain program ini juga bisa
digunakan kannel (http:!lwww.kannel.org) atau java server wap. Ganunu
merupakan program open source yang ditulis dengan bahasa C. Ganunu dapat
dijalankan di Operating System MS windows atau Linux. Gammu yang
digunakan dalam sistem ini adalah gammu ver 1.0.
Kelebiliau Gammu ini adalah mudah meugkonfigurasi, file
konfigurasinya hany dua bual1 yaitu gammurc dan smsdrc. Proses pembacaan
data dari SIM Card cepat sehingga SMS dapat cepat direspon.
Kelemahan Gammu ini adalah sekarang baru mendukung
penyimpanan dalam bentuk textjiles dau MySQL sehiugga belmn digunakan
untuk database lain. Gammu ini juga membutuhkan memori yang cukup besar
sehingga apabila terlalu banyak proses di dalamnya mak.a komputer akan
hang. Lebih lengkap tentang gammu ini lihat lampiran 3.
BAB III
METODOLOGI PENELITIAN
3.1 Tempat dan Waktu
Pelaksanaan penelitian ini dilaksanakan di PT. Artha Prima Mandiri, JI.
Gunung Sahari Jakarta Pusat. Waktu pelaksanaan penelitian mulai bulan 2
Maret 2005 sampai bulan 24 Juni 2005.
3.2 Bahan dan Perangkat
3.2.l Bahan
Bahan atau obyek penelitian ini adalah data .. data yang berkaitan
dengan sebagian sistem penjualan yang berjalan seperti item, identitas
customer, invoicing, sales order, dan tagihan.
3.2.2 Perangkat
Peralatan penelitian terbagi menjadi dua yaitu perangkat keras dan
lunak yaitu:
I . Perangkat Keras
Sebagaimana terlihat pada gambar 6 penelitian tm
digunakan perangkat keras:
a. GSMModem
• Model : iTegno 3000
32
" Size/Weight : 93mm x 64mm x !2mm/58g, Embedded
antenna,
• GPRS Class 10:
Coding scheme CS 1 to CS4
- Max. packet-switched data transmission speed:
85.6kbps
Dual band GSM (ETSI GSM Phase 2+):
Class 4 (2W@ 900Mhz)
Class 1(IW@1800Mhz)
• Manufacture Technology : China
b. Handphone
" Type/Merk : Nokia llOO
• Spesification : GSM Dual Band 900/1800 Mhz
c. Perangkat PC
• Prosessor
• Memori
: Intel Pentium 393 Mhz
: DD RAM I 92 Mhz
• Motherboard : ASUS P4PE
• VGA
• Monitor
• Asesories
2. Perangkat Lunak
: AGP 4x, nVidia 16 Mb
: LCD 14" inch
: Keyboard, Mouse
Dalam penelitian ini digunakan perangkat lunak:
b. Mysql ver 4.0.l 6nt
c. PHP 4.3.4
d. Gammu ver 1.0
Server Web
Komurnknsi SMS lnterak!if 2 Arnh
)~ tj 1~1 ·'. l i~l . ..~ .... :!J' \>• f ~ ~.,
Gambar 6. Jaringan perangkat keras
3.3 Metode
3.3.1 Persiapan
33
Penelitian ini dimulai dengan survei atau observasi ke PT. Artha
Prima Mandiri dengan cara mewawancarai untuk mengetahui
permasalahan. Hasil wawancara pada lampiran 4.
3.3.2 Prosedur
Penelitian ini dibagi menjadi tiga tahap yang scsuai dengan
topik penelitian, yaitu tahap analisis, tahap perancangan, dan tahap
penerapan program.
34
Tahap I: Tahap analisis
Tahap Analisis merupakan tahap untuk menganalisa sistem
yang sedang berjalan, dimana pada sistem yang se:dang berjalan dari
basil studi lapangan yang telah dilakukan pada sistem yang berjalan di
PT. Artha Prima Mandiri ini terdapat masalah dalam hal konfomasi
penagihan kepada konsumen.
Adapun basil analisis sistem ini adalah sebagai berikut:
1. Flow Map sistem yang sedang berjalan pada PT. Artha Prima
Mandiri dalam bentuk phisical.
Tujuannya yaitu untuk mengetahui pro:;e<lur sistem yang
berjalan sehingga dapat lebih mudah untuk mengetahui kekurangan
dan kelebihan dari sistem yang ada.
2. Identifikasi pennasalahan yang ada.
Identifikasi pennasalahan ini bertujuan untuk mengetahui
permasalahan- permasalahan yang ada pada sistem yang be1jalan
agar dapat diberikan solusi pemecahan masalah untuk perbaikan
sistem.
3. Penyelesaian dari masalah yang dihadapi
Merupakan suatu usulan penyelesaian rnasalah yang ada
pada PT. Artha Prima Mandiri
Proses transaksi penjualan PT. Artha Prima Mandiri dilakukan
dengan tahapan sebagai berikut:
35
I. Customer memesan barang secara langsung datang ke toko atau
melalui pesanan via telepon atau Fax.
2. Transaksi yang dilakukan secara tunai langsung cliproses sedangkan
transaksi penjualan yang melalui pemesanan dan pembayaran
secara kredit dilakukan pencatatan.
3. Kemudian operator mengecek stok barang di toko, apabila stoknya
tersedia maka akan dilanjutkan ke proses Invocing yang selanjutnya
pencetakan Invoice Form. Apabila pembayarannya dilakukan secara
kredit maka Manager akan mengecek utang customer yang
bci'sangkutan. Manager akan melakukan approvement terhadap
transaksi mt. Apabila manager rnenyetujui transaksi ini maka
customer boleh rnelanjutkan transaksinya, tetapi apabila ditolak
maka customer harus rnelunasi tagihannya.
4. Proses data invoicing ini kemudian disimpan dan dicetak sebagai
bukti proses transaksi.
Berikut ini gambar flow map sistem penjualan yang berjalan
pada PT. Artha Prima Mandiri. Flow Map yang digambarkan
rnerupakan dalam logical process.
36
Customer Order Kredit Toko Pengiriman
Penjualnn
--
Gambar 7. Flow Of Document sistem yang berjalan
37
Kendala yang sering dihadapi dalam sistem penjualan ini adalah:
1. Untuk pengecekan suatu barang oleh customer,. customer harus
menelpon atau kirim fax, karena suatu ha! komunikasi ini responnya
lam bat.
2. Nomoi" Faktor dan Total transaksi penjualan karena suatu hal customer
lupa sehingga tidak mengetahui jumlah tagihan yang harus dibayarkan.
3. Transaksi penjualan yang dilakukan dengan kredit membuat
banyaknya tagihan yang piutang dagang yang menumpuk karena
tagihan tersebut belum dibayarkan oleh customer. Penumpukan
tagihan yang belum dibayar ini salah satu penyebabnya adalah
customer tidak mengetahui utangnya sudah jatuh tempo.
Pemberitahuan konfirmasi tagihan dilakukan oleh perusahaan dengan
menggunakan fax, email, dah telepon. Ketika menggunakan fax,
karena suatu ha! kadang kertasnya rusak atau tufo:annya tidak jelas
sehingga menyulitkan untuk membaca. Ketika menggunakan telepon
kadang customer yang dihubungi tidak berada ditempat atau line
telepon customer sedang sibuk. Sedangkan menggunakan email,
kadang customer karena suatu hal malas untuk mengecek email barn
sehingga informasinya tidak sampai dan tidak semua customer
mempunyai akses internet.
38
Dengan melihat kendala-kendala di atas maka perlu altemative
altematif solusi yang digunakan untuk mengembaugkan sistem yang
minimal dapat mengurangi kendala-kendala diatas:
1. Menampilkan inforrnasi barang dalam bentuk pe:san SMS sehingga
memudahkan customer untuk mengetahui barang yang ingin
dipesannya.
2. Mengirimkan konfirrnasi pemberitahuan bernpa SMS adanya
transaksi penjualan ke customer.
3. Sistem dapat mengirimkan remainder (peringatan) kepada
customer yang sudahjatuh tempo hutang pembeliannya pesan SMS
secara berkala dalam waktu tertentu.
Fungsi utama aplikasi message service ini adalah memberikan
inforrnasi barang, konfirrnasi pemberitahuan transaksi penjualan dan
konfirrnasi jatuh tempo kepada customer berupa pesan SMS yang dapat
diakses melalui media ponsel atau handphone.
Tahap II : Tahap Perancangan
Tahap selanjutnya dari SDLC setelah menganalisis masalah pada
sistem yang berjalan, dan memberikan usulan penyelesaian masalah
adalah tahap perancangan sistem yang bertujuan untuk mengatasi
perrnasalahan- permasalahan yang ada. Pada tahap ini gambaran sistem
yang diusulkan digambarkan dengan menggunakan tools sebagai
berikut:
lnvoiclng I Sales order I T agihan I Sales » Invoice
InvoJcc Ho t·
ClDTency ..
Customer 1
Destination
COntact Person"'
"~ L
~Jf!'11Af'l:1/Q!f200? _____ ~-IIDR- Ruplah :!J EKChangeRfttc..-
AddRow orpr~AlT+R
Brand
Jenl5 Kcnd11ra11n
"°"" Stodr.
Unit
Packing
Harga
r•nnl
45
Period:/:> July 07, 2005·00:16 AM
·i'titol
0' 0
Total 0 TraruMtloo
0 Discount ;)%
Sub Total
'"" l)% 0
Gr11nd Total
PT' Artha Prima Moodlrl • Webvislon Dl~tribttlon • l}t!\'tlloped by PT. Eso!us! IndonMlll
Garn bar 9. Tampilan input invoicing
Barang Ban
Gambar 10. Tampilan input pousel
46
4.3 Rancangan Basis Data
Entitas rancangan basis data yang digunakan untuk aplikasi sistem ini
terdiri atas:
I. Entitas Customer terdiri atas customercode, customername, handphone
number.
2. Entitas barang terdiri atas item code, item name, price, stok, item type,
year.
3. Entitas Invoicing terdiri atas invoice number, invoice date, customer code,
item code, quantity, price, total transaction, ppn, discount, grand total.
4. Untuk entitas SMS terdiri dari sender number, sender time, message text.
Rancangan basis data ini sederhana sehingga dapat. ditambah sesuai
dengan kebutuhan sistem. Customer dapat melihat infomiasi dari sistem yaitu
itemcode, item name dan price, yang dapat ditambahjika perlu.
Berikut gambar relation table untuk pengiriman konfirmasi SMS
transaksi penjualan
Customercode Totaltransaction
1ii~\~lili\~ Invoice no
'----1 itemcode Qualit bqunus Price
4.4 Rancangan Output
Gambar 11. Relation table
47
~s .. ;;/·· ·:i :,::.; ;:i\ifl:l•:;;:ii:::'.;'·· ms .. ,. ,, . :h":':"+•····"·· -'·''."-""·"-'-''-'.-,.,,,,,._""-·
Destination no Text messa e
rc:t1stol11er::::;~Jic~i1 Customercode Customername Address H no
Rancangan output yang dihasilkan disesuaikan dengan kebutuhan
sistem. Informasi yang dikirim untuk konfirmasi SMS transaksi penjualan
kepada customer berupa invocing number, invoice date, grandtotal. Selain di
handphone customer output juga dapat ditampilkan pada layar komputer.
Output dikomputer ini juga dapat dalam bentuk print out yang berfungsi
sebagai faktur. Berikut tampilan output dari sistem pada layar komputer.
BAB IV
HASIL DAN PEMBAHASAN
Dengan hasil analisa dari sistem yang ada maka penulis dalam bab ini
akan menguraikan sistem yang akan dikembangkan. Pengembangan sistem yang
dikembangkan sesuai dengan kebutuhan dan ruang lingkup skripsi ini.
4.1 Analisa Kebutuhan Sistem
Sistem yang dikembangkan akan menghasilkan spesifikasi kebutuhan
sebagai berikut:
I. Dapat mengirimkan informasi data barang kepada customer melalui media
Handphone.
2. Dapat mengirimkan infonnasi transaksi peajualan ke customer melalui
handphone.
3. Secara berkala sistem akan mengirimkan konfirmasi tagihan kepada
customer yang belum melunasi tagihan.
4.2 Rancangan Input
Dalam pemrosesan sistem ini perlu informasi yang diinput. Input tersebut
digunakan untuk proses transaksi penjualan dan informasi kepada customer
yang dapat diakses melalui handphone. Gambar berikut contoh tampilan input
transakasi invoicing untuk data penjualan barang. Tampilan input lainnya Iihat
lampiran 4.
43
d. Gammu
Gammu dalam ha! ini berfungsi untuk membaca data
SMS dari SIM card yang diterima operator.
2. Perangkat Keras
a. Komputer Server web
Komputer yang digunakan untuk server minimal
Pentium I 233 MHz, RAM 64 Mb.
b. Komputer Client (optional}
Apabila di perusahaan ingin dibuat sebuah sistem yang
terintegrasi dengan jaringan intranet maka dapat dikembangkan
karena program ini berbasis client-server.
c. Printer (optional)
Perangkat m1 digunakan untuk menct!tak faktur, atau
pesan dari customer.
d. GSMModem
Perangkat ini digunakan sebagai gateway yang
mengirimkan SMS dari !computer ke operator GSM. Perangkat
ini harus dipasang SIM Card. GSM Modem ini dapat digantikan
fongsinya dengan Handphone. Cara koneksi Handphone ke
komputer dapat menggunakan kabel data (U:SB/Serial), Infra
red, Bluetooth.. Kecepatan datanya pun cepat apabila
menggunakan GSM Modem.
42
berupa kode item, nama item dan harga, kemudian dikirimkan ke user
dalam bentuk SMS. Customer juga akan menerima pesan SMS apabila
melakukan transaksi penjualan, dan secara berkala akan menerima
pesan SMS konfirmasi tagihan yang jatuh tempo. Admin sebagai
pengelola dapat melakukan editing terhadap data customer, data item,
data sales, dan data SMS, serta dapat melihat data customer, data item,
data sales dan data SMS
Tahap III: Tahap penerapan
Aplikasi message service dalam sistem ini d.igunakan perangkat
yang sudah diterapkan sebelumnya
1. Perangkat Lunak
a. Apache Web Server
Fungsi Apache m1 adalah sebagai program
mengeksekusi program PHP. Digunakannya Apache ini karena
PHP lebih stabil dalam pengeksekusiannya.
b. PHP
Fungsi PHP ini adalah program untuk mengeksekusi
file-file PHP agar bisa ditampil ke dalam browser internet.
c. MySQL
MySQL ini berfungsi untuk peny1mpanan data dari
SMS yang masuk dan transaksi penjualan.
41
Tabel 6. Tabel Outbox
Field Name Tipe Size Keteranean DestinationNo Varchar 20 Nomor Tuiuan Date Date Tan!!!!al Message Varchar 160 Isi Pesan SMS
Tabel 7. Tabel Sentitems
Field Name Tipe Size Keteraugan DestinationNo Varchar 20 Nomor Tujuan Date Date Tamma! Message Varchar 160 Isi Pesan SMS Status Varchar 20 Status Sending
4. Perancangan Proses
Proses dari sistem m1 dapat digambarkan dalam suatu
diagram alir data.
Customer
Kode barang atau nama barang
Itemcode/itemname/price; Konfinnasi transaksi; Konf. Jatuh tempo;
Sistem informusi penjualan
Info SMS; Info Sales; Info customer; Info barang; ~
_,. admin +----
·-----' Data customer; Data Salet; DataSMS; Data barang;
Gambar 8. Diagram Alir Data
Dari gambar tersebut dapat diuraikan bahwa user mengirimkan
pesan SMS berisi kode barang atau nama barang ke dalam sistem
melalui HP, kemudian sistem akan melakukan pencarian berdasarkan
40
Tabel 2. Tabet Customer Primary Key : CustomerCode
Field Name Tipe Size Keteranean CustomerCode Varchar 32 K:ode Customer CustomerName Varchar 50 Nama Customer Address I Varchar 255 Alamat 1 Address2 Varchar 255 Alamat2 CitvName Varchar 32 NamaKota CountrvName Varchar 32 NamaNegara Phone Varchar 20 Nomor Telepon Handphone Varchar 20 Nomor Handvhone Fax Varchar 20 Nomorfax ContactPerson Varchar 20 Kontak Email Varchar 255 Alamat email
Tabet 3. Tabet Invoice Header P1·imarv Key : InvoiceNo Field Name Tipe Size Keteranean InvoiceNo Varchar 50 Nomor Invoice InvoiceDate Date Tan11:1ral Transaksi CustomerCode Varchar 32 Kode Pelanggan Tota!Transaction Float Total Transaksi Discount Float Diskon Subtotal Float Sub total PPN Float Pajak GrandTotal Float Total ~ang dibavar
Tabel 4. Tabet Invoice Detail
Field Name Tipe Size K·eteranean InvoiceNo Varchar 50 Nomor Invoice Item Code Varchar 32 Kodeltem Qualitv Int 11 Jumlahitem Price Float Barga
Tabet 5. Tabet Inbox
Field Name Tipe Size K1iteranean SenderNo Varchar 20 Nomor Pengirim Date Date Tanggal ?\.fo..,.t'>nrr"'
,, ___ , ___ un T • -,..~ r~
39
1. Perancangan Input
Input sistem berupa data customer, datrn penjualan yang di-
input melalui keyboard, data SMS yaitu Nama Barang yang
diperoleh dari handphone berupa pesan SMS.
2. Perancangan Output
Output yang diharapkan dari sistem ini adalah informasi
barang, konfirmasi pemberitahuan konfirmasi transaksi penjualan,
dan remainder (peringatan) jatuh tempo tagihan berupa pesan SMS
dan info1masi pesan masuk, pesan keluar, pesan terkirim.
3. Perancangan Database
Perancangan database ini untuk membuat struktur label yang
digunakan dalam penyimpanan data dan pesan konfirmasi. Basis
data untuk sistem ini menggunakan MySQL. Tabel diambil dari
sistem penjualan yang sudah ada kemudian ditambahkan untuk tabel
SMS. Berikut tabel-tabel yang digunakan:
Tabel 1. Tabel Item
Primary Kev : ItemCode Field Name Tine Size K•eteran2an Item Code Varchar 32 Kodeltem ItemName Varchar 32 Namaltem Vehicle Varchar 32 Merk Item Category Varchar 32 Kategori Unit Varchar 5 Satuan SalesPrice Float Harga Jual PurchasePrice Float HargaBeli Quantity Int Jumlah Packing Year Varchar 4 Tahun
48
PCflod: I> July 07, 2005- 00;16 AM
New Invoice Search: GO
No. Invoice No Invoke Date (WTeflCY CU,;tomer CuotlK:t Person Deiuiptkm
1. 00000003/JMJAPM/07/2005 2005-07-07 IDR blJ inod}lih ti.la
PT. Artha Prima MMWI • Webvislan Oi!itriblbon • Diwalopod by PT, Esolusi Indonesia
Gambar 12. Tampilan list invoicing
4.5 Alur Proses SMS
1. Pencarian Item
IT001/Ban Mobil/2000
Gambar 13. Tampilan di ponsel
a. input keyword contoh : itemname
b. eek keyword
49
c. jika keyword terdefinisi eksekusi perintah SQL: "SELECT
itemnc.me,itemcode,price FROM item WHERE itemname LIKE
'itemnme"'. Kemudian hasilnya simpan ke variable misalnya isi,
masukan variable tersebut ke dalam tabel outbox yang berisi nomor
tujuan dan isi. Nomor tujuan di ambil dari nomor pengirim. Jika
pencarian tidak ditemukan kirim pesan dengan cara memasukan data
ke outbox yaitu field nomor tujuan, dan isi pesan. (isi pesan: "data
tidak ditemukan")
d. Jika keyword tidak terdefinisi kirim pesan dengan cara memasukan
data ke outbox yaitu field nomor tujuan, dan isi pesan. (isi pesan: "kata
kunci tidak terdefinisi")
2. Pengiriman konfirmasi penjualan
a. Ambil data penjualan (no invoice, tanggal mvo1ce, total, no
handphone) dari tabel invoice.
b. Kemudian masukkan ke tabel oubox yaitu field no handphone dan isi
pesan (isi pesan : "no invoice, tanggal invoice, total")
3. Pengiriman konfirmasi Jatuh Tempo
a. Ambil data penjualan (no invoice, tanggal invoice, total, no
handphone) dari tabel invoice yang tanggal invoicenya ditambah satu
bulan sama dengan tanggal hari ini.
50
b. kemudian masukkan ke tabel oubox yaitu field no handphone dan isi
pesan (isi pesan : "no invoice, tanggal invoice, total")
4.6 Proses Sistem Basis Data SMS
Pengembangan aplikasi tersebut dikembangkan dari perangkat lunak
dan perangkat keras.
GSM Modem - -11
~-
t
Keterangan:
Gammu i--. DB ~· Program utama
.,.___ -
Ponsel
Gambar 14. Proses kerja perangkat Lunak
Pesan yang telah diproses oleh perangkat lunak akan dikirimkan
melalui GSM Modem, kemudian akan GSM Modem ini akan
mengirimkan SMS ke Operator Seluler yang akan dikirimkan ke penerima.
Server Web
Korntlfi1kasi sr~ts lnteraktif 2 Arah
Gambar 15. Skema jaringan GSM Modem
Keterangan:
51
Untuk penghubung jaringan komputer dengan operator ponsel
digunakan GSM modem
4. 7 Mengetes Sistem
Untuk mengetahui proses sistem maka perlu dilakukan pengetesan.
Pengetesan dilakukan dengan tiga prose, yaitu proses pra transaksi, transaksi,
dan pasca transaksi.
1. Proses Pra Transaksi
~j~ Mcncari item dengan knta kunci "ban"
Sistcm mcmproscs 1mtuk mengqUCI)' kala tcrsebut
g~ Mengirim
Twnpil:
'""' ilemlt111n:a item/hafg11
!TOOi/Ban Mobil/Rp 20000
52
Dari gambar 16 diperoleh keterangan sebagai berikut customer
sebelum memesan barang dapat mengecek barang yang akan dipesan
melalui pengiriman SMS. Kode kunci isi text ini sudah ditentukan
sehingga customer tingga mengikutinya saja. Kode: kuncinya adalah
Barang<spasi>nama barang. Setelah pengiriman maka sistem akan
mencari kata kunci yang dikirim, apabila kata kum;i yang dicari ketemu
maka sistem akan mengirimkan informasi kepada customer bernpa
informasi itemcode, itemname, price.
2. Proses Transaksi
mengirimknn pesan konfirmusi
Gambar 17. Proses ketika transaksi
Terima Kll!liti Anda Me!akukrul Transaksi De:ngan No Invoice, Tanggal Tmnsaksi. s~samya Trunsaksi
Setelah bagian penjualan melitkukan transaksi penjualan dengan
menginput semua order penjualan, kemudian sistem akan memproses dan
mengirimkan konfirmasi proses transaksi kepada customer. Isi pesamiya
berupa ucapan terima kasih dan keterangan nomor invoice, tanggal
53
invoice, dan total transaksi. Hal ini untuk memberitahu customer tentang
tunggakan yang harus dilunasi pada akhir bulan.
3. Proses Pasca Transaksi
Sistem secara oton1atis mengirimkan pesan konfirmasi tagihan jatuh tempo
·---' '"< ---
u·=a;· 001/ m
Mabil/2/1'--------. 0
~ ~ '" Yth. Bpk. <nama ----------- customer>)
-~ti~~;_ ~~~~~~~1~8ini telahjatuh tempo, harap melunasinya. ,..., ' H ..
Gambar 18. Proses pasca transaksi
Untuk proses pengiriman pesan konfirmasi jatuh tagihan akan
dilakukan secara berkala yaitu tiap akhir bulan, ini dilakukan secara otomatis
oleh sistem, user hanya menentukan tanggal pengiriman pesan tersebut.
Format pesan SMS-nya adalah "Yth. Bpk. <nama customer>, tagihan anda
untuk bulan ini telah jatuh tempo, harap melunasinya. Terirna Kasih. APM"
4.8 Kelebihan Sistem
Aplikasi ini dapat memberikan informasi konfirmasi kepada customer
dan sangat bermanfaat untuk perusahaan karena dapat mengirimkan pesan
kepada beberapa customer secara bersamaan. Selain itu juga dapat
54
menampung jumlah pesan yang besar karena data tersebut langsung
tersimpan dalam penyimpanan yang besar.
4.9 Keterbatasan sistem
Aplikasi ini masih sederhana dan masih merniliki keterbatasan
diantaranya:
1. Pesan yang dikirim dan ditampilkan masih sedikit, maksimum 160
karakter.
2. Pengiriman kepada banyak customer membutuhkan waktu yang bisa
relatif lama karena sistem belum tl'rhubung ke SMS center secara
langsung tetapi melalui GSM Modem.
BABV
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Dengan adanya teknologi SMS Gateway untuk mengirimkan message
konfirmasi transaksi penjualan dan konfinnasi jatuh tempo tagihan kepada
customer yang diaplikasikan pada PT. Artha Prima Mandiri diharapkan
menumbuhkan kepercayaan customer kepada perusahaan serta
miscommunication sehingga proses transaksi berjalan dengan baik. Aplikasi
SMS Gateway ini dapat mengirimkan pesan secara berkala dan dapat
dikonfigurasi sesuai kebutuhan.
5.2 Saran
Teknologi SMS ini masih dalam pengembangan sehingga akan banyak
sekali yang akan dihasilkan. Saran penulis sebagai berikut:
1. SMS dikembangkan untuk pemesanan dengan menggunakan SMS dan
secara Iangsung diproses oleh sistem lalu sistem akan memberikan pesan
kepada bagian penjualan secara langsung.
2. Aplikasi SMS ini dapat dikembangkan tidak hanya dibidang penjualan
tetapi dibidang lain seperti pendidikan, pemerintahan, sehingga tidak
terbatas pada pengembangan dalam skripsi ini saja.
56
3. Untuk perkembangan selanjutnya digunakan MMS (Multimedia Message
Service) untuk pengiriman pesan karena isi pesan akan lebih banyak
sehingga dapat menampilkan pesan informasi dari sist\:)ll yang rinci.
4. Program gammu hanya bisa berkomunikasi dengan Text files dan MySQL,
penulis menyarankan ganlffiu dapat dikembangkan untuk berkomunikasi
dengan database Jain seperti Oracle, DB2, mSQL.
DAFTAR PUST AKA
Andersson, Cristoffer. GPRS and 3G Wireless Applications: Professional Developer's Guide. John Wiley & Sons, 2001.
Buckingham, Simon. Success 4 SMS White Paper. http://www.yes2sms.com, 2001
Doman. Andy, The Essential Guide to Wireless Communication Applications. Prentice Hall Inc., NJ, 200 !.
Hartono, Jogiyanto. Analisis dan Desain Sistem Informasi: Pendekatan Terstruktur teori dan Praktek Aplikasi Bisnis. Edisi II, Andi Offset, Y ogyakarta, 1999.
Indrajit, Richardus Eko, Bambang N. Prastowo dan Muhammad Syukri. Aplikasi Web Database menggunakan PHP & MySQL. PT. Elex Media Komputindo, Jakarta, 2002.
Paul, DuBois. MySQL lv!anual. December 1999. http://www.mysgl.com/docs, 2 Maret 2005, Pukul 21.00 WIB
Ray, Pattick Rein dan Frank Groffer. Professional Java 11obile Programming. Wrox Press Inc., 200 I.
Stig, Srether Bakken. PHP Manual. 15 April 2004, http://www.php.net/docs.php, 2 Maret 2005, Pukul 21.00 WIB.
Sutanta, Edhy. Sistem Basis Data. Graha Ilmu, Yogyakarta, 2004.
Sutedjo, Budi. Perencanaan dan Pembangunan Sistem Infomiasi. Andi Offset, Y ogyakarta, 2002.
Lampiran 1. Daftar Biaya SMS Operator GSM
-No 011erator Biaya (Rp) Keterang:1H1
I. Telkomsel
- Halo 250 SMS internasional Rp. 250
- simPATI 350 SMS internasional Rp. 600
- AS 250 300 ke Simpati dan HALO
300 ke Operator Jain
1000 SMS Inernasional
2. Indosat
- 1M3
Bright 350 SMS intemasional Rp. 250
Ke Excel 350
Smart 350 SMS intemasional Rp. 250
3. - Mentari 350 SMS intemasional Rp. 350
- Matrix 350 SMS intemasional Rp. 500
4. Pro XL
- Bebas 350 SMS internasional Rp. 500
- Jempol 299 SMS internasional Rp. 499
- Xplor 350
• Harga tersebut merupakan harga stab ii tidak dalam masa promosi
• Sumber: Tabloid PULSA Edisi 57 Th. III I 2005 I I - 14 Juli
Lampiran 2. Simbol- simbol dalamjlow map (Jogiyanto mW:, 1999)
No Simbol Na ma Keterangan
1. Simbol Dokwnen piroses manual,
[ _J mekanik atau
komputer
2. Simbol Kegiatan menunjukan
LJ manual I pekerjaan yang
dilakukan secara
manual.
3. v Simbol simpanan file non komputer
offiine yang diarsip
w b<~rdasarkan urut Urutan angka
angka
w (numerical), urut Urutan Huruf
huruf
~ (alphabetical)
Urutan Tanggal atau urut tanggal
( cronological)
4. Simbol Proses proses yang
I I dilakukukan
secara
1 .. ,...---···~_: ___ :
60
5.
EJ Simbol Harddisk Menunjukkan
input/ output
menggunakan
harddisk.
6.
CD Simbol Drum menunjukan input!
Jvfagnetic output
menggunakan
drum magnetic
7. Simbol Garis Alir Simbol Garis Alir .. ir .. menunjukan arus
dari proses
8. Simbol menunjukan
0 0 penghubung p<~nghubung ke
halaman yang
masih sama atau
halaman lain
Lampiran 3. Tentang Gammu
1. What is this?
Gammu is project, where are created applications, scripts and drivers used for managing all possible functions in cellular phones and similiar de:vices.
Currently it provides stable and mature codebase for many models available in market and gives functions unavailable in many other similiar projects. Long and continuous developing is rather oriented for making shared AP! for this class of devices than for making support for single phone model (which won't be continued too long)
2. Supported devices
Gammu currently supports:
• majority of Nokia phones from DCT3 generation with Nokia operating system - for example Nokia 3210, 3310, 3315, 3410, 5110, 5130, 6110, 6130,6150,6210, 7110,8210
• majority of Nokia phones from DCT4 generation with Nokia operating system - for example Nokia 3100, 3510, 3510i, 6220, 6230, 6310, 63 !0i, 6510,6610, 7210,8310
• many AT devices - for example many Siemens, Sony Ericsson, Nokia, Alcatel models
• Alcatel from BE5/BF5/BH4 generation· for example 501, 511, 512
• some functions with OBEX and Symbian devices
We work on extending this list. For details and latest list please look into binary and source releases.
3. Connections
,~,,w_; . .w_", • .--, .• "'''·''""' .... ,;_,:.;,;.;,.,"'·''"'"~·.'"'"·""""'""'·'··'""""''···-··"''"'"''"'-"''·'''·'·''''·"''"''"""''"''''""'"'"''"'''·''"'"''''"""'''''''i.v.'>;.;;.""'""'-'·;;.:.'."""'"'""""'''"''''"'"'·""·'"·"'"·'''"'''''''"·"·'~ ii Connection ·I Note · il
i~~~~::::·::::::.:::::~.:::::::::::::::·;:::::.:·~::::§iL;I~~1;:::::'.:=:::::::::::::::::~:·::::::::::~::,::::::::::::~::~:J! 1 l • Nokia 9210/921 Oi can work in this mode with !I .: I DLR2 cable after enabling FBUS mode in :1 j ii netmonitor menu l
'i :i • some Nokia 3310/3330 FBUS cables with ii
j ! Nokia 5510 (because of5510 hardware limits, \!
I l ~~~~;;;;geF~~s~~~~~i:f.~)1:ii!0~~o (the ·I
62
;.;•.V.i.\','.\;,.;.,;:,;,;,;.v;."""'-'"'-'·'''·''•w·"'""'-""'-''-'"''"·"''""'''""'"'.'·''.''";;. .. ;;;_;,o,;_,;;.-_-....;,;,;;~,; •• ;,,,,;.;; .. ;,;,,;,,,w.\'.""'-'"''·''''''":.;...'"",;~,_.,..,·~.,-....'.;,;,;.";·"''-'"""'"'"'""'"'""''".'.>".'w·''''·'""'"""'-w"V.·;,w,,,":'
\l\.ill1J~ ............................ !this cableandconnection is not veiy stable .. .. . ......... !!
}~~!~:::::·.::.::::=:·=::.':::::·:~.::·::::::1~~~f~~!~Y1~dr~;:~~:;:;~~=~~~~;:=~··:··~:::.·1 j ]9210/921 Oi with DLR-2 AFTER enabling FBUS mode·! 'I \from netmonitor in phone menu (netmonitor must be '.1.
·~='''''''"''''''''"'''''''"'''''"'""'""'·!7B~!?,t~.1,~~~~L~J?~l~ .. ~'\l~"'~~~l'.),,"'""""''''"''''"""''''"ll )!DLR3/DLR3P \although they have plugs compatible with Nokia 5110, :i ! )5130, 5190, 6110, 6130, 6150, 6190 emd compatible, I ii !can't be used with these models because of some phone:!
·.'.,,· .·.·.·.·,·.·.·.·.·.·.·······.!.h •.• .i .. rr •.. ·.· .. ·.d •...• w ....... ~.·.·.·.e ... ·.·.·.·.·1 •.• 1.·.m ... ·.·.·.·.·1.· ..• t ... s ... · •• ·.·.·,·.·.················.······· .·.·.·.·.·.·.·.·.·,·.·.·.·.·.·.·.·.·.·.·! •• :;"'"'"':'"::;:,;:;~;:,::<;"' :::;::;·:;, ·"'""""":;::; .. .. .. .. .. ::;-:""'"'"'"·;;.:;;;;o:;:;:o;,;<:::<:::;;-::y:<;:;.";;";<::;;,;::-;:;;-;m ,
I ~~~ ~ ;f ""''"''"';''''"''''"'''""'''"'::;:::::::::::::<::::;·,•- '' :::c::.: ·'''''.-' :<;;,:::;;;:;:;l;;;,;::::<m:;m;::,;:.::;;.:;::;;;:;;,::;::;::::<:<::w;;;:"::::;::;;""''"""'''""'''''''''""'''"'''" ''''''"""""'''''''''""""'~: 1DKU5 clones with !support depend on availability of driver for cable for !
i!~~~~~s~}e.~""""" .... , '"" ...... ~.·.;~~;~~· .. N;ki~"33oo"':'oi(u2"~~t;I~·,1;t~~~;;'ihi;"""" , .... j ' 'l
i .. . . !model for uploading1nusic only ... . . . . . . . . . . :; !~th;~usi·;;b"1; ........... ,- ...... ,,~ .. -·:;-·--;;;:~~us~~:,~~:pa~~~1~·::~;;~:~~~::U<l"h~: .. ·1 \ ! drivers able to set emulated serial port j
•
4. Available functions
original USB cables with Nokia 55 I 0, 3300 are!! not supported (they're designed for uploading ' music only in these models; Gammu is !
" designed for giving access to other functions over FBUSIMBUS cable connected under battery)
For now there is available command line version, GUI (Wammu), shared library for using in own applications and some scripts. Using them you can manage such functions:
63
c~·"'-""'·''""'"'·''"'·"""·=""'"'"""''""'"·""'''=·-'··"-'"""'"'"'"'""""''""'"""'''"''"""""""·''"''''"~" .•.• ,,,.,",,·""·"-·"·····' 1sms il(AT, Alcatel BES/BF5/BH4 and Nokia devices) !I I 'l • support for various formats like ii :~ " :' l il o EMS (!Melody/text ii 1 1 formatting/linking/bitmaps/OD I) fj :~
ii J :i :i ~}
:I "
" i
•
•
•
•
•
o Smart Messaging 2.Cl/3.0 (profiles/bitmaps/ringtones)
\l o WAP/MMS settings and bookmarks i
(Nokia and SonyEricsson style) i ii
o VCARD l.ONCARD 2.1/VCALENDAR/VTODO
o linked sms
o WAPpush
and other
getting sms from device:
o Gammu can LINK read sms and reproduce original SMS contenst. With it it's possible for example to
j
' ' "i ·~ 'l
il
j
have full EMS support with phones, !! which normally don'1t have it in \j firmware (like Nokia.s) "
;1
o With Nokia phones with internal SMS JI memory you can get contenst of all :1 SMS folders (including Drafts and :I Templates folder) j
setting sms
sending sms
enabling or disabling email/voice/fax indicators in recipients' phone
replacing some SMS in recipients' phone
.,
64
:f;"'""'"'"'"·'-"''"'"''·''·'·'·'"'·"'·'''";.,=.,;"''"".-."'""''"'=·'"""''"''i('''" ... '""'""''''''·'-'·''"'·""""'-•'=.:.;;;;.":.v;.;.;.,;.:_;;.:;;.;.._;;;.;.;;.t;";;;_;;.""'"'"'''"'""''-''''""'"''''''"'"""""'''"""""'''"'"""""'11
ij ii • voice tag assigments I .. ~
j~
!1 ii ~i
"
•
• •
all types of text notes and phone number types
SMS list assign1ents
caller groups assigments '~ ii ;~ \\ :: • speed dials for DCT3/DCT 4 phones i
H
!t'""·'''·""'""~"'''""'"";;;;c••;;;.;;;;;;.c";"'·'"·"'J!,=;'"''·""'""~'=•o•==oc~;.•;c;c.;;;o~;;~;;;~;cc""""'"'''"·"'°"''·"'''"''"''"''''''J •icall lists (dialled, missed, j!(AT and Nokia DCT3/DCT4) \i
Jreceivedcalls) . . . . .... . lL .. . .. . .. . . ....... . . . .. . .. . . . .. . . . . . . \( :f"""'...,'""'"'"·'"'·""..,·'"·"'""·""""'"""""'·'"""""'"·'""·'"'·'··'"·'"''·"·"'·"·~:--·vA""'"""""'"""''"" ... '"'""'"'·""""'"m'''•'•"'"''·'"""'"""""'·""'"'""'·'"'"'M'.•".'"•""""""""""''"'""'""'·'·-"•'·"'·'''-·-·A.
1call, SMS, USSD and Cell :j(Nokia phones and partially AT dev1ices) :t !)Broadcasting events .. :; l !!You can receive informations, when phone receive :! 'I ITsms or make call, you can enable rec:eiving some CB i
L ... . . . . . . . . . .ichannelsor see, \Vhatisanswerfor ussp code . . I r··'·"'"""'"···'·-'·.Mv.".'"""""'"·"''"'°'""""'"'"•'•"·'"·"'·"'''·'"w;.vc;.w.•;.'"'·"•""i("''"'"•""•'"·'"•"'"·'"'"'"'-'"'"-"-''"•W"·'"'"'""''"""""'"''w.v.w.v.";.w.•.w;.w•.<.wm.w,,,,.,,,,,_,._, .. _.w .. .,.,_,._.,._.".,.""'·'"·"·W-'•'·"'."·"'·''·W.<.""''"·':l
!caller groups . ![(Nokia DCT3/DCT4) . . . 'i F~1~;,,;:~·~;d,,;,,,,,,,,,,,,,,,,,,,,_,,,,,,,, .... ,, .. :1a:r;~~1·ibff"8~tti;8"&~m,,N~k~-63iai6~1oi"~~~fibli"" 11
I ·:support for phones with voice records m filesystem " !1 Hike Nokia 6220 il :~ ..... ::rn:.:v::::.::;:v::,::::.: ::::::.::.::.:::<: ::::::::':":.:::::;: '"''' :-::-:o~):m:;,:.::m::vm:.:;:;;:.:o:m::v::<:-::-:;:::::m-::::-::::::.:::-:::::.:-::o:<=:v:::.::::.:v:.;;-:-:::::.::-::;:;::.:::m::::mv::::o:-:::::1::-::.::::.:<:v::::::.:::.::.: :\j ji~gos :](Nokia DCT3/DCT4 and some Siemens) !l :~ ii
ii • setting and getting mono logos in various ii ! !\ formats (2 color BMP/WBMP/NLM/OTA !! i and others) l :; " 't
'1
'! • setting animated startup logos available in f! JI Nokia 3210/3310/3315 :I
ii • setting and getting color logos for DCT 4 - is \\ :: connected mainly with uploading files to .! 'J phone filesystem and assigning them to some !I .! types oflogos (it's done this way in Nokia ii " DCT4), Gammu doesn't hav(~ problem with '1
j E this :1
l;!";;t~"p"t;;;7;1;~1;;"""'""""""~kN~kl~DCT3iDcT4)"~=;;==m;;;;;;;;;;;;;;;=;;;;~;~;;;;m;=;;;;;;;;;;;;;;jl !welcome note ii ! f•,.;.,,;,;..;.•.Vm.'-.•;;,,,.;.,_;.,,,,v;;; .• ;.••.•i.'i . .;,"W.v;.'.• .• .-•• ;;.,wim.v.,•.,;w,.:,,,,:,_:,_:/)..v;;;;;.;,;_;,;;;.-.ih.\WM",.;;;,;..,,,:_:;.w.,,;.:,_;,;,;,,,;;.,.;, •• w.:..'.';.<,,;",•""'""'·""·'"·"·"·"·';,;,;,,,;.., .. .'i.'.'-'.•;,;.,,...w,_;._;;,,;.:,,,;M.,;..;;.•,,;..;_;;;.;_;_;;;.•,;..;,,,,',.,,.\\
}wallpaper . . . .. .. . ... . .. ..... ... . Ji(colorNo~iaDCJ4) ... ................. ..... ................ ... . ...................... ) :"'·'·-·;~·.vAv,w.-,w.·.-~w.Y.".W<.W"W""'''''""·W.WNN.-..,;,,,,.,.,,,.,w.· ... •,,_.,.,?"""""'"'·"·'""''''""''"''"'""''""•"'"''•'W"'·""'"''"''"'-W"W-''·''"'·.,"'~"""""·"·""""'"'''""'·"."·''W-"""""'''';,.,"'_.,.w.w.-.·;.w ... ·.w.-.-;.·.w.'w:~
Jringtones '!(Nokia DCT3/DCT4 and some Siemens) ii :1 ·1 • full support for Nokia Smart Messaging i! i • support for MIDI files in phone memory (for l ,i PV!lmnl,:..i'nl\Tnlrin 1~1()\ -
65
"'-'""•''•-'•"'-""·'""'"'""''"''•'"-'•"-"''W<'","'"·""'',;,,w.,;«,•-'W•"•it'"-''""'·''•'·'"•'"·'"'·"·'""''''',WW•"·'"''"'"''·'',\W,;,.,,;,;"'"'""'·"'"'""'·''·'"•""·'"'''·\;•,\\;,:,,-..,,,,,,.,,,;.,\,\Wo>'•'''""'"·'''''·"-·"',\\v,w.v.-,'-'"'':~
I !i • support for ringtones in filesystem (Nokia :i 1 1 oc~ I .. 'i~';!';~;J;";~"""""""'''"'''''"."""""'''""'"'l~'~p~~;t;~~l~d~~:''""'""""'"""'""''""'~""'"''""'~""''"'"''''"'''""'"""'"'': < :~ ! ~ • Alcatel BE5/BF5/BH4 in binary mode :
n " ii
• Siemens (initial support)
• Sony Ericsson T310 (initial support)
• Nokia DCT3 (5 versions - for 6110, 3310, 5210, 8210, 6210 and compatible)
;
j 'i t "'
'j " :~
•. I.' • Nokia DCT4 (3 versions - for 631 Oi, 3510, :; · ;; 6610 and compatible) ;! l,,;;;,,;,n., ... .;._, .• w..,,,,,,.,,,,,-,,mmm;."<'"mn,Y."''"''""""'"m",''•W>}.L;..,;;;;;,.,.,.,,..,,,;,,,; •• '.WH';,.;;;;;,,,;,.,,;,_;,;;;,;;,,'.~',.;;;;;;;;,,;;;;;,,',Vv;,...;,;;;;;.',,.,.,,.,,,,W;,,N,~;;;,..;,;.;;;;,,.;;;,,,,,,m,.wu.·'-'·'i•'cNimu'"""'.ii
iToDo \Support includes: '! 'l ;( :;
• • Sony Ericsson T310 (initial support) J (; :i " :i :; :; . Alcatel BE5/BF5/BH4 in binary mode
!! :;
[j
• Nokia DCT4 (2 versions - for 631 Oi, 6610 and compatible)
''""""""(-';tO\m ·· ·cc"'''"":"·-'\'"""'""'"'"""'""'""o~: '"''"""'""''""'""""' """"'"'"""'""···· ·
. .. , .... 1;£ES:I~ .. P .. ~~~,~~2,.,. .. !;(Nokia DCT4)
., .. • getting/setting files in some Nokia Symbian i
devices (it includes support for Nokia 3650 internal memory/MMC over FBUS cable connected under battery)
• getting/setting files with Nokia Series 40. It 'i includes:
o Gallery
o Java applications/Java games
o Tones
66
f"""'··~->V•"•"-''•''-W,,,•.•c,•,""'•W •• mW,y,'-''•"•'"·'""''-''"W•"•''"-"•'·•'•' '''"·"°·if''''"•"-'''"·'"·".V·'",;,;,:,;;_;;,,;;.:_:,;.,;;,.;,,,"''"''';'·'·"'''''"''""''""·'"'"·'''·'"·''V."'''''·''"''"'"•'•"''"W"'"' '''-"""'"•'-W,",W.""' c.'c.'.''"·'"A',;'1l
; :: o voice records i -~ ., ..
o some logos )~
o phone Inbox
• making calls
\l )f ~! 1;;;;;11;g··~;;1~~;·p·h~~~ ·········;(N~kJ~DCT31D'cr4) ············ ................... · .. !menus ii } .:
'.! u -~ :{
• answering calls
• netmonitor for Nokia DCT3
• ALSmenu
! iiand others , .;_;.;;.;;.,;:._"°'"-.'."'-"'"''""''-'·-'.v.w.v.•.v,,w;.=w.w.•"'""w"'"'·"'""''•'"-'".;,i}V.'.'~";;.;,;;.";.;;_;;.,;;,,(V.;-.=;.,"""",...;;."""'''-'"·"'·'"'W.w.;,""""'""'·''""'""'W..,_,:_"~;,,,.,,,W.'•'•'-..W•>"N-'"'"'""-"·""''·" •'"-V·"'"'w.'.;)
!testing phone '[(Nokia DCT3/DCT4) {V,-... ,-,,w,•,w.wc.-.•,,>'.·""'-'"·'·.w.W.>".W,,.,,.,.,,.w;v,.w.•.w.w • ••• ····-· "•""'"''·""'".w.•.•.•,;_;_~.·;.-;.·.-,.w.;,;•;c;c;.-• .;,,,.;;,w.";.•.-.".;;.", .. w ... v; •;.·.--·.V.-,..,,;, •• •.;w,'."•".'.';.•.;v.V . .,-,..; •• ; ... -.•."•'•W-•·-w,•N.w.w.•,•';c."."·' ·····''>"--.-.. ;.-.•.-,•.•' '•' ·
\uetmonitor (GSM network! • full netmonitor handling (Siemens and Nokia I! jinfo/debugging) and phouei1 DCT3)
1::,::::"•dwore I, :
:i -
more simple info about network and phone work available for other devices too.
DEBUGGING finnware with Nokia DCT3 :?'"""'""'"'"""'""""'"""""""""'""""";:;:;::<·:: ·t ""'"'""""""' ''"""""'"'"""'" :;:::>:t ::-:::o:::<::::::-O<"-'~"'"···· · ·····-·-···· c·o-;:::::;;
;1wAP/MMS settings ' • Nokia DCT3 (everything supported, but there j ; are possible problems with some concrete :: j phones, because there is big mess in protocols!! i and info returned by phones)
\! • Nokia DCT4 (phones with proxies like 6220 ii , \, and without proxies like 63 IOi, 35 !0i) i \,•.•;.o,•;;.•.w;.w.m•.•.•>w.•,"v.v.;;v.;;""""·""-cw,•,;•,•.-.•.•-••-''·' ;;.:;_;:_:.;_:_:;.:.:;;• ... -=<.,,,_.,..,.._.,v.•.v,;w.w.vm>;;;.;•;..,,_,"""""'"''""'-""Y·"'-'"'·'"''·'"'".W.W.".•.·-·.~·;.;•;;.•.;w.;•.w.;•;.•.•.•;."W.V.".".•;.w.•"-"''-"'-"-"-"·''-"·'"""-""'-'"·' .::.:;_;~:.,j:"
iWAI' b()okllll!rl{S.......... . ............ ''(J:':JC>~i!l I:>C::'I3. !l!l.d. .. P9I4).................... .! l§i~~~1L~:~~t:i~iif ~:~~::~. ::JtE~¥l~:P:sf i::i~~~E~. ::::::: .,::.::·:::.::::~,.::·:·:::::::. :.:J ::g,,:i;:~,~~,~,~~'~'~ .. R~t~.1:1~,,,,,,,,,,,,,.:!lli,?.~l,~}2,£.Ii!==,,,,,,,,,,,, .. ,,,. .. ,, .... ,,,,.,,,,,,=,,, .. ., ... , .. ,, .. ,,,,,,,",,J !making backup/restore for!! ;various settings described labove :\
• making full backup/restore of Nokia DCT3/DCT4 to/from text format (Gammu specific fo1TI1at with checksum and full Unicode handling)
68
In the past there were few people and companies, who provided it to author of this www and because of it there were many written things in this and other projects:
I. Tomasz Motylewski
2. Ondrej Rybin
3. Multi-COM
4. Tom Nelson
5. Griffin Team
6. MatrixTeam
7. KompuNet
8. Lorenzo Ciani
9. Adam Lange
10. Michele Rossetti
11. Alain Bitam
12. Johan Helsingius
13. A Leg
14. Troy Engel
If you want to join this list, please contact or DONATE. Please note, that this help will go to author of this www. He can do many things for this type of help ... Examples:
• writing some specific functions under GPL/other license
• giving some other help in understanding Nokia/ AT/other protocols
• putting some banner(s) or other advertising on this www
If you want to donate extending Gammu is some area and you're not sure, who developed this area, please ask first for example on Gammu mailing list.
8. How can I help and what is really required NOW ?
There are many ways:
• testing and submiting bugs reports
• suggesting extensions
• providing some hardware (phones, cables, parts for PC used for development, some other) or software (documentations, licenses for software used for development, some other) help
69
• DONATING (even small sum of money will be big help}jo author of this www OR OTHER GAMMU DEVELOPERS
Here are things, which could help author of this www in making some support from his side:
• Siemens devices (series 35, 45, 55)
• Ericsson devices (the best T6 l 0)
• HDD 40 GB 2,5 inch
• Windows 98 I XP license
• original DAU-4F cable for N3l10
• NCDS for N3110
• (original)MBUS forN2110
9. Links
• Mirror provided and updated by reflektor.cz and Marcin Wiacek (Czech Republic, Europe)
o Source from latest stable version (gzip)
o Binaries for win32 from stable version (sometimes from older source version) (zip)
o ChangeLog ending with latest stable version
o Directory with earlier stable source tarballs (gzip files)
o Directory with current test versions (gzip files)
• Mirror provided and updated by Michal Cihar (Czech Republic, Europe)
o Source from latest stable version (gzip)
o Source from latest stable version (bzip2)
o Binaries for win32 from stable version (sometimes from older source version) (zip)
o Directory with earlier stable source tarballs (bzip2, gzip files and md5 checksums)
o Directory with current test versions (bzip2, gzip files and md5 checksums)
• Wammu (GUI for Gammu written by Michal Cihar)
• Archive of mailing list (starting from 28 Sept 2002)
• Project page in FreshMeat (includes mailing annoucements about new versions)
• Ready Debian packages (thanks to Michal Cihar)
• Ready RPM packages (thanks to Troy Engel) and mirrors: Mirror 1, Mirror2
• RSS channel (another after mailing list method of getting informations about latest stable AND test versions)
If you waut extend this software or help in creating, please write me
10. Mailing list
70
This is mailing list connected with MyGnokii(2)/Gammu projects. It allows to contact with authors of this software, sharing experiences or discussing about some GSM mobile phones topics. Here are sent accoucements about each new test and stable version.
First you have to register: use http://lists.sourceforge.net/lists/Jistinfo/gammuusers to make it.
Archive oflist (starting from 28 Sept 2002)
11. Manifest and history
After preparing some source and ideas for Gnokii and developing MyGnokii author of this www decided to create new project- MyGnokii2. It was started somewhere in April 2002 and written from scratch.
The main reason for making it were problems available in previous projects. It was required to make some solutions faster, smaller and better. Here were some start targets:
• using Unicode everywhere
71
• no more wmecessaiy source and adding source from C libraries (ANSI C compatibility)
• support for free C compilers on various portable devices and various OS in personal computers
• good documentation for protocols and source
• no unnecessary rewrites
• translating binaries using external text files
• less stupid errors existing because of obsolete structures
• when something can be done better, it's implemented, tested, later included into source (not included without testing).
They're generally reached.
During developing there was chai1ged project naine from MyGnokii2 to Garn mu (GNU All Mobile Management Utilities), because it is more different than shared with Gnokii and Gnokii developing methods. It was done with ve:rsion 0.59 released 5-10-2002.
Project started by Marcin Wiacek became more popular. Gainmu core was ai1d is used less or more legally in some other software. Some other people actively started to help in extending it and we have what we have. Many thanks go to Walek, Michal Cihar and others ...
Somewhere near December 2003 project was stopped for a momt:nt. Reason for it was simple: no money for buying some hardware required for extending it. Some time pressure and no sensible views for other solutions made, lthat author of this site tried to change license from GPL to LGPL.
Changing license wasn't done excellent. Discussion about it was sometimes on very low level (flaine wars and similiar horrible things) All idea unfortunately failed. Situation of project changed a little different in this moment:
There are done updates and fixes, but not so fast in all domains (everything because oflack of hardware). In other words: some functions for some latest models can be unavailable for longer time. In this moment (June 2004) it's visible with Siemens, Sony Ericsson a!ld some Nokia 40 Series phones (6230) ...
It made, that author of this www started some time ago new project called Gammu+, which will be written in C++ and because of it will have avoided some disadvfilltages available in Gammu because of using C language. !Cfammu+ will be with own license, which will allow to use it without ANY limits for commercional use a!ld will allow to find some money for extending it.
Please note, that Gammu+ is rather future. For now developing i:; done mainly with Gammu. Project grows. Author of this www want to:
• end graphic user interface
• provide direct support for Symbian devices (without installing anything additional in phone)
• fix and extend this software to have full compatiblity with devices available in market - for example, with Nokia 6230 and others
Unfortunately, there are still searched sponsors. Without them development can stop
Mygnokii2/Gammu HomePage and mailing list MyGnokii/Gammu/Gammu+
72
Last updated 8 November 2004. Available in extended & updated version on Gammu.net portal.
Lampi ran 1. Tampilan Input dan Output Program
Tampilan Login
Period: I> July 09, 2005 • 07:33 AM
Webvision Distribution
PL Artha Prima Mandiri· WebvWon Distribution· Developed by PT, Esolusl Indonesia
•J, ________________________ _ ---~l . .tJ
Tampilan Halaman Utama
er I Vehlde I City [country I Currency I Customer I Group Module l Item I Item Type J Sales Price list I Salesman [
etup » Customer Management
Manage customer
Kode
Alamat
Kota
Tclepon 1
[ontact Per.,on
AlamatEmail
Nama
ls;;i;ct Kot.5 .:J Ko de Pos
HandPhone
Negara \Serbia
Period: I> July 07, 2005·08:17 AM
PT. Artha Prima Mandiri - webv1sion Distribution· 0¢veloped by PT, Esolusi Jndonc51a
Tampilan Input Data Customer
r--:=-~ctu:-=·~--~-~-~;"·d ; "'Jn,;l 'I User I Vehicle ! Gfy ! Country I CUrrency ! Customer I Group Module I Item I Rem Type ! Sales Price list I Salasman I
Setup »Customer Management
I New Customer Search:
No. Cm•tomer Code
GO
Customer Name Address
I. CST002 Ab<!; aput:at
2. 00001 bu l<hodiiah "" 3. 000009 khoriq BambuApus
Oputat
4. 123123 Pak Zainul Oseeng Parung
-------~1.>I
Period: I> July 07, 200S • 08: 17 AM
0 00888113482
oan1 00128947537
6666 085216270073
onaa9999 Ofll2321'l252
Phone
PT, Artha Prima Mandiri· Webv!sion Distribution· Developed by PT. Esolusl Indonesia
Tampilan List Customer
Jnbox I Sent Items I SMS Send I Outbox I
SMS i. SMS Send
SendSMS
Phonebook
Message
Petlod: I :t July07, 2005- 08J9AM
_j
.J 160 You may enter up to 160 characters
Send S."15
Jnbox ! Sent Items I 5tr15 Send I Outbox I
SMS 1tJnboa
New 5MS mc~suyc Search:
No- Sender No
!. +6281510104359
2. +6281808705175
3. +6285216270073
4. +62811%0297
s. +62611960297
PT, Artha PM!a Mandiri· webvision Distribution· Developed by PT, Erolusi Indonesia
______ __J !J
Tampilan Mengirim SMS
----------·-----------------·-------Period; I:. July 09, 2005 • 07:37 AM
GO
Date Message
20050700162044
20050707131215
20050707131156
20050707120718
20050707113721 buangban
PT, A1tha Prima Mandiri - Webvlsion Distribution • DeveloP-Od by PT. Esok1si Indonesia
Tampilan lnbox SMS List
',;]~· SMS Period; I> July 07, 2005 - 08:20 AM
!nbox I Sent Items I SMS Send I Outbox 1
SMS 11- Send Items
New 5MS IHCSSiHJe Search: GO [l]-2!Next
No. Destination No Date Message Status
Anda Telah me!akukan Tronsaksi Pembe!i.m deooan No: I. 08800113482 20050707081042 00000003/IM}APM/07/2005, TQI: 2005·07·7, Tot~: Rp, 38'1000. TerlrM KMih Se~NoReport
{APM)
z. 08123214252 20050701 !73814 Hallo pa Kabar SendinqOKNoReport
J, +628123211252 200S0701172903 ITM911 l I/Ban Mobil/32000.00 SendlflQOKNoHeport
Anda Telah melahikan Transaksi Pembe!ian deogan No:
" 08123214252 20050701172550 00000002/lM/APM/07/2005, Tgl: 2005-07-t, Total: Rp. 311040. Terima Kasii SendinQOKNoReport (APM)
S. +6281808090969 20050701145816 ITM911 l l/Ban Mobi/32000.00 SendingOKNoReport
" 200507011'15538 kata kunci belum oda SendingError
7. 20050701145523 k.!ltll kuici belwn adll
a. +6288B811J'i82 20050630222221 halo sayang apa kd!w7 dengan rahmat a!!ah ruooga enokllu dil.orima disisinya SendingOKNoReport
9. +626888113482 20050630222021 Terima Kasih at as Kunjt.JnQan Anda. 5e!TIOQ3 Selamat Sampai Tujuan Senill"ivOKNoRepmt
10. +62888(3113482 20050630214 726 kata kunci belum a& SendingOKNoReport
[l]-2!Next
PT, ArthaPrima Milf'ldtr! • Webllision Distribution· Developed by PT. Esolusi Indonesia
Tampilan Send Items SMS
Lampiran 5. Source Code
#----Narna File #----class ini #----srns
Srns.class.php---------------------digunakan untuk rnenerirna dan rnengirirn
<?php class sins ''"xt:ends main
var $ errors; var $-state; vnr $-pages; var $- rpp; var $Security; function sms ($db_conn "' 0)
$this->_errors "'array{); $this->_pages ~ ''; $this-> state~ ''; $this->-rpp "" APM RPP; global $security;$this->security "' $security; if ($db ... conn !"" OJ $this-> _db_linkid ~ Sdb_conn;
function sentitems search ($keyword "" "", $page "' 1)
$start Srpp Send "' :;;o;(jl =
~ ($page - 1) ~ Sthis->_rpp;, $this-> rpp; Srpp; -'!~l·:LECT COUNT(fli;•Dtino1tio11!·l11111h<!r) a:; tot;11 Ff\OM :;,.111 itnnw';
~~lh):;-A.!•wry U~~;ql);
$HS•' $tl..is->Fir!:itRow{); if ($RSI 'total'] >~ ll I
$th15-> pn<Je" ~ cei l ($RS!' total'] I .$rppl; ~-:o;ql "SELECT :Oondingf.lateTime, !Ju~{t irwtiu11Nw11bor, Te:~LD(:'~'-id1,d,
St;i.tu;;; t"HGM SBlltitem.5";
inbox";
>_rpp;
if ($keyword !"" '"')
$sq1."" $sql.""
WHERE"; (DestinationNumber Lil<E 't$koyword't')";
Ssql "ORDER BY SendingDateTim0 DESC LIMIT $start,".$this->_t·pp; $this->Query ($sql);
function inbox_sezii:-ch ($keywor·d -.. "", $page = 1)
$start ($page - I) • Sthis->. __ rpp; $rpp "'" $this-> rpp; Send "' Srpp; -$sq.! ,_,. 'Sf::LEC'l' COUNT(!Jondel"l~umber) as total FROM inbo:<': Slh.iu->Quory ([,1:.iql) I $RS~ $this->Fit·.stRoH(); if ($RS{'totnl'I >"' 11 I
$thi.s-:> _pages "' cell [$RS!' total') I .$rppl; $sql "" "SELECT ReceivingDateTlme, SenderNumber, TextDecoded ~--RCM
i( ($key1-Jord != "") I
~~:;q l ' S:>ql •'°'
~'1l!EHS";
{SenderMumbor LiKE '\',$koy\.o/onl'i') ";
$sql - "ORDER BY ReceivingDateTimo DE:SC LIMIT $st3rt,".$thi::o-
Sthis->Query ($sqll;
function outbo:{ __ sean::h ($keyword°""" "", $page" 1)
$start $rpp Send "'
"'" ($page - 1) $this-> l·pp; Srpp; -
... $this-> _rpp;
outbox";
if ($RS['total'J >= ll {
$t:his-> pilges "" ce.i l ($RS!' total'] I $rpp);
78
Ssq l ·;;SELECT Sendi nqf)1il.nT ium, f>e~;t i t11.J\. i.0uNrn11bo r, Text\>o~·u<k1d l"HOM
if ($keyword !'-" '"') {
{
$sql.= $sql.=
WHE:RE"; (Destinationtlurnbei· Lih.'E ''il$keywoi·d't') ";
Ssql " ORDEH BY SendingDateTime DESC LIMIT Sstart, ".Sthi~-_, rpp; Sthis->Query ($sql);
function sms_send_check ($form) I
$de st inationnumber = $this->cl oan post ($ fonn l 'dest.i.na-~ ionnumber' I ) ; $te:{tdecoded = Sthls->clean post "{$form!' te}:Ldecodod' J \; if ( !Sdestinationnumber I J $destinationnumber ,..,,,_ ' ') s·:his->set OtT(•r
('Destination Number tidak boleh kosong'); -
boleh kosonq' l; if ( !$textdecoded 11 Stextdecoded ="' '') Sthis->set_er::or ( 'SMS Mes~;agH tidak
I I $def; L1 nationnumber "" $this->rest i'ict numbo r ($ fonn l 'dost inat.i onnumbc1 r' ) ) ; j f (count ($this->_orrors) -::""' OJ return -ti·ue; else ~·eturn fnlse;
Sdestinationnumbet· "' $this->clean post ($form! 'destina::ionnumber']); $textd0coded "' $this->clenn post -($fonrd 'text decoded'] l; $sql = 'INSERT INTO outbox 7 ; Ssql ."' ' (DestinationNumber, ToxtDecodod) VALUES ('; $sql •"' '\ 1 '. $destinationnun:ber . '\ r, \''. $textd1"c::id0d - '\ r) '; Sthis->Query {$sql);
funct)on sms_product_:>end __ ch8ck ($focm) {
$de st i.n.::itionnumber "" Sthis->clcan post ($form{' de st in at ionnumbe r' J ) ;
Sproductcodo "' $this->cle<J.n post (Storm{' productcode' J:; if (!Sdestinationnumber 11 $ctestinationnurnber "'"" ''l Sthis->set_error
( 'De.:;tinath'"ln NumbGr tida}; boleh kosong'); if ( !$productcode I! $p1:oductcode '~= '') $this->set" eri:or ('Product Code
t idak bolch kos0n9 1); -
if (count ($this->_error·s) <"' 0) return true; 8lse return false;
funci::ion sms_pcoduct_send ($form) // berfungs.i utk add
~;,j(,-;;l .in<1 t iunnum!x.i r 0• .'~Lh is->cJ ea11 pusl ($form! 'de:;t ina t. ionnurnb<.:lr' ) ) ;
$productcode "" $tbis->clean __ post {$form[' pr6ductcodo'));
JI Translate productcode into product message for textdecoded field on outbox $sql •·· 'Sl::L!<~CT produclrnns message FROM produC"t Wl/EHE. productcode ~, \'',
$pcoducLcvdD , '\' '; -$this->Query ($sql); $RS "' $thi:.>->FirstRow(); //data y1:1ng dihasilkan di SRS, dipanggil kumbali di sql statement dibawah ini //Insert ke outbox utk send sms Ssql "" 'INSERT INTO out box '; Ssql."' '(DestinationNumbor, Text Decoded) VALUES ('; $sql."' '\''. $destinationnumbor .'\', \''. SHS['productsms message'] .'\')'; Sthis->Query ($sql); -
# Ini 2 ftmct ion utk upload, check hHsiJ upload, masukkan data dari file ke array dan updat8 db
function srns imoort check (} l - ' -
$Userfile = $ FILES['userfile') ['tmp name']; Suscrfile name""$ FILES['userfile') T•nnme'J; $user.fl J.e - size "' $_FT LES [ 'userfile'] ['size' I; $u:>erfi.l0-type "' $-FlLES['userfile'] ['type'); $U.'.:Wr! il.e~:error "' S_FJLES{ 'user.file'] ! 'orrOl'' J;
79
cnse 1, $this->set _error ('Fi le exceed,;,d upload _max_ fi lesize' l ; brenk;
brea};;
break;
directory');
$usei:file_name");
case 2: Sthis->set error ( 'F.i le exceed·;:.d max file sizo'); - -case 3' Sthis->set - error ('File only p.Jrtially
cuse 4' $this->set - error ('No file upl•Jaded r) ;
if ($userfile_type !~ 'text/plain') [
$this->set_error- ('File is not plain text format');
Supfile '"" UPLOADS_DIR.$us8rfile_name;
if (is_uploaded_file{Suserfile)) [
if ( !move_uploaded_file ($us0rfile, Sup fl.Le)) [
--uploaded');
break;
Sthis->set_error ('Could not move file to destinotion
else
Sthis->set error (nPossible file upload attack. Filename:
if (!count (Sthis-> _errors)) [
return true;
ftinction sms_ .. import ($form)
$userfile ""$ FILES['userfilB'] {'tmp name'); Susorfil(~ nam:?""' $ FILES! 'userfile' l T1 name']; $upfi le ~0 - UPLOADS_ DIR. Su~;erf i lo _nmnc;
Sfp"' fopen(Supfilo, 'r'); $contents "' fread (.$fp, filosize {$upfile)); fclose ($fp);
$contents "' strip Tags ($contents); Sfp "" fopen {$upfile, 'w'); fwrite ($fp, $contents); fclose ($fp);
Simpoct = file ($upfileJ; if (count ($import) "'"'' 0) [
Sthi!>->set error ('No data [ound'l;
for ($x ~· O; $~: < count(Simport); $x++J
$1 ine "" explode ( "\ t", $import! Sx] ) ; $dostin;;itionnumbor.., Sline[O]; Stextdecoded = Sline[l); Ssql ,,_ 'INSERT INTO outbo.x '; Ssql."' '(DestinationNumber, TextDecoded) VALUES ('; Ssql."" '\''· Sdestinationnumber .'\', \''. $textdecoded .'\')'; $this->Query ($sql);
function autot-opiy()
LIMIT 0,1";
$sql ~ "SELECT Sender-Number AS nohp, Text Decoded J\S isi l:'RCM inbox, \:.emp "· $sql ·"' "WHERE L:ist time < UpdatodinDB"; $this->Query ($sql); $data= array(); >-Jhi le (Sthis->ReadRow (}) array_push ($data, $this->Ro1oJDc1ta) ;
$sql = "SSLECT UpdatodinDB l\S waktu F'ROM inbo;~ ORDER BY Updat<:>dinDB D£SC
$sql "' 'UPDATE temp SET '; $sql.= 'last time~'; $sql."' '\". $RS{'waktu'].'\"; St'ni.s->Query ($sql);
for (Si'"'O; Si <count ($data); Si 1·+)
l $split = explode (' ',$data [Si] [ 'isi' l); //for ($j=1;$j< count ($split);Sj++) I I { II Sisi ·"' $split{$jJ." "; I/{
switch(stri:oupper(Ssplit[Oj)) ( case "CE!<":
$ke}'\'1ord '·' $split [l];
80
Ssql = "SELECT ltemCode, ItemName, Sa.lesPriceListIDR ~~ROM
f001 "i
Ssql . "" " i·IHERE I temName Like '%$keyword%'"; Sthis-:>Query (Ssql) ; $RS = Sthis->FirstRow{); Sisi
$RS [ 'ItomCode']. "!".$HS!' ItemName' J , "/".$RS!' SalesPriceListIDR' J;
break; case "SYAKUR": Sisi"""'l'erim.'l. Kasih ai:as Kunjungan Anda. Semoqa
Selam2.l Sc;mp<ii Tujuiln" ;break;
?>
default : Sisi="kata kunci belum ada";break;
$sql '~ 'INSEHT INTO oulbox '; .$sql.·- '(!).?::;lirwtionNumb8t-, 'l'e;.;tDecoded) VJ\LUf~S ('; .$sqJ,=- '\". $dat.:l{$ij('nohp'),'\', \''· $ii3i .'\')'; $Lhi~;->Qucn·y ($sql); $.l.si'""''"';
function ~elecL kata ($keyi.,.,ord- '"')
S!:igl" "SEL8CT ItemCode, Item.N.;ime, SalE•!:iPriceListIDH FROM fOOl"; echo $sgl . '"" " WHERE ItemName Li }:(·l ,' '!,$ koywonH,' "; $this->Query($sql); $HS "' $this->FirstRoi,.1(); echo $isi = $RS[ 'SalesPriceListIDR' J;
81
#----Nama File #----class ini lr----penj ualan
sales.class.php---------------------digunakan untuk menerima dan mengirim
< ?php cla.c;s sciles extend::; main
vnr $ ___ errors; var ~; st.ii Le· var $ rpp; function sales ($db_conn "' 0)
Sthiii-> _•':rrors ~· ;;irray(); $~.his-> -'~late- ~-- ''; $this-> rpp ""' APM RPP; if {$db=conn != o} $this->_db_linkid
lf<<<<<<<-------------Start Module Back Order--------------------->>>>>>>~
ii<<<<<<< - ---- - --- --- -St a rt Module Invoicing--------- -- - --------->>>>>>>II
function .i.nvo.tcing sOO'arch (Skey1,,rord = "", $page "" 1)
$start
. "f003";
= ($page Sr pp Send
- 1) 4 $this-> rpp; SthiS-> _rpp;
= Srpp; Ssql = 'SELECT COUNT{lnvoiceNo) as total FROM DBPREf .'fl75'; $this->Query ($sql);
SRS if ($RS{'total'J {
= Sthis->l'irstRow( l; >,, 1)
Sthis-> pages "" ceil (SRS ['total'] I $rppl; Ssql - "SELECT InvoiceNo, Invoice Date, Curr·"1ncyCod0, "; $sql "fl 7 5 ,CustomerCode, fOC3 .CustomerNam2, Cont.:ictPer5on, "; $sql .= "InvoiceDescription FROM". DBPHEF ."fl75,". DBPREF
if ($keyword !"" "")
Ssql.= $sql ... $sgl."'
WHERE"; (tnvoicoNo LJJ<I~ ''(.$keyword%' OR "; lnvoicefX1tc Lil<I~ ''li$keywoi-d'i') ";
Ssgl .= " GROUP BY InvoiccNr:>''; $sq.L ,"' 11 OHD8R BY InvoicoD:ite DESC LlMIT $:-llart,".~;thi:;- · ... i'f-'I'; $this->Query ($sql);
function Involcing_J\ddchecl: ($form) {
kosong');
boleh kosong' ) ;
$invoiceno $customercode $salesrnancode .$cucrencycode $collector-code $empJ oyeocodv
""° $thj s->cl•:ian post (.:>form [ 'invoiceno')); $this->clean post ($form [ 'cuslomercode' l); $this->cleun-oost ($form [ '~-;alcsnmncode'));
"' $this->clean -post; ($fonn { 'currencycode' l); ~ $this->clean-post ($forml'collect.::ir.code')); " $tl1i:>->Cl1;Ja11-po~t ($fonn! '{:mployeBcodG' l);
if (empty($invoiceno)) $this->~et_ei·ror ( '<b>J.nvoicE• No</b:> tidak boleh
if (ernpty($customeccode}) Sthis->set_error ( '<b>Customi::r Codo</b> tidal:
Sjumlah = $fonn! 'jmllast'); for{ $~:=0; $x < Sjumlah; $Xtt) {
$itemcode00 "' $this->clean post ($fonn[ 'itemcod200']); Sitemcode = Sthis->clean pOst ($formf'itemcode 1 .$x.'O'll:
82
$this->set error ('l.laran(j baJ:"is '.$y.' Minimum 1 It(<!ll Daran9 haru5 o.d<:i I t idak boleh kosong' l ;
return false; I
if ( !ernpty($itemcodel) {
$quant..ity"' Sthis->clean_p:.st ($form{ 'quantity' .$x. '3']);
if (empty($quantity}) \Sthis->set error ('Quantity Barung baris '.Sy.' harus ada I tidak boleh kosong');
return false; l
if (count ($this-> ecrors) <"- OJ return true; else return false;
function invoicing~add ($fonnl // berfungsi ntl: ildd
$loginnmne '"" $ SESSION!' J.oginname' l; $invoiceno sthis->clean post ($form!' i.1voiceno')); $customercode Sthis->clean Yost: {$form f 'C'Jstomercode' j) : $contactperson "" $this->cleanyost ($form l 'contact person' l) ; Ssale·smancode ,, Sthis->clean post {$form{' soilesmancode' J); $currencycode $this->clean - post ($form [ 'cJrrencycode']); $exchange rate $this->c1eanYost: ($form [ 'exchangerate' l); $co1lectorcode $this->clean post ($form[ 'colJ.ectorcode']); $employeecode $this->clean - post ($form [ 'e;nployeecode' ] ) ; $dri vercode = $this->cle;:in - post ($fonr. [ 'dri vercode' ] ) ; $<>dmincode $th.i s->clean - post ($form [ 'e:nployeecode' ] ) ; $description $this->clean - post ($form{ 'description']); $discountpercent $this->clean post ($f0rm( 'discountpcrcent' j); $discountamount $this->clean - post ($form[' discountamount']); $destination1 $this->clean_post ($form[ 'destinationl')); $destination2 $this->clean post (Sforrc[ 'destination2' J); $subtotal "' $this->clean-post ($form[' subtotal']); $ppnpercent Sthis->cle<:Hl-post ($fonr,[ 'ppnpercent' l); $ppuamount Sthis->clean-post ($form[' ppnamount' l); Sgrandtotal $this->clean-post ($form!'grandtotal']); $invoiccdate ,... $form[' invoiCedate'] ['Year'],'-
'.$form[' invoicedate'] ['Month'].' - '.$form!' invoicedate' J ['Day');
Ssql "' 'INSER'f INTO ' • DDPREF • 'fl 7 S '; Ssql. = ' ( InvoiceNo, InvoiceDate, Custome l-Code, ' ; $sgl.= 'MonthDueDate, YearDueDate, '; $sql. = 'ContactPerson, SalesmanCodfl, CurrencyCode, t:xchanseHate, ' ; $sq] . = 'InvoiceDescrl pt ion, Dest in at ion 1, f:JBHt j nrit ion2, '; $sql."" 'CollectorCodo,AdtninCode, '; $sql.= '1'ota1Transaction, Discount Percent, Discountl\mot.nL, '; Ssql.'"" 'Sub'l'otal, PPNPercont, PPNP>rr,ount, GrandTotal, '; $sql."' 'CreatedBy,CreatedDate, UpdateBy,UpdateDate) '; $sql.= 'VALUES ('; Ssgl."" "' Sinvoiceno', 'Sinvoicedate', 'Scustomercode' .- "; .<;;sql."' "MON'l'H (NOW\ l ) , YEAR {NO\'l{) ) , '$c:ont nctpers0n 1 , ";
$sql .= "' $salesmancode', '$currencycode', '$exchange rate 1 , '$descL·iptjon', "; Ssql.= "'$destinationl','$destination2',"; $sql.~ "'$collectorcode', '$admincode',"; Ssql .= "'$subtotal', '$discountpercro;nt', "; Ssql."" "' Sdiscountamount', '$subtotal',' $ppnperc0nt', '$ppnarnount', "; Ssql."'" "' Sgrandtotal', '$log inname', now (), '$loginnam('1', now() ) "; $this->Query {$sql);
$jurnlab for ($x {
$form[' jmllast']; 0; $x < Sjumlah; Sx++)
$itemcode ($form[' itemcode' .$x. '0']);
$quantity ($form[ 'quantity' .$x. '3' l l;
Swarehousecode ($fonu [ 'warehousecode' , Sx, '12' l ) ;
Speice ($form[' priceidr' .$x. '9'));
if ( !empty{Sitemcod0))
"' Sthis->cl.ean poi:;t
SLhis->clean_post
$this->clean_post
$sql.""' UpdateBy, UpdateDate) VALUES('; $sql •""
"'$invoic0no', '$itemcode', '$quantity', 'SpL·ice', 'Swan;.housecode', ";
$gcandtota-~";
Si m11~ml I• Siny0t1r-Scountercode $fieldno3 ssesi
Ssql."' "' $lo9innamc', now(),' Sloqinnamo', n.ow( l) ";
$this->Query ($sqlJ;
i.;furm[' invoi_cc.;d11tu' J I' M<;nl L' ) ; ~ .$torm!'invoicedat;:;']['Y(~;;,r'l;
"IM"; "APM";
= S SESSI0!1["RS1"J;
Ssql "' 'INSERT INTO '. DBPHEF . 'f099 '; $sql."' ' ( Counter-Code , CountecMontb , CounterYear '· $sql."' 'LastCounter , FieldNoJ , CreatedBy, CreatedDat(•, '; $sql.=o· 'UpdateBy,UpdateDato) '; $sql.= 'VALUES('; Ssql.= "'Scountercode', '$inmonth', 'Sinyear',"; Ssgl."' "' $sesi', '$fieldno3', 'Sloginname' 1 now{ l, 'Slo·~inname', noH()) "; $this->Quer-y (Ssql);
//kirim SMS $textdecoded $textdecoded
"'"Anda TeL'lh melakuk<1n Transaksi Pembelian dengan "· "'""No: $invoiceno, Tgl: Sinvoicedate .. Total: Rp.
$textd;:±coded = ". Terima J<asih (AFM)"; $sql "' 'SELECT Phonel2 as hpno FROM DBPREF • 'f003'; $.':'ql .= " WHERE CustomerCode "' '$customercode' "; $this->Query ($.Sql); sns = Sthis->FirstRow(); $destinationnumber """ $RS! 'hpno');
~~~0:11 "' 'lNSEHT INTO out box '; :'::;ql. - '([)<;:.;l inaL ionNumber, 'l'r~:~l.!),Jcud<;d) VALUE~; ('; $sql ·"" '\'' , $destlnationnwnber . '\', \' '. $teY.ldecoded , '\') '; $tbis->Qw:1cy ($.sql};
funcLion invoicing_detail($invoiceno)
$sql"" "SELECT" FROM f175, f003, f015,f023, f033,f014'·; $sql ·"' WHERE"; $sql."' fl75.CustornecCode "' fOOJ.Custom•"cCode MD"; $sql... fl75.CurrencyCode "' £023.CurrencyCode AND"; $sql."-' fl75.InvoiceNo"' '$invoiceno'"; $this->Query ($sql);
function invoicing_detail2 ($invoicenol
83
$sql FROM f176, f001";
"SELECT fl 76. IternCode, InvoicoQuantity, It.:i!fu'-lame, Price, WarehouseCode
$sql .... .5sql .-""
WHERE:"; InvoiceNo 'Sinvoiceno' AND fl76.Ite:nCode "" fOOl.Jte:nCode
ORDER BY ItemCode"; Sthis->Quory ($sgl);
!)<<<<<<<-------- -- ---End of Module Invoicing--------------------->>>>>>>#
#<<<<<<<-------------Star-t Module Sales Order--------------------->>>>>>>#
. ' fl 79';
function sales_yrdro·c __ seacch (~~keyword "' "", $pago .., lJ
$start = ($page - 1) " Srpp $end $sql
$this-> rpp; "' $thi°S-> _rpp; = Srpp; .., 'SELECT COUNT(S;:ilesOrdorDalo) <ts toL<-ll fl{0,'1
.Sthls->Qu0ry (.$sqll;
84
$this-> pal)(-!S "'ceil ($f<S['total'I I $rpp}; $sql - "SELECT Sal.esOrdc:,rD;;ite, fl79.CustomorCode,
f00:1.Cuslo11:"rHan1<0• FROM £179";
$sqJ LEVT JOIN £003 ON f179.Cust.:;merCode fOOJ. Cllsl:omerCc1de";
f179 a, f003 b";
1 $customercode' n;
if· ($keyword !"-· "")
\~!!EHE"; ~l,-;ql. oc
$5ql ·" $~;ql ·"'
(SalusOrde r-Ciatc Lil<E ''i$koyword'l' UH"; fl ·1~.CustomerCodrJ LIKE ''b$keyword'6') ";
:~:;ql "O!\DJ·:H UY :;a1o~:urdurll;1Lo DE~;r; J,lMJT )~;\t;11L,".::iLhi;--, i-!JJ:>;
$Lbi"->(!uory ($~;qJ);
$sql "SELE:CT SalesOrderDate,CustomerName,ContactPerson, "; Ssql,"" "Destinationl, Destination2, SalesOrderDescript ion, a. Custo111erCode FROP'i
Ssql •"' Ssql.'"
WHERE"; SalesOrderDate '$date' AND a.Customer.Code
$sql, = AND a. CustomerCode..eb .Custome rCode"; .$this->Quecy ($sql);
fun,_ I i<Jll ;;;11!)'-' .. 'JL·Jr:,L·_cfotaiJ.2 ($dule,$,;uslorncrcodo)
$sql "' "SELECT S.alesOrderDate, CustornerCode, f200. IternGode, "; $sql,"' "SalesOrderQusntity, ProcessedQuantity, ItemName FROM f200, fOOl";
$sql .= " WHERE"; $sql."" f200.CustomerCode "' '$customercode' AND"; $.sql."'" SalesOrderDate '$date' AND f200.IterrCode = fOOl.Ite:riCode
ORDER BY IternCode"; .$tbis->Query ($sql);
function sales_ordei-~addcheck {$form)
$custornercode = $this->clean post ($form [ 'customercode' ) ; if (empty($customercode)) $this->::;ot_error ( '<b>Custome1· Code</b> Lid,it bult1h
kosong');
for( $x=O; $x < 5; Sx++J (
SitemcodeOO $itemcode $y
Sthis->clean po~;t (Sform [' iten-,codeOO' J ) ;
$tliis->clean p;sl {$form[' ilcmcodo' .$x, '0']); ~ = Sx+l;
if (empty{$itemcodc00)) $this->set_error ( 'Ba)7ang baris '.Sy.' Minimum l Item Bar.ang han1s ada I tidak boleh kosong');
if (Sitemcode) (
$Cjunntity"' $thi.i->cltJun post ($fonn['quantity 1 .$x.'3')J; if (empty{$quantityJ l $tilis->set_er::or ('Quantity Barang
baLi.s '.Sy.' bat-us ad'J I tidak boleb kosong'); I
if (count ($this-> error-s) <= 0) return true; clso r.oturn false;-
function sales_ordet·_add (Sfonn) // berfungsi utJ.: add dan update
$lo9inname $ SESSION [' log.i.nnome');
$custornercode >clean post (Sform[ 'custornercode' j);
"' $thL;-
$contact po rs on >clcan_post ($form( 'contactperson' l);
$salosordBrdescriplion $destinationl
>clecin_post ($form[ 'destinationl' J);
.$Uii :.;->clLlall_J_,u::;t. {$ i vrm ! 'de~<:r ipt j on' l) ; = $this-
.<;r!e>r.d·; ""'t '"""
$t ~·iint:act iondate $foi:m! 't ransactiondnte' l [ 'Ye~1i:-' l, ' - ', Sform[ 'transGct iond;,te'] ['Month'].' -'.$form[ 'transactiondat•?'] [ 'Di:ly' I;
Ssql ~ "INSERT INTO f179 "; Ssql."'
"(Sa.lesOi:dorDa t(;•, Cust•)rn0rCode, Sale30rder0ozcr ipt ion, de st in at ionl, dtistlr,;:i.tion2, ";
85
Ssq.l."' "ContactPerson,Ci-c-J::itodBy, CreatedDaLe, l'pdateBy, Ui:;-da.loDalel VALUES ";
$c;;gl.'-'" " ('$transact iondate' , 'Scu.stomercode', 'SsaJ esorde rdeo;c r ipt ion', ";
$sql.a "'Sdesti11ationl', '$destination2',"; $sql ."" "' $contactperson', 'Sloginn:.r:e', noH{), '$Jo•Jinname', nO'd()) ";
Sthis->Query (Ssql); -
ror ($;,: 0; Sx < 5; Sx++)
Sitemcode
Squantlty _,, Sthi:s->cl.:,un_post ($form[ 'quantity' .$x. '3']);
$processed Sthis->clean_post {$form1 'procossed' .$x. '·1')):
i I ( !<•illf'I y(ff. il <.<lll'.'Pd•'))
I $sql "' "INSF:.RT INTO £200 "; $sgl.==
" ( Sal0sOrJe rDc:t:e, CustomerCode, 1 temCode, SalesOrde!:'Quant i ty, "; Ssql.""
"i'i-<.:'C•J.' :·;e,JQu<ir1t i Ly, r:tos i ngSt,"J t us, Cr.:;at1~dBy, Ct·cntedDa t(~, Upda t.r..iBy, Updrt1J,Dil t,,) VJ\L!JED "· $t~ql."'
" ( '.;il r a11t:;icl. i•AJU>it.'~' , '$cu.stumoe:c<2ode' , '$1.temcode' , '$quilnt it y' , ": $sql.=
"':)11ruce:;:'"-'d', 'N', '.S.lc1\_Ji1wwne' ,no1-1(), '.$Joqinnamr.'' ,now())"; $t!1is->Quet·y ($sql);
11 •-<• ,_,..._.:-------------EnJ vl Module Sa 11..i:; Ordvr--------------------->-'-'>> ~>ii
i!<<<<<<<..-------------Star-t Module Invoicing By Dack Or·dor---------------------->>>>>>>Y
function invoicing_by_back __ order-~search ($keyword-... "", $page"" 1)
{$page - 1) •· $this-> rpp; $rpp $th.ls-> r-pp; -$end .$rpp; -$sql 'SELECT COUNT ( InvoiceNo) as total. FROM DBPREF' .'£175'; $U:is->Quer-y ($sqll;
$R:> $this->FirstRow(); if ($RS{'total'] >"' 1)
.$thi.s-> _pnges "- cell ($RS ('total') I ;>r.pp); $~;ql "SELECT lnvoiceNo, BranchCodo, lnvoicoDato, Paymerit'l'enn,
T:;xStatu:::;, C!lrrencyCode, E;~changeRate, CustomerCode, DistributionChannelCode, SalesmanCode, Dri verCode, CollectorCode, Invoic0Description f'ROH ". DBPREF , "fl 75";
if ($keyword != "") I
else (
$sql."" $sql."' $sql.=
$sql.'" $sql ·"'
i'11-!ERE"; ( InvoiceNo LIKE '%$keyHord%' OR "; InvoiceDate LIKE '%$keyword%')";
WHERE"; InvoiceNo L!l-Q: '%IBO%'";
$:oql " GHOUi' BY Invoii.x~No";
$.sql "ORDEH flY Invoice[lato LJMIT ::;;starl,".$t:ii:::;-> rpp; $this->Quel:'y {$.sgl);
#•.<<<<<.<-------------Sta rt Mry·h1 Lo Cu c·rency--------------------->>>>>>> # fiuw1 ·1,,1\ <'.llf te11•:y _: our<:h U:.!'J'Y"Jr-'rd -~ "", .$pillJf' 1)
$.-·t ~It 1_ ($page - 1) ' ~;Llli:o-~'_rpp;
.~;rpp ~;thi~>-> rpJ,,;
.;,end "'" Srpp; -:;.sql "'- 'SELECT COUNT(CurrencyCode) <:ts tutal FROM $this-: Query (.$sql); $RS = $thi.s->Firstt\ow(); jf (~'.RS['totnl'] >= 1)
$this-> pages ceil ($RS ['total'] I Srppl; $sql "' "sr::LECT ' FROM" . DBPf\EF • "f023"; $thi:o->Quei·y ($::;-ql);
11·--< -------------End Module C1u-rency --------------------->>>>>/>!!
D8PREF , ' f023';
ff<<<<<<..;:-------------St :i rt Mod1ile Sale:J History--------------------->>>>>>>~ fnncl i•··n ,,;iJ •'l>_h J :·;t (\ry _,;0;·1tch ($form, Spaqe = 1) !
i.f (count ($this-> _errot·s) <"' 0)
$a"'taldate "'ml:time (0,0,0, $fot·m['a11al')['Month'), $form{ •,-jl·Ja.I'] { 'Dily' J, $tor-m! 'ilwcil' j { 'Yo;tr' J);
Sakhirdate "' mktime (0,0,0, $form[ 'akhir' j ['Month' J, Sfon~{ 'akhi l" 1 J r I Day' I, Sfoni: r I ;:d:hi r' I 1 'Year' l);
if ($nkhl1.-dule < :;>u1<1aldnt(•} l'•'lun1 (;Jls(~;
86
$a1·rnl = Sform{'a1-1al']['.Year'].'-'.~~form!'aw;;il'J('Monl:h'j.'-'.$fonn['awal'J['Duy'];
Sai:hi.r '°' $form[' akhir' J ['Year' l. ' - '.$form(' akhir' J [ 't•fonth']. ' -'.$form!' af.hir' l 1' Day' l;
.';:inVOi(:'.O!lO = $fOnn [ 1 j [lVOi.CCl10') i
S'C'U!o' t
Scu:otn .';-curn $c .. :rc
~;:_,~,".ln
:3.it·e1nc: .s i t O:Jnl!l
$fo!'rn{ 1 c\:sto111on::ode' I; $ fonn [ 'cuslome-rnanw' ) ;
'"' $form( 'cucrencyname' J; $:'arm r '.::ur1·encycode' l ; ~;form! 'sa l cm11;:-Jncode' ) ; .$ [01 m ! 'sa1 csrnnnn;;ime' ) ; Sform [ 'i.temcode' j; ~·fonn l ' i.t0mo::ode' ) ;
' -- ')
$nwc:il dJte("Y-m-d");
1 -- I)
~.iakhit' = date ("Y-m-d"l;
$start = ($·)age - 1) ~- $this-> rpp; $rpp $this-> rpP; $e!Jd $rpp; -$sql 'SELECT COUNT(InvoiceNol ;;,s total ~'ROM
Ssgl WHERE"; $sq! (InvoiceDate >"' 'Sai-ml' AND"; Ssql InvoiceDate <= '$akhir') AND"; Ssql InvoiceNo LIKE '%$invoicenoi' AND"; Ssql CustomerCode LIKE '%$cust%' AND"; $sq1 SalesmanCode LIKE '%$sale%'"; $thls->Query ($sql);
:~HL> "' ~~tld~->[·'ir:itl{ow();
if ($[{~;1'total'J >"' 1)
I $this-> _pages "' cei.l ($RS!' total') I .$rpp);
"SELECT lnvoiceNo, InvoiceDai:e, ";
DBPREF • 'f175';
$sql $sql $sql Ssql $sql Ssql ~;:;1,iJ
Ssgl Ssql $sql $:;ql
CustomerName, CurrencyCode, fl-/5. Sa.les:nanCode, "; ContactPerson, InvoiceDescr.iption FRQ\1 ". DBPREF , "fl 75"; LEFT JOIN f003 ON f175.Customer.Code °" fOOJ.CustomerCode";
"'"·:.
WHERE"; (Invoic0fl.-ite >""' '$nwn1' AND"; lnvoic~JDill.r~ <-'-' '$af:bir') fl.MD"; lnvojceNo !,IKE '£.$.invoiceno!/i' r'lJ-lD"; f175.CustomecCode LIKE ''i,$cuo;t%' AND"; fl 7 5. SalesmnnCodo LIKE ''l;$::;a le%'";
(IHDE!< BY JnvoicoNo LfMl'I' $~;l<1rt,".~:U1i::-> r·pp;
Ii<<<<<~.< -- ------ --- - -S la rt Module Gr"ne rate NumbP r-- -- ---- ----- ------- - >>> > >>> # fu1h~llon neH_oi·der_code ($cod)
I $Ll1i...;y0,1r ditl8 ( 1 YI);
Sthi:"month date ( 'm');
87
$sgl"' "SELEC'1' M!>.X(lastcounter) ;:is newcode FROM". LiBPREr ."f099 ": .$sql.= "WHERE countercodG"''$cod' i.!!ld counteryear='". Sthisyear ."' and "· $sql."' "countennonth""'". Sthif'month."'"; Sthis->Query ($sql); $RS ,. Sthis->fiLotRow(); $RS1,,.,$RS{ 'ne1-.rcode' j+l; S le"'st rLen ( ~RSl) ; .if(Sle°""'l) \$pre='0000000';) 0lseif ($18'"""2) ($pre"'' 000000';) elseif(Sle,,.=3} {$pre""'00000': / elseif ($le"'"'4) [$pre""'0000';) elseif (Sle,.,=5) {Spre"''OOO'; J elseif($lea=6) {$pre•'OO';l else.if($le="'4) !Spre='O';) a lse [Sp re"' '; l Snomor orde i:-=.$pre. $RS1, "!",$cod," I i\.PM/ ''. ~; thLnrronth. "I". -H. h isy8<:1 c; $_SES Sf ON! "HSl" l "'$H.S1 ; $ sr:;;:;1uu1"11urnur ~1nJu•"l-~'11omor \l!"dur; co turn f;]\~; I' ne11cod0' /-! 1;
#·,<<._<<<< -------------t~nd Module Gone rate Number--------------·------->>>>>>> Ji
#<<_<<-<<<-------------Star Module T:igihan--------------------->>>>>>> ii
f»onct:lon tagihar._;:;ddcheck ($form)
$jumlai1 .<;;forml'jumlah'); if {count ($tl1is-> ercors) <s 0) for( Sl-:"-0; SY.< Sjtimlnh; Sx+-r) I
.$itemcode00 " Sthis->clean post ($fonn{ 'ito:i,codoOO' l}; Sitemcode Sthis->clean ... POst (Sform [ 'il8mccde' .$;-:. '0']); $)'"'$~:+ 1;
if (ernpty($itemcode00)) !
han10; aJa I tidak boleh kosong'); $this->set_erroi:- ('Barang bar.is '.Sy.' Minimum 1 ltem 13;-.n-ilng
return ft.1lse; I
if ( !empty($iter.1code})
($forw[ 'qua11tity 1• $x, '3']);
I $q11m1tity .$ this->c lean_post
if (empty($quantity)) {$this->3et_eL·ror ('Quant i.ty Barilng bar is ' . $y. ' haru.s ada I t idak boleh kosong' ) ;
retui:n false;}
if (count ($this-> error·s) <"' 0) return ti-ue; ob_;(, eotut:ri fnluo;
tuncr:ion tagih2.n_add (.$fot'm) // bet·fungsi utk add
$loginname Sinvoiccino
($form{' in\'<...-iic•:ino')); Scustomercode $contact person $salesmancode $currencycode $exchange rate Scollectorcode $employee code $drivercode .)<idmincode
($form I 't.·inpl oy<)C-JC~Od«' ] ) ; Sdes-::ription $discountpercent
$ SESSIO:.l [ 'loginname']; sthis->clean_pvst
.$this->cle;.in post ($form( 'cu~;lomer-cod"' I); "' $this->c lean-post ($form ( 'contact person' ) ) ; "" $this->clo<.1nJ;ost ($for.m[ 'snJe5m;.incode') l;
$this->clean post (~;form j 'cucrencycode' l); Sthi.s->clean -post ($form ( 1 c;xchangerate' ] ) ;
~ $this->clean=post ($form[' col lectorcode' j); "' $this->cl,;ian post {$form[ 'employeecode']);
$this->c.lean post ($form[ 'drivercode' l); ""' Sthfs->c.lear._po::;t
$this->cJoan_post ($fr->nrrf 'description']); $this->clean post ($form[ 'discountoercent' 1 \:
$:'."lhl (•l :1 l
(:)f<,•!lll\ '._,qi>\, i:il' [); f.~ t hi:; - ~C ].,_-,Cl. l.J"-'~' L
88
$f'l'fif"' l\~ur• I $pp1lililli)lllll
(.Sfonn i 'fJ!Jll:1rn.;,unt') J; Sgrandtotal
~:U1i:;->cl1<<rn yu1-;L (~ f(lr111l 'r,f1llf'' i:<>nll 'l); ;;ud·.~->clui.J i_y,,,,,1_
$invoic0d<'!t~l
;this->clean post (:;:form! 'grandtotol')); "'$form['invoiCedate']['Yeat''). 1 -
'.$fonnl' .uivoicedate' l ! 'Month' l. ' - '.$form[' invoicedatB') ['Day'];
:J.c;,11. .= 'lNSEHT INTO'. DBPHEF ,'fl75 '; Ssql , 0• '(InvoiceNo, InvoiceDate,CustomerCode, '; S.sql."'" 'MonthDueDate, YearDu.;,Date, '; $sql,"' 'ContactPerson, Sa lesmanCode, CurrencyCode, ExchangeRate, '; $sql.= 'InvoiceDescription, Destinationl, Dcstination2, '; Ssql.~ 'CollectorCode,AdminCode, '; $sql."" 'Total Transaction, DiscountPei:cent, DiscountAn,ount, '; $.sql.= 'SubTotal, PPNPercent, PPNAmount, GrandTotal, '; $sql.= 'CreatedBy,CreatedDate, UpdateBy,UpdateDate) '; $t1ql..«; 'VAJ,UE:S ('; ;;:oql ·'" "'~'invoiccno', 'Sinvoicodute', '$cu:;t.ornercode', "; $sgl .= "MONTH (NOW () ) , YEAR (NON() ) , '$contactperson', "; $sql."" "'$salesmancode', '$currencycode', '$exchnngel·at0 1
, '$description',"; $sql ·°' "' $de.stination1 ', '$destl nation2', "; .$;;ql. "'$colloct.on~odo', 'Sad111.i.1icodo', n; $sql ,= It
1 $subtotal 1 I I $dl.SC0UiltpO!:C00t 1
f 11 i
Ssql •"" "'$discount amount',' Ssubtotal', 'Sppnpercent', '$ppriamount', "; :;>DqJ . "' "' Sgr;indtotal', '$.l.oginname', now () , '$loginname' , now () ) "; ~:ihi:,- <.•11•11y (f.::;']I);
~>jurnlali = :;'forml':i11tJl;1!.>t'J; fvr (~<;.: O; $x < $jrn11lah; $:~1 1)
.$iterncode $thLo::.->cJ.ean~post.
($fonn[ 'itE<mcode' .$,:. '0' J); $quantity $this->clean_post:
(Sfocm[ 'qc:antity'. Sz:. '3' l); $'cl<lrohousecod0= Sthit->clE;:;n pv~,t
$pt- ice ($fonn{ 'warehous.;co,_fo'. $ ~. 'J ~;');; = St:his->cloa~_posl
( $ f<_; ml{ ' pr i·>~ \ d r' . ~. :~ . ' '::1 ' j ) ;
i ( ( ! empty (Si tome ode)} {
$sql"" 'INSERT INTO'. DBPREF .'f170 '; $sqJ ·"' '{InvolceNo, 1ternCodo, l11voic0Qu.:;nti t.y, Pr ic..;·,' i,isqJ ·" '111;n.d1otJ,JC>Codu,CroaledDy,CronLedDaL•. '· Ssql."" '!Jpdat:eBy, UpdatoUate) VALUE:S ('; $sql.=
"' .-;; Lnvv lc011<.•' , '$ i l omcodr~', '.~:qu.1n Lily', '$pr.ice', '.~:1.;an·h·~;ura1codr;' , ";
?>
Sinmonth ~; i 11y<«1 !
::;<,'<n1JJI •!I•,,.],.
.'~tieJdnuJ
Sses.i.
~;;o-;q l. - "' ~:luq t11lliJ1m;'' JJU\.,t()' ':;;J'-"l i !!II ;lllU'' 11•,)\·1()) ";
$t:his->Query ($sql);
$fonnf 'invoicedate' l I 'Month']; $fn! 111! 1 i l!V•>lr·ndid ••') ! 'Y"ill ') ;·
"JM"; "J\PM";
= s sr:ss16Nf"RSl"J;
Ssql ~ 'INSEHT INTO '. DBPHEf . '£099 '; Ssql."" ' ( CounterCod0 , CounterMont:h , CounterYear , , $sql.= 'Last Counter ' FieldNo3 I CreatedBy, c~-e<.ltedDate, '; $sql..~ 'UpdateBy,UpdateDate) '; .$sql."" 'VALUES ('; ~>::rql."' "' $countercode', '$i.nmonth', '$inyear', "; $sql."' "'$.sesi', '$fieldno3', 'Sloginname' ,now(), '$loginname' ,now() J"; Sthis->Qu.::.ry ($:>ql);