Quiz struck, struck Array, dan Pointer
Konsep Tugas Algoritma Dan
Pemprograman 2
Rumah Makan Welcome To Podo Moro
*Inputan
Memasukkan Jumlah Pelanggan: inputan
(perulangan sesuai dengan
jumlah pelanggan yang dimasukkan)
Pembeli ke-1
Nama pelanggan : inputan
Tanggal : inputan
Memasukkan Jumlah Pesanan : inputan
(perulangan sesuai
jumlah jenis produk yang dibeli)
Kode
Menu :
Makanan
Minuman
Memasukkan kode menu [1/2]= inputan
Jika memilih 1 maka muncul tampilan :
“Anda memilih kode menu makanan”
Ketentuan I
Masukkan pilihan [1-3]
Ketentuan II
Jika memilih 2 maka muncul tampilan
“Anda memilih kode menu minuman”
Ketentun II
Memasukkan pilihan menu [1-3]
*Output
Pelanggan ke-n :
Nama : Hasil Proses
Tanggal : Hari Proses
Menu Pesanan : Hasil Proses
Jumlah Pesanan : Hasil Proses
Total Pembayaran adalah Rp. Total Pembayaran
|
Ketentuan I
1. Warna
Kuning adalah inputan
2. Warna
Merah adalah Hasil Proses
Ketentuan II
Jika memilih 1;
Menu
Makanan:
1. Ayam
Gebrek+ Nasi
2. Ayam
Camcam+ Nasi
3. Ayam
Rica-rica + Nasi
4. Ayam
Bakar Super Pedas
5. Ayam
Bakar Biasa
6. Nasi
Goreng Original + Sosis
7. Nasi
Goreng Rica-rica + Kentucki
8. Nasi
Goreng pedas + Dadar
Jika
memasukkan angka 1 “Anda memilih ayam Gebrek+ Nasi”
Jika
memasukkan angka 2 “Anda memilih ayam Camcam+ Nasi”
Jika
memasukkan angka 3 “Anda memilih ayam Rica-rica+ Nasi”
Jika
memasukkan angka 4 “Anda memilih ayam Bakar Super Pedas”
Jika
memasukkan angka 5 “Anda memilih ayam Bakar Biasa”
Jika
memasukkan angka 6 “Anda memilih ayam Nasi Goreng Original + Sosis”
Jika
memasukkan angka 7 “Anda memilih ayam Nasi Goreng Rica-rica + Kentucki”
Jika
memasukkan angka 8 “Anda memilih ayam Nasi Goreng pedas + Dadar”
Jika Memilih 2:
Memilih
Minuman:
1.
Es lumut bahagia
2.
Es kopi
3.
Es jeruk
4.
Teh Es
5.
Jus Jeruk
6.
Jus Alpukat
7.
Teh Hangat
8.
Air Mineral Biasa
9.
Air Mineral Dingin
Jika
memasukkan angka 1 “Es Lumut Bahagia”
Jika
memasukkan angka 2 “Es Kopi”
Jika
memasukkan angka 3 “Es Jeruk ”
Jika
memasukkan angka 4 “Teh Es”
Jika
memasukkan angka 5 “jus jeruk”
Jika
memasukkan angka 6 “Jus Alpukat ”
Jika
memasukkan angka 7 “Teh Hangat”
Jika
memasukkan angka 8 “Air Mineral Biasa”
Jika
memasukkan angka 9 “Air Mineral Dingin”
Jika
salah menginput maka akan atomatis kembali pada pemilihan menu awal.
2. Listing
3. Running
4. Akses File
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUDWqWNSfd2Dp2c13fol9CgTr39nWNVeklDys5vgME21GvvvfC7tbEiR8uPykUOjMmXY8YnaZKlGn6saIDhktZOJww-g3VmDh4bUeQ3UwzU-ng9XD2IJAicE1T04eNkmpCCmZdAo8rmvQ/s400/akses+file.PNG)
2. Listing
#include
<iostream>
#include
<conio.h>
#include
<stdlib.h>
#include
<iomanip>
#include
<string>
#include
<fstream>
using
namespace std;
struct aray
{
string jm[5][5][5],nama[10];
};
struct aray1
{
int jml [5],jenis_menu [5][5],harga
[5][5][5],kembali1[5][5][5],kembali2[5][5][5], kembali3[5][5][5];
};
struct aray2
{
float sa[5][5],porsi [5][5][5];
};
struct aray3
{
char kn [5][5][5],mn [5][5][5];
};
struct aray4
{
float porsi [5][5][5],total[5][5][5];
};
void garis()
{
cout<<
"====================================================================================================="<<endl;
}
void
daftar_menu1()
{
cout<< " Menu Makanan Harga perporsi
"<<endl;
cout<< "1. Ayam Gebrek +
nasi Rp.
12.000"<<endl;
cout<< "2. Ayam camcam +
nasi Rp.
12.000"<<endl;
cout<< "3. Ayam Rica-rica +
nasi Rp 13.000"<<endl;
cout<< "4. Nasi Goreng
Original + Sosis Rp 12.000"<<endl;
cout<< "5. Nasi Goreng
Rica-rica + Kentucki Rp. 17.000"<<endl;
cout<< "6. Nasi Goreng pedas +
Dadar Rp.
15.000"<<endl;
cout<< "7. Ayam Bakar Super
Pedas Rp 25.000" <<endl;
cout<< "8. Ayam Bakar
Biasa Rp
20.000" <<endl;
}
void
daftar_menu2()
{
cout<< "Menu Minuman Harga perporsi
"<<endl;
cout<< "1. Es Lumut
Bahagia
Rp.5000"<<endl;
cout<< "2. Es Kopi Rp.
5.000"<<endl;
cout<< "3. Es Jeruk Rp 3.000
"<<endl;
cout<< "4. Teh Es
Rp.3.000"<<endl;
cout<< "5. Jus Jeruk Rp.
5.000"<<endl;
cout<< "6. Jus Alpukat
Rp.10.000"<<endl;
cout<< "7. Teh Hangat Rp.
2.000"<< endl;
cout<< "8. Air Mineral
Biasa Rp.
4.000"<<endl;
cout<< "9. Air Minersl
Dingin
Rp.5.000"<<endl;
}
int
total_harga (int t, int h)
{
return(t*h);
}
int jum_hrg
(int j)
{
int jum;
jum = 0;
jum = jum+j;
return(jum);
}
int pajak (int
p)
{
return(p*0.1);
}
int
total_pembayar (int b, int y)
{
return(b+y);
}
main ()
{
int z,x,y,jp;
int ttl;
int b=6;
aray lin;
aray1 lin1;
aray2 lin2;
aray3 lin3;
aray4 lin4;
garis();
cout << " WELCOME TO PODO MORO " << endl;
garis();
ofstream myfile ("sherly.txt");
cout<< "Memasukkan Jumlah
Pembeli :";cin>>jp;
for (x=1; x<=jp; x++)
{
system ("cls");
cout<< "Pembeli ke :"<<x<<endl;
cout<< "Nama :";cin>>lin.nama[x];
cout<< "Code
Pembelian
:"<<lin.nama<<endl;
cout<< "Masukkan Jumlah
Pesanan :";cin>>lin1.jml[x];
for (y=1; y<=lin1.jml[x]; y++)
{
system ("cls");
cout<< "Pesanan ke :
"<<y<<endl;
kembali11:
cout<< " 1. Makanan
"<<endl;
cout<< " 2. Minuman
"<<endl;
cout<< " Masukkan
pilihan anda : ";cin>>lin2.sa[x][y];
system ("cls");
if (lin2.sa[x][y]==1)
{
kembali2 :
daftar_menu1 ();
cout<< "Masukan
banyak menu makanan : "; cin>>lin1.jenis_menu[x][y];
for (z=1;
z<=lin1.jenis_menu[x][y]; z++)
{
cout<<
"Pesanan Makanan Anda Yang Ke:"<<z<<endl;
cout<<
"Silakan Anda Memasukkan Pilihan makanan: ";cin>>lin3.kn[x][y][z];
if (lin3.kn
[x][y][z]=='1')
{
cout<<
"Anda Memilih Ayam Gebrek + Nasi"<<endl;
lin1.harga
[x][y][z]=12000;
lin.jm[x][y][z]="Ayam Gebrek + Nasi";
}
else if (lin3.kn
[x][y][z]=='2')
{
cout<<
"Anda Memilih Ayam Camcam + Nasi "<<endl;
lin1.harga
[x][y][z]=12000;
lin.jm[x][y][z]="Ayam Camcam
+ Nasi";
}
else if
(lin3.kn[x][y][z]=='3')
{
cout<<
"Anda Memilih Ayam Rica-rica + Nasi"<<endl;
lin1.harga [x][y][z]=13000;
lin.jm[x][y][z]="Ayam Rica-rica + Nasi";
}
else if
(lin3.kn[x][y][z]=='4')
{
cout<<
"Anda Memilih Nasi Goreng Original + Sosis"<<endl;
lin1.harga
[x][y][z]=12000;
lin.jm[x][y][z]="Nasi Goreng Original + Sosis";
}
else if
(lin3.kn[x][y][z]=='5')
{
cout<< "Anda Memilih Nasi
Goreng Rica-rica + Kentucki"<<endl;
lin1.harga
[x][y][z]=17000;
lin.jm[x][y][z]="Nasi Goreng Rica-rica + Kentucki";
}
else if (lin3.kn[x][y][z]=='6')
{
cout<<
"Anda Memilih Nasi Goreng Pedas + Dadar"<<endl;
lin1.harga
[x][y][z]=15000;
lin.jm[x][y][z]="Nasi Goreng Pedas + Dadar";
}
else if
(lin3.kn[x][y][z]=='7')
{
cout<<
"Anda Memilih Donat"<<endl;
lin1.harga
[x][y][z]=25000;
lin.jm
[x][y][z]="Donat";
}
else if
(lin3.kn[x][y][z]=='8')
{
cout<<
"Anda Memilih Ayam Bakar Biasa + Nasi"<<endl;
lin1.harga
[x][y][z]=20000;
lin.jm
[x][y][z]="Ayam Bakar Biasa+ Nasi";
}
else
{
system
("cls");
cout<<
"Maaf Menu Yang Anda Pilih Tidak Ada Dalam Daftar Menu
Kami"<<endl;
cout<< "Apakah
Anda Ingin Mengulangi Pemesanan
[Y/T]";cin>>lin1.kembali2[x][y][z];
if (lin1.kembali2
[x][y][z]=='Y'||lin1.kembali2[x][y][z]=='y')
{
goto kembali2;
}
else
{
exit(0);
}
}
cout<<
"Silakan Anda Memasukkan Jumlah Porsi Sesuai Yang Anda Pesan :";cin
>>lin4.porsi[x][y][z];
}
}
if (lin2.sa[x][y]== 2)
{
kembali3 :
daftar_menu2 ();
cout<< "Masukan
banyak menu makanan : "; cin>>lin1.jenis_menu[x][y];
for (z=1;
z<=lin1.jenis_menu[x][y]; z++)
{
cout<<
"Pesanan Makanan Anda Yang Ke:"<<z<<endl;
cout<<
"Silakan Anda Memasukkan Pilihan makanan:
";cin>>lin3.mn[x][y][z];
if (lin3.mn
[x][y][z]=='1')
{
cout<<
"Anda Memilih Es Lumut Bahagia "<<endl;
lin1.harga [x][y][z]=5000;
lin.jm[x][y][z]="Es Lumut Bahagia ";
}
else if (lin3.mn
[x][y][z]=='2')
{
cout<<
"Anda Memilih Es Kopi
"<<endl;
lin1.harga
[x][y][z]=5000;
lin.jm[x][y][z]="Es Kopi
";
}
else if
(lin3.mn[x][y][z]=='3')
{
cout<<
"Anda Memilih Es Jeruk "<<endl;
lin1.harga
[x][y][z]=3000;
lin.jm[x][y][z]="Es Jeruk ";
}
else if
(lin3.mn[x][y][z]=='4')
{
cout<<
"Anda Memilih Es teh "<<endl;
lin1.harga
[x][y][z]=3000;
lin.jm[x][y][z]="Es Teh";
}
else if
(lin3.mn[x][y][z]=='5')
{
cout<<
"Anda Memilih Jus Jeruk
"<<endl;
lin1.harga
[x][y][z]=5000;
lin.jm[x][y][z]="Jus Jeruk
";
}
else if
(lin3.mn[x][y][z]=='6')
{
cout<<
"Anda Memilih Jus Alpukat"<<endl;
lin1.harga
[x][y][z]=10000;
lin.jm[x][y][z]="Jus Alpukat";
}
else if
(lin3.mn[x][y][z]=='7')
{
cout<< "Anda
Memilih Teh Hangat "<<endl;
lin1.harga
[x][y][z]=2000;
lin.jm
[x][y][z]="Teh Hangat ";
}
else if
(lin3.mn[x][y][z]=='8')
{
cout<<
"Anda Memilih Air Mineral Biasa
"<<endl;
lin1.harga
[x][y][z]=4000;
lin.jm
[x][y][z]="Air Mineral Biasa ";
}
else if
(lin3.mn[x][y][z]=='9')
{
cout<<
"Anda Memilih Air Mineral Dingin
"<<endl;
lin1.harga
[x][y][z]=5000;
lin.jm
[x][y][z]="Air Mineral Dingin ";
}
else
{
system
("cls");
cout<<
"Maaf Menu Yang Anda Pilih Tidak Ada Dalam Daftar Menu
Kami"<<endl;
cout<<
"Apakah Anda Ingin Mengulangi Pemesanan [Y/T]:";cin>>lin1.kembali3[z][x][y];
if (lin1.kembali3
[x][y][z]=='Y'||lin1.kembali3[x][y][z]=='y')
{
goto kembali3;
}
else
{
exit(0);
}
}
cout<<
"Silakan Anda Memasukkan Jumlah Porsi Sesuai Yang Anda Pesan :";cin
>>lin4.porsi[x][y][z];
}
}
}
}
system("cls");
cout <<endl;
garis();
cout << "| jumlah |
Nama | Pesanan | Banyak | Harga Satuan |
Total Harga | "
<<endl;
cout << "| Pelanggan
| | | Porsi | | | " <<endl;
garis();
for (x=1; x<=jp; x++)
{
cout << " " << x<<endl;
cout << "\t\t"
<<setiosflags(ios::left)<<setw(20)<< lin.nama[x];
ttl = 0;
for(y=1; y<=lin1.jml[x]; y++)
{
for(z=1;
z<=lin1.jenis_menu[x][y]; z++)
{
cout << "
\t"<<setiosflags(ios::left)<<setw(20) << lin.jm[x][y][z];
cout << "
\t"<<setiosflags(ios::left)<<setw(5) <<
lin4.porsi[x][y][z];
cout << "
\t"<<setiosflags(ios::left)<<setw(5) <<
lin1.harga[x][y][z];
cout << "
\t"<<setiosflags(ios::left)<<setw(5) <<total_harga(
lin4.porsi[x][y][z], lin1.harga[x][y][z]);
cout << endl;
cout <<
"\t\t\t\t";
ttl = ttl+total_harga(
lin4.porsi[x][y][z], lin1.harga[x][y][z]);
}
}
cout << "
----------------------------------- +"<<endl;
cout << "
Jumlah Total Harga Rp
"<<jum_hrg(ttl)<<endl;
cout << " Pajak
10% Rp
"<<pajak(jum_hrg(ttl))<<endl;
cout << "
Total Pembayaran Rp
"<<total_pembayar(jum_hrg(ttl), pajak(jum_hrg(ttl)))<<endl;
cout << endl;
cout <<endl;
garis();
cout << "
TERIMA KASIH :)
" <<endl;
garis();
}
cout<<endl;
myfile.open("sherly.txt");
{
garis();
myfile << "|
jumlah | Nama |
Pesanan | Banyak | Harga Satuan |
Total Harga | "
<<endl;
myfile << "| Pelanggan
| | | Porsi | | | " <<endl;
garis();
for (x=1; x<=jp; x++)
{
myfile << " " << x<<endl;
myfile << "\t\t"
<<setiosflags(ios::left)<<setw(20)<< lin.nama[x];
ttl = 0;
for(y=1; y<=lin1.jml[x];
y++)
{
myfile;for(z=1;
z<=lin1.jenis_menu[x][y]; z++)
{
myfile << "
\t"<<setiosflags(ios::left)<<setw(20) << lin.jm[x][y][z];
myfile << "
\t"<<setiosflags(ios::left)<<setw(5) <<
lin4.porsi[x][y][z];
myfile <<
"
\t"<<setiosflags(ios::left)<<setw(5) <<
lin1.harga[x][y][z];
myfile << " \t"<<setiosflags(ios::left)<<setw(5)
<<total_harga( lin4.porsi[x][y][z], lin1.harga[x][y][z]);
myfile << endl;
myfile << "\t\t\t\t";
ttl =
ttl+total_harga( lin4.porsi[x][y][z], lin1.harga[x][y][z]);
}
}
myfile << "
----------------------------------- +"<<endl;
myfile << "
Jumlah Total Harga Rp
"<<jum_hrg(ttl)<<endl;
myfile << "
Pajak 10% Rp
"<<pajak(jum_hrg(ttl))<<endl;
myfile << "
Total Pembayaran Rp
"<<total_pembayar(jum_hrg(ttl), pajak(jum_hrg(ttl)))<<endl;
myfile << endl;
myfile <<endl;
}
garis();
myfile<< "
TERIMA KASIH :)
" <<endl;
garis();
myfile.close();
}
getch();
}
|
3. Running
5. Penjelasan Secara Umum
baris 1-6 dari program tersebut adalah bagian liberary. Using namespace untuk mewakili penggunaan std sin dan cout. Baris 10-29 merupakan operasi struct identitas yang berisi tipe data . Objek struct berupa lin. Baris 32- 84 merupakan operasi fungsi. Operasi struct dapat berjalan jika tipe data atau variabel ditambahi dengan lin diawalnya. Baris 102 - 110 merupakan operasi untuk memasukkan data pembeli dan jumlah pesan. Baris 111- 284 digunakan untuk menginputkan menu makan dan minum. Baris 293- 328 merupakan outputan program. Baris 330-369 merupakan file akses.
Tidak ada komentar:
Posting Komentar