Anda di halaman 1dari 11

PRAKTIKUM ALGORITMA DAN STRUKTUR DATA A

Praktikum 4
Materi : Structure
Nama : Anggar Ranawijaya
Kelas : 4IF -A
NIM : 16102005

1. Buatlah 2 buah structure yang dapat menyimpan data pembeli dan barang.
Isikan dalam structure data-data :

- Data pembeli
Kode_pmbl Status Nama
P001 M Diana
P002 M Rina
P003 BM Lina
P004 BM Doni
P005 M Dodi

 M= Member, pembeli yang telah memiliki kartu member.


 BM = Bukan Member, pembeli yang belum memiliki kartu member.

- Data barang

Kode_brg Nama_brg Harga


BRG001 Pensil 2000
BRG002 Buku tulis 3500
BRG003 Penghapus 1000
BRG004 Penggaris 1500
BRG005 Ballpoint 2500

a. Buatlah input sebagai berikut :


Kode pembeli : P001
Nama pembeli : ______________(otomatis tampil di layar)
Status pembeli : ______________(otomatis tampil di layar)

Kode barang : BRG001


Nama barang : ________________ (otomatis tampil di layar)
Harga barang : ________________ (otomatis tampil di layar)
Jumlah barang : 2
Sub Total : jumlah barang x harga barang

Total pembelian : jumlah seluruh total


Diskon : jika pelanggan adalah member, maka diskon 10% dari total
pembelian
Pembelian diatas 3 pcs mendapat potongan harga Rp. 300
Kembali = jumlah bayar-total

b. Output : print out nota pembelian


TOKO INDO APRIL
Jl. DI Panjaitan 128 Purwokerto

Kode barang Nama barang Jumlah Harga Total


BRG001 Pensil 2 2000 4000
BRG002 Buku tulis 2 3500 7000

Subtotal 11000
Diskon 1100
Total 12100
Jumlah bayar 13000
Kembali 900

Data pembeli
Kode pembeli : P001
Nama pembeli : Diana
Status : Member

Deskripsi : Membuat program untuk mengouputkan atau menampilkan print out nota
pembelian suatu daftar perbelanjaan disuatu toko seperti contoh output pada soal. Dan
membuat data barang menggunakan structure serta melakukan operasi perhitungan.
Alogritma:
Flowchart
Source Code :

#include <iostream>

#include <iomanip>

#include <stdio.h>

#include <conio.h>

#include <windows.h>

//File Header

using namespace std;

struct pembeli{

string kode_pmbl;

string status;

string nama;

}; //Pendeklarasian Struct data pembeli

struct barang{

string kode_brg;

string nama_brg;

int harga;

}; //Pendeklarasian Struct data barang

int main()

pembeli datapembeli[5];
barang datbarang[5];

//Variable data barang dan pembeli

datapembeli[0].kode_pmbl="P001";

datapembeli[0].status="Member";

datapembeli[0].nama="Diana";

datapembeli[1].kode_pmbl="P002";

datapembeli[1].status="Member";

datapembeli[1].nama="Rina";

datapembeli[2].kode_pmbl="P003";

datapembeli[2].status="Bukan Member";

datapembeli[2].nama="Lina";

datapembeli[3].kode_pmbl="P004";

datapembeli[3].status="Bukan Member";

datapembeli[3].nama="Doni";

datapembeli[4].kode_pmbl="P005";

datapembeli[4].status="Member";

datapembeli[4].nama="Dodi";

datbarang[0].kode_brg="BRG001";

datbarang[0].nama_brg="Pensil";

datbarang[0].harga=2000;

datbarang[1].kode_brg="BRG002";

datbarang[1].nama_brg="Buku Tulis";

datbarang[1].harga=3500;

datbarang[2].kode_brg="BRG003";

datbarang[2].nama_brg="Penghapus";
datbarang[2].harga=1000;

datbarang[3].kode_brg="BRG004";

datbarang[3].nama_brg="Penggaris";

datbarang[3].harga=1500;

datbarang[4].kode_brg="BRG005";

datbarang[4].nama_brg="Ballpoint";

datbarang[4].harga=2500;

//Data barang dan pembeli

int jum_brg[5], subtotal[5], harga_brg, potongan_harga[5],


jumlah_bayar, kembalian, subttl;

float total_pembelian=0, diskon,ttl_pmbln;

string in1, in2[5];

char yes_no='y'; //Pendeklarasian variable data

cout <<"Kode Pembeli : "; //Mencetak data pembeli

cin >>in1;

for (int i=0; i<5; i++){

if (in1==datapembeli[i].kode_pmbl){

cout <<"Nama Pembeli : "<<datapembeli[i].nama<<endl;


//Mencetak nama pembeli

cout <<"Status Pembeli : "<<datapembeli[i].status<<endl;


//Mencetak status pembeli

if (datapembeli[i].status=="Member"){

diskon=0.1;

else {

diskon=0;

}
}

for (int x=0;x<5;x++){

potongan_harga[x]=0;

subtotal[x]=0; //Operasi perhitungan potongan harga/diskon member

if (yes_no=='y' || yes_no=='Y'){

cout <<"\n\nKode Barang : "; //Mencetak Kode barang

cin >>in2[x]; //Inputan jumlah barang

for (int i=0; i<5;i++){

if (in2[x]==datbarang[i].kode_brg){

cout <<"Nama Barang :


"<<datbarang[i].nama_brg<<endl; //Mencetak nama barang

cout <<"Harga Barang : "<<datbarang[i].harga<<endl;


//Mencetak harga barang

harga_brg=datbarang[i].harga;

cout <<"Jumlah Barang : "; //Mencetak Jumlah barang

cin >>jum_brg[x]; //Inputan jumlah barang

if (jum_brg[x]>3){

potongan_harga[x]=jum_brg[x]*300;

} //Operasi perhitungan diskon/potongan harga

subtotal[x]=(harga_brg*jum_brg[x])-potongan_harga[x];

cout <<"Subtotal : "<<subtotal[x];

cout <<"\nApakah Anda akan melakukan pembelian lagi ? [Y/T] ";

cin >>yes_no;

} //Instruksi untuk menentukan pelanjutan inputan atau


mencetaknya

}
for (int i=0;i<5;i++){

total_pembelian+=subtotal[i];

ttl_pmbln=total_pembelian; //Operasi perhitungan total pembelian

diskon*=total_pembelian;

total_pembelian-=diskon; //Perhitungan diskon

cout <<"Diskon : "<<diskon<<endl; //Mencetak diskon

cout <<"Total Pembayaran : "<<total_pembelian; //Mencetak jumlah


yang harus dibayar

cout <<"\n\n";

getch ();

system ("cls");

cout<< "\n\t\t\t\t TOKO INDO APRIL" << endl; //Mencetak

cout<< "\t\t\tJl. DI. Panjaitan 128 Purwokerto" << endl; //Mencetak

cout<<"\nKode Barang"<<setw(15)<<"Nama
Barang"<<setw(15)<<"Jumlah"<<setw(15)<<"Harga"<<setw(15)<<"Total"<<se
tw(5)<< endl; //Mencetak

for (int x=0;x<5;x++){

for (int i=0;i<5;i++){

if (in2[x]==datbarang[i].kode_brg) {

cout<<datbarang[i].kode_brg<<setw(20)<<datbarang[i].nama_brg<<setw(10
)<<jum_brg[x]<<setw(20)<<datbarang[i].harga<<setw(15)<<subtotal[x]<<s
etw(5)<<endl; //Mencetak data

cout <<"\n\n Subtotal"<<setw(84)<<ttl_pmbln<<endl; //Mencetak


Subtotal

cout <<" Diskon"<<setw(86)<<diskon<<endl; //Mencetak Diskon


cout <<" Total"<<setw(87)<<total_pembelian<<endl; //Mencetak Total
pemabayaran

cout <<" Jumlah Bayar"<<setw(50); //Mencetak jumlah yang dibayarakan

cout <<"\n\t";

cin >>jumlah_bayar; //Menginputkan jumlah yang di bayarkan

kembalian=jumlah_bayar-total_pembelian; //Operasi perhitungan


kembalian

cout <<setw(5)<<" Kembali"<<setw(85)<<kembalian; //Mencetak jumlah


kembalian

cout <<"\n\n Data Pembeli"<<endl; //Mencetak

for (int i=0;i<5;i++){

if (in1==datapembeli[i].kode_pmbl){

cout <<" Kode Pembeli : "<<datapembeli[i].kode_pmbl<<endl;


//Mencetak kode pembeli

cout <<" Nama Pembeli : "<<datapembeli[i].nama<<endl;


//Mencetak nama pembeli

cout <<" Status Pembeli : "<<datapembeli[i].status<<endl;


//Mencetak status pembeli

return 0;

Output Program :

Anda mungkin juga menyukai