QUIZ 1
Kali
ini, saya akan membahas pemrograman c++ untuk kasus tiket konser.
Program ini adalah hasil Tugas Besar Mata Kuliah Algoritma Pemrograman 1
semester 1. Pada pemrograman ini, ditambahkan operasi struct, structur
array dan pointer.
Sebelum masuk ke listing program, saya akan menjelaskan alur programnya terlebih dahulu.
A. Kasus
Program yang saya buat adalah sebuah program untuk penjualan tiket konser. Berikut alur programnya yaitu:
Sebelum memesan tiket, maka anda terlebih dahulu harus memasukkan data diri anda berupa:
1. No identitas
No identitas harus dimasukkan sebanyak 16 angka sesuai dengan jumlah yang ada pada KTP atau KK anda.
2. No HP
No HP harus dimasukkan sebanyak 12 digit angka sesuai dengan jumlah no hp seperti biasa
3. Nama
4. Jenis kelamin
4. Jenis kelamin
Setelah mengisi data diri, anda akan menemui kelas tiket konser yang nantinya akan dipilih.Tiket konser ini disediakan dengan 5 kelas yang berbeda, yaitu:
No
|
Zona
|
Tipe
|
Harga
|
1
|
Red zone
|
Standing
|
Rp.3.000.000
|
2
|
Green zone
|
Standing
|
Rp.2.300.000
|
3
|
Purple zone
|
Standing
|
Rp.2.000.000
|
4
|
Blue zone
|
Free Seating
|
Rp.1.500.000
|
5
|
Yellow zone
|
Free Seating
|
Rp.1.000.000
|
B. Listing Program
#include<iostream>#include<string.h>
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<fstream>
using namespace std;
struct tipedata
{
char nama[20], tipe2, metode, lagi, jenkel, batal;
int jumlah, total;
}td;
struct tiket
{
string tipe[5][4]={
{"1","Red Zone","Standing","3.000.000"},
{"2","Green Zone","Standing","2.300.000"},
{"3","Purple Zone","Standing","2.000.000"},
{"4","Blue Zone","Free Seating","1.500.000"},
{"5","Yellow Zone","Free Seating","1.000.000"},
};
}tk;
void headerprogram()
{
cout<<"========================================================================================="<<endl;
cout<<"| |"<<endl;
cout<<"| WWW.MILDA-TIKET.COM |"<<endl;
cout<<"| |"<<endl;
cout<<"|---------------------------------------------------------------------------------------|"<<endl;
cout<<"| Gg. Telaga Budi Rt.06 Rw.02 |"<<endl;
cout<<"| Kel.Angsau, Kec.Pelaihari. Kab Tanah Laut. Kalimantan Selatan |"<<endl;
cout<<"| E-mail: @mildatiket@gmail.com |"<<endl;
cout<<"========================================================================================="<<endl;
}
void footerprogram()
{
cout<<"========================================================================================="<<endl;
cout<<"| |"<<endl;
cout<<"| SELAMAT MENIKMATI KONSER ANDA^.^ |"<<endl;
cout<<"| |"<<endl;
cout<<"========================================================================================="<<endl;
}
void noid()
{
char noid[50];
atas1:
cout<<"Nomor Identitas(KTP/SIM/Paspor/Kartu Pelajar)(16 digit): ";
cin.getline(noid,50);
if(strlen(noid) > 15 && strlen(noid) <= 16)
{
cout<<"Indentitas Terdaftar\n";
}
else
{
cout<<"Tulisakan Nomor Indentitas Anda Dengan Benar\n";
goto atas1;
}
}
void nohp()
{
char nohp[50];
atas2:
cout<<"Nomor Handphone: ";
cin.getline(nohp,sizeof(nohp));
if(strlen(nohp) > 10 && strlen(nohp) <= 12)
{
cout<<"Nomor Terdaftar\n";
}
else
{
cout<<"Tulisakan Nomor Handphone Anda Dengan Benar\n";
goto atas2;
}
}
int main()
{
headerprogram();
cout<<endl<<endl;
cout<<"-----------------------------------------------------------------------------------------"<<endl;
cout<<"| Masukan Data Pribadi Anda |"<<endl;
cout<<"-----------------------------------------------------------------------------------------"<<endl;
atas3:
noid();
nohp();
cout<<"Nama = ";cin>>td.nama;
cout<<"Alamat dari Nama adalah : "<<&td.nama<<endl;
ulang:
cout<<"Jenis Kelamin "<<endl;
cout<<"a. Perempuan"<<endl;
cout<<"b. Laki-Laki"<<endl;
cout<<"Pilih Jenis Kelamin[a/b]: ";cin>>td.jenkel;
switch (td.jenkel)
{
case 'a':
cout<<"-----------------"<<endl;
cout<<"| Hai Fangirl^.^|"<<endl;
cout<<"--------------------------------"<<endl;
cout<<"|Enter sekali untuk melanjutkan|"<<endl;
cout<<"--------------------------------"<<endl;
break;
case 'b':
cout<<"-----------------"<<endl;
cout<<"| Hai Fanboy^.^ |"<<endl;
cout<<"--------------------------------"<<endl;
cout<<"|Enter sekali untuk melanjutkan|"<<endl;
cout<<"--------------------------------"<<endl;
break;
default:
cout<<"--------------------------"<<endl;
cout<<"|Mohon Pilih dengan Benar|"<<endl;
cout<<"--------------------------"<<endl;
goto ulang;
}
getch();
system("cls");
headerprogram();
cout<<endl;
cout<<"Nama: "<<td.nama<<endl;
kembali:
cout<<"========================================================================================="<<endl;
cout<<"| Tiket Konser BTS |"<<endl;
cout<<"========================================================================================="<<endl;
cout<<endl<<endl;
cout<<"-----------------------------------------------------------------------------------------"<<endl;
cout<<"|\tno\t"<<"|\tZona\t\t|"<<"\tTipe\t\t"<<"|\tHarga\t\t|"<<endl;
cout<<"-----------------------------------------------------------------------------------------"<<endl;
for (int i=0; i<5; i++)
{
for(int j=0; j<4; j++) {
cout<<tk.tipe[i][j]<<"\t\t|";
}
cout<<endl;
}
cout<<"-----------------------------------------------------------------------------------------"<<endl;
cout<<"Silahkan Pilih Tiket Konser yang Anda Inginkan"<<endl;
atas4:
cout<<"Pilih[1-5]: ";cin>>td.tipe2;
switch(td.tipe2)
{
case '1':
{
cout<<"Jumlah Yang dibeli: ";cin>>td.jumlah;
td.total = td.jumlah * 3000000;
cout<<"Total yang dibayar: "<<td.total;
cout<<endl;
}
break;
case '2':
{
cout<<"Jumlah Yang dibeli: ";cin>>td.jumlah;
td.total = td.jumlah * 2300000;
cout<<"Total yang dibayar: "<<td.total;
cout<<endl;
}
break;
case '3':
{
cout<<"Jumlah Yang dibeli: ";cin>>td.jumlah;
td.total = td.jumlah * 2000000;
cout<<"Total yang dibayar: "<<td.total;
cout<<endl;
}
break;
case '4':
{
cout<<"Jumlah Yang dibeli: ";cin>>td.jumlah;
td.total = td.jumlah * 1500000;
cout<<"Total yang dibayar: "<<td.total;
cout<<endl;
}
break;
case '5':
{
cout<<"Jumlah Yang dibeli: ";cin>>td.jumlah;
td.total = td.jumlah *1000000;
cout<<"Total yang dibayar: "<<td.total;
cout<<endl;
}
break;
default:
{
cout<<"Pilih dengan benar\n"<<endl;
goto atas4;
}
break;
}
cout<<endl;
cout<<"--------------------------------"<<endl;
cout<<"|Enter sekali untuk melanjutkan|"<<endl;
cout<<"--------------------------------"<<endl;
getch();
system("cls");
headerprogram();
cout<<"Nama: "<<td.nama<<endl;
cout<<endl<<endl;
cout<<"Apakah Ingin Membeli Lagi? [Y/T] : ";cin>>td.lagi;
if (td.lagi=='Y' || td.lagi == 'y')
{
cout<<endl;
goto kembali;
}
else if(td.lagi=='T' || td.lagi == 't')
{
cout<<"-----------------------------------------------------------------------------------------"<<endl;
cout<<"Terimakasih "<<td.nama<<" telah melakukan pembelian tiket di MILDA TIKET"<<endl;
cout<<"-----------------------------------------------------------------------------------------"<<endl;
cout<<endl;
}
footerprogram();
cout<<endl;
cout<<endl;
ofstream myfile ("MILDA_TIKET.txt");
if(myfile.is_open())
{
myfile<<"========================================================================================="<<endl;
myfile<<"| |"<<endl;
myfile<<"| WWW.MILDA-TIKET.COM |"<<endl;
myfile<<"| |"<<endl;
myfile<<"|---------------------------------------------------------------------------------------|"<<endl;
myfile<<"| Gg. Telaga Budi Rt.06 Rw.02 |"<<endl;
myfile<<"| Kel.Angsau, Kec.Pelaihari. Kab Tanah Laut. Kalimantan Selatan |"<<endl;
myfile<<"| E-mail: @mildatiket@gmail.com |"<<endl;
myfile<<"========================================================================================="<<endl;
myfile<<endl<<endl;
myfile<<" Pembelian tiket konser atas nama "<<td.nama<<" berhasil"<<endl;
myfile<<" dengan jumlah tiket sebanyak "<<td.jumlah<<" buah tiket"<<endl;
myfile<<" Dengan total pembayaran "<<td.total<<endl;
myfile<<" Silahkan datang dan pesan tiket di situs kami lagi"<<endl;
myfile<<endl<<endl;
myfile<<"========================================================================================="<<endl;
myfile<<"| |"<<endl;
myfile<<"| SELAMAT MENIKMATI KONSER ANDA^.^ |"<<endl;
myfile<<"| |"<<endl;
myfile<<"========================================================================================="<<endl;
myfile.close();
}
else cout<<"Gagal membuka file";
return 0;
}
Halo kak
BalasHapusApakah ada kontak yang bisa saya hubungi ?
mohon bantuannya kak untuk alur flowchart dan Pseudocode dari Program Tiket Konser ini