PENDAHULUAN
1.1
Latar Belakang
Jual Beli adalah
kegiatan manusia yang ada sejak zaman dahulu, sebelum mengenal uang masyarakat
indonesia melakukan aktifitas jual beli dengan Sistem Barter (saling tukar
barang). Sejak tahun 1817 masyarakat indonesia telah mengenal Uang sebagai alat
pembayaran yang sah yang diperkenalkan oleh Belanda ketika masa
penjajahan.
Ketika uang di indonesia
telah diketahui oleh banyak masyarakat, masyarakat indonesia menggunakan uang
tersebut dengan berbagai hal yang tentunya bisa ditukarkan atau diperjual
belikan oleh barang maupun jasa yang setara dengan nilai tukar uang tersebut.
Banyak toko yang sudah menggunakan teknologi komputer untuk memudahkan
transaksi penjualan seperti penjualan tiket kereta, pembayaran uang kuliah dan pengiriman
uang.
Perkembangan teknologi informasi, yang ditandai dengan perkembangan teknologi komputer dan
teknologi komunikasi serta transportasi, membuat setiap lembaga /
instansi dituntut memiliki infrastruktur teknologi informasi, sebagai tuntutan
kemajuan zaman. Di era globalisasi sekarang ini, seluruh sistem pelayanan
diotomatisasi dengan peralatan yang bersifat efisien dalam waktu dan tenaga. Hal ini diharapkan
akan memuaskan keinginan konsumen dan proses permintaan pasar sehingga
menjangkau keseluruh bidang kehidupan.
Mobilitas manusia yang tinggi menuntut dunia
perdagangan mampu menyediakan layanan jasa dan barang dengan cepat sesuai
permintaan konsumen. Untuk mengatasi masalah tersebut, kini muncul transaksi
yang menggunakan media internet untuk menghubungkan produsen dan konsumen.
Terkait dengan uraian diatas, maka penulis tertarik
untuk membuat suatu program yang dapat digunakan untuk melakukan transaksi
elektronik penjualan tiket kereta api, pembayaran uang kuliah serta pengiriman
uang. Dengan hadirnya sistem ini, diharapkan mampu memenuhi kebutuhan transaksi
konsumen, sehingga transaksi lebih efisien dan cepat.
1.2 Perumusan
Masalah
Berdasarkan latarbelakang tersebut diatas maka
rumusan masalah yang akan dibahas adalah “Bagaimana cara membuat program yang
dapat digunakan untuk transaksi penjualan tiket kereta api, pembayaran uang
kuliah dan pengiriman uang”.
1.3 Pembatasan
Masalah
Untuk menjaga kemungkinan semakin berkembangnya
masalah, mengingat objek yang dijadikan makalah memiliki banyak ragamnya maka
penulis hanya menitikberatkan permasalahan yang berupa pembuatan program
transaksi menggunakan Borland C++
1.4 Manfaat
Makalah
Hasil makalah ini diharapkan akan memberi manfaat
bagi penulis, rekan rekan mahasiswa 13.1D.01 Teknik Komputer Kelas Sore serta
pelaku usaha atau toko yang mengaplikasikan program e-Trans.
1.5
Tujuan Makalah
Tujuan makalah ini adalah untuk memenuhi salah satu
tugas dari mata kuliah Dasar Pemrograman berupa pembuatan program e-Trans yang diharapkan mampu
meningkatkan efisiensi kerja dan waktu sehingga dapat memuaskan semua pihak.
BAB II
LANDASAN TEORI
2.1 Pengertian C++
C++ adalah bahasa pemrograman komputer yang
di buat oleh Bjarne Stroustrup, yang merupakan perkembangan dari bahasa C
dikembangkan di Bong Labs (Dennis Ritchie)
pada awal tahun 1970-an, Bahasa itu diturunkan dari bahasa sebelumnya, yaitu B,
Pada awalnya, bahasa tersebut dirancang sebagai bahasa pemrograman yang
dijalankan pada sistem Unix,
Pada
perkembangannya, versi ANSI (American National Standart Institute) Bahasa pemrograman C menjadi
versi dominan, Meskipun versi tersebut sekarang jarang dipakai dalam
pengembangan sistem dan jaringan maupun untuk sistem embedded, Bjarne
Stroustrup pada Bel labs pertama kali mengembangkan C++ pada awal 1980-an.
Untuk mendukung fitur-fitur pada C++, dibangun efisiensi dan sistem support
untuk pemrograman tingkat rendah (low level coding).
2.2 Perkembangan Bahasa C
Bahasa C dikembangken di Bell lab pada tahun 1972 ditulis
pertama kali oleh Brian W. Kernighan dan Denies M. Ricthie merupakan bahasa
turunan atau pengembangan dari bahasa B yang ditulis oleh Ken Thompson pada
tahun 1970 yang diturunkan oleh bahasa sebelumnya, yaitu BCL. Bahasa C, pada
awalnya dirancang sebagai bahasa pemrograman yang dioperasikan pada sistem
operasi UNIX.
Bahasa C merupakan bahasa pemrograman tingkat menengah yaitu
diantara bahasa tinggat rendah dan tingkat tinggi yang biasa disebut dengan
Bahasa Tingkat Menengah. Bahasa C mempunyai banyak kemampuan yang sering
digunakan diantaranya kemampuan untuk membuat perangkat lunak, misalnya dBASE,
Word Star dan lain-lain.
2.3 Perbedaan Antara Bahasa C Dengan C++
Bahasa
C merupakan bahasa pemrograman prosedural, di mana penyelesaian atas suatu
masalah dilakukan dengan membagi-bagi masalah tersebut ke dalam sub-sub masalah
yang lebih kecil. Sedangkan C++ merupakan bahasa pemrograman yang memiliki sifat
Object Oriented Programming (OOP). Untuk menyelesaikan masalah, C++ melakukan
langkah pertama dengan mendefinisikan class-class yang merupakan a.-class yang
dibuat sebelumnya sebagai abstraksi dari objek-objek fisik. Class tersebut
berisi keadaan objek, anggota-anggotanya, dan kemampuan dari objeknya. Setelah
beberapa class dibuat, masalah dipecahkan menggunakan class.
2.4 Pengenalan
IDE Borland C++
IDE
merupakan singkatan dari Integrated Development Environment, merupakan Lembar
kerja terpadu untuk pengembangan program. IDE dari Borland C++, dapat digunakan
untuk:
a. Menulis
Naskah Program.
b. Mengkompilasi
Program ( Compile )
c. Melakukan
Pengujian Program ( Debugging )
d. Mengaitkan
Object dan Library ke Program ( Linking )
e. Menjalankan
Program ( Running )
2.5 Struktur
program C++
Sama
seperti struktur program C yang terdahulu, struktur program C++ terdiri dari sejumlah
blok fungsi, setiap fungsi terdiri dari satu atau beberapa pernyataan yang
melaksanakan tugas tertentu.
Bentuk
Umum :
#include <file-header>
main()
{
pernyataan;
}
Contoh
: #include <conio.h>
#include <iostream.h>
main()
{
cout<<”Teknik Komputer BSI
Margonda”;
getch();
}
Penjelasan
:
a. #include
<file-header> merupakan preprocessor pada C++ untuk pemanggilan file
header yang memuat beberapa perintah-perintah dari C++ (contoh, apabila ingin
menggunakan perintah cout maka harus menggunakan file header iostream.h)
b. main(
) merupakan awal mula dari blok program utama
c. tanda
{ dan } sebagai punctuator yang awal blok program hingga akhir blok program
d. cout
merupakan perintah keluaran pada C++
e. getch(
); apabila ditempatkan sebelum funtuator }, maka berfungsi sebagai penahan dari
tampilan hasil
2.6 Pengenalan Tipe Data
Borland
C++ memiliki 7 tipe data dasar dan 3 tipe tambahan, diantaranya:
Table 2.1 Tipe Data
Tipe
Data
|
Ukuran
Memori
|
Jangkauan Nilai
|
Jumlah
Digit
|
Char
|
1
Byte
|
-128
s.d 127
|
|
Int
|
2
Byte
|
-2,147,435,648
s.d 2,147,435,647
|
|
Short
|
2
Byte
|
-32768
s.d 32767
|
|
Long
|
4
Byte
|
-2,147,435,648
s.d 2,147,435,647
|
|
Float
|
4
Byte
|
3.4
x 10-38 s.d 3.4 x 10+38
|
5
– 7
|
Double
|
8
Byte
|
1.7
x 10-308 s.d 1.7 x 10+308
|
15
– 16
|
Long
Double
|
10
Byte
|
3.4
x 10-4932 s.d 1.1 x 10+4932
|
19
|
2.7 Variabel
Adalah
suatu tempat menampung data atau konstanta dimemori yang mempunyai nilai atau
data yang dapat berubah-ubah selama proses program.
Dalam
pemberian nama variabel, mempunyai ketentuan-ketentuan antara lain :
1. Tidak
boleh ada spasi ( contoh : gaji bersih ) dan dapat menggunakan tanda garis
bawah ( _ ) sebagai penghubung (contoh : gaji_bersih).
2. Tidak
boleh diawali oleh angka dan menggunakan operator aritmatika.
Variabel, dibagi menjadi dua jenis
kelompok, yaitu :
A. Variabel
Numerik
B. Variabel
Teks
A. Variabel Numerik
Variabel
numerik ini dibagi menjadi menjadi 3 (tiga) macam :
1. Bilangan
Bulat atau Integer
2. Bilangan
Desimal Berpresisi Tunggal atau Floating Point.
3. Bilangan
Desimal Berpresisi Ganda atau Double Precision.
B. Variabel Text
1. Character
( Karakter Tunggal )
2. String
( Untuk Rangkaian Karakter )
Deklarasi
Variabel
Adalah
proses memperkenalkan variabel kepada Borland C++ dan pendeklarasian tersebut
bersifat mutlak karena jika tidak diperkenalkan terlebih dahulu maka Borland
C++ tidak menerima variabel tersebut.
Deklarasi
Variabel ini meliputi tipe variabel, seperti integer atau character dan nama
variabel itu sendiri. Setiap kali pendeklarasian variabel harus diakhiri oleh
tanda titik koma ( ; ).
Bentuk
penulisan :
Tipe data nama_variabel;
Contoh Deklarasi :
char nama_mahasiswa[20];
char grade;
float rata_rata ;
int nilai;
2.8 Operator Aritmatika
Operator
merupakan simbol atau karakter yang biasa dilibatkan dalam program, yang
digunakan untuk melakukan sesuatu operasi atau manipulasi, seperti penjumlahan,
pengurangan dan lain-lain.
Operator
mempunyai sifat sebagai berikut:
A.
Unary
Sifat
Unary pada operator adalah hanya melibatkan sebuah operand pada suatu operasi
aritmatik
Contoh
: -5
B.
Binary
Sifat
Binary pada operator adalah melibatkan dua buah operand pada suatu operasi
aritmatik
Contoh
: 4 + 8
C.
Ternary
Sifat
Tenary pada operator adalah melibatkan tiga buah operand pada suatu operasi
aritmatik
Contoh
: (10 % 3) + 4 + 2
Operator
untuk operasi aritmatika yang tergolong sebagai operator Unary adalah:
Tabel 2.2 Operator Aritmatika (Unary)
Operator
|
Keterangan
|
Contoh
|
+
|
Tanda
Plus
|
−4
|
−
|
Tanda
Minus
|
+6
|
Operator
yang tergolong sebagai operator Binary,
adalah:
Tabel 2.3 Operator Aritmatika (Binary)
Operator
|
Keterangan
|
Contoh
|
*
|
Perkalian
|
4
* 5
|
/
|
Pembagian
|
8
/ 2
|
%
|
Sisa
Pembagian (mod)
|
5
% 2
|
+
|
Penjumlahan
|
7
+ 2
|
−
|
Pengurangan
|
6
− 2
|
2.9 Operasi Penyeleksian Kondisi
Pernyataan
Percabangan digunakan untuk memecahkan persoalan untuk mengambil suatu
keputusan diantara sekian pernyataan yang ada. Untuk keperluan pengambilan
keputusan, Borland C++ menyediakan beberapa perintah antara lain.
Pernyataan IF
Pernyataan
if mempunyai pengertian, “ Jika kondisi bernilai benar, maka perintah akan
dikerjakan dan jika tidak memenuhi syarat maka akan diabaikan”.
Bentuk
umum dari pernyataan if
if (kondisi)
pernyataan;
Penulisan
kondisi berada di dalam tanda kurung kurawal jika pemakaian if diikuti dengan
pernyataan majemuk, bentuk penulisannya sebagai berikut :
if
(kondisi)
{
pernyataan;
……
}
Pernyataan IF - ELSE
Pernyataan
if mempunyai pengertian, “Jika kondisi bernilai benar, maka perintah-1 akan
dikerjakan dan jika tidak memenuhi syarat maka akan mengerjakan perintah-2”.
Bentuk
umum dari pernyataan if –else
if
(kondisi)
perintah-1;
else
perintah-2;
Perintah-1 dan perintah-2 dapat berupa
sebuah pernyataan tunggal, pernyataan majemuk atau pernyataan kosong. Jika
pemakaian if-else diikuti dengan pernyataan majemuk, bentuk penulisannya
sebagai berikut :
if
(kondisi)
{
perintah-1;
...
}
else
{
perintah-2;
...
Pernyataan NESTED IF
Nested
if merupakan pernyataan if berada didalam pernyataan if yang lainnya. Bentuk
penulisan pernyataan Nested if adalah :
if(syarat)
{
if(syarat)
…
perintah;
else
…
perintah;
}
else
{
if(syarat)
…
perintah;
else
…
perintah;
}
2.10 Perulangan (Looping)
Struktur pengulangan digunakan untuk
menguang suatu perintah sebanyak yang diinginkan. Untuk melakukan perintah
dengan melakukan banyak perulangan akan lebih efisien apabilaa kita menggunakan
perulangan. Ada beberapa perulangan dalam C++ yaitu : for, nested for, goto,
while, do..while.
String Compare digunakan membandingkan
dua string dengan cara membandingkan string 1 ke string 2. Fungsi ini dimulai
membandingkan karakter pertama dari setiap string.
Jika mereka sama satu sama lain, terus
dengan pasangan berikutnya sampai membandingkan karakter yang berbeda atau
sampai ke terminator karakter null.
(referensi : Utama, Didit N &
Widayanti, Riya, “Algoritma dan Pemrograman dengan Borland C++”, Graha Ilmu –
Yogyakarta, 2005)
Array adalah suatu variable yang terdiri
dari sekumpulan data dimana data-data tersebut mempunyai tipe data yang sama.
Setiap data disimpan dalam alamat memori yang berbeda-beda dan disebut dengan
elemen array.
Setiap elemen mempunyai nilai indek
sesuai dengan urutannua, melalui indek inilah kita dapat mengakses data-data
tersebut.
Array didekatkan dengan tanda []
(bracket). Baik dalam Bahasa C++ dan Java. Bentuk umum dari tipe data array
adalah :
tipe_data nama_array[jumlah_elemen]
A. Array
Dimensi Satu
Setiap elemen array dapat diakses
melalui index
-
Index array secara default dimulai dari
0
-
Deklarasi array :
tipe_array nama_array[ukuran]
B. Array
Dimensi Dua
Array dua dimensi merupakan array yang
terdiri dari m buah baris dan n buah kolom bentuknya dapat berupa matriks atau
table
Deklarasi array :
tipe_array nama_array[baris][kolom]
BAB III
PEMBAHASAN
3.1 Ketentuan Program
3.1.1 Menu
Utama
Dalam
menu utama ada tiga pilihan transaksi :
Tabel 3.1 Menu Utama
Kode
|
Jenis Transaksi
|
K
|
Pemesanan
Tiket Kereta Api
|
B
|
Pembayaran
Biaya Kuliah BSI
|
U
|
Pengiriman
Uang
|
3.1.2 Pemesanan
Tiket Kereta Api
Maksimal pemesanan tiket 4
Bayi (0-3 Tahun) tidak mendapatkan kursi
Jika ingin memesan kursi untuk bayi data
tanggal lahir bayi di isi dengan data orang dewasa (orang tua)
Pilihan tujuan perjalanan Kereta Api,
antara lain :
Tabel 3.2 Menu Pemesanan Tiket
Kereta Api
Kode
|
Tujuan
|
S
|
Gambir
- Surabaya
|
M
|
Gambir
– Malang
|
Y
|
Gambir
– Yogyakarta
|
P
|
Gambir
- Purwokerto
|
Setelah memilih tujuan perjalanan, dapat
memilih jenis kereta.
Data perjalanan disesuaikan dengan data
dari PT. KAI
3.1.3
Pembayaran Biaya Kuliah BSI
Tabel 3.3 Menu
Pembayaran Biaya Kuliah BSI
Kode
|
Jurusan
|
Semester
|
Harga
|
A
|
Komputer Akuntansi
|
1
|
3.000.000
|
2
|
2.800.000
|
||
3
|
2.600.000
|
||
>3
|
2.400.000
|
||
Kode
|
Jurusan
|
Semester
|
Harga
|
B
|
Akademi Bahasa Asing
|
1
|
3.100.000
|
2
|
2.900.000
|
||
3
|
2.750.000
|
||
>3
|
2.500.000
|
||
M
|
Manajemen Informatika
|
1
|
3.000.000
|
2
|
2.750.000
|
||
3
|
2.500.000
|
||
>3
|
2.450.000
|
||
T
|
Teknik Komputer
|
1
|
3.000.000
|
2
|
2.700.000
|
||
3
|
2.650.000
|
||
>3
|
2.400.000
|
3.1.4
Pengiriman Uang
Tabel 3.4 Menu
Pengiriman Uang
Ketentuan
|
|
Maksimal
Pengiriman
|
Rp. 6.000.000
|
Biaya
Pengiriman
<
1.000.000
|
15.000
|
Biaya
Pengiriman
>
=1.000.000
|
25.000
|
3.2 Flow Chart
3.2.1 Pemesanan Tiket Kereta Api
Gambar 3.1 Flowcart Pemesanan Tiket Kereta Api
3.2.2 Pembayaran Biaya Kuliah
Gambar 3.2 Flowcart Pembayaran Biaya Kuliah BSI
3.2.3 Pengiriman Uang
Gambar 3.3 Flowcart Pengiriman Uang
3.3 Studi Kasus
3.3.1
Menu Utama
Aplikasi E-Trans ini digunakan untuk
beberapa transaksi yang dimuat dalam satu menu utama. Ketika seorang pelanggan
ingin memulai transaksi, maka tampilan Menu Utama pada E-Trans adalah pilihan
transaksi.
Pelanggan tersebut diminta untuk
memasukan kode transaksi yang akan dilakukan.
Gambar 3.4 Menu Utama
3.3.2 Pemesanan Tiket Kereta Api
Jika pelanggan memasukan Kode “K” maka
transaksi yang dipilih adalah Pemesanan Tiket Kereta Api.
-
Pelanggan akan diminta memasukan tanggal
keberangkatan.
-
Kemudian pelanggan memilih tujuan
keberangkatan kereta api, jumlah penumpang dewasa dan penumpang bayi
(maksimal
total tiket 4)
-
Setelah tujuan keberangkatan dipilih,
maka pelanggan memilih jenis kereta api, kelas dan jam keberangkatan yang
tersedia dalam menu.
-
Biodata penumpang dibutuhkan untuk
kelengkapan data pemesanan.
-
Pelanggan juga diminta memasukan kode
tujuan, jumlah penumpang).
Gambar 3.5 Input Tanggal
Keberangkatan Kereta Api
Gambar 3.6 Pemilihan Tujuan
Keberangkatan Kereta Api
Gambar 3.7 Daftar Jadwa Kereta Api
Gambar 3.8 Input Data Diri
Penumpang
-
Jika semua data yang dibutuhkan telah
dimasukan, maka akan terlihat total harga yang harus dibayarkan untuk pemesanan
tiket kereta api
-
tersebut dan juga biaya administrasi.
-
Pelanggan akan diminta membayar sesuai
dengan total harga yang tertera, Jumlah Bayar dimasukan jumlah uang yang
dibayarkan.
-
Setelah Jumlah Bayar dimasukan, maka
akan tampil jumlah uang kembalian.
Gambar 3.9 Struk Pembayaran Tiket Kereta Api
-
Pelanggan akan diminta memasukan kode
[Y/T] untuk melanjutkan transaksi atau tidak.
3.3.3
Pembayaran Kuliah
Jika
pelanggan memasukan Kode “B” maka transaksi yang dipilih adalah Pembayaran
Biaya Kuliah BSI
-
Pelanggan akan diminta memasukan data
diri Mahasiswa BSI, yaitu berupa Nama Mahasiswa, NIM, Kode Juruan dan Semester
Gambar 3.10 Input Data Pembayaran Biaya Kuliah
-
Jika semua data yang dibutuhkan telah
dimasukan, maka akan terlihat total harga yang harus dibayarkan untuk
Pembayaran Biaya Kuliah BSI tersebut dan juga biaya administrasi.
-
Pelanggan akan diminta membayar sesuai
dengan total harga yang tertera, Jumlah Bayar dimasukan jumlah uang yang
dibayarkan.
-
Setelah Jumlah Bayar dimasukan, maka
akan tampil jumlah uang kembalian.
Gambar
3.11 Struk Pembayaran Biaya Kuliah BSI
-
Pelanggan akan diminta memasukan kode
[Y/T] untuk melanjutkan transaksi atau tidak.
3.3.4
Pengiriman Uang
Jika pelanggan memasukan Kode “U” maka
transaksi yang dipilih adalah Pengiriman Uang.
-
Pelanggan
akan diminta memasukan data diri pengirim uang, berupa Nama Pengirim, Nomor
Identitas dan Nomor Kontak.
-
Pelanggan
juga diminta memasukan data diri penerima uang, berupa Nama Penerima, Nomor
Identitas, Nomor Kontak dan Alamat.
-
Pelanggan
diminta memasukan jumlah uang yang akan dikirim ke penerima.
Gambar 3.12 Input Data Pengiriman Uang
-
Jika semua data yang dibutuhkan telah
dimasukan, maka akan terlihat total harga yang harus dibayarkan untuk
Pengiriman Uang tersebut dan juga biaya administrasi.
-
Pelanggan akan diminta membayar sesuai
dengan total harga yang tertera, Jumlah Bayar dimasukan jumlah uang yang
dibayarkan.
-
Setelah Jumlah Bayar dimasukan, maka
akan tampil jumlah uang kembalian.
Gambar 3.13 Struk Pembayaran Pengiriman
Uang
3.4
Coding
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<string.h>
#include<iomanip.h>
garis()
{cout<<"\n\t===============================================\n";}
garis1()
{cout<<"\n\t\t------------------------------------------\n";}
main()
{
char ko,kod,ket[10],jur[30],tuj[30],nk[10],kls[10],nama[7][20],lagi,nj[25],id[7][20],kontak[7][20],alamat[25],jam[12];
int k,bt,nim,smt,uang,tot=0,kk,pd,pb;
float
harga1[7],harga,bayar,total,kembali,adm,tgl,bln,thn,tl[7],bl[7],thl[7];
awal:
clrscr();
garis();
cout<<"\t SELAMAT DATANG DI E-TRANS";
garis();
cout<<"\t MENU E-TRANS\n\n";
cout<<"\t KODE TRANSAKSI\n\n";
cout<<"\t
K PEMESANAN TIKET
KERETA API\n";
cout<<"\t
B PEMBAYARAN KULIAH
BSI\n";
cout<<"\t
U PENGIRIMAN
UANG\n";
garis();
cout<<"\t Masukkan Kode : ";cin>>ko;
switch (ko)
{
case strcmp,'K':
case strcmp,'k':
input:
clrscr();
cout<<"\n\t E- KAI PENCARIAN JADWAL KERETA
2018";
cout<<"\n\n\t Isi 0 untuk kembali ke menu
utama";
cout<<"\n\n\tTanggal Keberangkatan \t(dd mm yyyy)
: ";
cin>>tgl;
if(tgl>31)
{goto input;}
else if(tgl==0)
{goto awal;}
cin>>bln;
if(bln>12)
{goto input;}
cin>>thn;
if(thn<2018)
{goto input;}
else if(thn>2018)
{goto input;}
clrscr();
cout<<"\n\t=====================================";
cout<<"\n\t| Kode
| Tujuan |";
cout<<"\n\t-------------------------------------";
cout<<"\n\t|
S | Gambir-Surabaya |";
cout<<"\n\t|
M | Gambir-Malang |";
cout<<"\n\t|
Y | Gambir-Yogyakarta |";
cout<<"\n\t|
P | Gambir-Purwokerto |";
cout<<"\n\t=====================================";
cout<<"\n\t\tMasukkan Kode Tujuan\t :
";cin>>kod;
cout<<"\t\tPenumpang Dewasa :
";cin>>pd;
if(pd>4)
{printf ("\n\t\tJumlah Pemesanan Melebihi Batas
!!!");
cout<<"\n\t\tApakah anda ingin
melakukan transaksi lagi? [Y/T] :
";cin>>lagi;
if
(lagi=='Y'||lagi=='y')
{goto awal; }
else
{goto akhir; }
}
cout<<"\t\tPenumpang Bayi : ";cin>>pb;
bt=pd+pb;
if(kod=='S'||kod=='s')
{
strcpy(jur,"Gambir-Surabaya");
clrscr();
cout<<"\n\t======================DAFTAR JADWAL
KERETA API=========================";
printf("\n\t%s %.f/%.f/%.f ",jur,tgl,bln,thn);
cout<<"\n\t-----------------------------------------------------------------------";
cout<<"\n\t|Kode | Nama |
Stasiun Awal | Kelas
| Harga |";
cout<<"\n\t|
| Kereta | Stasiun Tujuan | |
Tiket |";
cout<<"\n\t-----------------------------------------------------------------------";
cout<<"\n\t|
1 | Argo Bromo Anggrek 2 | Gambir
| Eksekutif | 485.000 |";
cout<<"\n\t|
| 09:30-18:30 |
Sby. Ps. Turi | | |";
cout<<"\n\t|
2 | Argo Bromo Anggrek 7 | Gambir
| Bisnis |
425.000 | ";
cout<<"\n\t|
| 21:30-06:30 |
Sby. Ps.Turi | | |";
cout<<"\n\t|
3 | Bangunkarta 56 |
Gambir | Eksekutif | 450.000
|";
cout<<"\n\t|
| 15:00-03:30 |
Sby. Gubeng | | |";
cout<<"\n\t|
4 | BangunKarta 66 |
Gambir | Bisnis
| 350.000 |";
cout<<"\n\t|
| 15:30-04:10 |
Sby. Gubeng | | |";
cout<<"\n\t=======================================================================";
cout<<"\n\t\tMasukkan Kode Kereta :
";cin>>kk;
for (k=1;k<=bt;k++)
{
if (kk==1)
{strcpy(nk,"Argo Bromo Anggrek
2");strcpy(kls,"Eksekutif");
strcpy(tuj,"Gambir - Sby. Pasar Turi ");strcpy(jam,"09:30-18:30");harga1[k]=485000;}
else if (kk==2)
{strcpy(nk,"Argo Bromo Anggrek
7");strcpy(kls,"Bisnis");
strcpy(tuj,"Gambir - Sby. Pasar Turi
");strcpy(jam,"21:30-06:30");harga1[k]=425000;}
else if (kk==3)
{strcpy(nk,"Bangun Karta 56 ");strcpy(kls,"Eksekutif");
strcpy(tuj,"Gambir - Surabaya Gubeng
");strcpy(jam,"15:00-03:30");harga1[k]=450000;}
else if (kk==4)
{strcpy(nk,"Bangun Karta 66
");strcpy(kls,"Bisnis");
strcpy(tuj,"Gambir - Surabaya Gubeng
");strcpy(jam,"15:30-04:10");harga1[k]=350000;}
else
{printf ("\n\t\tData Yang Anda Masukan Salah
!!!");
cout<<"\n\t\tApakah anda ingin
melakukan transaksi lagi? [Y/T] :
";cin>>lagi;
if
(lagi=='Y'||lagi=='y')
goto awal;
else
goto akhir;
}
}
}
else if(kod=='M'||kod=='m')
{
strcpy(jur,"Gambir-Malang");
clrscr();
cout<<"\n\t======================DAFTAR JADWAL
KERETA API=========================";
printf("\n\t%s %.f/%.f/%.f ",jur,tgl,bln,thn);
cout<<"\n\t-----------------------------------------------------------------------";
cout<<"\n\t|Kode | Nama |
Stasiun Awal | Kelas
| Harga |";
cout<<"\n\t|
| Kereta | Stasiun Tujuan | |
Tiket |";
cout<<"\n\t-----------------------------------------------------------------------";
cout<<"\n\t|
1 | Gajayana 42 |
Gambir | Eksekutif | 465.000
|";
cout<<"\n\t|
| 16:30-08:15 | Malang Kepanjen| | |";
cout<<"\n\t|
2 | Gajayana 41 |
Gambir | Bisnis
| 420.000 | ";
cout<<"\n\t|
| 20:30-12:20 | Malang Kepanjen| | |";
cout<<"\n\t|
3 | Bima 44 |
Gambir | Eksekutif | 460.000
|";
cout<<"\n\t|
| 17:40-09:06 | Malang Lawang |
| |";
cout<<"\n\t|
4 | Bima 45 |
Gambir | Bisnis
| 415.000 |";
cout<<"\n\t|
| 19:45-11:11 | Malang Lawang |
| |";
cout<<"\n\t=======================================================================";
cout<<"\n\t\tMasukkan Kode Kereta :
";cin>>kk;
for (k=1;k<=bt;k++)
{
if (kk==1)
{strcpy(nk,"Gajayana
42");strcpy(kls,"Eksekutif");
strcpy(tuj,"Gambir - Malang Kepanjen
");strcpy(jam,"16:30-08:15");harga1[k]=465000;}
else if (kk==2)
{strcpy(nk,"Gajayana 41");strcpy(kls,"Bisnis");
strcpy(tuj,"Gambir - Malang Kepanjen
");strcpy(jam,"20:30-12:20");harga1[k]=420000;}
else if (kk==3)
{strcpy(nk,"Bima 44
");strcpy(kls,"Eksekutif");
strcpy(tuj,"Gambir - Malang Lawang
");strcpy(jam,"17:40-09:06");harga1[k]=460000;}
else if (kk==4)
{strcpy(nk,"Bima 45
");strcpy(kls,"Bisnis");
strcpy(tuj,"Gambir - Malang Lawang
");strcpy(jam,"19:45-11:11");harga1[k]=415000;}
else
{printf ("\n\t\tData Yang Anda Masukan Salah
!!!");
cout<<"\n\t\tApakah anda ingin
melakukan transaksi lagi? [Y/T] :
";cin>>lagi;
if
(lagi=='Y'||lagi=='y')
goto awal;
else
goto akhir;
}
}
}
else if(kod=='Y'||kod=='y')
{
strcpy(jur,"Gambir-Yogyakarta");
clrscr();
cout<<"\n\t======================DAFTAR JADWAL
KERETA API=========================";
printf("\n\t%s %.f/%.f/%.f ",jur,tgl,bln,thn);
cout<<"\n\t-----------------------------------------------------------------------";
cout<<"\n\t|Kode | Nama |
Stasiun Awal | Kelas
| Harga |";
cout<<"\n\t|
| Kereta |
Stasiun Tujuan | | Tiket
|";
cout<<"\n\t-----------------------------------------------------------------------";
cout<<"\n\t|
1 | Taksaka 52 |
Gambir | Eksekutif | 300.000
|";
cout<<"\n\t|
| 08:30-16:25 |
Tugu Yogyakarta| | |";
cout<<"\n\t|
2 | Taksaka 54 |
Gambir | Bisnis
| 260.000 | ";
cout<<"\n\t|
| 20:45-04:15 | Tugu Yogyakarta| | |";
cout<<"\n\t|
3 | Argo Lawu 7 |
Gambir | Eksekutif | 290.000
|";
cout<<"\n\t|
| 08:57-16:27 | Tugu Yogyakarta| | |";
cout<<"\n\t|
4 | Argo Lawu 8 |
Gambir | Bisnis
| 265.000 |";
cout<<"\n\t|
| 20:15-03:48 | Tugu Yogyakarta| | |";
cout<<"\n\t=======================================================================";
cout<<"\n\t\tMasukkan Kode Kereta :
";cin>>kk;
for (k=1;k<=bt;k++)
{
if (kk==1)
{strcpy(nk,"Taksaka
52");strcpy(kls,"Eksekutif");
strcpy(tuj,"Gambir - Tugu
Yogyakarta");strcpy(jam,"08:30-16:25");harga1[k]=300000;}
else if (kk==2)
{strcpy(nk,"Taksaka
54");strcpy(kls,"Bisnis");
strcpy(tuj,"Gambir - Tugu
Yogyakarta");strcpy(jam,"20:45-04:15");harga1[k]=260000;}
else if (kk==3)
{strcpy(nk,"Argo Lawu
7");strcpy(kls,"Eksekutif");
strcpy(tuj,"Gambir - Tugu
Yogyakarta");strcpy(jam,"08:57-16:27");harga1[k]=290000;}
else if (kk==4)
{strcpy(nk,"Argo Lawu
8");strcpy(kls,"Bisnis");
strcpy(tuj,"Gambir - Tugu Yogyakarta");strcpy(jam,"20:15-03:48");harga1[k]=265000;}
else
{printf ("\n\t\tData Yang Anda Masukan Salah
!!!");
cout<<"\n\t\tApakah anda ingin
melakukan transaksi lagi? [Y/T] :
";cin>>lagi;
if
(lagi=='Y'||lagi=='y')
goto awal;
else
goto akhir;
}
}
}
else
if(kod=='P'||kod=='p')
{
strcpy(jur,"Gambir-Purwokerto");
clrscr();
cout<<"\n\t======================DAFTAR JADWAL
KERETA API=========================";
printf("\n\t%s %.f/%.f/%.f ",jur,tgl,bln,thn);
cout<<"\n\t-----------------------------------------------------------------------";
cout<<"\n\t|Kode | Nama |
Stasiun Awal | Kelas
| Harga |";
cout<<"\n\t|
| Kereta | Stasiun Tujuan | |
Tiket |";
cout<<"\n\t-----------------------------------------------------------------------";
cout<<"\n\t|
1 | Argo Dwipangga 10 |
Gambir | Eksekutif | 285.000
|";
cout<<"\n\t|
| 08:00-12:56 | Prwokerto (PWT)| | |";
cout<<"\n\t|
2 | Argo Dwipangga 11 |
Gambir | Bisnis
| 250.000 | ";
cout<<"\n\t|
| 20:15-01:09 | Prwokerto (PWT)| | |";
cout<<"\n\t|
3 | Purwo Jaya 55 |
Gambir | Eksekutif | 280.000
|";
cout<<"\n\t|
| 17:40-22:34 | Prwokerto (PWT)| | |";
cout<<"\n\t|
4 | Purwo Jaya 58 |
Gambir | Bisnis
| 255.000 |";
cout<<"\n\t|
| 22:05-03:08 | Prwokerto (PWT)| | |";
cout<<"\n\t=======================================================================";
cout<<"\n\t\tMasukkan Kode Kereta :
";cin>>kk;
for (k=1;k<=bt;k++)
{
if (kk==1)
{strcpy(nk,"Argo Dwipangga 10"
);strcpy(kls,"Eksekutif");
strcpy(tuj,"Gambir - Prwokerto (PWT)");strcpy(jam,"08:00-12:56");harga1[k]=285000;}
else if (kk==2)
{strcpy(nk,"Argo Dwipangga 11
");strcpy(kls,"Bisnis");
strcpy(tuj,"Gambir - Prwokerto
(PWT)");strcpy(jam,"20:15-01:09");harga1[k]=250000;}
else if (kk==3)
{strcpy(nk,"Purwo Jaya 55");strcpy(kls,"Eksekutif");
strcpy(tuj,"Gambir - Prwokerto
(PWT)");strcpy(jam,"17:40-22:34");harga1[k]=280000;}
else if (kk==4)
{strcpy(nk,"Purwo Jaya
58");strcpy(kls,"Bisnis");
strcpy(tuj,"Gambir - Prwokerto
(PWT)");strcpy(jam,"22:05-03:08");harga1[k]=255000;}
else
{printf ("\n\t\tData Yang Anda Masukan Salah
!!!");
cout<<"\n\t\tApakah anda ingin
melakukan transaksi lagi? [Y/T] :
";cin>>lagi;
if
(lagi=='Y'||lagi=='y')
goto awal;
else
goto akhir;
}
}
}
clrscr();
cout<<"\t=============================================================================\n";
cout<<"\t ASAL - TUJUAN : "<<tuj<<endl;
cout<<"\t NAMA KERETA : "<<nk<<endl;
printf("\t JADWAL : %.f/%.f/%.f %s \n",tgl,bln,thn,jam);
cout<<"\t KELAS : "<<kls<<endl;
cout<<"\t=============================================================================\n";
cout<<"\t* Harga Tiktet Bayi (0-3 Thn) : 0 (Tidak mendapatkan kursi)\n";
cout<<"\t* Tgl. Lahir Bayi yg mengambil kursi,
isi dengan Tgl. Lahir dewasa (Org Tua)\n";
cout<<"\t* Harga Tiket Bayi yg mengambil kursi =
Harga Tiket Dewasa \n";
cout<<"\t=============================================================================\n";
for (k=1;k<=bt;k++)
{
cout<<"PENUMPANG KE- "<<k;
cout<<"\n\t\tNama\t\t\t : ";gets(nama[k]);
cout<<"\t\tTgl. Larir (dd mm yyyy) :
";cin>>tl[k];cin>>bl[k];cin>>thl[k];
cout<<"\t\tNo. HP\t\t\t :
";cin>>kontak[k];
cout<<"\t\tNo.Identitas\t\t :
";cin>>id[k];
}
clrscr();
cout<<"\n\t
==========================================================";
cout<<"\n\t
DATA PEMESANAN TIKET
KERETA API ";
cout<<"\n\t
----------------------------------------------------------";
printf("\n\t\tStasiun Asal-Tujuan\t : %s",tuj);
printf("\n\t\tNama Kereta\t\t : %s",nk);
printf("\n\t\tKelas
\t\t : %s",kls);
printf("\n\t\tJadwal Keberangkatan : %.f/%.f/%.f %s\n",tgl,bln,thn,jam);
cout<<"\t
==========================================================\n";
for
(k=1;k<=bt;k++)
{
if(thl[k]>2014)
{strcpy(ket,"Bayi");
harga1[k]=0;
}
else
{strcpy(ket,"Dewasa");}
cout<<"PENUMPANG
KE-"<<k;
cout<<"\n\t\tNama Penumpang No.Identitas No.Kontak \n\n";
cout<<"\t\t";
cout<<setiosflags(ios::left)<<setw(20)<<nama[k];
cout<<setiosflags(ios::left)<<setw(19)<<id[k];
cout<<setiosflags(ios::left)<<setw(14)<<kontak[k];
cout<<"\n\t
----------------------------------------------------------";
printf("\n\t\tKeterangan\t\t :
%s",ket);
printf("\n\t\tHarga Tiket\t\t :
%.f",harga1[k]);
cout<<"\n\t
==========================================================\n";
tot=tot+harga1[k];
}
adm=1*tot/100;
total=tot+adm;
printf("\n\t\tJumlah Harga\t\t :
%d",tot);
printf("\n\t\tBiaya Admin\t\t : %.f",adm);
printf("\n\t\tTotal Harga\t\t :
%.f",total);
garis1();
printf("\t\tJumlah Bayar\t\t :
");cin>>bayar;
kembali=bayar-total;
printf("\t\tKembali\t\t\t :
%.f",kembali);
cout<<"\n\t
==========================================================";
cout<<"\n\t Segera lakukan cetak
tiket ";
cout<<"\n\t paling lambat 30 menit ";
cout<<"\n\t Sebelum jadwal
keberangkatan ";
cout<<"\n\t
==========================================================";
cout<<"\n\t\t\tIngin Cetak lagi?
[Y/T] : ";cin>>lagi;
if
(lagi=='Y'||lagi=='y')
goto awal;
else
goto akhir;
case strcmp,'B':
case strcmp,'b':
clrscr();
cout<<"\n\t
======DAFTAR PEMBAYARAN KULIAH BSI=======";
cout<<"\n\t----------------------------------------------";
cout<<"\n\t| KODE
| NAMA JURUSAN |";
cout<<"\n\t----------------------------------------------";
cout<<"\n\t|
A | Komputer Akutansi |";
cout<<"\n\t|
B | Manejemen Bahasa Asing |";
cout<<"\n\t|
M | Manejemen Informatika |";
cout<<"\n\t|
T | Teknik Komputer |";
cout<<"\n\t----------------------------------------------";
cout<<"\n\n\t\tNama Mahasiswa\t :
";gets(nama[0]);
cout<<"\t\tNIM
\t : ";cin>>nim;
if(nim>99999999||nim<=9999999)
{printf ("\n\t\tNIM Tidak Terdaftar !!!");
cout<<"\n\t\tApakah anda ingin
melakukan transaksi lagi? [Y/T] :
";cin>>lagi;
if
(lagi=='Y'||lagi=='y')
goto awal;
else
goto akhir;
}
cout<<"\t\tKode Jurusan\t :
";cin>>kod;
cout<<"\t\tSemester\t : ";cin>>smt;
if(smt==1)
{printf ("\n\t\tAnda Sudah Tidak Memiliki Tagihan Untuk
Semester ini !!!");
cout<<"\n\t\tApakah anda ingin
melakukan transaksi lagi? [Y/T] :
";cin>>lagi;
if
(lagi=='Y'||lagi=='y')
goto awal;
else
goto akhir;
}
clrscr();
if (kod=='A'||kod=='a')
{strcpy(nj,"Komputer Akuntansi");
if (smt==2)
harga=2800000;
else if (smt==3)
harga=2600000;
else
harga=2400000;
}
else if (kod=='B'||kod=='b')
{
strcpy(nj,"Manajemen Bahasa Asing
");
if (smt==2)
harga=2900000;
else if (smt==3)
harga=2750000;
else
harga=2500000;
}
else if (kod=='M'||kod=='m')
{
strcpy(nj,"Manajemen Informatika");
if (smt==2)
harga=2750000;
else if (smt==3)
harga=2500000;
else
harga=2450000;
}
else if (kod=='T'||kod=='t')
{
strcpy(nj,"Teknik Komputer");
if (smt==2)
harga=2700000;
else if (smt==3)
harga=2650000;
else
harga=2400000;
}
else
{printf
("\n\t\tKode Salah !!!");
cout<<"\n\t\tIngin Cetak lagi?
[Y/T] : ";cin>>lagi;
if
(lagi=='Y'||lagi=='y')
goto awal;
else
goto akhir;
}
clrscr();
adm=0.2/100*harga;
total=harga+adm;
cout<<"\n\t Bukti Pembayaran Kuliah
Bina Sarana Informatika";
cout<<"\n\t+++++++++++++++++++++++++++++++++++++++++++++++++++";
printf("\n\n\t\tNama \t\t :
%s",nama[0]);
printf("\n\t\tNIM\t\t : %i",nim);
printf("\n\t\tJurusan\t\t : %s",nj);
printf("\n\t\tSemeter\t\t :
%d",smt);
printf("\n\t\tBiaya kuliah\t :
%.f",harga);
cout<<"\n\t\tBiaya Admin\t :
"<<adm;
cout<<"\n\t--------------------------------------------------";
printf("\n\t\tTotal Biaya\t : %.f
",total);
cout<<"\n\t--------------------------------------------------";
printf("\n\t\tJumlah Bayar\t :
");cin>>bayar;
kembali=(bayar-total);
printf("\t\tKembali\t : %.f ",kembali);
cout<<"\n\t===================================================";
cout<<"\n\t+++++ Simpan struk ini
untuk bukti transaksi ++++++";
cout<<"\n\t+++++++++++++++++++++++++++++++++++++++++++++++++++";
cout<<"\n\tApakah anda ingin
melakukan transaksi lagi ? [Y/T] : ";cin>>lagi;
if
(lagi=='Y'||lagi=='y')
goto awal;
else
goto akhir;
case strcmp,'U':
case strcmp,'u':
clrscr();
cout<<"\n\t============== PENGIRIMAN UANG
===============";
cout<<"\n\t========= Masukkan Data Pengiriman
===========";
cout<<"\n\n\tNama Pengirim\t\t :
";gets(nama[0]);
cout<<"\tNo. Identitas/KTP\t :
";cin>>id[0];
cout<<"\tNo. Kontak\t\t :
";cin>>kontak[0];
cout<<"\t------------------------------------------------";
cout<<"\n\tNama Penerima\t : ";gets(nama[1]);
cout<<"\tNo. Identitas/KTP :
";cin>>id[1];
cout<<"\tNo. Kontak\t : ";cin>>kontak[1];
cout<<"\tAlamat\t\t : ";gets(alamat);
cout<<"\tJumlah Uang \t : ";cin>>uang;
if (uang>6000000)
{printf ("\n\tJumlah Uang Melebihi Batas Pengiriman
!!!");
cout<<"\n\tApakah anda ingin
melakukan transaksi lagi? [Y/T] :
";cin>>lagi;
if (lagi=='Y'||lagi=='y')
goto awal;
else
goto akhir;
}
clrscr();
if(uang>1000000)
adm=25000;
else
adm=15000;
cout<<"\n\t=========================================================";
cout<<"\n\t Bukti Transaksi Pengiriman
Uang";
cout<<"\n\t=========================================================";
cout<<"\n\tNama No. No. ";
cout<<"\n\tPengirm Identitas/KTP Kontak
\n\n";
cout<<"\t"<<setiosflags(ios::left)<<setw(25)<<nama[0];
cout<<setiosflags(ios::left)<<setw(20)<<id[0];
cout<<setiosflags(ios::left)<<setw(15)<<kontak[0];
cout<<"\n\t---------------------------------------------------------\n";
cout<<"\n\t\tNama Penerima\t\t :
"<<nama[1];
cout<<"\n\t\tNo. Identitas/KTP\t :
"<<id[1];
cout<<"\n\t\tNo. Kontak\t : "<<kontak[1];
cout<<"\n\t\tAlamat\t\t\t : "<<alamat;
cout<<"\n\t\t------------------------------------------";
cout<<"\n\t\tJumlah Uang \t : "<<uang;
cout<<"\n\t\t------------------------------------------";
cout<<"\n\t\tBiaya Pengiriman\t :
"<<adm;
tot=(uang+adm);
cout<<"\n\t\tTotal\t\t : "<<tot;
cout<<"\n\t\tTunai\t\t\t :
";cin>>bayar;
kembali=bayar-tot;
cout<<"\t\tKembali\t\t\t : "<<kembali;
cout<<"\n\t=========================================================";
cout<<"\n\tPenerima dapat mengambil uang kiriman
di Capmart terdekat";
cout<<"\n\t
dengan membawa kartu identitas sesuai data pemesanan";
cout<<"\n\t=========================================================";
cout<<"\n\t
Simpan struk ini sebagai bukti transaksi";
cout<<"\n\t*********************************************************";
cout<<"\n\tIngin melakukan transaksi lagi ? [Y/T]
: ";cin>>lagi;
if(lagi=='Y'||lagi=='y')
goto awal;
else
goto akhir;
default:
printf
("\n\t\tKode Salah !!!");
cout<<"\n\t\tIngin Melakukan
Transaksi Lagi? [Y/T] : ";
cin>>lagi;
if
(lagi=='Y'||lagi=='y')
{goto awal; }
else
{ goto akhir; }
}
akhir :
printf("\n\t\t\tTerima Kasih");
getch();
}
BAB IV
PENUTUP
4.1 Kesimpulan
Pembuatan program e-Trans diyakini mampu meningkatkan efisiensi kerja dan waktu
sehingga dapat memuaskan baik pihak manajemen toko maupun pihak konsumen.
4.2 Kritik
dan Saran
Penulis menyadari masih banyak
kekurangan dalam makalah ini. Oleh karenanya, masukan dari Ibu Dewi Laraswati
selaku pembimbing dan rekan rekan mahasiswa kami harapkan, guna perbaikan
makalah dan karya tulis dikemudian hari.
DAFTAR PUSTAKA
Utama, Didit N & Widayanti, Riya, “Algoritma
dan Pemrograman dengan Borland C++”, Graha Ilmu – Yogyakarta, 2005
Tim Penyusun Komisi MI, “Modul
Praktikum Pemrograman C++”, Akademi Manajemen Informatika dan Komputer BSI –
Depok, 2017