TEAM 1 Cut Hayatul Wardani (1405020045) Saputri Phonna (1405020054) Azhary (140502)

Slides:



Advertisements
Presentasi serupa
STRUKTUR DATA Struktur Data - Gerlan A. Manu, ST.,MKom 1.
Advertisements

bentuknya, yang dapat berubah pada saat runtime.
STRUKTUR DATA array stack dan queue
STACK (Tumpukan) Tumpukan Koin Tumpukan Kotak.
Rahmat Deddy Rianto Dako, ST, M.Eng
STRUKTUR DATA PERTEMUAN 6
RECORD.
Pertemuan 5 STACK atau TUMPUKAN IMAM SIBRO MALISI NIM :
STRUKTUR DATA PERTEMUAN 5
Algoritma dan Struktur Data
STACK (Tumpukan).
STRUKTUR DATA version STMIK AMIKOM YOGYAKARTA
STACK.
STACK.
Struktur Data (Data Structure) – IS 2313
Pointer dalam Stack.
STRUKTUR DATA (4) Array Stack(Tumpukkan) dan Queue (Antrian)
STACK.
Procedure & Function Sub Program.
STRUKTUR DATA (4) array stack dan queue
Apakah Stack itu ?. Apakah Stack itu ? Pengertian STACK Secara sederhana diartikan dengan : sebagai tumpukan dari benda sekumpulan data yang seolah-olah.
BAB 3 STACK (TUMPUKAN).
STACK.
Stack Pertemuan 11.
Stack.
NAMA : siti hajar NIM : UNIT : b NO.hp : 0852 –
RECORD.
Stack.
STACK ( TUMPUKAN ) Fajrizal.
STACK (Tumpukan) Tumpukan Koin Tumpukan Kotak.
Tumpukan dalam struktur data
Defri Kurniawan ADT STACK Defri Kurniawan
STRUKTUR DATA STACK.
STRUKTUR DATA STACK.
Abstract Data Type (ADT) and Stack Array
STRUKTUR DATA QUIZ.
Stack Stack atau tumpukan adalah suatu stuktur data yang penting dalam pemrograman Bersifat LIFO (Last In First Out) Benda yang terakhir masuk ke dalam.
STACK (Tumpukan) Tumpukan Koin Tumpukan Kotak.
Matakuliah : T0534/Struktur Data Tahun : 2005 Versi : September 2005
STACK Denny Agustiawan,M.pd
Tugas Kelompok 1 stack.
STACK (Tumpukan).
STRUKTUR DATA : STACK Sri marini.st.
Algoritma dan Struktur Data
NAMA : SITI HAJAR NIM : UNIT : B NO.HP : 0852 – 2000 – 3786.
Nama : Siti Hajar Nim : Unit : B/III No.Hp : 0852 –
STRUKTUR DATA STACK.
Tumpukan Dengan Array Ika Menarianti.
STRUKTUR DATA STACK.
STACK (Tumpukan).
STACK / TUMPUKAN Struktur Data.
STACK Yohana Nugraheni.
STRUKTUR DATA STACK.
Algoritma dan Struktur Data
STRUKTUR DATA TUMPukAN (STACK).
Algoritme dan Stuktur Data
STACK HARJANTO SUTEDJO.
Algoritma dan Struktur Data
STRUKTUR DATA version STMIK AMIKOM YOGYAKARTA
STACK (TUMPUKAN) Stack atau tumpukan didefinisikan sebagai kumpulan dari obyek-obyek yang homogen dengan operasi penambahan dan pengambilan elemen melalui.
STRUKTUR DATA PERTEMUAN 4
STRUKTUR DATA STACK.
STRUKTUR DATA Stack atau Tumpukan.
STACK.
STRUKTUR DATA (3) STACK.
Algoritma dan Struktur Data
BAB 3 STACK (TUMPUKAN).
STACK (Tumpukan) Tumpukan Koin.
STRUKTUR DATA – TEKNIK INFORMATIKA S1
Defri Kurniawan ADT STACK Defri Kurniawan
Transcript presentasi:

TEAM 1 Cut Hayatul Wardani (1405020045) Saputri Phonna (1405020054) Azhary (140502)

STACK (TUMPUKAN)

PENGERTIAN STACK Pengertian Stack pada Struktur Data adalah sebagai tumpukan dari benda, sekumpulan data yang seolah-olah diletakkan di atas data yang lain, koleksi dari objek-objek homogen, atau Suatu urutan elemen yang elemennya dapat diambil dan ditambah hanya pada posisi akhir (top) saja. Stack pada Struktur Data dapat diilustrasikan dengan dua buah kotak yang ditumpuk, kotak yang satu akan ditumpuk diatas kotak yang lainnya. Jika kemudian stack 2 kotak tadi, ditambah kotak ketiga, keempat, kelima, dan seterusnya, maka akan diperoleh sebuah stack kotak yang terdiri dari N kotak.  Suatu struktur data yang penting dalam pemrograman yang mempunyai sifat LIFO (Last In First Out), Benda yang terakhir masuk ke dalam stack akan menjadi benda pertama yang dikeluarkan dari stack.  Stack (Tumpukan) adalah list linier yang dikenali elemen puncaknya (TOP) dan Aturan penyisipan dan penghapusan elemennya tertentu. Penyisipan selalu dilakukan “di atas“  TOP dan Penghapusan selalu dilakukan pada TOP.

DEKLARASI STACK Stack dapat dideklarasikan sebuah record yang mempunyai sebuah array data untuk menyimpan elemen stack dan sebuah vafriabel top untuk menunjuk stack elemen atas (top element). Deklarasi selengkapnya sebagai berikut: Tipestack = record                Data  :  array[1..maks_stack] of tipe data                Top   :  0..maks_stack;         End. Var S  : tipestack; Tipestack adalah nama pengenal tipe untuk stack Maks_stack merupakan jumlah meksimum elemen stack.

Cara mendefenisikan Stack dengan Array of Struct yaitu: 1. Definisikan Stack dengan menggunakan struct 2. Definisikan konstanta MAX_STACK untuk menyimpan maksimum isi stack 3. Buatlah variabel array data sebagai implementasi stack 4. Deklarasikan operasi-operasi/function di atas dan buat implemetasinya. contoh : //Deklarasi MAX_STACK                 #define MAX_STACK 10                 //Deklarasi STACK dengan struct dan array data                 typedef struct STACK{                                 int top;                                 char data[10][10];                                                                            };  //Deklarasi/buat variabel dari struct                 STACK tumpuk;

OPERASI PADA STACK Instalasi . instalasi adalah proses untuk membuat stack dalam keadaan kosong. Proses ini dilakukan dengan mengisi variabel top dengan nilai yang tidak menunjuk salah satu elemen array. Pada model deklarasi di atas, maka top diisi dengan 0. Top adalah suatu variabel penanda dalam STACK yang menunjukkan elemen teratas Stack sekarang.  Top Of Stack akan selalu bergerak hingga mencapai MAX of STACK sehingga menyebabkan stack penuh.

Push. Push adalah proses memasukkan elemen baru kedalam stack Push. Push adalah proses memasukkan elemen baru kedalam stack. Prosesnya meliputi mengalokasikan ruang dengan mengubah nilai top untuk menunjuk ruang di sebelahnya, kemudian memasukan data ke dalam lokasi tersebut. Asalkan stack masih belum penuh, isikan data baru ke stack berdasarkan indeks top of stack setelah diincrement sebelumnya.

Pop adalah proses untuk mengambil elemen teratas dari stack Pop adalah proses untuk mengambil elemen teratas dari stack. Prosesnya meliputi mengambil data dari elemen paling atas, kemudian menghapus elemen tersebut dengan cara mengubah nilai top untuk elemen dibawahnya sehingga jumlah elemen stack berkurang.

Empty/Kosong. Empty adalah operasi untuk mengetahui status stack, kosong atau tidak. Dengan cara memeriksa top of stack, jika masih -1 maka berarti stack masih kosong.

Full/Penuh. Full adalah operasi untuk mengetahui status stack, penuh atau tidak. Dengan cara, memeriksa top of stack, jika sudah sama dengan MAX_STACK-1 maka full, jika belum (masih lebih kecil dari MAX_STACK-1)  maka belum full.

Printberfungsi untuk menampilkan semua elemen-elemen stack dengan cara looping semua nilai array secara terbalik, karena kita harus mengakses dari indeks array tertinggi terlebih dahulu baru ke indeks yang kecil.  

Bila stack  diimplementasikan dengan array yang diakses dari arah indeks terkecil ke arah indeks terbesar, maka operasi-operasi di atas dapat dituliskan dengan prosedur-prosedur berikut. procedure inisialisasi ( var S : tipestack) ; begin        S. top := 0 End ; Funcition penuh  (S : tipestack) : boolean ; Begin        Penuh :=  ( S. top = 0) Function size (S : tipestack) : integer ;        Size :=   S. top = 0 Procedure push (X ; tipedata; var S : Tipestack);       

If  penuh (S) then             Error             {procedure untuk memberitahukan             Stack penuh}        else        begin             top := top + 1;             S. data [top] := X;        end; endprocedure pop (var X ; tipedata; var S : tipestack) ; begin        if kosong (S) then             Error {procedure untuk memberitahukan                  Stack kosong}        Begin             X := S.data [top] ; End.

Macam – macam Stack 1. Stack dengan Array Sesuai dengan sifat stack, pengambilan atau penghapusan elemen dalam stack harus dimulai dari elemen teratas. 2. Double Stack dengan Array Metode ini adalah teknik khusus yang dikembangkan untuk menghemat pemakaian memori dalam pembuatan dua stack dengan array. Intinya adalah penggunaan hanya sebuah array untuk menampung dua stack.

Abstract Data Type (ADT) ADT adalah definisi TYPE dan sekumpulan PRIMITIF (operasi dasar) terhadap TYPE tersebut. Selain itu, dalam sebuah ADT yang lengkap, disertakan pula definisi invarian dari TYPE dan aksioma yang berlaku. ADT merupakan definisi statik. Definisi type dari sebuah ADT dapat mengandung sebuah definisi ADT lain. Misalnya : Ø  ADT Waktu yang terdiri dari ADT JAM dan ADT DATE Ø  GARIS yang terdiri dari dua buah POINT Ø  SEGI4 yang terdiri dari pasangan dua buah POINT (Top, Left) dan (Bottom, Right) Pentingnya sebuah ADT (Abstract Data Type) : Ø  Struktur yang besar memungkinkan sistem menjadi komponen berlapis. Ø  Memungkinkan kode program menjadi lebih generik / reusable. Ø  Biarkan fokus apa (spesifikasi) untuk dipisahkan dari bagaimana (implementasi) Ø  Digunakan modularitas untuk perubahan lokal

CONTOH PROGRAM STACK DALAM PASCAL uses winCrt; const max = 100; var L : array [1..max] of char; sisa, i, j, top : integer; jawab : char; kondisi : string; procedure inisiasi; begin top :=0; end;

procedure CEK; begin sisa := max - top; if top = max then kondisi := 'penuh' else if ((top < max) and (top > 0)) then kondisi := 'belum penuh' kondisi := 'kosong' end; procedure PUSH; write('Masukan data : '); readln(L[top+1]); top := top + 1;

procedure TAMPIL; begin writeln('Stack Yang Dihasilkan : '); for i := top downto 1 do writeln(L[i]); end; procedure POP; top := top - 1

BEGIN clrscr; inisiasi; jawab := 'Y'; while ((jawab = 'Y') or (jawab = 'y')) do begin writeln('PROGRAM STACK'); writeln('1. PUSH'); writeln('2. POP'); write('PILIH 1 ATAu 2 ? '); readln(j); case j of 1 : begin CEK; if kondisi = 'penuh' then writeln('STACK PENUH, ANDA TIDAK BISA MENAMBAH TUMPUKAN') else

if kondisi <> 'penuh' then begin CEK; writeln ('Stack ', kondisi, ', Masih Bisa Menampung : ', sisa, ' data'); write ('Apakah Anda mau Menambah Data ? (Y/T) '); readln (jawab); while (((jawab = 'Y') or (jawab = 'y')) and (kondisi <> 'penuh')) do PUSH; writeln; TAMPIL;

writeln ('Stack ', kondisi, 'Masih Bisa Menampung : ', sisa, ' data'); write ('Apakah Anda mau Menambah Data ? (Y/T) '); readln (jawab); end; end else writeln ('STACK PENUH'); 2 : begin write ('Apakah Anda Yakin Mau Menghapus Data ? (Y/T) '); while (((jawab = 'Y') or (jawab = 'y')) and (kondisi <> 'kosong')) do begin POP; writeln;

CEK; writeln; TAMPIL; writeln ('Stack Masih Bisa Dihapus : ', top, ' data'); write ('Apakah Anda Mau Menghapus Data ? (Y/T) '); readln (jawab); end; if kondisi = 'kosong' then writeln ('STACK KOSONG') write ('Apakah Mau Kembali Ke Menu Utama ? (Y/T) '); END.

Atas Perhatian Teman-teman Terima Kasih Atas Perhatian Teman-teman

TUGAS Jelaskan konsep dari Stack yang anda ketahui? Berikan masing-masing contoh konsep dari push dan pop? Buatlah program dari Stack ! Apa yang anda ketahui tentang ADT Jelaskan konsep Array dalam Stack