Home ·

Opreasi-Operasi Dasar Struktur Data



 Dalam operasai yang sering diterapkan pada  struktur data adalah push dan pop. Operasi-operasi dasar yang anda dapat diterapkan  sebagai berikut:

      a.       Createstack( S ) : membuat tumbukan baru S, dengan jumblah elemen kosong.
      b.      MAKENULL ( S ) : Mengosongkan Tumpukan S, jika ada elemen maka semua elemen dihapus.
      c.       EMPTY : Tumpukan Kosong?. Menguji apakah tumpukan kosong.
      d.      PUSH (x,s) – mengeluarkkan elemen posisi atas pada tumpukan S tersebut.
      e.       POP ( s ) – mengeluarkan elemen posisi atas pada tumpukan S.

https://damenfriskabarus.blogspot.co.id/
Ilustarsi Operasi POP dan PUSH Terhadap Gambar  Stack Sebagai Berikut:           
Apa yang terjadi bila dilakukan POP ( S) sebanyak dua kali lagi?. Underflow. Artinya tumpukan kosong tidak ada elemen yang dapat diambil. Apa yang terjadi bila dilakukan PUSH ( X,S) sebanyak 10 kali, jika kapasitas tumpukan adalah 5 lagi?. Overflow, artinya tumpukan penuh tidak ada elemen yang dapat dimasukkan ke dalam tumpukan. Pada proses PUSH, Tumpukan harus diperiksa apakah jumlah elemen sudah mencapai maksimum atau tidak. Jika sudah mencapai maksimum maka OVERFLOW.  Jika anda meriksa elemen yang harus dikeluarkan atau tidak. Jika tidak maka UNDERFLOW.

Algoritma PUSH: PUSH(S, TOP, MAKSTUM, ELEMEN)

      1.      [ periksa kandungan tumpukan, apakah penuh?] jika TOP=MAKSTUM; Cetakkan       ‘OVERFLOW’
      2.      [ Tambahkan TOP dengan 1 ] TOP:=TOP + 1
      3.      [ Masukkan ELEMEN Ke dalam loksai TOP yang baru] S[ TOP] : = ELEMEN
      4.      Return

Algoritma POP: POP(S,TOP, ELEMEN)

     1.      [Periksa kandungan tumpukan, apakah kosong?] jika TOP = 0; cetakkan ‘UnderFlow’
     2.      [ Simpan nilai teratas pada ELEMEN] ELEMEN := S[TOP]
     3.      [Kurangkan TOP dengan 1 ] TOP: = TOP – 1
     4.      Return
   
Untuk lebih jelasnya lagi perhatikan opersai-operasi dasar pada tumpukan yang ditulis dalam bahasa pascal.

 Program Operasi_Tumpukan;

Const
    MAKSTUM = 80;

Type
    jenisElemen = char;
    Tumpukan = record
    Elemen : Array[ 1..MAKSTUM] of Jenis Elemen;
    Top : 0..MAKSTUM;
    end;

{Operasi 1 }
Procedure CreateStack(Var S: Tumpukan);
Begin

    S.Top := 0;

End;

{Operasi 2}
Procedure MakeNull(ElemenBaru : JenisElemen; Var S: Tumpukan);
Begin
    S.Top :=0;
End;

{Operasi 3 : PUSH}
Procedure Push(ElemenBaru : JenisElemen ;Var S: Tumpukan);
Begin

    if S. Top= MAKSTUM then
      Writeln('OverFlow')
    else
    Begin
    S.Top := S.Top +1;
    S.Elemen[S.Top]: ElemenBaru;
    End;
End;

{Operasi 4 : POP, agar elemen yang diambil dari tumpukan bisa disimpan diperlukan variabel
NilaiElemen}
Procdure Pop(Var S: Tumpukan; Var NilaiElemen: JenisElemen);
Begin

    if S.Top = 0 then
     Writeln('UnderFlow')
    else
    NilaiElemen := Slemen[S.Top];
    S.Top -1;
    End;
End;

{Operasi 5 : Tumpukan Kosong}
{Akan memulangkan nilai TRUE jika tidak elemen dalam Tumpukan atau FALSE jika ada elemen dalam tumpukan}
Function Empty(Var S: Tumpukan) : Boolean;
Begin
    Empty := S.Top = 0;
End;
Baca juga ya di bawah ini:

Etika Profesi Teknologi Informasi Cyber Ethics
Pengertian Dan Nilai- Nilai Etika Masyarakat
CONTOH APLIKASI FUNGSI STATISTIK

Post a Comment