Thursday, June 7, 2012

Stack & Queue


STACK ( Tumpukan )
Definisi
1.      Adalah tumpulan data yang seolah-olah ada data di atas data lain.
2.      Suatu metode untuk Input dan hapus di dalam memori komputer.
3.      Konsep utama dalam STACK adalah LIFO ( Last In First Out ).
4.      Contoh:Tumpukan 5, Tumpukan 4, Tumpukan 3, Tumpukan 2, Tumpukan 1
5.      Data Tumpukan 1 datang/masuk duluan, Data Tumpukan 5 yang paling atas yang keluar terlebih dahulu.


Algoritma
·         Input/tambah data
Jika ada input maka no stack/no tumpukan yang semula 0 akan tambah 1 demi 1 sampai maksimal tumpukan.
·         Pengambilan data
Jika ada pengambilan data maka data dipindahkan di variabel lain contohnya temp. Dan posisi tumpukannya yang semula maksimal akan berkurang 1 demi 1 sampai posisi 0 kembali.


Queue (Antrian)
Definisi
1.      Adalah antrian data yang seolah-olah ada data yang mengantri dari yang terawal sampai yang terakhir.
2.      Suatu metode untuk Input dan hapus di dalam memori komputer.
3.      Konsep utama dalam Queue adalah FIFO ( First In First Out ).
4.      Contoh: Antrian 1, Antrian 2, Antrian 3, Antrian 4, Antrian 5
5.      Data Antrian 1 datang/masuk duluan, Data Antrian 1 juga yang keluar terlebih dahulu.

Algoritma
                        •Input/tambah data
Jika ada input maka no queue/no antrian yang semula 0 akan tambah 1 demi 1 sampai maksimal antrian.
                        •Pengambilan data
Jika ada pengambilan data maka data dipindahkan di variabel lain contohnya temp. Dan posisi antriannya yang semula maksimal akan berkurang 1 demi 1 sampai posisi 0 kembali.

Tugas !
1.      Buatlah Program Stack dengan C#
2.      Buatlah Program Queue dengan C#

3 comments:

  1. Gmn tugas membuat Dequee menggunakan C# mas

    ReplyDelete
  2. using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Collections;
    using System.Threading.Tasks;

    namespace queue_misbah
    {
    class Program
    {
    static void Main(string[] args)
    {
    Console.WriteLine("Masukkan data :");
    string d = Console.ReadLine();
    Console.WriteLine(" ");
    Queue q = new Queue();

    for (int i = 0; i < d.Length; i++)
    {
    q.Enqueue(d.Substring(i, 1));
    if (i == d.Length - 1)
    {
    Console.WriteLine(" Hasil urutan queue :");
    for (i = 0; i < d.Length; i++)
    {
    char x = Convert.ToChar(q.Dequeue());
    Console.WriteLine(x);
    }
    Console.WriteLine(" ");
    }
    }
    }
    }
    }

    ReplyDelete