Penjelasan, Script, serta Perbedaan dari Logika Pengurutan Data LIFO dan FIFO
Yang akan saya bahas pertama adalah Script dari logika pengurutan data LIFO (Last In First Out) tersebut. Berikut saya menggunakan Visual Studio 2010 untuk membuat programnya.
Jika script diatas kurang jelas, bisa anda lihat selengkapnya dibawah ini.(Kode program LIFO)
/*Belajar STACK (Last In First Out)*/
#include <windows.h>
#include<stdio.h>
#include <stdlib.h>
#include<conio.h>
#define MAX 10
int s[MAX],top=-1;
//Defines gotoxy() for ANSI C
compilers.
void gotoxy(short x, short y) {
COORD pos = {x, y};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),
pos);
}
void clrscr()
{
system("@cls||clear");
}
main()
{
char a;
menu();
do
{
a=getch();
switch(a)
{
case 'p':
case 'P':
push(); /*pemanggilan
fungsi push()*/
break;
case 'o':
case 'O':
pop(); /*pemanggilan
fungsi pop()*/
break;
}
}while(a!=27);
}
menu() /*1*/
{
clrscr();
printf("\n P :
Push");
printf("\n O :
Pop");
printf("\n esc:
Keluar\n");
gotoxy(1,23);printf("Max
10 tumpukan");
display();
}
push() /*2 penambahan*/
{
int input;
char a[6];
gotoxy(3,15);printf("
");
gotoxy(3,17);printf("
");
if(top<MAX-1) /*nilai MAX=10*/
{
gotoxy(3,15);printf("Masukkan
Nilai :");
scanf("%s",a);
input=atoi(a); /*mengubah
karakter ASCII menjadi Integer*/
s[++top]=input;
menu();
gotoxy(3,17);printf("%d
dimasukkan tumpukkan",input);
}
else
{ gotoxy(3,17);printf("tumpukan
penuh"); }
}
pop() /*3 keluaran*/
{
int y;
gotoxy(3,17);printf("
");
if(top>=0)
{
y=s[top--];
menu();
gotoxy(3,15);printf("nilai
%d dikeluarkan dari tumpukan",y);
}
else
{
gotoxy(3,15);printf("
");
gotoxy(3,17);printf("tumpukan
sudah habis");
}
}
display() /*4 tampilan*/
{
int y=24,i;
if(top<0)
{ gotoxy(60,12);printf("Kosong");return; }
gotoxy(60,y--);printf("--------");
for(i=0;i<=top;i++)
{
gotoxy(60,y--);printf("|%6d|",s[i]);
gotoxy(60,y--);printf("--------");
}
}
Jika sudah mengikuti script diatas maka jika berhasil akan menghasilkan output seperti gambar dibawah ini.
Selanjutnya adalah pembahasan mengenai perbedaan, kelemahan dan kelebihan, contoh, dan kesimpulan dari LIFO dan FIFO
1.
Perbedaan antara LIFO dan FIFO:
·
Fungsi
push(): digunakan untuk menaikkan posisi TOP satu level ke level atas/memasukkan
elemen
-Perbedaan
: pada FIFO data yang pertama kali masuk akan diproses terlebih dulu, sedangkan
pada LIFO data yang terakhir masuk akan diproses terlebih dahulu
-Persamaan
: sama sam adigunakan untuk menginputkan data/elemen
·
Fungsi
pop(): digunakan untuk menghapus elemen yang terletak pada posisi paling atas
dari sebuah stack.
-Perbedaan
: pada FIFO data yang masuk pertama kali akan dihapus terlebih dahulu sedangkan
pad LIFO dat ayang terakhir diinputkan akan dihapus terlebih dahulu
-persamaan
: fungsi pop() sama sma digunakan untuk menghapus
·
Fungsi
display() : menampilkan hasil akhir
-Perbedaan
: pada FIFO hasil akan ditampilkan secara horizontal dan pada LIFO secara
vertikal
-Persamaan
: sama sama digunakan untuk menampilkan hasil akhir
·
Fungsi
menu() : digunakan untuk menampilkan menu
-perbedaan
: menu yang ditampilkan program sesuai dengan # (header) yang terdapat pada
program
-persaman
: sama sama digunkan untuk menampilkan menu pada program
2.
Kelemahan dan kelebihan program FIFO dan LIFO
·
jika
menggunakan metode FIFO
Kelemahan:
-data
yang terakhir masuk, bila waktu pelayanan habis kemungkinan bisa tidak dilayani
-akses terhadap datanya memakan waktu lama
Kelebihan:
-data yang pertama masuk maka akan pertama dilayani
·
Jika menggunakan metode LIFO
Kelemahan:
-penghapusan dan pencarian data lama
-membutuhkan memori yang lebih banyak
Kelebihan:
-penambahan
data dilakukan dengan cepat dan akses data yang terakhir kali dimasukkan dapat
dilakukan dengan cepat
-selama memori masih tersedia, penambahan data bis
aterus dilakukan
3.
-FIFO(
first in first out) dimana orang yang pertama datang yang akan dilayani,
sehingga ketika orang pertama belum selsesai, orang kedua tidak bisa
mengambil/menyerobot.
Contoh dalah kehidupa sehari hari:
·
Antrian
printer job pada sebuah jaringan
·
Antrian
nasabah pada seuah bank
·
Antrian
loket bioskop
·
Antrian
di SPBU
-LIFO(last in, first out) dimana
benda yang baru dimasukkan yang dapat diakses atau dilihat.
Contoh dalam kehidupan sehari hari:
·
Setumpuk
koran, dimana koran yang paling terakhir ditambahkan dan ditaruh di atas
tumpukan yang dapat dilihat
·
Tumpukan
buku di meja, dimana buku yang paling atas yang dapat dilihat terlebih dahulu
·
Tumpukan
kaos di lemari, maka yang akan mudah dijangkau adalah kaos yang paling atas
4. Kesimpulan
FIFO: pada program yang menggunakan
metode FIFO, data yang pertama masuk akan diproses terlebih dahulu.
Contoh: jika kita inputkan angka
1,2,3,4,5 maka jika dihapus maka data yang pertama kali akan dihapus ada angka
1
LIFO: pada program yang menggunakan
metode LIFO, maka data yang terakhik diinputkan akan dilayane terlebih dahulu.
Contoh: jika menginputkan angka
1,2,3,4,5 maka jika dihapus, data yang pertama kali akan terhapus adlah angka
5.
Demikianlah artikel saya kali ini, semoga bermanfaat, dan tetap semangat!
Sangat membantu saya. Terima kasih infonya
BalasHapusSama-sama Dewi Lestari, terima kasih juga atas kunjungannya di Zoro Tekno
HapusTerima kasih sudah berkunjung di Zoro Tekno
BalasHapus