SlideShare a Scribd company logo
1 of 20
PROGRAM STRUKTUR DATA
“ANGKRINGAN MADHEP MANTEP”
“JOGJAKARTA”
MAKALAH STRUKTUR DATA
Diajukan untuk memenuhi mata kuliah Struktur Data pada Semester II
Disusun oleh :
1. Galih Eka Saputra ( 12134649 )
2. Tri Okta Vilandika ( 12135153 )
3. Isnaini Nisa Ismi L. ( 12135655 )
4. Ina Yuliyani ( 12135839 )
5. Siti Makrifatul Arifah ( 12136654 )
Jurusan Manajemen Informatika
Akademi Manajemen Informatika dan Komputer Bina Sarana Informatika
Yogyakarta
2014
A. PENJELASAN PROGRAM
1. Tipe Data
Digunakan untuk mendeklasikan variable dalam program :
a. Integer
- int data[MAX]; = untuk membatasi maksimal antrian
- int head; = untuk nilai awal atrian
- int tail; = untuk nilai akhir antrian
- int isempty(); = untuk mengetahui apakah antrian kosong
- int isfull(); = untuk mengetahui apakah antrian penuh
- int i; = untuk pengulangan
- int enqueue(); = untuk menambah antrian
- int dequeue(); = untuk mengurangi antrian
- int view(); = untuk melihat tampilan
- int clear(); = untuk mengosongkan antrian
- int e=antrian.data[antrian.head]; = untuk menampilkan nomer
antrian
- int jminput,i; = untuk memasukkan jumlah jenis pesanan
- int pil; = untuk melakukan pilihan
b. Character
- char abc,nmkasir[30]; = untuk mendeklarasikan pilihan dan
nama kasir
- char *menu; = untuk
c. Float
- float hs,total; = untuk mendeklarasikan harga satuan, total
dalam bentuk desimal
2. Operasi Aritmatika
Digunakan untuk mengoperasikan variable yang bertipe data integer
dan float.
a. Penjumalahan (+)
- total_bayar=total_bayar+(ang[i].hs*ang[i].jmpesan);
b. Pengurangan (-)
- uk=ub-total_bayar;
c. Perkalian ( x )
- total_bayar=total_bayar+(ang[i].hs*ang[i].jmpesan);
3. Array Dimensi 2
Digunakan untuk mendeklarasikan jumlah dan jenis pesanan yang
lebih dari satu tipe pesanan.
4. QUEUE
Digunakan untuk mendeklarasikan antrian pembayaran.
a. ENQUEUE
Untuk menambah jumlah antrian pembayaran.
b. DEQUEUE
Untuk mengurangi daftar antrian pembayaran dengan melakukan
transaksi pembayaran.
c. TAMPILAN (VIEW)
Untuk menampilkan daftar antrian.
d. CLEAR
Untuk mengosongkan daftar antrian.
e. KELUAR
Untuk keluar dari program queue.
B. TAMPILAN PROGRAM
1. SINTAK
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#define MAX 5
daftar_menu()
{ cout<<" NASI KUCINGAN MINUMAN
"<<endl;
cout<<" 1. Nasi Sambel Teri 4. Teh Panas/Es "<<endl;
cout<<" 2. Nasi Oseng Tempe 5. Susu Jahe Panas/Es
"<<endl;
cout<<" 3. Nasi Oseng Jamur 6. Jeruk Panas/Es "<<endl;
cout<<endl<<endl;
cout<<" GORENGAN JENIS SATE
"<<endl;
cout<<" 7. Tahu 10. Sate Usus "<<endl;
cout<<" 8. Tempe 11. Sate Keyong "<<endl;
cout<<" 9. Bakwan 12. Telur Puyuh "<<endl;
cout<<endl<<endl;
cout<<" ROKOK
"<<endl;
cout<<" 13. Djarum "<<endl;
cout<<" 14. Malboro "<<endl;
cout<<" 15. LA
"<<endl<<endl;
}
judul()
{
cout<<"tt ANGKRINGAN MADHEP MATHUK"
<<endl;
cout<<"ntt JOGJAKARTA"
<<endl;
cout<<"ntt^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"<<endl<<e
ndl;
}
typedef struct
{
int data[MAX];
int head;
int tail;
}
queue;
queue antrian;
void create()
{
antrian.head=antrian.tail=-1;
}
int isempty()
{
if(antrian.tail==-1)
return 1;
else
return 0;
}
int isfull()
{
if(antrian.tail==MAX-1)
return 1;
else
return 0;
}
void enqueue(int data)
{
if(isempty()==1)
{
antrian.head=antrian.tail=0;
antrian.data[antrian.tail]=data;
printf("%d, Sudah Masuk!",antrian.data[antrian.tail]);
void tampil();
{
int i;
if (isempty()==0)
{
for(i=antrian.head;i<=antrian.tail;i++)
{
printf(" %d ",antrian.data[i]);
}
}
else
printf("n**** QUEUE IS EMPTY ****n");
}
}
else if(isfull()==0)
{
antrian.tail++;
antrian.data[antrian.tail]=data;
printf("%d , Sudah Masuk!",antrian.data[antrian.tail]);
}
else
{
if(isfull()==1)
{
cout<<"nn**** QUEUE IS FULL , data TIDAK dapat
masuk ****";
}
}
gotoxy(25,8);cout<<"PRESS any key for back to MENU";
}
int dequeue()
{
if (isempty()==1){
cout<<"n**** ERROR :: QUEUE IS EMPTY ****";
}
else if(isempty()==0){
int i;
int e=antrian.data[antrian.head];
for(i=antrian.head;i<=antrian.tail-1;i++)
{
antrian.data[i]=antrian.data[i+1];
}
antrian.tail--;
clrscr();
cout<<"nnAntrian yang mau dilayani =>
"<<e<<endl<<endl;
}
char abc,nmkasir[30];
int jminput,i;
float total_bayar,ub,uk;
struct
{
char *menu;
int pilmenu,jmpesan;
float hs,total;
}
ang[16];
awal:
judul();
cout<<"tttMenu Utama : "<<endl;
cout<<"nttt A. Input Pesanan"<<endl;
cout<<"ttt B. Pembayaran"<<endl;
cout<<"ttt C. Lihat Nota Pembayaran"<<endl;
cout<<"ttt D. Kembali ke menu sebelumnya"<<endl;
cout<<"ntttPilihan Kamu : ";cin>>abc;
if(abc=='a'||abc=='A')
{
goto A;
}
else if(abc=='b'||abc=='B')
{
goto B;
}
else if (abc=='c'||abc=='C')
{
goto C;
}
else
{
goto D;
}
A:
clrscr();
judul();
daftar_menu();
cout<<"tjumlah input data : ";cin>>jminput;
for (i=1;i<=jminput;i++)
{
cout<<"tpilihan ke "<<i<<" = ";cin>>ang[i].pilmenu;
cout<<"t jml pesan = ";cin>>ang[i].jmpesan;
cout<<endl;
if(ang[i].pilmenu==1)
{
ang[i].menu="Nasi Sambel Teri ";
ang[i].hs=2000;
}
else if(ang[i].pilmenu==2)
{
ang[i].menu="Nasi Oseng Tempe ";
ang[i].hs=2000;
}
else if(ang[i].pilmenu==3)
{
ang[i].menu="Nasi Oseng Jamur ";
ang[i].hs=2000;
}
else if(ang[i].pilmenu==4)
{
ang[i].menu="Teh Panas/Es ";
ang[i].hs=2000;
}
else if(ang[i].pilmenu==5)
{
ang[i].menu="Susu Jahe Panas/Es";
ang[i].hs=3000;
}
else if(ang[i].pilmenu==6)
{
ang[i].menu="Jeruk Panas/Es ";
ang[i].hs=2500;
}
else if(ang[i].pilmenu==7)
{
ang[i].menu="Gorengan Tahu ";
ang[i].hs=500;
}
else if(ang[i].pilmenu==8)
{
ang[i].menu="Gorengan Tempe ";
ang[i].hs=500;
}
else if(ang[i].pilmenu==9)
{
ang[i].menu="Gorengan Bakwan ";
ang[i].hs=500;
}
else if(ang[i].pilmenu==10)
{
ang[i].menu="Sate Usus ";
ang[i].hs=1000;
}
else if(ang[i].pilmenu==11)
{
ang[i].menu="Sate Keyong ";
ang[i].hs=1000;
}
else if(ang[i].pilmenu==12)
{
ang[i].menu=" Sate Telur Puyuh ";
ang[i].hs=2500;
}
else if(ang[i].pilmenu==13)
{
ang[i].menu="Rokok Jarum Super ";
ang[i].hs=1000;
}
else if(ang[i].pilmenu==14)
{
ang[i].menu="Rokok Malboro ";
ang[i].hs=1500;
}
else if(ang[i].pilmenu==15)
{
ang[i].menu="Rokok LA ";
ang[i].hs=1000;
}
else
{
ang[i].menu="SALAH INPUT BOS ! ";
ang[i].hs=0;
}
}
cout<<"tt tekan enter untuk kembali ke menu pesan";getch();clrscr();
goto awal;
B:
clrscr();
judul();
cout<<" Nama Kasir : ";cin>>nmkasir;
cout<<"============================================
========="<<endl;
cout<<"No Pilihan Menu Harga Jumlah_Pesan Total
"<<endl;
cout<<"============================================
========="<<endl;
for (i=1;i<=jminput;i++)
{
ang[i].total=ang[i].hs*ang[i].jmpesan;
cout<<" "<<i<<" "<<ang[i].menu<<" "<<ang[i].hs<<"
"<<ang[i].jmpesan
<<" "<<ang[i].total<<endl;
total_bayar=total_bayar+(ang[i].hs*ang[i].jmpesan);
}
cout<<"==========================================
==========="<<endl<<endl;
cout<<" total bayar : "<<total_bayar<<endl;
cout<<" uang Bayar : ";cin>>ub;
uk=ub-total_bayar;
cout<<" uang kembali : "<<uk<<endl<<endl;
cout<<"tttekan enter untuk kembali ke menu utama";getch();clrscr();
goto awal;
C:
clrscr();
judul();
cout<<" Nama Kasir : "<<nmkasir<<endl;
cout<<"============================================
========="<<endl;
cout<<"No Pilihan Menu Harga Jumlah_Pesan Total
"<<endl;
cout<<"============================================
========="<<endl;
for (i=1;i<=jminput;i++)
{
ang[i].total=ang[i].hs*ang[i].jmpesan;
cout<<" "<<i<<" "<<ang[i].menu<<" "<<ang[i].hs<<"
"<<ang[i].jmpesan
<<" "<<ang[i].total<<endl;
total_bayar=total_bayar+(ang[i].hs*ang[i].jmpesan);
}
cout<<"==========================================
==========="<<endl<<endl;
cout<<" total bayar : "<<total_bayar<<endl;
cout<<" uang Bayar : "<<ub<<endl;
cout<<" uang kembali : "<<uk<<endl<<endl;
cout<<"tttekan enter untuk kembali ke menu utama";getch();clrscr();
goto awal;
D:
cout<<"tttPRESS any key for back to MENU";
}
void clear()
{
antrian.head=antrian.tail=-1;
printf("nn**** DATA CLEAR ****");
gotoxy(25,8);cout<<"PRESS any key for back to MENU";
}
void tampil()
{
int i;
if(isempty()==0)
{
cout<<"Data Yang ada Dalam QUEUE :
"<<endl<<endl;
for(i=antrian.head;i<=antrian.tail;i++)
{
printf("| %d |",antrian.data[i]);
}
}
else
{
printf("n**** QUEUE IS EMPTY ****n");
}
gotoxy(25,8);cout<<"PRESS any key for back to MENU";
}
void main()
{
int pil;
int data;
create();
do
{
clrscr();
gotoxy(25,2);cout<<"========MENU
PILIHAN========"<<endl<<endl;
gotoxy(25,4);cout<<"============================"<<endl;
gotoxy(30,6);cout<<" 1. ENQUEUE "<<endl;
gotoxy(30,7);cout<<" 2. DEQUEUE "<<endl;
gotoxy(30,8);cout<<" 3. TAMPILAN "<<endl;
gotoxy(30,9);cout<<" 4. CLEAR "<<endl;
gotoxy(30,10);cout<<" 5. KELUAR "<<endl;
gotoxy(25,12);cout<<"============================"<<endl;
gotoxy(25,14);cout<<" Masukan Pilihan Anda => ";cin>>pil;
switch(pil){
case 1:
clrscr();
printf("nn Masukan Data => "); scanf("%d",&data);
enqueue(data);
break;
case 2:
clrscr();
dequeue();
break;
case 3:
clrscr();
cout<<endl;
tampil();
break;
case 4:
clrscr();
clear();
break;
case 5:
clrscr();
gotoxy(25,8);cout<<"**** TERIMA KASIH ****"<<endl;
break;
}
getch();
}
while(pil!=5);
}
2. Bentuk Tampilan (Print Screen)
a. Tampilan Menu Pilihan (QUEUE)
Tampilan ENQUEUE
Tampilan DEQUEUE
Tampilan TAMPILAN (VIEW)
Tampilan CLEAR
Tampilan KELUAR
b. Tampilan Array Dimensi 2
Tampilan Input Pesanan
Tampilan Pembayaran
Tampilan Lihat Nota Pembayaran

More Related Content

More from Bina Sarana Informatika (20)

948 p06
948 p06948 p06
948 p06
 
948 p05
948 p05948 p05
948 p05
 
948 p04
948 p04948 p04
948 p04
 
948 p03
948 p03948 p03
948 p03
 
948 p02
948 p02948 p02
948 p02
 
948 p01
948 p01948 p01
948 p01
 
948 ltm metode penelitian - 3 sks
948 ltm metode penelitian - 3 sks948 ltm metode penelitian - 3 sks
948 ltm metode penelitian - 3 sks
 
Kuiz dasar manajemen bisnis pert 9 14
Kuiz dasar manajemen bisnis pert 9 14Kuiz dasar manajemen bisnis pert 9 14
Kuiz dasar manajemen bisnis pert 9 14
 
Silabus bahasa inggris ii
Silabus bahasa inggris iiSilabus bahasa inggris ii
Silabus bahasa inggris ii
 
Silabus bahasa inggris ii ok
Silabus bahasa inggris ii okSilabus bahasa inggris ii ok
Silabus bahasa inggris ii ok
 
Meeting 14 ok
Meeting 14 okMeeting 14 ok
Meeting 14 ok
 
Meeting 12 ok
Meeting 12 okMeeting 12 ok
Meeting 12 ok
 
Meeting 10 ok
Meeting 10 okMeeting 10 ok
Meeting 10 ok
 
Meeting 6 ok
Meeting 6 okMeeting 6 ok
Meeting 6 ok
 
Meeting 5 ok
Meeting 5 okMeeting 5 ok
Meeting 5 ok
 
Meeting 4 ok
Meeting 4 okMeeting 4 ok
Meeting 4 ok
 
Meeting 3 ok
Meeting 3 okMeeting 3 ok
Meeting 3 ok
 
Soal 2
Soal 2Soal 2
Soal 2
 
Silabus chacarter building d3 kbk
Silabus chacarter building d3 kbkSilabus chacarter building d3 kbk
Silabus chacarter building d3 kbk
 
Pertemuan 6 cb
Pertemuan 6 cbPertemuan 6 cb
Pertemuan 6 cb
 

Recently uploaded

bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikabab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
AtiAnggiSupriyati
 
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptxBAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
JuliBriana2
 

Recently uploaded (20)

MATEMATIKA EKONOMI MATERI ANUITAS DAN NILAI ANUITAS
MATEMATIKA EKONOMI MATERI ANUITAS DAN NILAI ANUITASMATEMATIKA EKONOMI MATERI ANUITAS DAN NILAI ANUITAS
MATEMATIKA EKONOMI MATERI ANUITAS DAN NILAI ANUITAS
 
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
 
MAKALAH KELOMPOK 7 ADMINISTRASI LAYANAN KHUSUS.pdf
MAKALAH KELOMPOK 7 ADMINISTRASI LAYANAN KHUSUS.pdfMAKALAH KELOMPOK 7 ADMINISTRASI LAYANAN KHUSUS.pdf
MAKALAH KELOMPOK 7 ADMINISTRASI LAYANAN KHUSUS.pdf
 
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SDPPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
 
Modul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdf
Modul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdfModul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdf
Modul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdf
 
Modul Projek - Batik Ecoprint - Fase B.pdf
Modul Projek  - Batik Ecoprint - Fase B.pdfModul Projek  - Batik Ecoprint - Fase B.pdf
Modul Projek - Batik Ecoprint - Fase B.pdf
 
power point bahasa indonesia "Karya Ilmiah"
power point bahasa indonesia "Karya Ilmiah"power point bahasa indonesia "Karya Ilmiah"
power point bahasa indonesia "Karya Ilmiah"
 
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptxRefleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
 
Lingkungan bawah airLingkungan bawah air.ppt
Lingkungan bawah airLingkungan bawah air.pptLingkungan bawah airLingkungan bawah air.ppt
Lingkungan bawah airLingkungan bawah air.ppt
 
algoritma dan pemrograman komputer, tugas kelas 10
algoritma dan pemrograman komputer, tugas kelas 10algoritma dan pemrograman komputer, tugas kelas 10
algoritma dan pemrograman komputer, tugas kelas 10
 
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikabab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
 
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.pptLATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
 
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi SelatanSosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
 
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptx
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptxDEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptx
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptx
 
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfContoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
 
DAFTAR PPPK GURU KABUPATEN PURWOREJO TAHUN 2024
DAFTAR PPPK GURU KABUPATEN PURWOREJO TAHUN 2024DAFTAR PPPK GURU KABUPATEN PURWOREJO TAHUN 2024
DAFTAR PPPK GURU KABUPATEN PURWOREJO TAHUN 2024
 
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
 
Tim Yang Lolos Pendanaan Hibah Kepedulian pada Masyarakat UI 2024
Tim Yang Lolos Pendanaan Hibah Kepedulian pada Masyarakat  UI 2024Tim Yang Lolos Pendanaan Hibah Kepedulian pada Masyarakat  UI 2024
Tim Yang Lolos Pendanaan Hibah Kepedulian pada Masyarakat UI 2024
 
vIDEO kelayakan berita untuk mahasiswa.ppsx
vIDEO kelayakan berita untuk mahasiswa.ppsxvIDEO kelayakan berita untuk mahasiswa.ppsx
vIDEO kelayakan berita untuk mahasiswa.ppsx
 
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptxBAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
 

Makalah struktur data

  • 1. PROGRAM STRUKTUR DATA “ANGKRINGAN MADHEP MANTEP” “JOGJAKARTA” MAKALAH STRUKTUR DATA Diajukan untuk memenuhi mata kuliah Struktur Data pada Semester II Disusun oleh : 1. Galih Eka Saputra ( 12134649 ) 2. Tri Okta Vilandika ( 12135153 ) 3. Isnaini Nisa Ismi L. ( 12135655 ) 4. Ina Yuliyani ( 12135839 ) 5. Siti Makrifatul Arifah ( 12136654 ) Jurusan Manajemen Informatika Akademi Manajemen Informatika dan Komputer Bina Sarana Informatika Yogyakarta 2014
  • 2. A. PENJELASAN PROGRAM 1. Tipe Data Digunakan untuk mendeklasikan variable dalam program : a. Integer - int data[MAX]; = untuk membatasi maksimal antrian - int head; = untuk nilai awal atrian - int tail; = untuk nilai akhir antrian - int isempty(); = untuk mengetahui apakah antrian kosong - int isfull(); = untuk mengetahui apakah antrian penuh - int i; = untuk pengulangan - int enqueue(); = untuk menambah antrian - int dequeue(); = untuk mengurangi antrian - int view(); = untuk melihat tampilan - int clear(); = untuk mengosongkan antrian - int e=antrian.data[antrian.head]; = untuk menampilkan nomer antrian - int jminput,i; = untuk memasukkan jumlah jenis pesanan - int pil; = untuk melakukan pilihan b. Character - char abc,nmkasir[30]; = untuk mendeklarasikan pilihan dan nama kasir - char *menu; = untuk c. Float - float hs,total; = untuk mendeklarasikan harga satuan, total dalam bentuk desimal 2. Operasi Aritmatika Digunakan untuk mengoperasikan variable yang bertipe data integer dan float. a. Penjumalahan (+) - total_bayar=total_bayar+(ang[i].hs*ang[i].jmpesan);
  • 3. b. Pengurangan (-) - uk=ub-total_bayar; c. Perkalian ( x ) - total_bayar=total_bayar+(ang[i].hs*ang[i].jmpesan); 3. Array Dimensi 2 Digunakan untuk mendeklarasikan jumlah dan jenis pesanan yang lebih dari satu tipe pesanan. 4. QUEUE Digunakan untuk mendeklarasikan antrian pembayaran. a. ENQUEUE Untuk menambah jumlah antrian pembayaran. b. DEQUEUE Untuk mengurangi daftar antrian pembayaran dengan melakukan transaksi pembayaran. c. TAMPILAN (VIEW) Untuk menampilkan daftar antrian. d. CLEAR Untuk mengosongkan daftar antrian. e. KELUAR Untuk keluar dari program queue. B. TAMPILAN PROGRAM 1. SINTAK #include <stdio.h> #include <conio.h> #include <iostream.h> #define MAX 5 daftar_menu() { cout<<" NASI KUCINGAN MINUMAN "<<endl;
  • 4. cout<<" 1. Nasi Sambel Teri 4. Teh Panas/Es "<<endl; cout<<" 2. Nasi Oseng Tempe 5. Susu Jahe Panas/Es "<<endl; cout<<" 3. Nasi Oseng Jamur 6. Jeruk Panas/Es "<<endl; cout<<endl<<endl; cout<<" GORENGAN JENIS SATE "<<endl; cout<<" 7. Tahu 10. Sate Usus "<<endl; cout<<" 8. Tempe 11. Sate Keyong "<<endl; cout<<" 9. Bakwan 12. Telur Puyuh "<<endl; cout<<endl<<endl; cout<<" ROKOK "<<endl; cout<<" 13. Djarum "<<endl; cout<<" 14. Malboro "<<endl; cout<<" 15. LA "<<endl<<endl; } judul() { cout<<"tt ANGKRINGAN MADHEP MATHUK" <<endl; cout<<"ntt JOGJAKARTA" <<endl; cout<<"ntt^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"<<endl<<e ndl; }
  • 5. typedef struct { int data[MAX]; int head; int tail; } queue; queue antrian; void create() { antrian.head=antrian.tail=-1; } int isempty() { if(antrian.tail==-1) return 1; else return 0; } int isfull() { if(antrian.tail==MAX-1) return 1; else return 0; } void enqueue(int data) {
  • 6. if(isempty()==1) { antrian.head=antrian.tail=0; antrian.data[antrian.tail]=data; printf("%d, Sudah Masuk!",antrian.data[antrian.tail]); void tampil(); { int i; if (isempty()==0) { for(i=antrian.head;i<=antrian.tail;i++) { printf(" %d ",antrian.data[i]); } } else printf("n**** QUEUE IS EMPTY ****n"); } } else if(isfull()==0) { antrian.tail++; antrian.data[antrian.tail]=data; printf("%d , Sudah Masuk!",antrian.data[antrian.tail]); } else { if(isfull()==1) { cout<<"nn**** QUEUE IS FULL , data TIDAK dapat masuk ****";
  • 7. } } gotoxy(25,8);cout<<"PRESS any key for back to MENU"; } int dequeue() { if (isempty()==1){ cout<<"n**** ERROR :: QUEUE IS EMPTY ****"; } else if(isempty()==0){ int i; int e=antrian.data[antrian.head]; for(i=antrian.head;i<=antrian.tail-1;i++) { antrian.data[i]=antrian.data[i+1]; } antrian.tail--; clrscr(); cout<<"nnAntrian yang mau dilayani => "<<e<<endl<<endl; } char abc,nmkasir[30]; int jminput,i; float total_bayar,ub,uk; struct {
  • 8. char *menu; int pilmenu,jmpesan; float hs,total; } ang[16]; awal: judul(); cout<<"tttMenu Utama : "<<endl; cout<<"nttt A. Input Pesanan"<<endl; cout<<"ttt B. Pembayaran"<<endl; cout<<"ttt C. Lihat Nota Pembayaran"<<endl; cout<<"ttt D. Kembali ke menu sebelumnya"<<endl; cout<<"ntttPilihan Kamu : ";cin>>abc; if(abc=='a'||abc=='A') { goto A; } else if(abc=='b'||abc=='B') { goto B; } else if (abc=='c'||abc=='C') { goto C; } else { goto D; } A: clrscr();
  • 9. judul(); daftar_menu(); cout<<"tjumlah input data : ";cin>>jminput; for (i=1;i<=jminput;i++) { cout<<"tpilihan ke "<<i<<" = ";cin>>ang[i].pilmenu; cout<<"t jml pesan = ";cin>>ang[i].jmpesan; cout<<endl; if(ang[i].pilmenu==1) { ang[i].menu="Nasi Sambel Teri "; ang[i].hs=2000; } else if(ang[i].pilmenu==2) { ang[i].menu="Nasi Oseng Tempe "; ang[i].hs=2000; } else if(ang[i].pilmenu==3) { ang[i].menu="Nasi Oseng Jamur "; ang[i].hs=2000; } else if(ang[i].pilmenu==4) { ang[i].menu="Teh Panas/Es "; ang[i].hs=2000;
  • 10. } else if(ang[i].pilmenu==5) { ang[i].menu="Susu Jahe Panas/Es"; ang[i].hs=3000; } else if(ang[i].pilmenu==6) { ang[i].menu="Jeruk Panas/Es "; ang[i].hs=2500; } else if(ang[i].pilmenu==7) { ang[i].menu="Gorengan Tahu "; ang[i].hs=500; } else if(ang[i].pilmenu==8) { ang[i].menu="Gorengan Tempe "; ang[i].hs=500; } else if(ang[i].pilmenu==9) { ang[i].menu="Gorengan Bakwan "; ang[i].hs=500; }
  • 11. else if(ang[i].pilmenu==10) { ang[i].menu="Sate Usus "; ang[i].hs=1000; } else if(ang[i].pilmenu==11) { ang[i].menu="Sate Keyong "; ang[i].hs=1000; } else if(ang[i].pilmenu==12) { ang[i].menu=" Sate Telur Puyuh "; ang[i].hs=2500; } else if(ang[i].pilmenu==13) { ang[i].menu="Rokok Jarum Super "; ang[i].hs=1000; } else if(ang[i].pilmenu==14) { ang[i].menu="Rokok Malboro "; ang[i].hs=1500; } else if(ang[i].pilmenu==15) {
  • 12. ang[i].menu="Rokok LA "; ang[i].hs=1000; } else { ang[i].menu="SALAH INPUT BOS ! "; ang[i].hs=0; } } cout<<"tt tekan enter untuk kembali ke menu pesan";getch();clrscr(); goto awal; B: clrscr(); judul(); cout<<" Nama Kasir : ";cin>>nmkasir; cout<<"============================================ ========="<<endl; cout<<"No Pilihan Menu Harga Jumlah_Pesan Total "<<endl; cout<<"============================================ ========="<<endl; for (i=1;i<=jminput;i++) { ang[i].total=ang[i].hs*ang[i].jmpesan; cout<<" "<<i<<" "<<ang[i].menu<<" "<<ang[i].hs<<" "<<ang[i].jmpesan <<" "<<ang[i].total<<endl; total_bayar=total_bayar+(ang[i].hs*ang[i].jmpesan);
  • 13. } cout<<"========================================== ==========="<<endl<<endl; cout<<" total bayar : "<<total_bayar<<endl; cout<<" uang Bayar : ";cin>>ub; uk=ub-total_bayar; cout<<" uang kembali : "<<uk<<endl<<endl; cout<<"tttekan enter untuk kembali ke menu utama";getch();clrscr(); goto awal; C: clrscr(); judul(); cout<<" Nama Kasir : "<<nmkasir<<endl; cout<<"============================================ ========="<<endl; cout<<"No Pilihan Menu Harga Jumlah_Pesan Total "<<endl; cout<<"============================================ ========="<<endl; for (i=1;i<=jminput;i++) { ang[i].total=ang[i].hs*ang[i].jmpesan; cout<<" "<<i<<" "<<ang[i].menu<<" "<<ang[i].hs<<" "<<ang[i].jmpesan <<" "<<ang[i].total<<endl; total_bayar=total_bayar+(ang[i].hs*ang[i].jmpesan); } cout<<"==========================================
  • 14. ==========="<<endl<<endl; cout<<" total bayar : "<<total_bayar<<endl; cout<<" uang Bayar : "<<ub<<endl; cout<<" uang kembali : "<<uk<<endl<<endl; cout<<"tttekan enter untuk kembali ke menu utama";getch();clrscr(); goto awal; D: cout<<"tttPRESS any key for back to MENU"; } void clear() { antrian.head=antrian.tail=-1; printf("nn**** DATA CLEAR ****"); gotoxy(25,8);cout<<"PRESS any key for back to MENU"; } void tampil() { int i; if(isempty()==0) { cout<<"Data Yang ada Dalam QUEUE : "<<endl<<endl; for(i=antrian.head;i<=antrian.tail;i++) { printf("| %d |",antrian.data[i]); } } else {
  • 15. printf("n**** QUEUE IS EMPTY ****n"); } gotoxy(25,8);cout<<"PRESS any key for back to MENU"; } void main() { int pil; int data; create(); do { clrscr(); gotoxy(25,2);cout<<"========MENU PILIHAN========"<<endl<<endl; gotoxy(25,4);cout<<"============================"<<endl; gotoxy(30,6);cout<<" 1. ENQUEUE "<<endl; gotoxy(30,7);cout<<" 2. DEQUEUE "<<endl; gotoxy(30,8);cout<<" 3. TAMPILAN "<<endl; gotoxy(30,9);cout<<" 4. CLEAR "<<endl; gotoxy(30,10);cout<<" 5. KELUAR "<<endl; gotoxy(25,12);cout<<"============================"<<endl; gotoxy(25,14);cout<<" Masukan Pilihan Anda => ";cin>>pil; switch(pil){ case 1: clrscr(); printf("nn Masukan Data => "); scanf("%d",&data); enqueue(data); break; case 2:
  • 16. clrscr(); dequeue(); break; case 3: clrscr(); cout<<endl; tampil(); break; case 4: clrscr(); clear(); break; case 5: clrscr(); gotoxy(25,8);cout<<"**** TERIMA KASIH ****"<<endl; break; } getch(); } while(pil!=5); }
  • 17. 2. Bentuk Tampilan (Print Screen) a. Tampilan Menu Pilihan (QUEUE) Tampilan ENQUEUE Tampilan DEQUEUE
  • 18. Tampilan TAMPILAN (VIEW) Tampilan CLEAR Tampilan KELUAR
  • 19. b. Tampilan Array Dimensi 2 Tampilan Input Pesanan Tampilan Pembayaran
  • 20. Tampilan Lihat Nota Pembayaran