Puji syukur kami panjatkan kehadirat Allah SWT, karena hanya atas limpahan rahmat,
petunjuk serta hidayah-Nya, sehingga penulis dapat menyelesaikan laporan tugas akhir mata
kuliah C++”Aplikasi SPBU DIGITAL LIVE” tepat pada waktunya.
Laporan ini penulis susun untuk melengkapi tugas akhir mata kuliah C++. Ucapan terima
kasih juga penulis sampaikan kepada :
1. Abah dan Umi kami yang senantiasa memberikan do’a, semangat dan kiriman setiap
bulan.
2. Bpk Yoyok Heru P. sebagai Dosen mata kuliah bahasa pemrograman C++ yang kami
banggakan.
3. Teman-teman 1A Tunk-Tunk Pruet seperjuangan yang telah memberi masukan dan
kritikan buat penulis.
4. Rekan-rekan yang telah membantu menyelesaikan laporan akhir ini yang penulis tidak
bisa sebutkan satu per satu.
Sebagai insan biasa saya menyadari bahwa laporan ini jauh dari kesempurnaan. Oleh
karena itu dengan segala kerendahan hati, saya sangat mengharapkan kritik dan saran yang
membangun dari pembaca, demi meningkatkan mutu dan kesempurnaan laporan yang
selanjutnya. Untuk itu penulis memohon maaf atas segala kekeliruan dan kesalahan dalam
pembuatan laporan ini. Semoga laporan ini dapat bermanfaat bagi penulis dan khususnya bagi
pembaca.
Juli 2008
Penulis
DAFTAR ISI
1
Kata Pengantar…………………………………………………………………………………………………………1
Daftar Isi…………………………………………………………………………………………………………………..2
BAB I Pendahuluan………………………………………………………………………………………………..3
1.2 Tujuan……………………………………………………………………………………………………..3
BAB IV Penutup……………………………………………………………………………………………………..30
BAB I
2
PENDAHULUAN
Fasilitas SPBU supaya lebih baik dan lebih mudah, kami membuat aplikasi digital yang
lebih modern yang dapat memudahkan pembeli BBM dan dapat memajukan SPBU tersebut.
Dengan adanya aplikasi digital tersebut dapat meningkatan kualitas pada tiap SPBU dan
menurunkan tingkat kecurangan dalam mengisian BBM.
1.2 TUJUAN
Aplikasi digital ini memiliki keunggulan yang lebih baik, diantaranya adalah:
1. Mudah
Pembeli dapat lebih mudah dalam pengisian dan pembayaran BBM.
2. Kesalahan
Dalam aplikasi digital ini dapat meminimalkan kasalahan dalam pengisian maupun
pembayaran.
3. Memajukan
Dalam hal ini dapat memajukan dan meningkatkan kualitas pada setiap SPBU.
4. Efisien
Pembeli dapat mengantri dengan tertip dan teratur.
5. Agar program ini dapat menambah pengalaman penulis dalam mempraktekkan ilmu yang
didapat dan dapat diterapkan kepada masyarakat.
3
Berdasarkan tujuan yang telah dikemukakan pada bab sebelumnya, maka saya
mengambil batasan-batasan masalah dalam program SPBU, adalah sebagai berikut :
Berdasarkan batasan masalah yang telah dikemukakan pada bab sebelumnya, maka
rumusan masalah dari program SPBU ”DOLBY DIGITAL LIVE ”ini.
IV.1 Bagaimana cara membuat software aplikasi untuk melakukan entry data dan
koneksi ke intervace.
IV.2 Bagaimana membuat software aplikasi untuk menangani proses SPBU yang serba
modern.
IV.3 Bagaimana cara membuat software aplikasi untuk mengetahui informasi penjualan
karcis parkir mobil dan motor ini berdasarkan tanggal saat proses administrasi.
Sistematika penulisan yang digunakan dalam laporan tugas akhir ini adalah
sebagai berikut:
BAB I PENDAHULUAN
Bab ini membahas tentang latar belakang masalah, tujuan, rumusan
masalah, ruang lingkup pembahasan, dan sistematika penulisan.
4
BAB II DASAR TEORI
Bab ini membahas tentang teori-teori dasar program TC dan BORLAN C++
BAB IV PENUTUP
BAB II
DASAR TEORI
5
akan merasakan begitu mudahnya menyusun program aplikasi, karena Borland C++
memiliki keunggulan bahasa pemrograman-nya yang terletak pada produktivitas,
kualitas, pengembangan perangkat lunak, kecepatan kompilasi serta diperkuat dengan
program yang terstruktur.
Sedangkan Notepad sendiri adalah aplikasi yang dibawa oleh Windows. Notepad
biasanya digunakan sebagai sarana lain untuk peng-aplikasian pembuatan halaman web,
ataupun juga bisa digunakan untuk mencatat beberapa catatan-catatan kecil.
Dalam hal ini software TC seperti halnya dengan borlan dan turbo C++. Tetapi
yang membedakanya adalah system operasinya (OS). Untuk TC menggunakan system
operasi Windows 98.
Catatan:
Komponen ini digunakan untuk
menggambarkan jenis dokumen yang
merupakan formulir yang digunakan untuk
mencatat data yang direkam sebelumnya
di dalam dokumen atau formulir.
Penghubung pada halaman yang berbeda:
Komponen ini digunakan untuk
menunjukkan kemana bagan alir terkait
antara halaman satu dengan yang lainnya.
6
Penghubung pada halaman yang sama:
Komponen ini digunakan untuk
menunjukkan kemana bagan alir terkait
kehalaman yang sama.
Proses:
Menunjukkan kegiatan proses dari operasi
program.
Putusan:
Digunakan untuk suatu proses
percabangan di dalam program
Titik terminal:
Digunakan untuk menunjukkan awal dan
akhir suatu proses.
Alir :
Menunjukkan arus dari proses yang
terdapat dalam item.
7
Document:
Simbol yang menunjukkan dokumen input
dan output untuk proses manual, mekanik
atau komputer
Simbol Pada Flowchart
BAB III
PENGUJIAN PROGRAM
8
3.2 Flowchart Dan Tampilan Program
Start
2
Nama
Operator;cin>> op
Ada 1. Premium A
Out Port
Pengunjun
(Tunggu……….)
g?
Cout<<”SPBU
Digital Live”
2. Solar B
Cout<<”Menu isi
ulang….”
Cout<<” 1. Premium”
Cout<<”2. Solar ” 3. Pertamax C
Cout<<”3. Pertamax”
Cout<<”4. Bio Premium”
Cout<<”5. Bio Solar”
Cout<<”Nama 4. Bio
D
Operator;cin>> op Premium
Cout<<”No
Kendaraan;cin>> op
5. Bio Solar D
Pilih Sesuai No
1,2,3,4,5 ?
9
A
Cout<<” ---Premium---“
Cout<<”SPBU DOLBY
DIGITAL LIVE“
Cout<<”Operator;cin>> op“
Cout<<”No
Kendaraan;cin>> pe“
Cout<<”1. Liter “;
Cout<<”2.Bayar”;
Pilih Pengisian
Y 1 Liter T 2. Bayar T X
1/2?
Y
T Cout<<”Silahkan input Cout<<”silahkan
jmlh Liter cin.Liter“ inputkan jumlah uang”
Maaf anda
salah pilih
Cout<<”Jumlah uang Cout<<”jumlah liter
yang harus yang keluar”
dibayar,cin>>bayar“
1 Liter=bayar/6500
Bayar = Liter * 6500
Cout<<”1. Lanjut“;
Cout<<”1. Lanjut“; Cout”2.Ganti Operator”;
Cout”2.Ganti Operator”;
Cout” Lanjut….”
Cout” Lanjut….” Pilih 1/2? Cout”Terima Kasih Atas
Pilih 1/2? 1 Cout”Terima Kasih Atas Partisipasinya”
Partisipasinya”
2 1 2 1
10
A
Cout<<” ---Solar---“
Cout<<”SPBU DOLBY
DIGITAL LIVE“
Cout<<”Operator;cin>> op“
Cout<<”No
Kendaraan;cin>> pe“
Cout<<”1. Liter “;
Cout<<”2.Bayar”;
Pilih Pengisian
Y 1 Liter T 2. Bayar T X
1/2?
Y
T Cout<<”Silahkan input Cout<<”silahkan
jmlh Liter cin.Liter“ inputkan jumlah uang”
Maaf anda
salah pilih
Cout<<”Jumlah uang Cout<<”jumlah liter
yang harus yang keluar”
dibayar,cin>>bayar“
1 Liter=bayar/6500
Bayar = Liter * 6500
Cout<<”1. Lanjut“;
Cout<<”1. Lanjut“; Cout”2.Ganti Operator”;
Cout”2.Ganti Operator”;
Cout” Lanjut….”
Cout” Lanjut….” Pilih 1/2? Cout”Terima Kasih Atas
Pilih 1/2? 1 Cout”Terima Kasih Atas Partisipasinya”
Partisipasinya”
2 1 2 1
11
A
Cout<<” ---Pertamax---“
Cout<<”SPBU DOLBY
DIGITAL LIVE“
Cout<<”Operator;cin>> op“
Cout<<”No
Kendaraan;cin>> pe“
Cout<<”1. Liter “;
Cout<<”2.Bayar”;
Pilih Pengisian
Y 1 Liter T 2. Bayar T X
1/2?
Y
T Cout<<”Silahkan input Cout<<”silahkan
jmlh Liter cin.Liter“ inputkan jumlah uang”
Maaf anda
salah pilih
Cout<<”Jumlah uang Cout<<”jumlah liter
yang harus yang keluar”
dibayar,cin>>bayar“
1 Liter=bayar/6500
Bayar = Liter * 6500
Cout<<”1. Lanjut“;
Cout<<”1. Lanjut“; Cout”2.Ganti Operator”;
Cout”2.Ganti Operator”;
Cout” Lanjut….”
Cout” Lanjut….” Pilih 1/2? Cout”Terima Kasih Atas
Pilih 1/2? 1 Cout”Terima Kasih Atas Partisipasinya”
Partisipasinya”
2 1 2 1
12
A
Cout<<”SPBU DOLBY
DIGITAL LIVE“
Cout<<”Operator;cin>> op“
Cout<<”No
Kendaraan;cin>> pe“
Cout<<”1. Liter “;
Cout<<”2.Bayar”;
Pilih Pengisian
Y 1 Liter T 2. Bayar T X
1/2?
Y
T Cout<<”Silahkan input Cout<<”silahkan
jmlh Liter cin.Liter“ inputkan jumlah uang”
Maaf anda
salah pilih
Cout<<”Jumlah uang Cout<<”jumlah liter
yang harus yang keluar”
dibayar,cin>>bayar“
1 Liter=bayar/6500
Bayar = Liter * 6500
Cout<<”1. Lanjut“;
Cout<<”1. Lanjut“; Cout”2.Ganti Operator”;
Cout”2.Ganti Operator”;
Cout” Lanjut….”
Cout” Lanjut….” Pilih 1/2? Cout”Terima Kasih Atas
Pilih 1/2? 1 Cout”Terima Kasih Atas Partisipasinya”
Partisipasinya”
2 1 2 1
13
A
Cout<<”SPBU DOLBY
DIGITAL LIVE“
Cout<<”Operator;cin>> op“
Cout<<”No
Kendaraan;cin>> pe“
Cout<<”1. Liter “;
Cout<<”2.Bayar”;
Pilih Pengisian
Y 1 Liter T 2. Bayar T X
1/2?
Y
T Cout<<”Silahkan input Cout<<”silahkan
jmlh Liter cin.Liter“ inputkan jumlah uang”
Maaf anda
salah pilih
Cout<<”Jumlah uang Cout<<”jumlah liter
yang harus yang keluar”
dibayar,cin>>bayar“
1 Liter=bayar/6500
Bayar = Liter * 6500
Cout<<”1. Lanjut“;
Cout<<”1. Lanjut“; Cout”2.Ganti Operator”;
Cout”2.Ganti Operator”;
Cout” Lanjut….”
Cout” Lanjut….” Pilih 1/2? Cout”Terima Kasih Atas
Pilih 1/2? 1 Cout”Terima Kasih Atas Partisipasinya”
Partisipasinya”
2 1 2 1
14
Tampilan dalam C++
Tampilan Awal adalh mengisi nama operator dan pada LCD akan menampilkan
selamat datang di SPBU DOLBY DIGITAL LIVE.
Ada pengunjung jika kita memilih ya maka tampilan di LCD adalah TUNGGU……
Kita disini di minta memilih jenis cara pengisian pengisian disini kita seumpanya memilih
2.bayar:
16
Kita diminta mengisikan jumlah uang :
Setelah itu kita disuruh memilih lagi seumpanya 1 maka kita akan kembali kemenu ada
pengunjung dan jika kita memilih no 2 maka kita kembali ke menu mengisi nama operator dan
tampilan pada LCD adalah TERIMAKASIH ATAS PARTISIPASINYA
Lampiran
Script C++
17
#include <stdio.h>
#include <math.h>
#include <iostream.h>
#include <iomanip.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include <ctype.h>
#include <dos.h>
void main()
{
unsigned long bayar;
unsigned char pilih;
unsigned char op[20];
unsigned char pe[20];
unsigned char d;
cilok:
outport(0x378,0x02);
clrscr();
cout<<"nama operator : ";cin>>("%c",op);
sirenk:
clrscr();
18
cout<<"ada pengunjung.......? (y/n) ",d=getch();
if(d=='y'||d=='Y')
{
outport(0x378,0x01);
clrscr();
cout<<"SPBU DOLBY DIGITAL LIVE "<<endl;
cout<<"MENU ISI ULANG BAHAN BAKAR"<<endl;
cout<<"1.PREMIUM"<<endl;
cout<<"2.SOLAR"<<endl;
cout<<"3.PERTAMAX"<<endl;
cout<<"4.BIO PREIUM"<<endl;
cout<<"5.BIO SOLAR"<<endl;
cout<<"nama operator :"<<("%c",op)<<endl;
cout<<"no kendaraan :";cin>>("%c",pe);
cout<<"pilihan sesuai no :";
pilih=getch();
if (pilih=='1')
{
unsigned long bayar;
unsigned char pilih;
unsigned int ganti;
float liter;
19
clrscr();
cout<<"*>>>>>>>PREMIUM<<<<<<<*"<<endl;
cout<<"SPBU DOLBY DIGITAL LIVE"<<endl;
cout<<"operator :"<<(":%c",op)<<endl;
cout<<"no kendaraan :"<<(":%c",pe)<<endl;
cout<<"1. liter"<<endl;
cout<<"2. bayar"<<endl;
cout<<"pilihan [1/2] :"<<endl;
pilih=getch();
if (pilih=='1')
{
20
goto sirenk;}
else
if (ganti==2)
{goto cilok;}
}
else
if (pilih=='2')
{
cout<<"silahkan inputkan jumlah uang :";
cin>>bayar;
cout<<"jumlah liter yang keluar :";
liter=(float)bayar/6500L;
cout<<liter<<endl;
cout<<"1. lanjut 2.Ganti Operator "<<endl;
cout<<"pilih sesuai pilihan diatas : ";
ganti=getch();
if (ganti=='1')
{
outport(0x378,0x02);
goto sirenk;}
else
if (ganti=='2')
{goto cilok;}
21
}
else
cout<<"maaf anda salah input pilih"<<endl;
getch();
goto sirenk;
}
else
if (pilih=='2')
{
unsigned long bayar;
unsigned char pilih;
unsigned char ganti;
float liter;
clrscr();
cout<<"*>>>>>>>>SOLAR<<<<<<<<*"<<endl;
cout<<"SPBU DOLBY DIGITAL LIVE"<<endl;
cout<<"operator :"<<(":%c",op)<<endl;
cout<<"no kendaraan :"<<(":%c",pe)<<endl;
cout<<"1. liter"<<endl;
cout<<"2. bayar"<<endl;
cout<<"pilihan [1/2] :"<<endl;
pilih=getch();
if (pilih=='1')
22
{
cout<<"silahkan inputkan jumlah liter :";
cin>>liter;
cout<<"jumlah uang yang harus dibayar :";
bayar=liter*5500L;
cout<<bayar<<endl;
cout<<"1. lanjut 2.Ganti Operator "<<endl;
cout<<"pilih sesuai pilihan diatas : ";
ganti=getch();
if (ganti=='1')
{
outport(0x378,0x02);
goto sirenk;}
else
if (ganti=='2')
{goto cilok;}
}
else
if (pilih=='2')
{
cout<<"silahkan inputkan jumlah uang :";
cin>>bayar;
cout<<"jumlah liter yang keluar :";
liter=(float)bayar/5500L;
23
cout<<liter<<endl;
cout<<"1. lanjut 2.Ganti Operator "<<endl;
cout<<"pilih sesuai pilihan diatas : ";
ganti=getch();
if (ganti=='1')
{
outport(0x378,0x02);
goto sirenk;}
else
if (ganti=='2')
{goto cilok;}
}
else
cout<<"maaf anda salah input pilih";
getch();
goto sirenk;
}
else
if (pilih=='3')
{
unsigned long bayar;
unsigned char pilih;
unsigned char ganti;
float liter;
24
clrscr();
cout<<"*>>>>>>PERTAMAX<<<<<<*"<<endl;
cout<<"SPBU DOLBY DIGITAL LIVE"<<endl;
cout<<"operator :"<<(":%c",op)<<endl;
cout<<"no kendaaran :"<<(":%c",pe)<<endl;
cout<<"1. liter"<<endl;
cout<<"2. bayar"<<endl;
cout<<"pilihan [1/2] :"<<endl;
pilih=getch();
if (pilih=='1')
{
cout<<"silahkan inputkan jumlah liter :";
cin>>liter;
cout<<"jumlah uang yang harus dibayar :";
bayar=liter*9000L;
cout<<bayar<<endl;
cout<<"1. lanjut 2.Ganti Operator "<<endl;
cout<<"pilih sesuai pilihan diatas : ";
ganti=getch();
if (ganti=='1')
{
outport(0x378,0x02);
goto sirenk;}
25
else
if (ganti=='2')
{goto cilok;}
}
else
if (pilih=='2')
{
cout<<"silahkan inputkan jumlah uang :";
cin>>bayar;
cout<<"jumlah liter yang keluar :";
liter=(float)bayar/9000L;
cout<<liter<<endl;
cout<<"1. lanjut 2.Ganti Operator "<<endl;
cout<<"pilih sesuai pilihan diatas : ";
ganti=getch();
if (ganti=='1')
{
outport(0x378,0x02);
goto sirenk;}
else
if (ganti=='2')
{goto cilok;}
}
else
26
cout<<"maaf anda salah input pilih";
getch();
outport(0x378,0x02);
goto sirenk;
}
else
if (pilih=='4')
{
unsigned long bayar;
unsigned char pilih;
unsigned char ganti;
float liter;
clrscr();
cout<<"*>>>>>>>BIO PREMIUM<<<<<<<*"<<endl;
cout<<"SPBU DOLBY DIGITAL LIVE"<<endl;
cout<<"operator :"<<(":%c",op)<<endl;
cout<<"no kendaraan :"<<(":%c",pe)<<endl;
cout<<"1. liter"<<endl;
cout<<"2. bayar"<<endl;
cout<<"pilihan [1/2] :"<<endl;
pilih=getch();
if (pilih=='1')
{
27
cout<<"silahkan inputkan jumlah liter :";
cin>>liter;
cout<<"jumlah uang yang harus dibayar :";
bayar=liter*7000L;
cout<<bayar<<endl;
cout<<"1. lanjut 2.Ganti Operator "<<endl;
cout<<"pilih sesuai pilihan diatas : ";
ganti=getch();
if (ganti=='1')
{
outport(0x378,0x02);
goto sirenk;}
else
if (ganti=='2')
{goto cilok;}
getch();
goto sirenk;
}
else
if (pilih=='2')
{
cout<<"silahkan inputkan jumlah uang :";
cin>>bayar;
cout<<"jumlah liter yang keluar :";
28
liter=(float)bayar/7000L;
cout<<liter<<endl;
cout<<"1. lanjut 2.Ganti Operator "<<endl;
cout<<"pilih sesuai pilihan diatas : ";
ganti=getch();
if (ganti=='1')
{
outport(0x378,0x02);
goto sirenk;}
else
if (ganti=='2')
{goto cilok;}
}
else
cout<<"maaf anda salah input pilih";
getch();
goto sirenk;
}
else
if (pilih=='5')
{
29
unsigned char ganti;
float liter;
clrscr();
cout<<"*>>>>>>>BIO SOLAR<<<<<<<*"<<endl;
cout<<"SPBU DOLBY DIGITAL LIVE"<<endl;
cout<<"operator :"<<(":%c",op)<<endl;
cout<<"no kendaraan :"<<(":%c",pe)<<endl;
cout<<"1. liter"<<endl;
cout<<"2. bayar"<<endl;
cout<<"pilihan [1/2] :"<<endl;
pilih=getch();
if (pilih=='1')
{
cout<<"silahkan inputkan jumlah liter :";
cin>>liter;
cout<<"jumlah uang yang harus dibayar :";
bayar=liter*6000L;
cout<<bayar<<endl;
cout<<"1. lanjut 2.Ganti Operator "<<endl;
cout<<"pilih sesuai pilihan diatas : ";
ganti=getch();
if (ganti=='1')
{
30
outport(0x378,0x02);
goto sirenk;}
else
if (ganti=='2')
{goto cilok;}
}
else
if (pilih=='2')
{
cout<<"silahkan inputkan jumlah uang :";
cin>>bayar;
cout<<"jumlah liter yang keluar :";
liter=(float)bayar/6000L;
cout<<liter<<endl;
cout<<"1. lanjut 2.Ganti Operator "<<endl;
cout<<"pilih sesuai pilihan diatas : ";
ganti=getch();
if (ganti=='1')
{
outport(0x378,0x02);
goto sirenk;}
else
if (ganti=='2')
{goto cilok;}
31
getch();
}
else
cout<<"maaf anda salah input pilih";
getch();
goto sirenk;
}
else
cout<<"maaf anda salah input pilih";
}
}
getch();
$regfile = "REG51.dat"
32
$crystal = 12000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = P1.4 , Db5 = P1.3 , Db6 = P1.2 , Db7
= P1.1 , E = P1.6 , Rs = P1.5
Xxx Alias P3
Dim X As Integer , Y As Integer
Xxx = 0
Cursor Off
Cls
Locate 1 , 1
Lcd "Di Buat Oleh :"
Wait 3
Cls
Locate 1 , 1
Lcd "1.ANGGARICA M.P "
Locate 2 , 1
Lcd "2.VINDRA N.F "
Wait 3
Cls
Locate 1 , 1
Lcd "3.E. MOUSES "
Locate 2 , 1
Lcd "4.PRIHANI "
33
Wait 3
Cls
Locate 1 , 1
Lcd "5.NOVITA"
Wait 3
Cls
Do
Gosub Cellenk
If Xxx = &H01 Then
Cls
Locate 1 , 1
Lcd "TUNGGU....."
Xxx = 0
Do
nop
Loop Until Xxx = &H02
Gosub Zzz
End If
Loop
Zzz:
Cls
Locate 1 , 1
34
Lcd "LANJUT....."
Wait 2
Cls
Locate 1 , 17
Lcd "TERIMA KASIH"
Locate 2 , 17
Lcd "ATAS PARTISIPASINYA"
For X = 0 To 32
Shiftlcd , Left , 1
Waitms 500
Next
Return
Cellenk:
Cls
Locate 1 , 18
Lcd "Selamat Datang"
For X = 0 To 32
Shiftlcd , Left , 1
Waitms 500
Next
Cls
Locate 1 , 1
Lcd "-------DI-------"
35
Wait 3
Cls
Gosub Sirenk
Return
Sirenk:
Locate 1 , 18
Lcd "SPBU DOLBY DIGITAL LIVE"
For X = 0 To 32
Shiftlcd , Left , 1
Waitms 500
Next
Cls
Return
36
BAB IV
PENUTUP
37