bab iv hasil kerja praktek dan analisis
TRANSCRIPT
BAB IV
HASIL KERJA PRAKTEK DAN ANALISIS
1.1 Mendefinisikan Suatu Masalah
Perumusan yang ada di PT. Nasmoco Salatiga adalah Sebagai Berikut :
1. Dalam melakukan analisis kepada manajer PT. Nasmoco Salatiga, Dalam
upaya meningkatkan mutualisme hubungan baik dealer dengan pelanggan
belum berjalan dengan baik.
2. Banyak pelanggan yang pindah ke lain dealer.
3. Pihak dealer kesulitan dalam melakukan penyampaian berbagai informasi
kepada konsumen terkait dengan produk Toyota. Team marketing harus
datang kerumah warga untuk melakukan penawaran.
1.2 Solusi
Solusi masalah yang dihadapi PT. Nasmoco Salatiga adalah sebagai berikut:
1. Penerapan SMS Gateway.
2. Mengintegrasi dengan catatan servis dan pelanggan.
3. Mengirimkan SMS pengingat yang dikirimkan secara otomatis sesuai jadwal
yang ditentukan.
1.3 Kerangka Pemikiran
Identifikasi Masalah
- Analisis
- Wawancara
Temuan Masalah
Pihak dealer kesulitan dalam melakukan
informasi kepada pelanggan pada saat waktu
jatuh tempo servis. Pelanggan harus langsung
datang ke dealer tanpa ada reminder dari
dealer.
Meningkatkan mutualisme hubungan baik
dealer dengan pelanggan belum berjalan
dengan baik dan banyak pelanggan yang
pindah lain dealer
Analisis Permasalahan
Perancangan Aplikasi SMS Gateway
Client Aplikasi SMS Gateway
melakukan Auto Reminder
Informasi dikirim
secara Broadcast
Client 1
Client 2
Client 3
Client 4
1.4 Perancangan Sistem
Perancangan sistem adalah proses pengembangan spesifikasi sistem baru
berdasarkan hasil rekomendasi analisis sistem. Tujuan tahap perancangan sistem:
1. Memenuhi kebutuhan pemakai.
2. Memberikan gambaran yang jelas dan rancang bangun yang lengkap untuk
pemrograman.
Hasil Aplikasi SMS Gateway untuk pelayanan
Pelanggan PT. Nasmoco Salatiga
Pembuatan Aplikasi SMS Gateway untuk pelayanan
konsumen PT. Nasmoco Salatiga.
Uji Coba
Implementasi
User
Revisi/Perbaik
an
Ya
Tidak
1.5 Prosedur Sistem
Berdasarkan kerangka pemikiran dan tujuan perancangan sistem, maka
dirancang prosedur sistem sebagai berikut :
1. Pelanggan datang untuk melakukan servis.
2. SA (Service Advisor) mencatat data pelanggan, data kendaraan,
data servis, dan data tanggal harus kembali servis.
3. Mobil diservis dan selesai.
4. Pada saat tanggal harus kembali servis sudah ditentukan, maka
pada tanggal tersebut sistem akan otomatis mengirim reminder
kepada pelanggan untuk servis kembali.
Gambar 4.1 Prosedur sistem
Pelanggan
datang
SA mencatat
Data pelanggan SMS
Reminder
Pelanggan
Servis
1.5.1 Data Flow Diagram (DFD) level 0
Berikut adalah DFD level 0 sistem Reminder Servis pada PT. Nasmoco :
Gambar 4.2 Data Flow Diagram (DFD) level 0
Admin menginput data pelanggan dan data servis, setelah itu admin mengirim
broadcast message kepada pelanggan.
Berdasarkan dari data customer dan servis, sms dapat dikirim kepada pelanggan
dengan memanfaatkan aplikasi gammu beserta databasenya.
1.5.2 Data Flow Diagram (DFD) level 1
Berikut adalah DFD level 1 sistem sistem Reminder Servis pada PT. Nasmoco :
Proses 1 : Penginputan Data Pelanggan
Gambar 4.3 Data Flow Diagram (DFD) level 1 (1)
Admin menginput data dari pelanggan ke dalam sistem.
Proses 2 : Penginputan Data Servis
Gambar 4.4 Data Flow Diagram (DFD) level 1 (2)
Admin menginput data servis kedalam sistem.
Proses 3 : Tampilan Aplikasi SMS
Gambar 4.5 Data Flow Diagram (DFD) level 1 (3)
Admin mengambil data dari pelanggan untuk mengirimkan sms secara
individual menggunakan sms gateway pada aplikasi gammu.
Proses 4 : Tampilan SMS Reminder
Gambar 4.6 Data Flow Diagram (DFD) level 1 (4)
Admin membuat pengaturan SMS Reminder yang akan dikirim kepada
pelanggan melalui SMS Gateway.
1.5.3 Use Case Diagram
Gambar 4.7 Use Case Diagram
Admin Login, kemudian menginput data servis dan mencetak data
servis yang setelah diinput Admin mengirim SMS kepada pelanggan.
1.5.4 Basis Data
Dalam perancangan sistem servis pada PT. Nasmoco Salatiga, dibutuhkan basis
data dalam MySQL untuk menyimpan semua data yang ada dalam sistem ini. Basis
data ini diberi nama servis.
Tabel adalah bagian dari basis data yang berfungsi untuk menyimpan data
tertentu. Pada sistem ini terdapat beberapa tabel, yaitu :
1. TABEL TB_CUSTOMER: Untuk menyimpan data dari Customer
Tabel 4.1 Perancangan Tabel tbl_customer
2. TABEL TBL_NOTASERVIS : untuk menyimpan data nota servis dari
customer.
Tabel 4.2 Perancangan Tabel tbl_notaservis
Name
Type
Size
Null
Default
Key
Id_customer Varchar 35 No Primary
Nama_customer Varchar 100 No
Alamat Varchar 100 No
No_hp Varchar 13 No
Jenkel varchar 2 no
Name
Type
Size
Null
Default
Key
Id_servis Int 11 No Primary
Id_customer Varchar 35 No
Jenis_mobil Varchar 35 No
No_polisi Varchar 10 No
Tgl_servis Date No
Tgl_kembali_servis Date No
Jenis_servis Varchar 35 No
Km_kendaraan Varchar 35 No
3. TABEL TB_SERVIS : untuk menyimpan data dari servis Customer
Tabel 4.3 Perancangan Tabel tbl_servis
Name Type Size Null Default Key
Id_servis Int 11 No Primary
Id_customer Varchar 35 No
Jenis_mobil Varchar 35 No
No_polisi Varchar 10 No
Tgl_servis Date No
Tgl_kembali_servis Date No
Selain servis, sistem juga butuh database operational pendukung aplikasi
Gammu. Adapun struktur database secara lengkap dicantumkan pada
https:/www.gammu.org/ namun dalam kasus ini hanya satu tabel yang digunakan untuk
mengirim SMS yaitu tabel outbox. Struktur tabel tersebut adalah sebagai berikut :
4. TABEL OUTBOX : untuk menyimpan pesan yang dikirim
Tabel 4.4 Perancangan tabel Outbox
Name Type Size Null Default Key
UpdateInD
B
Timestamp No CURRENT_TI
MESTAMP
InsertintoD
B
Timestamp No 0000-00-00
00:00:00
SendingDat
eTime
Timestamp No 0000-00-00
00:00:00
SendBefore Time No 23:59:59
SendAfter Time No 00:00:00
Text Text Yes NULL
Destination
Number
Varchar No
Coding enum('Defa
ult_No_Co
mpression',
'Unicode_N
o_Compres.
..
20 No Default_No_CO
mpression
UDH text Yes NULL
Class Int 11 Yes -1
TextDecode
d
text No None
ID Int 10 No None Primary
MultiPart enum('false',
'true')
Yes False
RelativeVali
dity
Int 11 Yes -1
SenderID Varchar 255 Yes NULL
SendingTIm
eOut
Timestamp Yes 0000-00-00
00:00:00
DeliveryRe
port
enum('defau
lt', 'yes',
'no')
Yes Default
CreatorID Text No None
Retries Int 3 Yes 0
Priority int 11 Yes 0
1.5.5 Relasi Basis Data
Penggunaan relasi dalam sistem servis PT. Nasmoco Salatiga adalah sebagai
berikut :
Gambar 4.8 Desain Relasi Basis Data
1.5.6 Desain Sistem
1.5.6.1 Halaman Login
Halaman login adalah halaman pertama sebelum masuk kedalam
sistem servis. Untuk login dibutuhkan username dan password.
Gambar 4.9 Desain Halaman Login
1.5.6.2 Halaman Utama
Halaman utama adalah halaman pertama dari sistem setelah admin
login pada halaman login.
Gambar 4.10 Desain Halaman Utama
1.5.6.3 Halaman Data Member
Halaman Data Member adalah tampilan halaman semua member yang
setelah diinput datanya dan akan tertampil di halaman data member.
Gambar 4.11 Desain Halaman Data Member
1.5.6.4 Halaman Input Data Member
Halaman ini menampilkan inputan untuk mengisi data dari customer.
Gambar 4.12 Desain Halaman Input Data Member
1.5.6.5 Halaman Data Servis
Halaman data servis adalah halaman yang menampilkan data dari
customer dan kendaraan yang akan diservis.
Gambar 4.13 Desain Halaman Data Servis
1.5.6.6 Halaman Input Data Servis
Halaman ini menampilkan inputan untuk mengisi data Servis dari
customer.
Gambar 4.14 Desain Halaman Input Data Servis
1.5.6.7 Halaman Kirim Pesan
Halaman SMS adalah halaman yang menampilkan desain yang digunakan
admin untuk mengirim Pesan kepada Customer.
Gambar 4.15 Desain Halaman Kirim Pesan
1.5.6.8 Halaman Send Item
Halaman Senditem adalah halaman yang menampilkan pesan yang setelah
dikirim, data ini otomatis masuk setelah SMS terkirim.
Gambar 4.16 Desain Halaman Send Item
1.5.6.9 Halaman Pesan Masuk/Inbox
Halaman Inbox adalah halaman yang menampilkan Pesan Masuk.
Gambar 4.17 Desain Halaman Pesan Masuk/Inbox
1.5.7 Implementasi
Seluruh rangkaian perancangan sistem telah disusun maka tahap
selanjutnya adalah tahap implementasi. Tahap ini bertujuan untuk melakukan
proses penerapan sistem yang baru.
1.5.7.1 Basis Data
1. TABEL LOGIN
Tabel 4.6 tbl_login
2. TABEL TBL_CUSTOMER
Tabel 4.7 tbl_customer
3. TABEL TBL_NOTASERVIS
Tabel 4.8 tbl_notaservis
4. TABEL TBL_SERVIS
Tabel 4.9 tbl_servis
5. TABEL OUTBOX
Tabel 4.10 outbox
4.5.7.2 Halaman Login
Halaman login adalah halaman pertama sebelum masuk kedalam
sistem servis. Untuk login dibutuhkan username dan password sesuai
username dan password yang ada pada tbl_login.
Gambar 4.18 Halaman Login
Cuplikan Kode : Login.php
include("koneksi.php");
session_start();
$admin =$_POST['username'];
$pass =$_POST['password'];
$cek=mysql_num_rows(mysql_query("select * from tbl_login where
username='$admin' and password='$pass'"));
4.5.7.3 Halaman Utama
Halaman utama adalah halaman pertama dari sistem setelah admin login
pada halaman login.
Gambar 4.19 Halaman Utama
Cuplikan Kode : Halaman.php
<div id="page-wrapper">
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">Selamat Datang di Sistem Reminder Servis
Berkala</h1>
</div>
<!-- /.col-lg-12 -->
</div>
<!-- /.row -->
<div class="row">
<div class="col-lg-3 col-md-6"></div>
</div>
<!-- /.row -->
<div class="row"><!-- /.col-lg-8 -->
<div class="col-lg-4">
<div class="panel panel-default">
<div class="panel-heading">
<i class="fa fa-bell fa-fw"></i> Jangkauan Sistem kami :</div>
<div class="panel-body">
<div class="list-group">
<a href="#" class="list-group-item">
<i class="fa fa-comment fa-fw"></i> Inputan Data Servis
</a><a href="#" class="list-group-
<i class="fa fa-tasks fa-fw"></i> Mengingatksan anda waktu servis
</a></div>
4.5.7.4 Halaman Data Member
Halaman Data Member adalah tampilan halaman semua member yang
setelah diinput datanya dan akan tertampil di halaman data member.
Gambar 4.20 Halaman Data Member
Cuplikan Kode : Member.php
<div id="page-wrapper">
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">Data Member</h1>
</div>
<!-- /.col-lg-12 -->
<div>
<!-- /.row -->
<div class="row">
<div class="col-lg-12">
<div class="panel panel-default">
<div class="panel-heading">
<p><a class="icon-plus" href="input_member.php"><font size="+1">
Tambah Data </font></a>
</div>
<!-- /.panel-heading -->
<div class="panel-body">
<div >
</div>
<table width="100%" class="table table-striped">
<tr>
<td >No</td>
<td >Id Customer</td>
<td >Nama Lengkap</td>
<td >Alamat</td>
<td >No Hp</td>
<td >Jenis Kelamin</td>
<td align="center" >Aksi</td>
</tr>
4.5.7.5 Halaman Input Data Member
Jika admin akan mengisi data dari customer maka masuk dihalaman
Input Data Member. Halaman ini menampilkan inputan untuk mengisi
data dari customer.
Gambar 4.21 Halaman Input Data Member
Cuplikan Kode : Input_member.php
div id="page-wrapper">
<div class="row">
<div class="col-lg-12">
<h1 class="page-header"> Input Data Member</h1>
</div>
<!-- /.col-lg-12 -->
</div>
<div class="row">
<div class="col-lg-12">
<div class="panel panel-default">
<div class="panel-heading">
<p></div>
<!-- /.panel-heading -->
<div class="panel-body">
<div >
</div>
4.5.7.6 Halaman Data Servis
Halaman data servis adalah halaman yang menampilkan data dari
customer dan kendaraan yang akan diservis.
Gambar 4.22 Halaman Data Servis
Cuplikan kode : Servis.php
<table width="100%" class="table table-striped"> <tr>
<td width="4%" >No</td>
<td width="13%" >Id Customer</td>
<td width="17%" >Nama Lengkap</td>
<td width="13%" >Jenis Mobil</td>
<td width="13%" >No Polisi</td>
<td width="14%" >Tgl servis</td>
<td width="15%" >Tgl kembali servis</td>
<td width="11%" align="center" >Aksi</td>
</tr>
<script language="Javascript">
function konfirmasi(id_1)
{
tanya = confirm ('Anda Yakin Ingin Menghapus data dengan Id :'+ id_1 +
'?');
if (tanya == true) return true;
else return false;
}
</script>
4.5.7.7 Halaman Input Data Servis
Jika admin akan mengisi data dari customer untuk servis kendaraan
maka masuk dihalaman Input Data Servis. Halaman ini menampilkan inputan
untuk mengisi data Servis dari customer.
Gambar 4.23 Halaman Input Data Servis
Cuplikan Kode : Input_servis.php
<table width="606" border="0">
<tr>
<td width="218" height="26"><label>ID Customer</label></td>
<td width="22" align="center"><label> : </label></td>
<td width="223"><select name="a" id="a">
<?php
echo"<option value=0 selected>-- choose --</option>";
$tampil=mysql_query("SELECT * FROM tbl_customer ORDER BY
nama_customer");
while($r=mysql_fetch_array($tampil)){
echo "<option value=$r[id_customer]>$r[nama_customer]</option>";
}
?>
</select></td>
<td width="67"> </td>
<td width="54"> </td>
</tr>
<tr>
<td width="218" height="27"><label>Jenis Mobil</label></td>
<td width="22" align="center"><label> : </label></td>
<td colspan="3">
<input type="text" name="b" id="b" size="34" required/>
</td>
</tr>
<tr>
<td><label>No Polisi</label></td>
<td width="22" align="center"><strong>: </strong></td>
<td colspan="3"><input type="text" name="c" id="c" size="34"
required/></td>
</tr>
<tr>
<td><label>KM Mobil</label></td>
<td width="22" align="center"><strong>: </strong></td>
<td colspan="3"><input name="d" type="text" required id="d"
size="34" maxlength="12"/>
/KM</td>
</tr>
<tr>
<td height="63" valign="top"><label>Jenis Servis</label></td>
<td width="22" align="center" valign="top"><strong>:
</strong></td>
<td colspan="3"><p>
<label for="e"></label>
<select name="e" id="e">
<option>Servis Berkala</option>
<option>Lain-Lain</option>
</select>
</p>
<p>
4.4.7.8 Halaman Kirim Pesan
Halaman SMS adalah halaman yang menampilkan desain yang
digunakan admin untuk mengirim Pesan kepada Customer.
Gambar 4.24 Halaman Kirim Pesan
Cuplikan Kode : Form_sms.php
<div id="page-wrapper">
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">Kirim Pesan</h1>
</div>
<!-- /.col-lg-12 -->
</div>
<!-- /.row -->
<div class="row">
<div class="col-lg-12">
<div class="panel panel-default">
<div class="panel-heading">
<p></div>
<!-- /.panel-heading -->
<div class="panel-body">
<div >
</div>
<form method="post" action="send.php">
<div >
<p>
</div>
<br>
<table width="200" border="0" class="table">
<tr>
<td width="14%">No telp</td>
<td width="3%">:</td>
<td width="83%"><select name="no_hp" id="no_hp">
<?php
echo"<option value=0 selected>-- choose --</option>";
$tampil=mysql_query("SELECT * FROM tbl_customer ORDER BY
id_customer");
while($r=mysql_fetch_array($tampil)){
echo "<option value=$r[no_hp]>$r[no_hp]</option>";
}
?>
</select></td>
</tr>
<tr>
<td>Pesan</td>
<td>:</td>
<td><textarea name="msg"></textarea></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
</table>
<br>
<input type="submit" name="submit" value="Kirim SMS">
</form>
4.4.7.9 Halaman Send Item
Halaman Senditem adalah halaman yang menampilkan pesan
yang setelah dikirim, data ini otomatis masuk setelah SMS terkirim.
Gambar 4.25 Halaman Send Item
Cuplikan Kode : Senitems.php
<?php
include ("config.php");
$query = "SELECT ID,SendingDateTime,DestinationNumber,TextDecoded
FROM sentitems";
$result = mysql_query($query);
$no = 1; // nomor baris?>
<table border=0 class="table table-striped">
<tr>
<th>No.</th>
<th>Tgl. Terkirim</th>
<th>Tujuan</th>
<th>Isi</th>
<th>Action</th>
</tr>
<?php while ($data = mysql_fetch_assoc($result)) { ?>
<tr>
<td><?php echo $no ?></td>
<td><?php echo $data['SendingDateTime'] ?></td>
<td><?php echo $data['DestinationNumber'] ?></td>
<td><?php echo $data['TextDecoded'] ?></td>
<td>
<a href="proses.php?action=delsentitems&id=<?php echo $data['ID']
?>">Hapus</a>
</td>
</tr>
<?php $no++; ?>
<?php } ?>
</table>
</form>
4.4.7.10 Halaman Pesan Masuk/Inbox
Halaman Inbox adalah halaman yang menampilkan Pesan
Masuk.
Gambar 4.26 Halaman Inbox
Cuplikan Kode : Inbox.php
include ("config.php");
$query = "SELECT ID,ReceivingDateTime,SenderNumber,TextDecoded
FROM inbox";
$result = mysql_query($query);
$no = 1; // nomor baris
?>
<table border=0 class="table table-striped">
<tr>
<th>No.</th>
<th>Tgl. Masuk</th>
<th>Pengirim</th>
<th>Isi</th>
<th>Action</th>
</tr>
<?php while ($data = mysql_fetch_assoc($result)) { ?>
<tr>
<td><?php echo $no ?></td>
<td><?php echo $data['ReceivingDateTime'] ?></td>
<td><?php echo $data['SenderNumber'] ?></td>
<td><?php echo $data['TextDecoded'] ?></td>
<td>
<a href="proses.php?action=delinbox&id=<?php echo
$data['ID'] ?>">Hapus</a>
</td>
</tr>
<?php $no++; ?>
<?php } ?>
</table>
4.4.7.11 Implementasi SMS Reminder
SMS Reminder adalah fitur pesan singkat yang bisa membantu
customer mengingat jadwal servis kendaraan yang terkirim ke nomor ponsel
customer. Nomor ponsel customer telah dicatat pada saat servis. Implementasi
ini tidak melibatkan antarmuka.
Gambar 4.27 SMS Reminder
Implementasi sms reminder diwujudkan dalam pemanfaatan event
scheduler yang terdapat pada database MySQL. Penggunaan event scheduler
melibatkan penentuan waktu atau jadwal eksekusi script SQL yang diinginkan.
Pada implementasi tersebut akan mengeksekusi perintah query yang
menambahkan baris data pada tabel outbox pada database aplikasi gammu,
sehingga pesan pada perintah query tersebut akan secara otomatis terkirim.