Langsung ke konten utama

StruktuR Data Modul 05

Lawlietsan

http://lawlietsan.co.cc/

MODUL 5

STACK ( Tumpukan )

 

-à Adalah tumpulan data yang seolah-olah ada data di atas data lain.

-à Suatu metode untuk Input dan hapus di dalam memori komputer.

 

Konsep utama dalam STACK adalah LIFO ( Last In First Out ).

 

Data nomor 1 datang/masuk duluan, data nomor 5 yang paling atas yang keluar terlebih dahulu.

 

Algoritma:

  1. Input/tambah data
    • Jika ada input maka no stack/no tumpukan yang semula 0 akan tambah 1 demi 1 sampai maksimal tumpukan.

 

  1. 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.

 

  1. Deklarasi STACK

 

Type

            Const

            Max = 5;

Nama record = Record

                        Data    : type data;

                        Top      : byte;

            End;

            Nama_array = ARRAY [1..max] of Nama record;

Var

            STACK : nama Array;

 

 

Nama Array-----à Barang

Nama Record---à Coba

Nama Variabel--à Stack

 

Contoh Deklarasi dari gambar diatas:

 

Type

            Coba = record

            Data    :string;

            Top      : byte;

            End;

Barang = ARRAY [1..4] of coba;

Var

            Stack:barang;

 

  1. Operasi pada STACK

·        CREATE

Membuat stack baru yang masih kosong.

 

Procedure create;

Begin

      Stack.top:=0;

End;

 

·        FULL

Untuk memeriksa apakah stack sudah penuh atau belum.

 

Fuction full:bolean;

Begin

      Stack.top:=max;

End;

 

·        PUSH

Menambah sebuah elemen ( data ) kedalam stack

Syarat: tidak bisa dilakukan jika stack sudah penuh.

 

Procedure push ( input:string );

Begin

      If not full then

      Begin

                  Stack.top:=stack.top;

                  Stack.data:=input;

      End;

End;

 

·        EMPTY

Fuction empty: bolean;

Begin

      Empty:=false;

      If top:=0 then empty:=true;

End;

 

·        POP

Mengambil elemen teratas dari stack.

Syarat: Stack tidak boleh kosong.

 

Procedure Pop ( elemen:string );

Begin

      If not empty then

      Begin

      Elemen:=stack.data;

      Stack.top:=top – 1;

      End;

End;

 

 

Uses wincrt;

Type

kelas = ARRAY[1..4] of string;

Var

            Stack: kelas;

            top:byte;

            Elemen: string;

            I : integer;

Begin

top:=0;

For i:=1 to 4 do

Begin

            Writeln('masukkan nama ke', '  ',i,'  ','='); readln(stack[i]);

        top:=top+1;

End;

writeln('posisi tumpukan=',top);

Writeln('pengambilan data');

For i:=1 to 4 do

Begin

Elemen:=stack[i];

            top:=top - 1;

End;

writeln;

Writeln('data elemen sekarang=',elemen);

writeln('posisi tumpukan=',top);

Readln;

End.

 

 

Komentar

Postingan populer dari blog ini

Cara Instal Appserv 2.5.10 di Wndows 7

hehe untuk kali nhe , sya mw coba share cara instal appserv d windows seven, walau ini info lama , tp mdah2an bsa membantu agan2 ,,, langkah2 nha yaitu : download appserv 2.5.10 nya di APPSERVNETWORK jalankan appserv.exe nya. pada tampilan form berikut, pada server name isikan dengan "localhost" (tanpa tanda kutip) dan pada administration email address isikan dengan email anda misalnya lawlietsan1302@gmail.com pada form password , pada enter root password , isikan dengan "root" dan re password , isikan dengan root. setelah itu , pilih instal... tunggu hingga finis.. lalu coba anda buka localhost pada web browser.. setelah muncul tampilan, pilih maka akan muncul form autentikasi, isikan pada username/nama pengguna dengan "root" dan pada password dengan "root"... lalu tekan ok... ok, dan selesai,, selamat mencoba :)