7405030043
7405030043
Dosen Pembimbing:
Arif Basofi, S.Kom
NIP. 132.303.872
Rengga Asmara, S.Kom
NIP. 132.310.244
PROYEK AKHIR
Dosen Pembimbing:
Arif Basofi, S.Kom
NIP. 132.303.872
Rengga Asmara, S.Kom
NIP. 132.310.244
KATA PENGANTAR
Dengan segala puji syukur atas segala rahmat Allah SWT yang
melimpah sehingga selesailah Tugas Akhir saya berjudul :
SISTEM INFORMASI STOK DAN HARGA BARANG BERBASIS
SMS GATEWAY
Tugas akhir ini tak terlepas juga oleh jasa bimbingan para
dosen pembimbing yang dengan sabar memberikan bimbingan serta
dukungan baik teknis terlebih lagi moral.
Semoga Tugas Akhir ini dapat memberikan manfaat yang besar
bagi semua orang khususnya bagi mereka yang tertarik pada Teknologi
Informasi dan juga yang sedang mengikuti kuliah. Segala saran dan
kritik dari pembaca sangat di harapkan demi kesempurnaan Tugas Akhir
ini ,sehingga lebih bermanfaat di masa mendatang.
Penulis
ABSTRAKSI
Tugas akhir ini menitikberatkan pada pembuatan sms gateway yang
teraplikasikan pada sistem informasi mini market dengan menggunakan
komponen open source GAMMU. mengapa dipilih Gammu ,Gammu
memberikan kemudahan bagi software developer untuk sms yang ingin
menulis program untuk mengirim dan menerima sms messages via
ponsel maupun modem GSM .
Dengan menggunakan fungsi-fungsi dari Gammu , kita tidak perlu
belajar command-command AT untuk mengontrol kerja ponsel atau
modem GSM . Amatlah mudah menuliskan skrip atau program untuk
'menyetir' command-line Gammu yang berjalan di background.
Gammu mensupport ponsel yang dapat bekerja pada mode AT
command . Gammu mensupport banyak model ponsel NOKIA , SE ,
Motorolla dsb , daftar model ponsel dan modem GSM yang disupport
oleh Gammu dapat ditemukan di website Gammu. karena komponen ini
mudah digunakan (walaupun tidak ada GUI) namun dibandingkan
dengan harus menuliskan AT command yang rumit pada hyper terminal
maka komponen ini akan sangat disukai developer,format commandcommand di GAMMU mirip seperti di windows command yang banyak
dikenal oleh para pengguna windows.
Layanan yang disediakan yaitu purchasing , notifikasi stok dan
laporan.
Kata kunci : sistem informasi stok , sms gateway , gammu , transaksi
pembelian
ABSTRACTION
This final assignment aims at the creation sms gateway which is
applied at minimart information sistem by using open source component
, GAMMU. why should GAMMU? , GAMMU is a free component giving
ease to software developer who want to write down codes or programs
aimed for sending and receiving sms messages either by cellphones or
GSM modems.
By using provided functions of GAMMU , we don't need to learn any
AT commands which is used to control cellphones or GSM modems. it is
easy to write any script or program which controls GAMMU commands
running in the background, we can use program maker such as delphi ,
visual basic or just C++ (in this case, I use PHP). GAMMU supports
(only) cellphone models which are able to work in AT command mode.
and also supports many models in NOKIA , SONY ERICCSON ,
MOTOROLLA etc, the list of supported cellphones can be seen on
GAMMU's website. since this componen is easy to use (no GUI though)
this component will be prefered by developer in developing sms gateway
application, its commands format is alike as windows command which is
well knows by many windows user.
This information system provides several services such as purchasing
, stock notification (for manager) and also transaction reports
Keyword
DAFTAR ISI
BAB 1
PENDAHULUAN
1.1 Latar Belakang ...............................................................
1.2 Tujuan ............................................................................
1.3 Permasalahan ..................................................................
1.4 Batasan Masalah .............................................................
1.5 Metodologi ......................................................................
1.6 Sistematika Pembahasan .................................................
1
2
3
4
5
6
BAB 2
TEORI PENUNJANG
2.1 Sms Gateway ..................................................................
2.2 Power Designer 10...........................................................
2.3 MySql .............................................................................
2.3.1
Membuat dan Menghapus Database .................
2.3.2
Menggunakan Database.....................................
2.3.3
Membuat Tabel .................................................
2.3.4
Mengisi Tabel ...................................................
2.3.5
Membaca dan Mengatur Isi Tabel ....................
2.4 Integrasi Antara PHP dan MySql ....................................
2.5 GAMMU .........................................................................
2.6 XAMPP ...........................................................................
2.7 Macromedia Dreamweaver MX ......................................
2.7.1
Memulai Dreamweaver MX .............................
7
10
12
13
13
14
14
15
15
17
19
21
22
BAB 3
PERENCANAAN DAN PEMBUATAN SISTEM
3.1 Gambaran Umum ............................................................
3.2 Rancangan Database .......................................................
3.3 Rancangan Interface Web ...............................................
3.4 Rancangan Penulisan Format SMS .................................
3.5 Pembuatan Pengenal Kode SMS .....................................
3.6 Flowchart Pembelian Barang ..........................................
3.7 Flow Chart Notifikasi Stok Habis Untuk Manager ........
25
26
28
30
31
33
35
BAB 4
PENGUJIAN DAN ANALISA SISTEM
4.1 Uji Coba ..........................................................................
4.2 Analisa .............................................................................
37
45
BAB 5
PENUTUP
5.1 Kesimpulan .....................................................................
5.2 Saran ................................................................................
57
57
DAFTAR PUSTAKA
DAFTAR GAMBAR
BAB 1
Gambar 1.1
BAB 2
Gambar 2.1 Sebuah Sms Gateway Berfungsi Sebagai Relay ......
Antara Dua Sms Center ...................................................................
Gambar 2.2
Gambar 2.6
Prompt
Gambar 2.7
............................................................................ 12
Window Command Prompt Untuk
Gambar 2.9
Gambar 2.11
Gambar 2.12
Gambar 2.13
BAB 3
Gambar 3.1
Informasi ................................................................................. 25
Gambar 3.2
Gambar 3.3
Gambar 3.4
Gambar 3.5
User
................................................................................. 29
Gambar 3.6
Gambar 3.7
Gambar 3.8
Kecil
Gambar 3.9
Bekerja
Gambar 3.10
Gambar 3.11
35
BAB 4
Gambar 4.1
Gambar 4.2
....................... 37
................................................. 37
9
Gambar 4.3
Tabel Pesan Dari Nomor Baru Yang Tak Dikenal
(Nomor Yang Diwarnai Merah Adalah Nomor Tak Dikenal) ...... 38
Gambar 4.4
Gambar 4.5
Tak Dikenal
Gambar 4.6
Gambar 4.7
Tabel Berisi Katalog Barang Dan Kode Smsnya
(Kondisi Awal) ............................................................................ 41
Gambar 4.8
Gambar 4.9
Gambar 4.10
10
BAB 1
PENDAHULUAN
1.1 LATAR BELAKANG
Perkembangan teknologi yang semakin tinggi menuntut layanan yang
semakin mudah , cepat dan praktis.Teknologi SMS disebut sebagai
teknologi yang paling murah dan paling mudah dibandingkan teknologi
informasi sejenis misalkan internet dan email. Dengan menggunakan
teknologi tersebut dibuatlah system yang cukup murah namun tetap
efektif dalam mengerjakan pelayanan transaksi jual beli atau distribusi
barang dalam suatu market. Keuntungan cukup banyak diperoleh dari
kedua belah pihak , pihak distributor diuntungkan dengan murahnya
biaya pelayanan
yang dikeluarkan namun mampu memberikan
pelayanan yang belum ada sebelumnya , mulai dari pemberian
informasi, penyediaan barang yang selalu up to date , hingga penyediaan
jasa delivery. Pada sisi pelanggan diuntungkan dengan efisiensi tenaga
dan waktu , sehingga mereka menjadi lebih senang dalam melakukan
kegiatan berbelanja.
11
12
13
14
Studi literature
Pada tahapan ini, penulis mencari tahu serta mempelajari
segala bentuk literatur yang berhubungan dengan Proyek
Akhir ini, seperti perancangan database,pengetesan
handphone dengan komponen sms gateway agar bisa
berfungsi layaknya sms gateway dan di padu dengan
tampilan web yang menarik sehingga dapat dijadikan
referensi untuk membuat system serupa untuk tujuan
komersial.
2.
3.
4.
Analisa
Melakukan analisa terhadap system informasi,apakah
sudah sesuai dengan aturan aturan pembuatan database
yang efektif dan efisien. Analisa terhadap penggunaan sms
gateway , yang lebih efisien dan lebih user friendly.
15
1.6
SISTEMATIKA PEMBAHASAN
Sistem pembahasan dalam pembahasan dalam penyusunan
laporan Proyek Akhir ini adalah sebagai berikut:
BAB I : PENDAHULUAN
Berisi tentang pendahuluan yang terdiri dari :
Latar Belakang
Tujuan
Permasalahan
Batasan Masalah
Metodologi
Sistematika Pembahasan
BAB II : TEORI PENUNJANG
Menjelaskan mengenai teori-teori dasar sebagai
landasan pelaksanaan proyek akhir ini, yaitu :
System kerja sms gateway
Database Mysql
BAB III : PERANCANAN DAN PEMBUATAN SISTEM
Menjelaskan perancangan sistem yang dibuat.
Menjelaskan beberapa tahap yang harus dilalui ketika proses
awal pembuatan sistem. Seperti desain interface website,
program-program yang dibutuhkan untuk notifikasi yang
masih dalam lingkungan website, serta pembuatan polling
untuk masukan.
BAB IV : PENGUJIAN DAN ANALISA
Berisi tentang analisa sistem, program yang telah
dibuat dan menganalisa pada bagian kuis untuk dievaluasi
kepada user agar sistem ini dapat bermanfaat bagi mereka.
BAB V : PENUTUP
Berisi kesimpulan dan saran untuk pengembangan dan
penyempurnaan proyek akhir ini, jika dimungkinkan untuk
masa yang akan datang.
16
BAB 2
TEORI PENUNJANG
satu sisi anda menghubungkan smsc milik suatu carrier. Carrier yang
berbeda mungkin menggunakan smsc dari vendor yang berbeda , yang
mana itu berarti aplikasi pesan sms anda membutuhkan support protocol
smsc-spesifik yang cukup banyak.(diilustrasikan gambar di bawah ini).
Dan pada akhirnya , tingkat kerumitan aplikasi sms dan waktu
pengembangannya pun meningkat.
19
20
21
2.3 MYSQL
MySQL merupakan server basis data yang menggunakan teknik
relasional untuk menghubungkan antara tabel-tabel dalam basis data.
MySQL dikeluarkan secara gratis dibawah lisensi GNU General Public
License (GPL) seperti halnya PHP, sehingga tepatlah kiranya bila
MySQL dijodohkan dengan PHP untuk merancang halaman web yang
gratis namun handal. MySQL juga menyediakan source programnya
secara terbuka (open source) sehingga orang lain dapat mengubah atau
menambah kemampuan dari MySQL untuk keperluan khusussecara
pribadi. Dikarenakan kemampuannya yang handal (robust) dan
didukung dengan system multi-user (banyak pemakai) dan multi-thread
(beberapa prosedur dalam proses dijalankan secara bersama), maka
MySQL dapatlah bersaing dengan beberapa produk server basis data
commercial seperti MS Server 7, Oracle, dan lainnya.
23
24
25
=
mysql_connect(server_database,
password_login);
user_login,
26
2.5 GAMMU
Gammu mensupport ponsel yang dapat bekerja pada mode AT
command . Gammu mensupport banyak model ponsel NOKIA , SE ,
Motorolla dsb , daftar model ponsel dan modem GSM yang disupport
oleh Gammu dapat ditemukan di website Gammu.
Gammu menggunakan command-line bukan interface GUI ,
sehingga agak menyulitkan bagi pemula atau non software developer,
namun tidak kalah powerful dengan versi GUI-nya yang berganti nama
dengan Wammu (dikembangkan dengan wxPhython).
Gammu memberikan kemudahan bagi software developer
untuk sms yang ingin menulis program untuk mengirim dan menerima
sms messages via ponsel maupun modem GSM . Dengan menggunakan
fungsi-fungsi dari Gammu , kita tidak perlu belajar command-command
AT untuk mengontrol kerja ponsel atau modem GSM . Amatlah mudah
menuliskan skrip atau program untuk 'menyetir' command-line Gammu
yang berjalan di background.
Untuk menjalankan Gammu pengguna hanya memerlukan :
1.Instalasi database sms (yang sudah disediakan oleh gammu
dalam bentuk sintaks sql) ke dalam database MySql. Buka halaman
admin MySql dan import sintaks sql yang sudah disediakan.
2.Menginstal driver untuk ponsel. Setelah driver ponsel
terinstal maka otomatis ponsel akan dikenali oleh computer dan port nya
dinomori oleh computer. Port inilah yang akan menjadi jalan masuk dan
keluarnya data. Dan jangan lupa mencatat port yang digunakan oleh
ponsel untuk pengaturan konfigurasi Gammu.
3.Mengatur konfigurasi port yang digunakan oleh Gammu. Ini
merupakan langkah yang penting , karena apabila penulisan konfigurasi
di dalam Gammu tidak cocok dengan port yang digunakan oleh ponsel
maka Gammu tidak akan berjalan.
4.Setelah semua selesai maka bisa dicoba kemampuannya
dengan mengirim atau menerima sms. Caranya dengan mengetikkan
gammu smsd MYSQL smsdrc pada command prompt. Kemudian
pada halaman MySql cari table outbox, isikan pesan yang akan dikirim
27
28
2.6 XAMPP
XAMPP merupakan paket web server cross-platform yang
gratis dan open source, terdiri atas Apache server , Mysql database , dan
interpreter untuk skrip yang ditulis dalam PHP atau Perl.
Akronim dari XAMPP = X(merupakan cross-platform) , A(untuk
Apache) , M(untuk Mysql) , P(untuk PHP) , P(untuk Perl)
Program ini dirilis dibawah GNU general public licence dan bekerja
sebagai web server gratis yang mudah digunakan yang mampu
menhandle halaman dinamis. XAMPP tersedia untuk Microsoft
Windows , Linux , Sun Solaris dan Mac OS X, dan terutama digunakan
untuk proyek pengembangan web.
XAMPP hanya membutuhkan sebuah file zip, tar ataupun exe
untuk berjalan (artinya file-file nya dipaketkan dalam format file
tersebut) , hanya membutuhkan sedikit konfigurasi atas macam-macam
komponennya agar dapat berjalan. menginstal XAMPP tidak
membutuhkan waktu yang terlalu lama dari pada menginstall masingmasing komponen secara terpisah.
Secara resmi , para desainer XAMPP menciptakan ini hanya
sebagai alat development saja , untuk memudahkan para pembuat
website dan programmer untuk mengetes hasil kerja mereka di komputer
mereka sendiri tanpa harus akses ke internet. untuk membuat ini
semudah mungkin , banyak fitur sekuriti yang didisable secara
default,namun dalam praktiknya XAMPP digunakan oleh banyak server
untuk menampung web pages di internet. tool spesial yang di berikan
untuk password proteksi merupakan bagian paket yang paling penting.
XAMPP juga memberikan support untuk menciptakan dan
memanipulasi database dalam Mysql dan SqlLite
Disini sengaja penulis memakai paket XAMPP karena dalam
proses instralasinya maupun penggunaannya amatlah mudah (bahkan
pemulapun dapat memakainya). Berbeda dengan program sejenis seperti
apache tomcat dsb yang mengharuskan pengguna untuk menginstal
paket secara terpisah. Dan terkadang memerlukan pengetahuan yang
lebih tentang bagaimana mengaktifkannya. Terkadang juga antara satu
komponen dengan komponen lain terjadi crash (misalkan apache dan
mysql yang tidak kompatibel satu dengan yang lain).
29
Gambar 2.9 Servis apache dan Mysql sedang berjalan dalam GUI
XAMPP
30
31
33
34
BAB 3
PERENCANAAN DAN PEMBUATAN
SISTEM
3.1 GAMBARAN UMUM
35
37
38
39
40
41
42
T ID A K
R E G IS T E R D U L U
P E M B E L I IN G IN
M EM BELI
BARANG
M E L IH A T -L IH A T
KATALO G DI
W EB
APAKAH C ALO N
PEM BELI SU D AH
TERDAFTAR
M E N G IR IM K A N
PESAN
P E R M IN T A A N V IA
SMS
YA
T ID A K
FORM AT SM S
BENAR
YA
T ID A K
BARANG YANG
D IM IN T A T E R S E D IA
YA
F IN IS H
TRANSAKSI
D IC A T A T
BARANG
D IK IR IM K A N
44
46
BAB 4
UJI COBA DAN ANALISIS SISTEM
Pengujian merupakan langkah penting yang harus dilakukan
untuk mengetahui apakah sistem yang telah dibuat sesuai dengan apa
yang direncanakan dimana hal tersebut dapat diamati dari hasil-hasil
yang dipperoleh selama pengujian sistem.
Selain itu, pengujian bertujuan untuk mengetahui kelebihan dan
kekurangan dari sistem yang telah dibuat. Hasil pengujian tersebut
nantinya akan dianalisa untuk mengetahui penyebab terjadinya
kekurangan sistem :
4.1 UJI COBA
Pengujian dilakukan pertama-tama dengan melakukan
pengiriman sms kepada ponsel server , apabila sms yang dikirim dapat
diterima dan disimpan di database maka untuk langkah awal sistem ini
berjalan.
47
Gambar 4.3 Tabel Pesan dari nomor baru yang tak dikenal (nomor
yang diwarnai merah adalah nomor tak dikenal)
48
49
50
Gambar 4.7 Tabel berisi katalog barang dan kode smsnya (kondisi
awal)
51
52
Gambar 4.12 Tabel berisi katalog barang dan kode smsnya (kondisi
akhir)
Dan fitur yang tidak ketinggalan dari sistem ini , yaitu
notifikasi kepada manager apabila barang yang di dalam toko mulai
habis disini ditetapkan apabila barang kurang dari 10 maka barang
tersebut dianggap habis oleh sistem dan akan memberitahu manager
mengenai ini melalui sms
53
54
4.2 ANALISA.
55
Gambar 4.17 Pesan yang masih original(kiri) dan yang sudah diolah
(kanan)
Figur di sisi kiri menunjukkan tabel inbox dengan pesan sms
yang masih berupa pesan original yang belum diolah,sedangkan figur di
sebelah kanan menunjukkan pesan yang sudah diolah,dipisah-pisahkan .
Ini dilakukan oleh kode-kode dibawah ini :
56
<?php
include "sql_smsd.php";
$Result = mysql_query("SELECT * FROM inbox
where `read`=0 limit 1");
while($RRow = mysql_fetch_array($Result)){
$hasil = mysql_query("SELECT * FROM
minimart.customer");
while($baris= mysql_fetch_array($hasil)){
if($RRow[SenderNumber]==$baris[NOMORHPCUS
TOMER])
{$cocok=1;break 1;}
else
$cocok=0;
}
mysql_query("INSERT INTO minimart.inbox
SET TextDecoded = '$RRow[TextDecoded]' ,
SenderNumber = '$RRow[SenderNumber]'") or exit
("exit");
mysql_query("UPDATE `inbox` SET `read` =
1 WHERE id=$RRow[ID]") or die ("die");
echo "<br>$RRow[SenderNumber] ->
$cocok<br>";
if($cocok==0) //cocok=0 artinya nomor
hape itu gak ada dalam database
{
mysql_query("INSERT INTO
outbox(TextDecoded,DestinationNumber) VALUES
('Maaf!! Nomor anda tidak dikenali,mohon daftar
dulu di toko-toko kami
terdekat','$RRow[SenderNumber]')");
mysql_query("UPDATE `inbox` SET
`read` = 1 WHERE id=$RRow[ID]");
echo ("ada nomor tak dikenal tuh
;)");
57
}
$cocok=0;
}
//mengkopi data dari smsd.inbox ke
minimart.inbox
include "sql2.php";
$result = mysql_query("SELECT * FROM inbox
where `read`= 0");
if(!$result)
die("permintaan gagal dilaksanakan");
while($row = mysql_fetch_array($result) )
//menyimpan hasil dalam bentuk array , index
array menyatakan kolom
{
$variabel =
explode(",",$row[TextDecoded]); //memisahkan
kalimat kolom tertentu (pesan barang dengan
koma)
for($i=0;$i<count($variabel);$i++)
{
$isi=explode(" ",$variabel[$i]);
mysql_query("INSERT INTO
temporary(kodesms,jumlahitem,nomorhpcustomer,wa
ktuorder,id) VALUES
('$isi[0]','$isi[1]','$row[SenderNumber]','$row
[UpdatedInDB]',$row[ID])"); //baris[3]=nomor
hape
}
mysql_query("UPDATE `inbox` SET `read` =
1") or die ("die");
}
?>
58
60
61
62
63
$i++;
}
//mengirim pesan Error entah karena stok
tidak valid atau kredit tidak cukup
$result = mysql_query("
SELECT *
FROM `temporary`
LEFT JOIN customer
USING ( nomorhpcustomer )
LEFT JOIN keterangankode
USING ( kodesms )
LEFT JOIN barang
USING ( idbrg )
WHERE namacustomer IS NOT NULL and `done`
=2 and idbrg is not null
GROUP BY id limit 1");
//mengelompokkan berdasarkan ID ;P
//query ini mencontoh yang ada di
nota_utama.php :))
if(!empty($result))
{
while($row=mysql_fetch_array($result
)){
//query dua setengah :D :D
$result2=mysql_query("SELECT *
, hargabrg * jumlahitem AS total FROM
`temporary` LEFT JOIN customer USING (
nomorhpcustomer ) LEFT JOIN keterangankode
USING ( kodesms ) LEFT JOIN barang USING
( idbrg ) WHERE namacustomer IS NOT NULL
AND done=2 AND id =$row[id]");
$sms .= 'Unable to
process,check stock or credit: ';
while($row2 =
mysql_fetch_array($result2))
{
64
$nama_brg =
explode(" ",$row2['NAMABRG']);
$sms .=
$nama_brg[0]. $nama_brg[1] .',';
mysql_query("UPDATE temporary SET
`done`=3 WHERE id_temp=$row2[id_temp] ");
}
//mysql_query("UPDATE temporary SET
done=2 WHERE id_temp=$row[id_temp]") or
die("impossible :D");
mysql_query("INSERT INTO
smsd.outbox(DestinationNumber,TextDecoded)
Values
('$row[nomorhpcustomer]','$sms')")or die
("wah D:");
unset($sms,$nama_brg);
}
}
?>
65
66
BAB 5
PENUTUP
5.1 KESIMPULAN
5.2 SARAN
1.
2.
3.
4.
Tidak semua merek ponsel dan juga tipe ponsel disupport oleh
Gammu , agar tidak terjadi kesalahan dalam membuat sistem ,
sebaiknya dicek dulu apakah ponsel yang digunakan disupport
oleh Gammu atau tidak, untuk list merek dan tipe ponsel yang
disupport
dapat
dilihat
di
www.gammu.org/wiki/index.php
68
DARTAR PUSTAKA
1. http://www.gammu.org/wiki/index.php?title=Main_Page ->
segala informasi yang berkaitan dengan gammu dan
implementasinya pada segala operating system
2. http://cihar.com/gammu/ -> situs download komponen
Gammu
3. http://freshmeat.net/projects/gammu/ -> perkembangan
proyek gammu oleh developer
4. DC. Green, Komunikasi Data, Cetakan Keempat, ANDI,
Yogyakarta, 2002.
5. Khang, Bustam, Ir, Trik Pemrograman Aplikasi Berbasis
SMS, Elex Media Komputindo, Jakarta, 2003.
69