/* @author: Didik Kurniawan **** Ilmu Komputer FMIPA Universitas Lampung ***** */ #include <iostream> #include <stdlib.h> #include <string.h> using namespace std; struct produk { int kode; char nama_produk[100]; produk *next; }; produk *head; void awal(){ head=NULL; } bool isEmpty(){ if (head==NULL) return true; return false; } void tambahDataDepan(int kode, char nama_produk[100]){ produk *baru; baru= (produk*) malloc (sizeof(produk)); baru->kode=kode; strcpy(baru->nama_produk,nama_produk); baru->next=NULL; if (isEmpty()){ head=baru; } else { baru->next=head; head=baru; } } void tambahDataBelakang(int kode, char nama_produk[100]){ produk *baru; produk *bantu; baru= (produk*) malloc (sizeof(produk)); baru->kode=kode; strcpy(baru->nama_produk,nama_produk); baru->next=NULL; if (isEmpty()){ head=baru; } else { bantu=head; while(bantu->next!=NULL){ bantu=bantu->next; } bantu->next=baru; } } void hapusDepan(){ if (!isEmpty()){ produk *hapus; hapus=head; if (head->next!=NULL){ head=head->next; delete hapus; } else { head=NULL; } } else { cout<<"Data masih kosong"; } } void hapusBelakang(){ if (!isEmpty()){ produk *hapus; if (head->next!=NULL){ produk *bantu; while(bantu->next->next!=NULL){ bantu=bantu->next; } hapus=bantu->next; bantu->next=NULL; delete hapus; } else { head=NULL; } } else { cout<<"Data masih kosong"; } } void cetak(){ if (!isEmpty()){ produk *bantu; bantu=head; while(bantu!=NULL){ cout<<bantu->kode<<"\t"<<bantu->nama_produk<<"\n"; bantu=bantu->next; } } else{ cout<<"Data masih kosong"; } } int main(){ awal(); tambahDataDepan(1,"Netbook Asus eeepc 1215"); tambahDataBelakang(2,"Netbook Asus eeepc 1210"); tambahDataDepan(3,"Netbook Asus eeepc 1010"); tambahDataBelakang(4,"Printer Canon Pixma MP 258"); hapusBelakang(); hapusDepan(); cetak(); return 0; }