Professional Documents
Culture Documents
Feri Irawan - 3A
Feri Irawan - 3A
NPM : 065119023
KELAS : 3A
LIFO : di mana data yang masuk paling akhir adalah data yang keluar paling awal.
FIFO : di mana data yang masuk paling awal adalah data yang keluar paling awal juga.
Simulasi Stack adalah suatu tumpukan dari benda. Konsep utamanya adalah LIFO (Last
In First Out), benda yang terakhir masuk dalam stack akan menjadi benda pertama yang
dikeluarkan dari stack.
Operasi Queue
EnQueue : Digunakan untuk memasukkan data ke dalam antrian.
DeQueue : Digunakan untuk mengeluarkan data terdepan atau pertama dari antrian.
Clear : Untuk menghapus data yang terdapat di antrian.
IsEmpty : Digunakan untuk mengecek apakah antrian tersebut kosong atau tidak.
IsFull : Digunakan untuk mengecek apakah antrian tersebut sudah penuh atau belum.
PROGRAM 3 MENU
SOURCE CODE
#undef _STRICT_ANSI
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
using namespace std;
int main ()
{
char lagi;
int pilihan;
int n, bd;
char nama[10][30], temp[30];
int total,data[10], x, a, b;
int z, maks;
int cari,ketemu;
int d[100];
int kode;
awal:
system("cls");
cout<<" ========================================"<<"\n";
cout<<"============ MENU PROGRAM ============"<<"\n";
cout<<" ========================================"<<"\n";
cout<<"1. Program Shorting NPM"<<"\n";
cout<<"2. Program Shorting Nama"<<"\n";
cout<<"3. Program Searching Sequential"<<"\n"; cout<<endl;
cout<<"Masukkan Pilihan Anda (1-3) = ";
cin>>kode;
switch(kode)
{
case 1 :
cout<<"==============================="<<endl;
cout<<" Program Shorting NPM "<<endl;
cout<<"==============================="<<endl;
cout<<"Input Maksimal Data = "; cin>>total;
cout<<"==============================="<<endl;
for(a=0;a<total;a++){
cout<<"Masukkan Nilai Data ke-"<<a+1<<" = "; cin>>data[a];
} cout<<"==============================="<<endl;
cout<<"Sebelum di-sorting"<<endl;
for(a=0;a<total;a++) cout<<data[a]<<" | ";
cout<<endl; for(a=0;a<total-1;a++){ int k = a;
int ket = data[a];
for(b=a+1;b<total;b++){ if(ket>data[b]){
k = b;
ket = data[b];
}
}
x = data[a];
data[a] = data[k]; data[k] = x;
}
cout<<"==============================="<<endl;
cout<<"Sesudah di-sorting"<<endl;
for(a=0;a<total;a++) cout<<data[a]<<" | ";
cout<<endl; break;
case 2 :
cout<<"==============================="<<endl;
cout<<" Program Shorting Nama "<<endl;
cout<<"==============================="<<endl;
cout<<"Masukan Jumlah Nama (MAKS 10) = "; cin>>n;
for(int i=1;i<=n;i++)
{
cout<<"Masukan nama ke-"<<i<<" = ";
fflush(stdin); cin.getline(nama[i],sizeof(nama[i]));
}
cout<<"\n\Sebelum di-Sorting \n";
for(int i=1; i<=n; i++) cout<<nama[i]<<" | ";
for(int a=1;a<n-1;a++)
{
for(int b=1;b<n-1;b++)
{
bd = strcmp(nama[b], nama[b+1]); if(bd > 0){
strcpy(temp, nama[b]);
strcpy(nama[b],nama[b+1]);
strcpy(nama[b+1],temp);
}
}
}
cout<<endl;
cout<<"\n\Sesudah di-
Sorting\n"; for(int i=1; i<=n; i++) cout<<nama[i]<<" | "; cout<<endl;
break;
case 3 :
cout<<"====================================="<<endl;
cout<<" Program Searching Sequential "<<endl;
cout<<"====================================="<<endl;
cout<<"Masukan Jumlah Data [Maks 20] = ";
cin>>maks;
for (z=0;z<maks;z++)
{
cout<<"Masukkan data ke-"<<z<<" = "; cin>>d[z];
}
cout<<"\nInput bilangan yang dicari : "; cin>>cari;
ketemu=0; for(z=0;z<=maks;z++)
{
if (d[z]==cari)
{
cout<<"\nData yang dicari = "<<d[z];
cout<<"\nData ditemukan pada indeks ke-"<<z; ketemu = 1;
}
}
cout<<endl;
if (ketemu == 0){
cout<<"Data tidak ditemukan"; cout<<endl;
}
break; default:
cout<<"Kode tersebut tidak ada dalam menu"<<"\n";
} cout<<"==============================="<<endl;
cout<<"Anda Ingin Kembali ke Menu (Y/N) = "; cin>>lagi;
if(lagi=='y' || lagi=='Y'){ goto awal;
}
if (lagi=='N' || lagi=='n'){ goto selesai;
}
selesai:
system("cls");
cout<<"Terima Kasih Telah Menggunakan Program"<<"\n";
getch(); return 0;
}