SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
BAB I
PENDAHULUAN
1.1

Latar Belakang
Seiring dengan kemajuan dan perkembangan zaman di era
globalisasi
pengetahuan

ini,

manusia dituntut

dan

teknologi.

mengikuti

Semakin

perkembangan

ilmu

banyaknya perangkat

lunak

(Software), dan semakin meningkatnya kecanggihan perangkat keras
(Hardware), maka perangkat komputer sebagai alat bantu menjadi
semakin berperan dalam menyelesaikan suatu pekerjaan. Tersedianya
bahasa-bahasa pemograman komputer (C++, Pascal, Basic, dan lain-lain)
telah mendorong para ahli komputer untuk merancang sebuah program
yang dapat dipergunakan sebagai alat bantu dalam menyelesaikan sebuah
pekerjaan dalam bidang tertentu, seperti mesin penghitung untuk Reservasi
Penjualan Tiket Kereta Api. Dimana mesin penghitung mempermudah
penjual dalam melakukan proses pembayaran.

Reservasi Penjualan Tiket Kereta Api
perhitungan

yang

ini

memerlukan

sebuah

lumayan rumit. Sesuai kebutuhan informasi yang

dibutuhkan oleh user, aplikasi ini sangatlah membantu dalam perhitungan
pembayaran Tiket Kereta Api sesuai dengan nama Kereta Api dan Kelas yang
diinputkan oleh user.

1.2

Tujuan dan Manfaat
Program Reservasi Pembelian Tiket Kereta Api ini bertujuan untuk
menampilkan Informasi Harga Tiket Kereta Api dan menampilkan Tiket
Kereta Api dengan cara memasukkan data inputan dari user .
Manfaat dari Program ini adalah:
1. Memudahkan user untuk memilih Kereta Api dan Kelas

1
2. Memudahkan user untuk menghitung total pembayaran pembelian Tiket
Kereta Api

1.3

Batasan Masalah
Batasan-batasan permasalahan dari solusi yang diambil:
1.

Program Reservasi Kereta Api ini hanya dapat dijalankan melalui
Aplikasi Turbo C++ saja. Sementara dijalankan tidak pada Turbo C++
tidak bisa.

2.

Program Reservasi Kereta Api ini belum bisa mengeluarkan struk
(tiket) karena keterbatasan pembuat program.

2
BAB II
PEMBAHASAN
Pada Program Reservasi Tiket Kereta Api memakai beberapa metode:
2.1 Landasan Teori
2.1.1 Percabangan
1. If-Else
If-Else digunakan jika kondisi yang diperiksa dinilai benar terpenuhi
maka

pernyataan pertama yang dilaksanakan, jika kondisi yang

diperiksa bernilai salah maka pernyataan yang kedua yang
dilaksanakan. Begitu seterusnya.
Syntax umum
If (kondisi)
{
pernyataan 1;
}else{
pernyataan 2;
}
2. Switch-Case
Switch-Case

digunakan

untuk

penyeleksian

kondisi

dengan

kemungkinan yang terjadi cukup banyak.
Syntax Umum:
Switch (ekspresi)
{
case: konstanta 1;
pernyataan 1;
break;
case: konstanta 2;

3
pernyataan 2;
break;
case: konstanta 3;
pernyataan 3;
break;
default:
pernyataan lain;
}

2.1.2 Fungsi dan Prosedur
1. Fungsi
Fungsi adalah satu blok kode yang melakukan tugas tertentu yang
memiliki nilai kembalian. Criri utama Fungsi adalah terdapat syntax
‘return’ pada fungsi tersebut.
Syntax umum:
Tipe_Nilai_BalikNama_Fungsi( )
{
Pernyataan;
return Nilai_Balik;
}
2. Prosedur (Fungsi Void)
Satu blok instruksi yang di eksekusi ketika dipanggil dari bagian lain
dalam suatu program. Ciri utama prosedur adalah Tipe Nilai Baliknya
berupa ‘void.
Syntax Umum:
Void Nama_Prosedur( )
{
Pernyataan;
}

4
2.1.3 Perulangan
1. For
For digunakan untuk mengulang program yang menggunakan nilai
awal dan nilai akhir.
Syntax umum:
For(inisialisasi; kondisi; pengubah nilai pencacah)
{
Pernyataan;
}

2. While
Perulangan while digunakan untuk melakukan pengeksekusian dengan
jumlah yang belum diketahui pasti. Pernyataan pada While akan
dieksekusi setelah pengecekan kondisi pada While bernilai True.
Syntax umum:
While(kondisi)
{
Pernyataan;
Pengubah nilai pencacah;
}
3. Do – While
Penyataan perulangan do-while merupakan bentuk perulangan yang
melaksanakan perulangan terlebih dahulu dan pengujian perulangan
dilakukan belakangan.
Syntax umum:
Do
{
Pernyataan;
Pengubah nilai pencacah;
}while(kondisi);

5
2.1.4 Array
Array digunakan untuk menyimpan sekelompok data sejenis yang
disimpan ke dalam variabel dengan nama yang sama, dengan memberi
indeks pada variabel untuk membedakan antara yang satu dengan yang
lain.
Syntax umum:
Nama_Variable[indeks];

6
2.2 FLOWCHART
START
INISIALISASI
PILIH
INPUT KA
KA

(1)
ARGO BROMO

(2)
GAJAYANA

(3)
MALABAR

(3)
MALIOBORO

INPUT
KELAS

(1)
EKSEKUTIF

INPUT
Jml Pnp
Dewasa

(2)
BISNIS

(3)
EKONOMI

INPUT
Jml Pnp
Anak

HRG TIKET
DEWASA=
Hrg Tiket * Jml Pnp
Dewasa

HRG TIKET ANAK=
Hrg Tiket * Jml Pnp
Anak * 20%

FUNGSI
TOTAL= HRG Tiket Anak
DEWASA + HRG Tiket
Dewasa

PESAN
TIKET

[Y/T]

T

Y
INPUT NAMA, NO
KTP, ALAMAT

END

TERIMAKASIH

ULANG[Y/T]

N

CETAK
TIKET

Y
WHILE
(setuju==’y
’||setuju==’Y’)

7
2.3 ALGORITMA
3.2.1 Start Program
3.2.1 Output Tampilan Awal Program
3.2.2 Masukkan Kode Kereta Api
3.2.3 Jika Kode Kereta Api = 1 maka Kereta Api Argo Bromo
3.2.4 Jika Kode Kereta Api = 2 maka Kereta Api Gajayana
3.2.5 Jika Kode Kereta Api = 3 maka Kereta Api Malabar
3.2.6 Jika Kode Kereta Api = 4 maka Kereta Api Malioboro
3.2.7 Masukkan Kode Kelas
3.2.8 Jika Kode Kelas = 1 maka Kelas Eksekutif
3.2.9 Jika Kode Kelas = 2 maka Kelas Bisnis
3.2.10 Jika Kode Kelas = 3 maka Kelas Ekonomi
3.2.11 Masukkan Jumlah Penumpang Dewasa
3.2.12 Output Harga Tiket Penumpang Dewasa
3.2.13 Masukkan Jumlah Penumpang Anak
3.2.14 Ouput Harga Tiket Penumpang Anak
3.2.15 Pilih Y/T untuk melanjutkan pemesanan Tiket Kereta Api
3.2.16 Jika pilihan Y maka Pesan Tiket Kereta Api
3.2.17 Jika pilihan T maka kembali ke Output Tampilan Awal Program
3.2.18 Input Nama, No KTP, dan Alamat
3.2.19 Cetak Tiket

Kereta Api dengan Format: Nama, No KTP,

Alamat,Jumlah Penumpang, Nama Kereta Api, Kelas Kereta Api dan
Total Harga
3.2.20 Output pilihan untuk kembali ke awal Program Y/T
3.2.21 Jika pilih Y akan kembali ke awal program
3.2.22 Jika pilih T akan mengakhiri Program
3.2.23 Program Selesai

8
2.4 Source Code
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<math.h>
int KA, KA1, kelas, kelas1, jmlTiket, dewasa,anak;
long int hargatiket,hitbyrAnak,totalbyrAnak;
double bayarKADewasa, bayarKAAnak,bayarSemuaKA;
char Nama[40], Ktp[40], Alamat[40],setuju,ulang,ulang1;
char namaKelas[3][10]={"Eksekutif" ,"Bisnis" , "Ekonomi"};
char namaKA[4][25] ={ "Argo Bromo", "Gajayana" , "Malabar"
"Malioboro"};
long int Eksekutif[4]={400000,350000,285000,175000};
long int Bisnis[4]={250000,200000,160000,100000};
long int Ekonomi[4]={85000,75000,60000,45000};
void Garis(int G);
long int Bayar(long int x, long int y);
void TampilanProgram();
void BayarKAAnggrek();
void BayarKAGajayana();
void BayarKAMalabar();
void BayarKAMalioboro();

,

main()
{
do
{
TampilanProgram();
switch(KA)
{
case 0:
BayarKAAnggrek();
break;
case 1:
BayarKAGajayana();
break;
case 2:
BayarKAMalabar();
break;
case 3:
BayarKAMalioboro();
break;
default:
cout <<"tPILIHAN TIDAK TERSEDIA"<<endl;
break;

9
}
cout<<endl;
cout<<"t";
Garis(65);
cout<<endl;
cout<<"t";
Garis(65);
cout<<endl;
cout<<"tAPAKAH ANDA INGIN MEMBELI
PESAN?[Y/T]nttt-->";
cin>>setuju;
if(setuju=='T' || setuju=='t')
{
clrscr();
TampilanProgram();
}

TIKET

YANG

SUDAH

ANDA

clrscr();
cout<<"tt ";
Garis(40);
cout<<"nt" << "t|" << "tIDENTITAS PEMESAN KERETA APIt
"<<"|t";
cout<<"ntt|========================================|";
cout<<"ntt ";
Garis(40);
cout<<"ntttNAMA t: ";
gets(Nama);
cout<<"tttNO KTPt: ";
gets(Ktp);
cout<<"tttALAMATt: ";
gets(Alamat);
cout<<endl;
clrscr();
cout<<"tt ";
Garis(49);
cout<<"ntt|" << "ttTIKET KERETA APItt |";
cout<<"ntt|================================================
=|";
cout<<"ntt NAMAttt: "<<Nama;
cout<<"ntt NO KTPttt: "<<Ktp;
cout<<"ntt ALAMATttt: "<<Alamat;
cout<<"ntt JUMLAH PENUMPANGt: "<<jmlTiket;
cout<<"ntt KERETA APItt: " <<namaKA[KA];
cout<<"ntt KELASttt: "<<namaKelas[kelas];
cout<<"ntt DEWASAttt: "<<dewasa;
cout<<"ntt ANAKttt: " <<anak;

10
cout<<"nttTOTALttt:Rp."<<Bayar(bayarKAAnak,bayarKADewas)
<< endl;
cout<<endl;
cout<<endl;
cout<<"ttAPAKAH ANDA INGIN MEMESAN TIKET LAGI?[Y/T]";
cin>>ulang1;
ulang++;
clrscr();
}while(ulang1=='Y'||ulang1=='y');
clrscr();
cout << "tt------------------TERIMAKASIH------------------"<<
endl;
getch();
}
void TampilanProgram()
{
cout<<"t";
Garis(65);
cout<<endl;
cout<<"t";
Garis(65);
cout<<endl;
cout<<"tttPILIH NO KERETA API [1-4]nttt-->";
cin>>KA1;
KA = KA1 - 1;
cout<<endl;
while(KA1>4)
{
clrscr();
TampilanProgram();
cout<<"tttULANGI
SEKALI
LAGI,PILIHAN
TIDAK
TERSEDIA"<<endl;
cout<<"t";
Garis(65);
cout<<endl;
cout<<"t";
Garis(65);
cout<<endl;
cout<<"tttPILIH NO KERETA API [1-4]nttt-->";
cin>>KA1;
KA = KA1 - 1;
cout<<endl;

11
}

cout<<"tttPILIH KELAS [1-3]nttt-->";
cin>>kelas1;
kelas = kelas1 - 1;
cout<<endl;
while(kelas1>3)
{
cout<<"tttULANGI
SEKALI
LAGI,PILIHAN
TERSEDIA!"<<endl;
cout<<"t";
Garis(65);
cout<<endl;
cout<<"t";
Garis(65);
cout<<endl;
cout<<"tttPILIH KELAS [1-3]nttt-->";
cin>>kelas1;
kelas = kelas1 - 1;
cout<<endl;
}

TIDAK

cout<<"tttJUMLAH TIKET YANG DIPESANnttt--> ";
cin>>jmlTiket;
while(jmlTiket>4)
{
clrscr();
cout<<"tttMAKSIMAL MEMESAN 4 TIKET"<<endl;
cout <<"tt";
Garis(40);
cout<<endl;
cout<<"tt";
Garis(40);
cout<<endl;
cout<<"tttJUMLAH TIKET YANG DIPESANnttt--> ";
cin>>jmlTiket;
}
cout<<"tttPENUMPANG DEWASAnttt--> ";
cin>>dewasa;
do
{
cout<<endl;

12
cout<<"tttJUMLAH PENUMPANG DEWASA TAK SESUAI"<<endl;
cout<<"t";
Garis(65);
cout<<endl;
cout<<"t";
Garis(65);
cout<<"ttttPENUMPANG DEWASAnttt-->";
cin>>dewasa;
dewasa++;
}while(dewasa>jmlTiket);
if(dewasa==jmlTiket)
{
cout <<"tttPENUMPANG ANAK-ANAKnttt--> 0"<<endl;
anak = 0;
}else{
anak = jmlTiket-dewasa;
cout<<"tttPENUMPANG
ANAK
ANAKnttt-->
"<<anak<<endl;
}
cout<<"tt ";
Garis(40);
cout<<
"nt"<<"t|"<<"tRESERVASI
TIKET
KERETA
APIt
"<<"|t";
cout<<"ntt|========================================|";
cout<<"ntt ";
Garis(40);
cout<<endl;
cout<<endl;
cout<<endl;
cout<<"t";
Garis(65);
cout<<endl;
cout<<"t";
Garis(65);
cout<<endl;
cout<<"tNO KAt NAMA KAttEKSEKUTIF(1) t BISNIS(2)t
EKONOMI(3)"<<endl;
cout<<"t 1tARGO
BROMOtRp."<<Eksekutif[0]<<"tRp."<<Bisnis[0]<<"tRp."
<<Ekonomi[0]<<endl;
cout<<"t2tGAYAJANAtRp."<<Eksekutif[1]<<"tRp."<<Bisnis[1]
<<"tRp."
<<Ekonomi[1]<<endl;
cout<<"t3tMALABARttRp."<<Eksekutif[2]<<"tRp."<<Bisnis[2]
<<"tRp."<<Ekonomi[2]<<endl;
cout<<"t4tMALIOBOROtRp."<<Eksekutif[3]<<"tRp."<<Bisnis[3]

13
<<"tRp."<<Ekonomi[3]<<endl;
cout<<endl;
cout<<endl;
}
void Garis(int G)
{
for(int x = 1; x <= G; x++)
{
cout<<"-";
}
}

long int Bayar(long int x, long int y)
{
long int xy;
xy = x + y;
return xy;
}
void BayarKAGajayana()
{
switch(kelas)
{
case 0:
hargatiket = Eksekutif[1];
bayarKADewasa = hargatiket * dewasa;
if(anak == 0)
{
bayarKAAnak = 0;
}else{
hitbyrAnak =hargatiket * anak * 0.2;
bayarKAAnak = hargatiket - hitbyrAnak;
}
Break;
case 1:
hargatiket = Bisnis[1];
bayarKADewasa = hargatiket * dewasa;
if(anak == 0)
{
bayarKAAnak = 0;
}else{
hitbyrAnak =hargatiket * anak * 0.2;
bayarKAAnak = hargatiket - hitbyrAnak;
}

14
break;
case 2:
hargatiket = Ekonomi[1];
bayarKADewasa = hargatiket * dewasa;
if(anak == 0)
{
bayarKAAnak = 0;
}else{
hitbyrAnak =hargatiket * anak * 0.2;
bayarKAAnak = hargatiket - hitbyrAnak;
}
break;
default :
cout << "MAAF PILIHAN ANDA TIDAK TERSEDIA" << endl;
break;
}
}
void BayarKAMalabar()
{
switch(kelas)
{
case 0:
hargatiket = Eksekutif[2];
bayarKADewasa = hargatiket * dewasa;
if(anak == 0)
{
bayarKAAnak = 0;
}else{
hitbyrAnak =hargatiket * anak * 0.2;
bayarKAAnak = hargatiket - hitbyrAnak;
}
break;
case 1:
hargatiket = Bisnis[2];
bayarKADewasa = hargatiket * dewasa;
if(anak == 0)
{
bayarKAAnak = 0;
}else{
hitbyrAnak =hargatiket * anak * 0.2;
bayarKAAnak = hargatiket - hitbyrAnak;
}
break;
case 2:
hargatiket = Ekonomi[2];
bayarKADewasa = hargatiket * dewasa;

15
if(anak == 0)
{
bayarKAAnak = 0;
}else{
hitbyrAnak =hargatiket * anak * 0.2;
bayarKAAnak = hargatiket - hitbyrAnak;
}
break;
default :
cout << "MAAF PILIHAN ANDA TIDAK TERSEDIA" << endl;
break;
}
}
void BayarKAMalioboro()
{
switch(kelas)
{
case 0:
hargatiket = Eksekutif[3];
bayarKADewasa = hargatiket * dewasa;
if(anak == 0)
{
bayarKAAnak = 0;
}else{
hitbyrAnak =hargatiket * anak * 0.2;
bayarKAAnak = hargatiket - hitbyrAnak;
}
break;
case 1:
hargatiket = Bisnis[3];
bayarKADewasa = hargatiket * dewasa;
if(anak == 0)
{
bayarKAAnak = 0;
}else{
hitbyrAnak =hargatiket * anak * 0.2;
bayarKAAnak = hargatiket - hitbyrAnak;
}
break;
case 2:
hargatiket = Ekonomi[3];
bayarKADewasa = hargatiket * dewasa;
if(anak == 0)
{
bayarKAAnak = 0;
}else{

16
hitbyrAnak =hargatiket * anak * 0.2;
bayarKAAnak = hargatiket - hitbyrAnak;
}
break;
default :
cout << "MAAF PILIHAN ANDA TIDAK TERSEDIA" << endl;
break;
}
}
void BayarKAAnggrek()
{
switch(kelas)
{
case 0:
hargatiket = Eksekutif[0];
bayarKADewasa = hargatiket * dewasa;
if(anak == 0)
{
bayarKAAnak = 0;
}else{
hitbyrAnak =hargatiket * anak * 0.2;
bayarKAAnak = hargatiket - hitbyrAnak;
}
break;
case 1:
hargatiket = Bisnis[0];
bayarKADewasa = hargatiket * dewasa;
if(anak == 0)
{
bayarKAAnak = 0;
}else{
hitbyrAnak =hargatiket * anak * 0.2;
bayarKAAnak = hargatiket - hitbyrAnak;
}
break;
case 2:
hargatiket = Ekonomi[0];
bayarKADewasa = hargatiket * dewasa;
if(anak == 0)
{
bayarKAAnak = 0;
}else{
hitbyrAnak =hargatiket * anak * 0.2;
bayarKAAnak = hargatiket - hitbyrAnak;
}

17
break;
default :
cout << "PILIHAN ANDA TIDAK TERSEDIA MAAF " << endl;
break;
}
}

18
2.5 Analisis Program
1. Pada tampilan awal ini berisi Informasi Harga Tiket Kereta Api,

Gambar 2.1 Tampilan Awal
(Sumber: Praktikum)

2. Untuk memesan Tiket Kereta Api, masukkan No Kereta Api dan Kelas Kereta
Api. Kemudian Klik Tombol Enter pada Keyboard.

Gambar 2.2 Pemilihan Kereta Api dan Kelas Kereta Api
(Sumber: Praktikum)

19
3. Masukkan Jumlah Penumpang. Untuk Jumlah Penumpang dibatasi hanya bias
memesan 4 orang dalam 1 tiket. Kemudian masukkan Jumlah Penumpang
Dewasa dan Anak-Anak, kemudian input ‘Y’ jika ingin memesan Tiket
Kereta Api atau ‘T’ jika ingin membatalkan pemesanan Tiket Kereta Api.

Gambar 2.3 Inputan Jumlah Penumpang
(Sumber: Praktikum)

4. Kemudian inputkan Nama, No KTP dan Alamat. Kemudian klik enter

Gambar 2.4 Penginputan Identitas Pemesan Tiket Kereta Api
(Sumber: Praktikum)

20
5. Setelah itu akan tampil output hasil dari opsi - opsi yang telah kita pilih tadi
yaitu Tiket Kereta Api

Gambar 2.5 Tampilan Tiket Kereta Api
(Sumber: Parktikum)
2.6 Rancangan Pengembangan
1. Bisa mencetak Tiket Kereta Api dalam bentuk print out.
2. Menambahkan Inputan Tempat Duduk Kereta Api dan perhitungan
pembayaran sesuai dengan Pemberangkatan dan Kedatangan.
3. Bisa melakukan pencarian data, pengeditan data, dan penghapusan data.

21
BAB III
PENUTUP

3.1

Kesimpulan
Program Reservasi Penjualan Tiket Kereta Api dibuat dari Bahasa
Pemrograman C++ yang berbasis TUI ( Text User Interface). Program ini
menggunakan statement for, while , do – while, if-else, switch-case, array
serta fungsi prosedur. Dengan adanya program ini maka dapat disimpulkan:
1. Operator akan lebih mudah dalam menjalankan proses pembayaran
Tiket Kereta. Karena operator tersebut hanya tinggal memilih Nama
Kereta Api, Kelas dan Jumlah Penumpang.
2.

Waktu yang terpakai dalam proses Penjualan Tiket Kereta Api menjadi
jauh lebih efisien.

3.1

Saran
Program yang dibuat oleh penulis masih dapat dikembangkan menjadi
lebih besar, karena penulis menyadari bahwa program yang dibuat masih
terdapat banyak kekurangan. Beberapa saran yang dapat penulis sampaikan
diantaranya:
1. Nama Kereta Api yang terdapat pada opsi dapat ditambah lebih banyak.
2. Program ini dapat mencetak Tiket Kereta Api yang berupa print out.
3. Program ini dapat ditambahkan Inputan Tempat Duduk Kereta Api dan
perhitungan pembayaran sesuai dengan Pemberangkatan dan Kedatangan.
4. Program ini dapat didesain dengan tampilan yang lebih baik dan
lebih menarik lagi.

22
DAFTAR PUSTAKA

Tim

Algoritma&Pemograma.

2013.Modul

Praktikum

Algoritma

dan

Pemograman. Malang: Laboratorium RPL &Pemograman.

Kadir ,Abdul. 2012. Buku Pintar C++ untuk Pemula. Yogyakarta: Mediakom

23

Más contenido relacionado

La actualidad más candente

Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Fatma Qolbi
 
Penalaran Deduktif dan Indukitf untuk pembelajaran matematika dasar progam PGSD
Penalaran Deduktif dan Indukitf untuk pembelajaran matematika dasar progam PGSDPenalaran Deduktif dan Indukitf untuk pembelajaran matematika dasar progam PGSD
Penalaran Deduktif dan Indukitf untuk pembelajaran matematika dasar progam PGSD
Rosyidah L
 
Sistem Persamaan Linear
 Sistem Persamaan Linear Sistem Persamaan Linear
Sistem Persamaan Linear
Rizky Wulansari
 
Analisis bab1 bab2
Analisis bab1 bab2Analisis bab1 bab2
Analisis bab1 bab2
Charro NieZz
 
Persamaan garis lurus(Geometri Analitik Ruang)
Persamaan garis lurus(Geometri Analitik Ruang)Persamaan garis lurus(Geometri Analitik Ruang)
Persamaan garis lurus(Geometri Analitik Ruang)
Dyas Arientiyya
 
12. contoh soal uts statistika
12. contoh soal uts statistika12. contoh soal uts statistika
12. contoh soal uts statistika
aliyudin007
 
Uji validitas dan_reliabilitas
Uji validitas dan_reliabilitasUji validitas dan_reliabilitas
Uji validitas dan_reliabilitas
Ical Azmy
 

La actualidad más candente (20)

ALJABAR LINEAR ELEMENTER
ALJABAR LINEAR ELEMENTERALJABAR LINEAR ELEMENTER
ALJABAR LINEAR ELEMENTER
 
Ruang Vektor ( Aljabar Linear Elementer )
Ruang Vektor ( Aljabar Linear Elementer )Ruang Vektor ( Aljabar Linear Elementer )
Ruang Vektor ( Aljabar Linear Elementer )
 
BAB 2 Pencerminan (Refleksi)
BAB 2 Pencerminan (Refleksi)BAB 2 Pencerminan (Refleksi)
BAB 2 Pencerminan (Refleksi)
 
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
 
Penalaran Deduktif dan Indukitf untuk pembelajaran matematika dasar progam PGSD
Penalaran Deduktif dan Indukitf untuk pembelajaran matematika dasar progam PGSDPenalaran Deduktif dan Indukitf untuk pembelajaran matematika dasar progam PGSD
Penalaran Deduktif dan Indukitf untuk pembelajaran matematika dasar progam PGSD
 
Proposisi Logika Matematika
Proposisi Logika MatematikaProposisi Logika Matematika
Proposisi Logika Matematika
 
Struktur aljabar-2
Struktur aljabar-2Struktur aljabar-2
Struktur aljabar-2
 
Modul 7 persamaan diophantine
Modul 7   persamaan diophantineModul 7   persamaan diophantine
Modul 7 persamaan diophantine
 
Sistem Persamaan Linear
 Sistem Persamaan Linear Sistem Persamaan Linear
Sistem Persamaan Linear
 
Himpunan matematika diskrit
Himpunan matematika diskritHimpunan matematika diskrit
Himpunan matematika diskrit
 
Teknik korelasi product moment
Teknik korelasi product momentTeknik korelasi product moment
Teknik korelasi product moment
 
Matematika Diskrit - 09 graf - 06
Matematika Diskrit - 09 graf - 06Matematika Diskrit - 09 graf - 06
Matematika Diskrit - 09 graf - 06
 
Analisis bab1 bab2
Analisis bab1 bab2Analisis bab1 bab2
Analisis bab1 bab2
 
Persamaan garis lurus(Geometri Analitik Ruang)
Persamaan garis lurus(Geometri Analitik Ruang)Persamaan garis lurus(Geometri Analitik Ruang)
Persamaan garis lurus(Geometri Analitik Ruang)
 
12. contoh soal uts statistika
12. contoh soal uts statistika12. contoh soal uts statistika
12. contoh soal uts statistika
 
SLIDE KE:5 NFA
SLIDE KE:5 NFASLIDE KE:5 NFA
SLIDE KE:5 NFA
 
Relasi rekursi (2) : Menentukan solusi relasi Rekursi Linier Homogen Berkoefi...
Relasi rekursi (2) : Menentukan solusi relasi Rekursi Linier Homogen Berkoefi...Relasi rekursi (2) : Menentukan solusi relasi Rekursi Linier Homogen Berkoefi...
Relasi rekursi (2) : Menentukan solusi relasi Rekursi Linier Homogen Berkoefi...
 
Penyederhanaan Karnaugh Map
Penyederhanaan Karnaugh MapPenyederhanaan Karnaugh Map
Penyederhanaan Karnaugh Map
 
Metode numerik pertemuan 7 (interpolasi lagrange)
Metode numerik pertemuan 7 (interpolasi lagrange)Metode numerik pertemuan 7 (interpolasi lagrange)
Metode numerik pertemuan 7 (interpolasi lagrange)
 
Uji validitas dan_reliabilitas
Uji validitas dan_reliabilitasUji validitas dan_reliabilitas
Uji validitas dan_reliabilitas
 

Similar a Laporan

Pengenalan konsep pemrograman
Pengenalan konsep pemrogramanPengenalan konsep pemrograman
Pengenalan konsep pemrograman
purispace
 
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanie Indah
 
MAKALAH PERULANGAN BAHASA C ( Diki Candra ).docx
MAKALAH PERULANGAN BAHASA C ( Diki Candra ).docxMAKALAH PERULANGAN BAHASA C ( Diki Candra ).docx
MAKALAH PERULANGAN BAHASA C ( Diki Candra ).docx
Dikicandra6
 
Bab 3. pengenalan algoritma
Bab 3. pengenalan algoritmaBab 3. pengenalan algoritma
Bab 3. pengenalan algoritma
Arif Punk Street
 

Similar a Laporan (20)

Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliah
 
Dasar-Pemrograman-Modul-1-Pengenalan-Pemrograman.pdf
Dasar-Pemrograman-Modul-1-Pengenalan-Pemrograman.pdfDasar-Pemrograman-Modul-1-Pengenalan-Pemrograman.pdf
Dasar-Pemrograman-Modul-1-Pengenalan-Pemrograman.pdf
 
Algoritma Procedure
Algoritma ProcedureAlgoritma Procedure
Algoritma Procedure
 
Intruksi Fundamental
Intruksi FundamentalIntruksi Fundamental
Intruksi Fundamental
 
Penggunaan prosedur dan fungsi pada pemrograman c++
Penggunaan prosedur dan fungsi pada pemrograman c++Penggunaan prosedur dan fungsi pada pemrograman c++
Penggunaan prosedur dan fungsi pada pemrograman c++
 
Materi matakuliah bahasa c
Materi matakuliah bahasa cMateri matakuliah bahasa c
Materi matakuliah bahasa c
 
Materi : Chapter 1 Pemrograman Lanjut.pdf
Materi : Chapter 1 Pemrograman Lanjut.pdfMateri : Chapter 1 Pemrograman Lanjut.pdf
Materi : Chapter 1 Pemrograman Lanjut.pdf
 
Pengenalan konsep pemrograman
Pengenalan konsep pemrogramanPengenalan konsep pemrograman
Pengenalan konsep pemrograman
 
P3 depandi enda
P3 depandi endaP3 depandi enda
P3 depandi enda
 
Modul vii dan viii algo
Modul vii dan viii algoModul vii dan viii algo
Modul vii dan viii algo
 
Bab 3. Pengenalan Dasar dasar Algoritma .ppt
Bab 3. Pengenalan Dasar dasar Algoritma .pptBab 3. Pengenalan Dasar dasar Algoritma .ppt
Bab 3. Pengenalan Dasar dasar Algoritma .ppt
 
DDP_ProgramHitung_Ni Kadek Lia Mastika Dewi.pptx
DDP_ProgramHitung_Ni Kadek Lia Mastika Dewi.pptxDDP_ProgramHitung_Ni Kadek Lia Mastika Dewi.pptx
DDP_ProgramHitung_Ni Kadek Lia Mastika Dewi.pptx
 
Pengenalan algoritma.ppt
Pengenalan algoritma.pptPengenalan algoritma.ppt
Pengenalan algoritma.ppt
 
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
 
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
 
Modularisasi – function dalam c++
Modularisasi – function dalam c++Modularisasi – function dalam c++
Modularisasi – function dalam c++
 
Materi 5
Materi 5Materi 5
Materi 5
 
MAKALAH PERULANGAN BAHASA C ( Diki Candra ).docx
MAKALAH PERULANGAN BAHASA C ( Diki Candra ).docxMAKALAH PERULANGAN BAHASA C ( Diki Candra ).docx
MAKALAH PERULANGAN BAHASA C ( Diki Candra ).docx
 
Bab 3. pengenalan algoritma
Bab 3. pengenalan algoritmaBab 3. pengenalan algoritma
Bab 3. pengenalan algoritma
 
01_Pengenalan_Algoritma_ppt.ppt
01_Pengenalan_Algoritma_ppt.ppt01_Pengenalan_Algoritma_ppt.ppt
01_Pengenalan_Algoritma_ppt.ppt
 

Laporan

  • 1. BAB I PENDAHULUAN 1.1 Latar Belakang Seiring dengan kemajuan dan perkembangan zaman di era globalisasi pengetahuan ini, manusia dituntut dan teknologi. mengikuti Semakin perkembangan ilmu banyaknya perangkat lunak (Software), dan semakin meningkatnya kecanggihan perangkat keras (Hardware), maka perangkat komputer sebagai alat bantu menjadi semakin berperan dalam menyelesaikan suatu pekerjaan. Tersedianya bahasa-bahasa pemograman komputer (C++, Pascal, Basic, dan lain-lain) telah mendorong para ahli komputer untuk merancang sebuah program yang dapat dipergunakan sebagai alat bantu dalam menyelesaikan sebuah pekerjaan dalam bidang tertentu, seperti mesin penghitung untuk Reservasi Penjualan Tiket Kereta Api. Dimana mesin penghitung mempermudah penjual dalam melakukan proses pembayaran. Reservasi Penjualan Tiket Kereta Api perhitungan yang ini memerlukan sebuah lumayan rumit. Sesuai kebutuhan informasi yang dibutuhkan oleh user, aplikasi ini sangatlah membantu dalam perhitungan pembayaran Tiket Kereta Api sesuai dengan nama Kereta Api dan Kelas yang diinputkan oleh user. 1.2 Tujuan dan Manfaat Program Reservasi Pembelian Tiket Kereta Api ini bertujuan untuk menampilkan Informasi Harga Tiket Kereta Api dan menampilkan Tiket Kereta Api dengan cara memasukkan data inputan dari user . Manfaat dari Program ini adalah: 1. Memudahkan user untuk memilih Kereta Api dan Kelas 1
  • 2. 2. Memudahkan user untuk menghitung total pembayaran pembelian Tiket Kereta Api 1.3 Batasan Masalah Batasan-batasan permasalahan dari solusi yang diambil: 1. Program Reservasi Kereta Api ini hanya dapat dijalankan melalui Aplikasi Turbo C++ saja. Sementara dijalankan tidak pada Turbo C++ tidak bisa. 2. Program Reservasi Kereta Api ini belum bisa mengeluarkan struk (tiket) karena keterbatasan pembuat program. 2
  • 3. BAB II PEMBAHASAN Pada Program Reservasi Tiket Kereta Api memakai beberapa metode: 2.1 Landasan Teori 2.1.1 Percabangan 1. If-Else If-Else digunakan jika kondisi yang diperiksa dinilai benar terpenuhi maka pernyataan pertama yang dilaksanakan, jika kondisi yang diperiksa bernilai salah maka pernyataan yang kedua yang dilaksanakan. Begitu seterusnya. Syntax umum If (kondisi) { pernyataan 1; }else{ pernyataan 2; } 2. Switch-Case Switch-Case digunakan untuk penyeleksian kondisi dengan kemungkinan yang terjadi cukup banyak. Syntax Umum: Switch (ekspresi) { case: konstanta 1; pernyataan 1; break; case: konstanta 2; 3
  • 4. pernyataan 2; break; case: konstanta 3; pernyataan 3; break; default: pernyataan lain; } 2.1.2 Fungsi dan Prosedur 1. Fungsi Fungsi adalah satu blok kode yang melakukan tugas tertentu yang memiliki nilai kembalian. Criri utama Fungsi adalah terdapat syntax ‘return’ pada fungsi tersebut. Syntax umum: Tipe_Nilai_BalikNama_Fungsi( ) { Pernyataan; return Nilai_Balik; } 2. Prosedur (Fungsi Void) Satu blok instruksi yang di eksekusi ketika dipanggil dari bagian lain dalam suatu program. Ciri utama prosedur adalah Tipe Nilai Baliknya berupa ‘void. Syntax Umum: Void Nama_Prosedur( ) { Pernyataan; } 4
  • 5. 2.1.3 Perulangan 1. For For digunakan untuk mengulang program yang menggunakan nilai awal dan nilai akhir. Syntax umum: For(inisialisasi; kondisi; pengubah nilai pencacah) { Pernyataan; } 2. While Perulangan while digunakan untuk melakukan pengeksekusian dengan jumlah yang belum diketahui pasti. Pernyataan pada While akan dieksekusi setelah pengecekan kondisi pada While bernilai True. Syntax umum: While(kondisi) { Pernyataan; Pengubah nilai pencacah; } 3. Do – While Penyataan perulangan do-while merupakan bentuk perulangan yang melaksanakan perulangan terlebih dahulu dan pengujian perulangan dilakukan belakangan. Syntax umum: Do { Pernyataan; Pengubah nilai pencacah; }while(kondisi); 5
  • 6. 2.1.4 Array Array digunakan untuk menyimpan sekelompok data sejenis yang disimpan ke dalam variabel dengan nama yang sama, dengan memberi indeks pada variabel untuk membedakan antara yang satu dengan yang lain. Syntax umum: Nama_Variable[indeks]; 6
  • 7. 2.2 FLOWCHART START INISIALISASI PILIH INPUT KA KA (1) ARGO BROMO (2) GAJAYANA (3) MALABAR (3) MALIOBORO INPUT KELAS (1) EKSEKUTIF INPUT Jml Pnp Dewasa (2) BISNIS (3) EKONOMI INPUT Jml Pnp Anak HRG TIKET DEWASA= Hrg Tiket * Jml Pnp Dewasa HRG TIKET ANAK= Hrg Tiket * Jml Pnp Anak * 20% FUNGSI TOTAL= HRG Tiket Anak DEWASA + HRG Tiket Dewasa PESAN TIKET [Y/T] T Y INPUT NAMA, NO KTP, ALAMAT END TERIMAKASIH ULANG[Y/T] N CETAK TIKET Y WHILE (setuju==’y ’||setuju==’Y’) 7
  • 8. 2.3 ALGORITMA 3.2.1 Start Program 3.2.1 Output Tampilan Awal Program 3.2.2 Masukkan Kode Kereta Api 3.2.3 Jika Kode Kereta Api = 1 maka Kereta Api Argo Bromo 3.2.4 Jika Kode Kereta Api = 2 maka Kereta Api Gajayana 3.2.5 Jika Kode Kereta Api = 3 maka Kereta Api Malabar 3.2.6 Jika Kode Kereta Api = 4 maka Kereta Api Malioboro 3.2.7 Masukkan Kode Kelas 3.2.8 Jika Kode Kelas = 1 maka Kelas Eksekutif 3.2.9 Jika Kode Kelas = 2 maka Kelas Bisnis 3.2.10 Jika Kode Kelas = 3 maka Kelas Ekonomi 3.2.11 Masukkan Jumlah Penumpang Dewasa 3.2.12 Output Harga Tiket Penumpang Dewasa 3.2.13 Masukkan Jumlah Penumpang Anak 3.2.14 Ouput Harga Tiket Penumpang Anak 3.2.15 Pilih Y/T untuk melanjutkan pemesanan Tiket Kereta Api 3.2.16 Jika pilihan Y maka Pesan Tiket Kereta Api 3.2.17 Jika pilihan T maka kembali ke Output Tampilan Awal Program 3.2.18 Input Nama, No KTP, dan Alamat 3.2.19 Cetak Tiket Kereta Api dengan Format: Nama, No KTP, Alamat,Jumlah Penumpang, Nama Kereta Api, Kelas Kereta Api dan Total Harga 3.2.20 Output pilihan untuk kembali ke awal Program Y/T 3.2.21 Jika pilih Y akan kembali ke awal program 3.2.22 Jika pilih T akan mengakhiri Program 3.2.23 Program Selesai 8
  • 9. 2.4 Source Code #include<iostream.h> #include<conio.h> #include<stdio.h> #include<math.h> int KA, KA1, kelas, kelas1, jmlTiket, dewasa,anak; long int hargatiket,hitbyrAnak,totalbyrAnak; double bayarKADewasa, bayarKAAnak,bayarSemuaKA; char Nama[40], Ktp[40], Alamat[40],setuju,ulang,ulang1; char namaKelas[3][10]={"Eksekutif" ,"Bisnis" , "Ekonomi"}; char namaKA[4][25] ={ "Argo Bromo", "Gajayana" , "Malabar" "Malioboro"}; long int Eksekutif[4]={400000,350000,285000,175000}; long int Bisnis[4]={250000,200000,160000,100000}; long int Ekonomi[4]={85000,75000,60000,45000}; void Garis(int G); long int Bayar(long int x, long int y); void TampilanProgram(); void BayarKAAnggrek(); void BayarKAGajayana(); void BayarKAMalabar(); void BayarKAMalioboro(); , main() { do { TampilanProgram(); switch(KA) { case 0: BayarKAAnggrek(); break; case 1: BayarKAGajayana(); break; case 2: BayarKAMalabar(); break; case 3: BayarKAMalioboro(); break; default: cout <<"tPILIHAN TIDAK TERSEDIA"<<endl; break; 9
  • 10. } cout<<endl; cout<<"t"; Garis(65); cout<<endl; cout<<"t"; Garis(65); cout<<endl; cout<<"tAPAKAH ANDA INGIN MEMBELI PESAN?[Y/T]nttt-->"; cin>>setuju; if(setuju=='T' || setuju=='t') { clrscr(); TampilanProgram(); } TIKET YANG SUDAH ANDA clrscr(); cout<<"tt "; Garis(40); cout<<"nt" << "t|" << "tIDENTITAS PEMESAN KERETA APIt "<<"|t"; cout<<"ntt|========================================|"; cout<<"ntt "; Garis(40); cout<<"ntttNAMA t: "; gets(Nama); cout<<"tttNO KTPt: "; gets(Ktp); cout<<"tttALAMATt: "; gets(Alamat); cout<<endl; clrscr(); cout<<"tt "; Garis(49); cout<<"ntt|" << "ttTIKET KERETA APItt |"; cout<<"ntt|================================================ =|"; cout<<"ntt NAMAttt: "<<Nama; cout<<"ntt NO KTPttt: "<<Ktp; cout<<"ntt ALAMATttt: "<<Alamat; cout<<"ntt JUMLAH PENUMPANGt: "<<jmlTiket; cout<<"ntt KERETA APItt: " <<namaKA[KA]; cout<<"ntt KELASttt: "<<namaKelas[kelas]; cout<<"ntt DEWASAttt: "<<dewasa; cout<<"ntt ANAKttt: " <<anak; 10
  • 11. cout<<"nttTOTALttt:Rp."<<Bayar(bayarKAAnak,bayarKADewas) << endl; cout<<endl; cout<<endl; cout<<"ttAPAKAH ANDA INGIN MEMESAN TIKET LAGI?[Y/T]"; cin>>ulang1; ulang++; clrscr(); }while(ulang1=='Y'||ulang1=='y'); clrscr(); cout << "tt------------------TERIMAKASIH------------------"<< endl; getch(); } void TampilanProgram() { cout<<"t"; Garis(65); cout<<endl; cout<<"t"; Garis(65); cout<<endl; cout<<"tttPILIH NO KERETA API [1-4]nttt-->"; cin>>KA1; KA = KA1 - 1; cout<<endl; while(KA1>4) { clrscr(); TampilanProgram(); cout<<"tttULANGI SEKALI LAGI,PILIHAN TIDAK TERSEDIA"<<endl; cout<<"t"; Garis(65); cout<<endl; cout<<"t"; Garis(65); cout<<endl; cout<<"tttPILIH NO KERETA API [1-4]nttt-->"; cin>>KA1; KA = KA1 - 1; cout<<endl; 11
  • 12. } cout<<"tttPILIH KELAS [1-3]nttt-->"; cin>>kelas1; kelas = kelas1 - 1; cout<<endl; while(kelas1>3) { cout<<"tttULANGI SEKALI LAGI,PILIHAN TERSEDIA!"<<endl; cout<<"t"; Garis(65); cout<<endl; cout<<"t"; Garis(65); cout<<endl; cout<<"tttPILIH KELAS [1-3]nttt-->"; cin>>kelas1; kelas = kelas1 - 1; cout<<endl; } TIDAK cout<<"tttJUMLAH TIKET YANG DIPESANnttt--> "; cin>>jmlTiket; while(jmlTiket>4) { clrscr(); cout<<"tttMAKSIMAL MEMESAN 4 TIKET"<<endl; cout <<"tt"; Garis(40); cout<<endl; cout<<"tt"; Garis(40); cout<<endl; cout<<"tttJUMLAH TIKET YANG DIPESANnttt--> "; cin>>jmlTiket; } cout<<"tttPENUMPANG DEWASAnttt--> "; cin>>dewasa; do { cout<<endl; 12
  • 13. cout<<"tttJUMLAH PENUMPANG DEWASA TAK SESUAI"<<endl; cout<<"t"; Garis(65); cout<<endl; cout<<"t"; Garis(65); cout<<"ttttPENUMPANG DEWASAnttt-->"; cin>>dewasa; dewasa++; }while(dewasa>jmlTiket); if(dewasa==jmlTiket) { cout <<"tttPENUMPANG ANAK-ANAKnttt--> 0"<<endl; anak = 0; }else{ anak = jmlTiket-dewasa; cout<<"tttPENUMPANG ANAK ANAKnttt--> "<<anak<<endl; } cout<<"tt "; Garis(40); cout<< "nt"<<"t|"<<"tRESERVASI TIKET KERETA APIt "<<"|t"; cout<<"ntt|========================================|"; cout<<"ntt "; Garis(40); cout<<endl; cout<<endl; cout<<endl; cout<<"t"; Garis(65); cout<<endl; cout<<"t"; Garis(65); cout<<endl; cout<<"tNO KAt NAMA KAttEKSEKUTIF(1) t BISNIS(2)t EKONOMI(3)"<<endl; cout<<"t 1tARGO BROMOtRp."<<Eksekutif[0]<<"tRp."<<Bisnis[0]<<"tRp." <<Ekonomi[0]<<endl; cout<<"t2tGAYAJANAtRp."<<Eksekutif[1]<<"tRp."<<Bisnis[1] <<"tRp." <<Ekonomi[1]<<endl; cout<<"t3tMALABARttRp."<<Eksekutif[2]<<"tRp."<<Bisnis[2] <<"tRp."<<Ekonomi[2]<<endl; cout<<"t4tMALIOBOROtRp."<<Eksekutif[3]<<"tRp."<<Bisnis[3] 13
  • 14. <<"tRp."<<Ekonomi[3]<<endl; cout<<endl; cout<<endl; } void Garis(int G) { for(int x = 1; x <= G; x++) { cout<<"-"; } } long int Bayar(long int x, long int y) { long int xy; xy = x + y; return xy; } void BayarKAGajayana() { switch(kelas) { case 0: hargatiket = Eksekutif[1]; bayarKADewasa = hargatiket * dewasa; if(anak == 0) { bayarKAAnak = 0; }else{ hitbyrAnak =hargatiket * anak * 0.2; bayarKAAnak = hargatiket - hitbyrAnak; } Break; case 1: hargatiket = Bisnis[1]; bayarKADewasa = hargatiket * dewasa; if(anak == 0) { bayarKAAnak = 0; }else{ hitbyrAnak =hargatiket * anak * 0.2; bayarKAAnak = hargatiket - hitbyrAnak; } 14
  • 15. break; case 2: hargatiket = Ekonomi[1]; bayarKADewasa = hargatiket * dewasa; if(anak == 0) { bayarKAAnak = 0; }else{ hitbyrAnak =hargatiket * anak * 0.2; bayarKAAnak = hargatiket - hitbyrAnak; } break; default : cout << "MAAF PILIHAN ANDA TIDAK TERSEDIA" << endl; break; } } void BayarKAMalabar() { switch(kelas) { case 0: hargatiket = Eksekutif[2]; bayarKADewasa = hargatiket * dewasa; if(anak == 0) { bayarKAAnak = 0; }else{ hitbyrAnak =hargatiket * anak * 0.2; bayarKAAnak = hargatiket - hitbyrAnak; } break; case 1: hargatiket = Bisnis[2]; bayarKADewasa = hargatiket * dewasa; if(anak == 0) { bayarKAAnak = 0; }else{ hitbyrAnak =hargatiket * anak * 0.2; bayarKAAnak = hargatiket - hitbyrAnak; } break; case 2: hargatiket = Ekonomi[2]; bayarKADewasa = hargatiket * dewasa; 15
  • 16. if(anak == 0) { bayarKAAnak = 0; }else{ hitbyrAnak =hargatiket * anak * 0.2; bayarKAAnak = hargatiket - hitbyrAnak; } break; default : cout << "MAAF PILIHAN ANDA TIDAK TERSEDIA" << endl; break; } } void BayarKAMalioboro() { switch(kelas) { case 0: hargatiket = Eksekutif[3]; bayarKADewasa = hargatiket * dewasa; if(anak == 0) { bayarKAAnak = 0; }else{ hitbyrAnak =hargatiket * anak * 0.2; bayarKAAnak = hargatiket - hitbyrAnak; } break; case 1: hargatiket = Bisnis[3]; bayarKADewasa = hargatiket * dewasa; if(anak == 0) { bayarKAAnak = 0; }else{ hitbyrAnak =hargatiket * anak * 0.2; bayarKAAnak = hargatiket - hitbyrAnak; } break; case 2: hargatiket = Ekonomi[3]; bayarKADewasa = hargatiket * dewasa; if(anak == 0) { bayarKAAnak = 0; }else{ 16
  • 17. hitbyrAnak =hargatiket * anak * 0.2; bayarKAAnak = hargatiket - hitbyrAnak; } break; default : cout << "MAAF PILIHAN ANDA TIDAK TERSEDIA" << endl; break; } } void BayarKAAnggrek() { switch(kelas) { case 0: hargatiket = Eksekutif[0]; bayarKADewasa = hargatiket * dewasa; if(anak == 0) { bayarKAAnak = 0; }else{ hitbyrAnak =hargatiket * anak * 0.2; bayarKAAnak = hargatiket - hitbyrAnak; } break; case 1: hargatiket = Bisnis[0]; bayarKADewasa = hargatiket * dewasa; if(anak == 0) { bayarKAAnak = 0; }else{ hitbyrAnak =hargatiket * anak * 0.2; bayarKAAnak = hargatiket - hitbyrAnak; } break; case 2: hargatiket = Ekonomi[0]; bayarKADewasa = hargatiket * dewasa; if(anak == 0) { bayarKAAnak = 0; }else{ hitbyrAnak =hargatiket * anak * 0.2; bayarKAAnak = hargatiket - hitbyrAnak; } 17
  • 18. break; default : cout << "PILIHAN ANDA TIDAK TERSEDIA MAAF " << endl; break; } } 18
  • 19. 2.5 Analisis Program 1. Pada tampilan awal ini berisi Informasi Harga Tiket Kereta Api, Gambar 2.1 Tampilan Awal (Sumber: Praktikum) 2. Untuk memesan Tiket Kereta Api, masukkan No Kereta Api dan Kelas Kereta Api. Kemudian Klik Tombol Enter pada Keyboard. Gambar 2.2 Pemilihan Kereta Api dan Kelas Kereta Api (Sumber: Praktikum) 19
  • 20. 3. Masukkan Jumlah Penumpang. Untuk Jumlah Penumpang dibatasi hanya bias memesan 4 orang dalam 1 tiket. Kemudian masukkan Jumlah Penumpang Dewasa dan Anak-Anak, kemudian input ‘Y’ jika ingin memesan Tiket Kereta Api atau ‘T’ jika ingin membatalkan pemesanan Tiket Kereta Api. Gambar 2.3 Inputan Jumlah Penumpang (Sumber: Praktikum) 4. Kemudian inputkan Nama, No KTP dan Alamat. Kemudian klik enter Gambar 2.4 Penginputan Identitas Pemesan Tiket Kereta Api (Sumber: Praktikum) 20
  • 21. 5. Setelah itu akan tampil output hasil dari opsi - opsi yang telah kita pilih tadi yaitu Tiket Kereta Api Gambar 2.5 Tampilan Tiket Kereta Api (Sumber: Parktikum) 2.6 Rancangan Pengembangan 1. Bisa mencetak Tiket Kereta Api dalam bentuk print out. 2. Menambahkan Inputan Tempat Duduk Kereta Api dan perhitungan pembayaran sesuai dengan Pemberangkatan dan Kedatangan. 3. Bisa melakukan pencarian data, pengeditan data, dan penghapusan data. 21
  • 22. BAB III PENUTUP 3.1 Kesimpulan Program Reservasi Penjualan Tiket Kereta Api dibuat dari Bahasa Pemrograman C++ yang berbasis TUI ( Text User Interface). Program ini menggunakan statement for, while , do – while, if-else, switch-case, array serta fungsi prosedur. Dengan adanya program ini maka dapat disimpulkan: 1. Operator akan lebih mudah dalam menjalankan proses pembayaran Tiket Kereta. Karena operator tersebut hanya tinggal memilih Nama Kereta Api, Kelas dan Jumlah Penumpang. 2. Waktu yang terpakai dalam proses Penjualan Tiket Kereta Api menjadi jauh lebih efisien. 3.1 Saran Program yang dibuat oleh penulis masih dapat dikembangkan menjadi lebih besar, karena penulis menyadari bahwa program yang dibuat masih terdapat banyak kekurangan. Beberapa saran yang dapat penulis sampaikan diantaranya: 1. Nama Kereta Api yang terdapat pada opsi dapat ditambah lebih banyak. 2. Program ini dapat mencetak Tiket Kereta Api yang berupa print out. 3. Program ini dapat ditambahkan Inputan Tempat Duduk Kereta Api dan perhitungan pembayaran sesuai dengan Pemberangkatan dan Kedatangan. 4. Program ini dapat didesain dengan tampilan yang lebih baik dan lebih menarik lagi. 22
  • 23. DAFTAR PUSTAKA Tim Algoritma&Pemograma. 2013.Modul Praktikum Algoritma dan Pemograman. Malang: Laboratorium RPL &Pemograman. Kadir ,Abdul. 2012. Buku Pintar C++ untuk Pemula. Yogyakarta: Mediakom 23