• Contoh Simple Implementasi FIFO (First Input First Output) di java

    Assalamualaikum Lur.....

    Fifo atau bisa kita sebut antrian adalah yang pertama masuk dia yang pertama keluar nah loh opo iku?
    Contoh sederhana dari fifo ini adalah Shaf shalat misal orang yang pertama masuk dan berada pada shaf 1 atau kalau di array shaf [0] (karna array dimulai dari 0) dia yang pertama keluar dan diikuti shaf selanjutnya.
    Gambarannya seperti gambar dibawah ini :




    Nah dari gambaran di atas Method Push kita ibaratkan Input dan Method Pop Kita ibaratkan output/keluar.
    Berikut ini contoh progam FIFO dengan nama file fifo.java

    //import scanner untuk inputan
    import java.util.Scanner;

    class shaf {
    private String arr[];
    private int top = 0;
    private int down =0;
    private int panjangshaf;

    //Construktor
    public shaf(int panjangshaf){
      this.panjangshaf = panjangshaf;
      arr = new String[panjangshaf];
      System.out.println("panjang shaf = "+panjangshaf);
    }

    // Memasukan  Input
    public void push (String n){
      if(isFull()){
    System.out.println("Shaf penuh");
      }
      arr [top] = n;
      System.out.println(n + " masuk ke shaf " + top);
      top++;
    }
    //Untuk mengecek shaf sudah full atau belom
    public boolean isFull(){
      if(top == panjangshaf){
    return true;
      }
      return false;
    }

    //Mengeluarkan atau Output
    public void pop (){
      if(isEmpty()){
    System.out.println("Shaf kosong");
      }
      System.out.println(arr[down]+" Keluar dari shaf");
      down++;
    }
        //Mengecek apakah Shaf Kosong
    public boolean isEmpty(){
      if(top == 0 || down  == panjangshaf){
    return true;
      }
      return false;
    }

        //Untuk Menampilkan barisan Shaf kelayar
    public void viewshaf(){
    System.out.print("[ ");
      for (int i=0;i<panjangshaf;i++){
    System.out.print(arr[i]+"\t");
      }
    System.out.print(" ]");
    }
    }

    //kelas utama atau main class
    public class fifo {
      public static void main(String[] args) {
      int panjang;
      String n;
      Scanner input = new Scanner (System.in); //Membuat objek untuk inputan
      System.out.print("Masukan panjang shaf : ");
      panjang = input.nextInt();
      //Mendeklarasikan dari kelas shaf
      shaf Shaf = new shaf(panjang);
      //Nginput atau memasukan data
      n = input.nextLine();
      for(int i=0;i<panjang;i++){
    System.out.print("Masukan nama :");
    n = input.nextLine();
    Shaf.push(n);
      }
      System.out.println("antrian selesai");
      //Menampilkan barisan shaf
      Shaf.viewshaf();
      System.out.println("");
      //Output atau mengeluarkan data
      while (!Shaf.isEmpty()){
    Shaf.pop();
      }
      System.out.println("clear");

    }
    }

    Hasil Output :


    Penjelasan :

    class shaf menyimpan method method yang mempunyai fungsi sebagai berikut :

    public shaf (int panjangshaf)
      Ini adalah konstruktor yang fungsinya untuk menginput panjang array sesuai yang kita input, method ini dijalankan pertama kali.

    public void push (String n)
      Ini adalah method push yang fungsinya memasukan / menginput data dimana data yang diinputkan dimulai dari array 0 atau shaf[0].

    public boolean isFull()
      Method ini digunakan untuk mengecek kondisi array / shaf apakah apakah sudah penuh.

    public void pop (){
      Method pop / output ini digunakan untuk mengeluarkan data dari array / dari shaf dimana yang pertama masuk dia yang pertama keluar.

    public boolean isEmpty()
      Method ini digunakan untuk mengecek apakah array / shaf kosong. dan maksud dari if(top == 0 || down  == panjangshaf) ini adalah jika variable top / shaf 0 ( || ) atau down (setelah di keluarkan / dioutput) sebanyak panjang array.

    public void viewshaf()
      Method ini digunakan untuk menampilkan isi data array / barisan shaf.


    Sekian dari saya, matur suwun dulur..........



  • You might also like

    No comments:

    Post a Comment