Anda di halaman 1dari 7

PERTEMUAN 14

ALGORITMA DAN STRUKTUR DATA

1. Aplikasi Gaji
2. Aplikasi Toko

#include <iostream>
using namespace std;

int main(){
int pilihan,totalPaket,banyak,hasil=0;
char pilihanPaket,yesNo;
int diskon = 10;
int x=0;
int totalSeluruhPesanan[x];

cout<<"List Menu & Paket : "<<endl;


cout<<"1. Ayam Goreng"<<endl;
cout<<"2. Nasi Goreng"<<endl;
cout<<"3. Masakan Ikan"<<endl;

do{
cout<<"Masukan Menu Yang Di Pilih : ";
cin>>pilihan;

switch(pilihan){
case 1:
cout<<"List Paket Ayam Goreng"<<endl;
cout<<"A. Ayam Goreng Sambal Bawang : Rp.13.000,00"<<endl;
cout<<"B. Ayam Goreng Kremes : Rp.15.000,00"<<endl;
cout<<"C. Ayam Goreng Extra : Rp.20.000,00"<<endl;

cout<<"Masukkan Pilihan Paket : ";


cin>>pilihanPaket;

if(pilihanPaket == 'A' || pilihanPaket == 'a'){


totalPaket=13000;
} else if(pilihanPaket == 'B' || pilihanPaket == 'b'){
totalPaket=15000;
} else if(pilihanPaket == 'C' || pilihanPaket == 'c'){
totalPaket=20000;
} else {
cout<<"Paket Tidak Tersedia"<<endl;
}

cout<<"Berapa Banyak Pesanan? ";


cin>>banyak;

totalSeluruhPesanan[x]=totalPaket*banyak;

cout<<"Apakah Ada Pesanan Lainnya (Y/N)?";


cin>>yesNo;

break;

case 2:
cout<<"List Paket Nasi Goreng"<<endl;
cout<<"A. Nasi Goreng Spesial : Rp.15.000,00"<<endl;
cout<<"B. Nasi Goreng Bakso : Rp.13.000,00"<<endl;
cout<<"C. Nasi Goreng Jumbo : Rp.17.000,00"<<endl;

cout<<"Masukkan Pilihan Paket : ";


cin>>pilihanPaket;;

if(pilihanPaket == 'A' || pilihanPaket == 'a'){


totalPaket=15000;
} else if(pilihanPaket == 'B' || pilihanPaket == 'b'){
totalPaket=13000;
} else if(pilihanPaket == 'C' || pilihanPaket == 'c'){
totalPaket=17000;
} else {
cout<<"Paket Tidak Tersedia"<<endl;
}

cout<<"Berapa Banyak Pesanan? ";


cin>>banyak;

totalSeluruhPesanan[x]=totalPaket*banyak;

cout<<"Apakah Ada Pesanan Lainnya (Y/N)?";


cin>>yesNo;
break;

case 3:
cout<<"List Paket Masakan Ikan"<<endl;
cout<<"A. Ikan Bakar Madu Pedas : Rp.17.000,00"<<endl;
cout<<"B. Ikan Bakar Spesial : Rp.18.000,00"<<endl;
cout<<"C. Ikan Bakar Pedas : Rp.15.000,00"<<endl;

cout<<"Masukkan Pilihan Paket : ";


cin>>pilihanPaket;;

if(pilihanPaket == 'A' || pilihanPaket == 'a'){


totalPaket=17000;
} else if(pilihanPaket == 'B' || pilihanPaket == 'b'){
totalPaket=18000;
} else if(pilihanPaket == 'C' || pilihanPaket == 'c'){
totalPaket=15000;
} else {
cout<<"Paket Tidak Tersedia"<<endl;
}

cout<<"Berapa Banyak Pesanan? ";


cin>>banyak;

totalSeluruhPesanan[x]=totalPaket*banyak;

cout<<"Apakah Ada Pesanan Lainnya (Y/N)?";


cin>>yesNo;

break;
}
x++;
} while(yesNo == 'Y' || yesNo == 'y');

cout<<"Pembayaran : "<<endl;

for(int i=0;i<x;i++){
hasil=hasil+totalSeluruhPesanan[i];
}

cout<<"Total Pesanan : "<<hasil<<endl;


cout<<"Diskon 10% : "<<hasil/diskon<<endl;
cout<<"Total Bayar : "<<hasil - (hasil/diskon)<<endl;

return 0;
}
3. Aplikasi Kasir

#include <iostream>
using namespace std;
/* Header file yang digunakan untuk menggunakan perintah
cin, cout, endl. */

int main(){
/* Fungsi utama atau main program yang akan dibuat. */
main:
/* Label yang digunakan untuk melompat dari baris yang diinginkan. */
cout<<endl;
/* Membuat baris baru */
char hardware [100][100];
/* Untuk menampung data hardware yang akan dimasukkan.
- Arti [100] adalah banyak nya jumlah data yang bisa ditampung.
Ditulis dua kali, jika setiap yang dimasukkan jumlah kata nya haya satu.
Jika jumlah kata yang ingin dimasukkan adalah dua, maka ditulis tiga
kali.
Karena setiap kali kita memasukkan kata, maka akan ada spasi yang akan
dimasukkan dikata berikutnya. */
char type [100][100];
/* Untuk menampung data type yang akan dimasukkan. */
char sn [100][100];
/* Untuk menampung data sn yang akan dimasukkan. */
char pn [100][100];
/* Untuk menampung data pn yang akan dimasukkan. */
int jumlah, i;
/* Deklarasi variable jumlah dan variable i. */

cout<<"Masukkan jumlah Hardware yang ingin di inventaris : ";


/* Menampilkan tulisan "Masukkan jumlah Hardware yang ingin di inventaris : "
*/
cin>>jumlah;
/* Meminta inputan user untuk variable jumlah. */
cout<<endl;
/* Membuat baris baru. */

if(!(cin.fail())){
/* Melakukan pengecekan jika inputan yang diberi tidak sesuai perintah. */
for(i=0;i<jumlah;i++){
/* Membuat perulangan meminta jenis hardware, type hardware, sn hardware,
pn hardware yang akan di inventaris. */
cout<<"Masukkan jenis Hardware Ke-"<<i+1<<" : ";
/* Menampilkan tulisan "Masukkan jenis Hardware Ke-(Berdasarkan urutan
hardware) :" */
cin>>hardware[i];
/* Meminta inputan user untuk ditampung pada array hardware. */
cout<<endl;
/* Membuat baris baru. */
cin.clear();
/* Menghapus kembali hasil inputan. */
cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
/* Untuk melakukan ignore terhadap newline \n agar tidak masuk kedalam
input berikut nya. */
cout<<"Masukkan type Hardware : ";
/* Menampilkan tulisan "Masukkan type Hardware : " */
cin>>type[i];
/* Meminta inputan user untuk ditampung pada array type. */
cout<<endl;
/* Membuat baris baru. */
cin.clear();
/* Menghapus kembali hasil inputan. */
cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
/* Untuk melakukan ignore terhadap newline \n agar tidak masuk kedalam
input berikut nya. */
cout<<"Masukkan SN Hardware : ";
/* Menampilkan tulisan "Masukkan sn Hardware : " */
cin>>sn[i];
/* Meminta inputan user untuk ditampung pada array sn. */
cout<<endl;
/* Membuat baris baru. */
cin.clear();
/* Menghapus kembali hasil inputan. */
cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
/* Untuk melakukan ignore terhadap newline \n agar tidak masuk kedalam
input berikut nya. */
cout<<"Masukkan PN Hardware : ";
/* Menampilkan tulisan "Masukkan pn Hardware : " */
cin>>pn[i];
/* Meminta inputan user untuk ditampung pada array pn. */
cout<<endl;
/* Membuat baris baru. */
cin.clear();
/* Menghapus kembali hasil inputan. */
cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
/* Untuk melakukan ignore terhadap newline \n agar tidak masuk kedalam
input berikut nya. */
}
} else {
cout<<"Tolong masukan dalam bentuk angka!!\n"<<endl;
/* Menampilkan pesan karena tidak memasukan sesuai perintah. */
cin.clear();
/* Menghapus kembali hasil inputan. */
cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
/* Untuk melakukan ignore terhadap newline \n agar tidak masuk kedalam input
berikut nya. */
system("PAUSE");
/* Menunggu user untuk melanjutkan proses berikutnya. */
goto main;
/* Melompat ke baris di statement dengan label kasir. */
}

cout<<"===============================\n"<<endl;
/* Menampilkan tulisan "===============================" */

for(i=0;i<jumlah;i++){
/* Fungsi perulangan untuk menampilkan data yang sudah dimasukkan. */
cout<<i+1<<". "<<hardware[i]<<endl;
/* Menampilkan tulisan no berdasarkan urutan dan menampilkan tulisan jenis
hardware yang telah dimasukkan. */
cout<<"- Type : "<<type[i]<<endl;
/* Menampilkan tulisan "- Type : " (Berdasarkan type yang telah dimasukkan).
*/
cout<<"- SN : "<<sn[i]<<endl;
/* Menampilkan tulisan "- SN : " (Berdasarkan sn yang telah dimasukkan). */
cout<<"- PN : "<<pn[i]<<endl;
/* Menampilkan tulisan "- PN : " (Berdasarkan pn yang telah dimasukkan). */
cout<<endl;
/* Membuat baris baru. */
}

Anda mungkin juga menyukai