You are on page 1of 11

NAMA = EAKA ARYA PRANATA

NIM = A11.2021.13777

CODING QUEUE

#include <iostream>

/*

Programer = eka arya pranata

nim = a11.2021.13777

program = double link list quewe ( ANTRIAN )

*/

using namespace std;

struct Node{

int data;

int harga;

string nama;

Node *next;

Node *prev;

};

Node *head;

Node *tail;

void awal(){

head = NULL;

tail = NULL;

};

bool isEmpty(){
if(head==NULL){

return 1;

}else{

return 0;

void tambahBlkng(int hargaBaru, string namaBaru){

//deklarasi node dulu

Node *nodeBaru;

nodeBaru = new Node;

nodeBaru->harga = hargaBaru;

nodeBaru->nama = namaBaru;

nodeBaru->next = NULL;

nodeBaru->prev = NULL;

if (isEmpty()){

//jika kosong maka nodebaru langsung jadi head

// dan tail

head = nodeBaru;

tail = nodeBaru;

head->next = NULL;

head->prev = NULL;

cout << "\n barang berhasil di tambah ( nama barang = " <<head->nama << " ||harga = "<<head-
>harga<<")"<<endl;

cout <<
"====================================================================================
=============="<<endl;
}else{

//jika ada, tambah ke depan ndoe di DLL nya

tail->next = nodeBaru; //node baru di sambungkan ke tail

nodeBaru->prev = tail; // prev dari nodebaru ditambahkan ke tail

tail = nodeBaru;//tail ganti dengan node baru

cout << "\n barang berhasil di tambah ( nama barang = " <<tail->nama << " ||harga = "<<tail-
>harga<<")"<<endl;

cout <<
"====================================================================================
=============="<<endl;

void hapusDpn (){

if (isEmpty()){

cout <<"tidak ada data yang bisa di hapus"<<endl;

}else

// cek apakah node cuma 1 di DLL

if (head->next == NULL){

//KALAU NODE CUMA 1

head = NULL;

tail = NULL;

else {
//kalau node lebih dari 1

head = head-> next; //head kita ganti setelahnya

head -> prev = NULL; //PREV DARI HEAD KITA BUAT NULL

void tampil(){

Node *current;

if(isEmpty()){

cout<<"DLL masih KOsosng"<<endl;

} else{

//tampilkan pake loop

int total = 0;

cout<< "Menghitung Total Belanjaan: "<<endl;

for(current=head; current!=NULL;current=current->next){

total = total + current->harga;

cout<<"Nama Barang: " <<current->nama;

cout<<" <- " << current->harga<<" -> " ;

cout<<"Total Belanjaan: " << total <<endl;

int main()

{
cout << "program queue ( antrian) kasir Bu Rum"<< endl;

tambahBlkng(2000,"marimas");

tambahBlkng(2000,"sosis");

tampil();

tambahBlkng(56000,"Beras");

tampil();

cout << "\n\nsebelum di hapus depan"<<endl;

tampil();

hapusDpn();

cout << "\n\n setelah di hapus depan"<<endl;

tampil();

return 0;

HASIL

Coding stack
/* nama programer = EKA ARYA PRANATA

PROGRAAM = STACK (TUMPUKAN)

*/

#include <iostream>

using namespace std;

struct Node{

int harga;

string nama;

Node *next;

Node *prev;

};

Node *head;

Node *tail;

void awal(){

head = NULL;

tail = NULL;

};

bool isEmpty(){

if(head==NULL){

return 1;

}else{

return 0;

}
}

void tambahBlkng(int hargaBaru, string namaBaru){

//deklarasi node dulu

Node *nodeBaru;

nodeBaru = new Node;

nodeBaru->harga = hargaBaru;

nodeBaru->nama = namaBaru;

nodeBaru->next = NULL;

nodeBaru->prev = NULL;

if (isEmpty()){

//jika kosong maka nodebaru langsung jadi head

// dan tail

head = nodeBaru;

tail = nodeBaru;

head->next = NULL;

head->prev = NULL;

}else{

//jika ada, tambah ke depan ndoe di DLL nya

tail->next = nodeBaru; //node baru di sambungkan ke tail

nodeBaru->prev = tail; // prev dari nodebaru ditambahkan ke tail

tail = nodeBaru;//tail ganti dengan node baru

}
}

void hapusBlkng(){

if(isEmpty()){

cout << "tidak ada data yg bisa dihapus" << endl;

}else{

if(head->next== NULL){

head = NULL;

tail = NULL;

}else{

tail = tail->prev;

tail->next = NULL;

int total( int x){

int total = 0;

total = total + x;

return total;

void tampil(){

Node *bantu;

cout<< "Menghitung Total Belanjaan: "<<endl;

if(isEmpty()==0){

bantu = head;
string tumpukan[100];

int tumpukan2[100],hasil[100];

int x=0,y=0, z=0;

do{

tumpukan[x] = bantu->nama;

tumpukan2[y] = bantu->harga;

hasil[z] = total(bantu->harga);

bantu=bantu->next;

x++;

y++;

z++;

while(bantu!=NULL);

int hslsemua = 0;

for(int i=x-1;i>=0;i--){

cout <<"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"<<endl;

cout<<"Nama barang : "<<tumpukan[i]<<" Harga barang : "<<tumpukan2[i]<<endl;

hslsemua = hslsemua+hasil[i];

cout <<"\ntotal semua belanjaan = "<<hslsemua<<endl<<endl;

}else {
cout << "barang kosong "<<endl;

int main()

cout << "program stack ( antrtumpukan) belanja Bu Mutia"<< endl;

tambahBlkng(2000,"marimas");

tampil();

tambahBlkng(2000,"sosis");

tampil();

tambahBlkng(56000,"Beras");

tampil();

cout << "sebelum di hapus belakang"<<endl;

tampil();

hapusBlkng();

cout << "setelah di hapus belakang"<<endl;

tampil();

return 0;

Hasil

You might also like