STACK Tumpukan TOP TOP BOTTOM BOTTOM
|
|
|
- Yanti Wibowo
- 9 tahun lalu
- Tontonan:
Transkripsi
1 STACK Tumpukan I. DEFINISI STACK (Tumpukan) adalah list linier yang : 1. dikenali elemen puncaknya (TOP) 2. aturan penyisipan dan penghapusan elemennya tertentu : Penyisipan selalu dilakukan "di atas" TOP Penghapusan selalu dilakukan pada TOP Karena aturan peyisipan dan penghapusan semacam itu, TOP adalah satu-satunya alamat tempat terjadi operasi, elemen yang ditambahkan paling akhir akan menjadi elemen yang akan dihapus Dikatakan bahwa elemen Stack akan tersusun secara LIFO (Last In First Out). Struktur data ini banyak dipakai dalam informatika, misalnya untuk merepresentasi : - pemanggilan prosedur - perhitungan ekspresi artimatika - rekursifitas - backtracking dan algoritma lanjut yang lain TOP TOP BOTTOM BOTTOM Perhatikan bahwa dengan definisi semacam ini, representasi tabel sangat tepat untuk mewakili stack, karena operasi penambahan dan pengurangan hanya dilakukan di salah satu ujung tabel. 1
2 DEFINISI FUNGSIONAL Diberikan S adalah Stack dengan elemen ElmtS, maka definisi fungsional stack adalah : CreateEmpty : S Membuat sebuah stack kosong IsEmpty : S boolean Test stack kosong true jika stack kosong, false jika S tidak kosong IsFull : S boolean Test stack penuh true jika stack penuh, false jika S tidak Push : ElmtS x S S Menambahkan sebuah elemen ElmtS sebagai TOP. TOP berubah nilainya Pop : S S x ElmtS Mengambil nilai elemen TOP, sehingga TOP yang baru adalah elemen yang datang sebelum elemen TOP, mungkin Stack menjadi kosong Definisi Selektor adalah Jika S adalah sebuah Stack, maka Top(S) adalah alamat elemen TOP, di mana operasi penyisipan/penghapusan dilakukan InfoTop(S) adalah informasi yang disimpan pada Top(S) Definisi Stack kosong adalah Stack dengan Top(S)=Nil (tidak terdefinisi). Implementasi Stack dengan tabel : Tabel dengan hanya representasi TOP adalah indeks elemen Top dari Stack. Jika Stack kosong, maka TOP=0. Ilustrasi Stack tidak kosong, dengan 5 elemen : TOP IdxMax x x x x x Ilustrasi Stack kosong: TOP IdxMax
3 /* File : stackt.h */ /* deklarasi stack yang diimplementasi dengan tabel kontigu */ /* Dan ukuran sama */ /* TOP adalah alamat elemen puncak */ /* Implementasi dalam bahasa C dengan alokasi statik */ #ifndef stackt_h #define stackt_h #include "boolean.h" #define Nil 0 #define MaxEl 10 /* Nil adalah stack dengan elemen kosong. */ /* Karena indeks dalam bhs C dimulai 0 maka tabel dg indeks 0 tidak */ /* dipakai */ typedef int infotype; typedef int address; /* indeks tabel */ /* Contoh deklarasi variabel bertype stack dengan ciri TOP : */ /* Versi I : dengan menyimpan tabel dan alamat top secara eksplisit*/ typedef struct infotype T[MaxEl+1]; /* tabel penyimpan elemen */ address TOP; /* alamat TOP: elemen puncak */ Stack; /* Definisi stack S kosong : S.TOP = Nil */ /* Elemen yang dipakai menyimpan nilai Stack T[1]..T[MaxEl] */ /* Jika S adalah Stack maka akses elemen : */ /* S.T[(S.TOP)] untuk mengakses elemen TOP */ /* S.TOP adalah alamat elemen TOP */ /* Definisi akses dengan Selektor : Set dan Get */ #define Top(S) (S).TOP #define InfoTop(S) (S).T[(S).TOP] /*** Perubahan nilai komponen struktur ***/ /*** Untuk bahasa C tidak perlu direalisasi *****/ /****************** Prototype ************ */ /*** Konstruktor/Kreator ***/ void CreateEmpty(Stack *S); /* I.S. sembarang; */ /* F.S. Membuat sebuah stack S yang kosong berkapasitas MaxEl */ /* jadi indeksnya antara 1.. MaxEl+1 karena 0 tidak dipakai */ /* Ciri stack kosong : TOP bernilai Nil */ /*********** Predikat Untuk test keadaan KOLEKSI **/ boolean IsEmpty (Stack S); /* Mengirim true jika Stack kosong: lihat definisi di atas */ boolean IsFull(Stack S); /* Mengirim true jika tabel penampung nilai elemen stack sudah penuh */ /*********** Menambahkan sebuah elemen ke Stack **********/ void Push (Stack * S, infotype X); /* Menambahkan X sebagai elemen Stack S. */ /* I.S. S mungkin kosong, tabel penampung elemen stack TIDAK penuh */ /* F.S. X menjadi TOP yang baru,top bertambah 1 */ /*********** Menghapus sebuah elemen Stack **********/ void Pop (Stack * S, infotype* X); /* Menghapus X dari Stack S. */ /* I.S. S tidak mungkin kosong */ /* F.S. X adalah nilai elemen TOP yang lama, TOP berkurang 1 */ #endif 3
4 /* File : stack.h */ /* deklarasi stack yang diimplementasi dengan tabel kontigu */ /* TOP adalah alamat elemen puncak; */ /* Implementasi dlm bhs C dg alokasi dinamik */ #ifndef stack_h #define stack_h #include "boolean.h" #define Nil 0 /* Indeks dalam bhs C dimulai 0, tetapi indeks 0 tidak dipakai */ typedef int infotype; /* type elemen stack */ typedef int address; /* indeks tabel */ /* Contoh deklarasi variabel bertype stack dengan ciri TOP : */ /* Versi I : dengan menyimpan tabel dan alamat top secara eksplisit*/ /* Tabel dialokasi secara dinamik */ typedef struct infotype * T; /* tabel penyimpan elemen */ address TOP; /* alamat TOP: elemen puncak */ int Size; /* Ukuran stack */ Stack; /* Definisi stack S kosong : S.TOP = Nil */ /* Elemen yang dipakai menyimpan nilai Stack T[1]..T[Size+1] */ /* perhatkan definisi ini, &pakailah untuk mengalokasi T dg benar*/ /* Elemen yang dipakai menyimpan nilai Stack T[1]..T[Size+1] */ /* Jika S adalah Stack maka akses elemen : */ /* S.T[(S.TOP)] untuk mengakses elemen TOP */ /* S.TOP adalah alamat elemen TOP */ /* Definisi akses : Get dan Set*/ #define Top(S) (S).TOP #define InfoTop(S) (S).T[(S).TOP] #define Size(S) (S).Size /*** Perubahan nilai komponen struktur karena implementasi */ /* dengan macro spt di atas ; tidak perlu direalisasi *****/ /****************** Prototype ************ */ /*** Konstruktor/Kreator ***/ void CreateEmpty(Stack *S, int Size); /* I.S. sembarang; */ /* F.S. Membuat sebuah stack S yang kosong berkapasitas Size */ /* jadi indeksnya antara 1.. Size+1 karena 0 tidak dipakai */ /* Ciri stack kosong : TOP bernilai Nil */ /* destruktor */ void Destruct(Stack *S); /* destruktor: dealokasi seluruh tabel memori sekaligus */ /*********** Predikat Untuk test keadaan KOLEKSI **/ boolean IsEmpty (Stack S); /* Mengirim true jika Stack kosong: lihat definisi di atas */ boolean IsFull(Stack S); /* Mengirim true jika tabel penampung nilai elemen stack sudah penuh */ /*********** Menambahkan sebuah elemen ke Stack **********/ void Push (Stack * S, infotype X); /* Menambahkan X sebagai elemen Stack S. */ /* I.S. S mungkin kosong, tabel penampung elemen stack TIDAK penuh */ /* F.S. X menjadi TOP yang baru,top bertambah 1 */ /*********** Menghapus sebuah elemen Stack **********/ void Pop (Stack * S, infotype* X); /* Menghapus X dari Stack S. */ /* I.S. S tidak mungkin kosong */ /* F.S. X adalah nilai elemen TOP yang lama, TOP berkurang 1 */ #endif 4
5 -- File : stack.ads -- deklarasi stack yang diimplementasi dengan tabel kontigu -- Dan ukuran sama, TOP adalah alamat elemen puncak -- Implementasi dalam bahasa Ada package pstack is Nil: constant:= 0; MaxEl:constant := 10; -- Nil adalah stack dengan elemen kosong. -- Contoh deklarasi variabel bertype stack dengan ciri TOP : -- Versi I : dengan menyimpan tabel dan alamat top secara eksplisit type TabMem is array (1..MaxEl) of integer; type Stack is record T : TabMem; -- tabel penyimpan elemen TOP: integer ; -- alamat TOP: elemen puncak End record; -- Definisi S: Stack kosong : S.TOP = Nil -- Elemen yang dipakai menyimpan nilai Stack T(1)..T(MaxEl) -- Jika S adalah Stack maka akses elemen : -- S.T(S.TOP) untuk mengakses elemen TOP -- S.TOP adalah alamat elemen TOP -- Selektor function GetTop(S: Stack) return integer; function GetInfoTop(S: STack) return integer; Prototype /Spesifikasi Primitif Predikat untuk test keadaan koleksi function IsEmpty (S: Stack) return boolean; -- Mengirim true jika Stack kosong: lihat definisi di atas function IsFull(S: Stack) return boolean; -- Mengirim true jika tabel penampung nilai elemen S: Stack sudah penuh ** Kreator ********** Procedure CreateEmpty(S: out Stack); -- I.S. sembarang; -- F.S. Membuat sebuah S: Stack yang kosong berkapasitas MaxEl -- jadi indeksnya antara 1.. MaxEl+1 karena 0 tidak dipakai -- Ciri stack kosong : TOP bernilai Nil -- ********* Primitif Add/Delete ***/ Procedure Push (S: in out Stack; X: in integer); -- Menambahkan X sebagai elemen S. -- I.S. S mungkin kosong, tabel penampung elemen stack TIDAK penuh -- F.S. X menjadi TOP yang baru,top bertambah 1 Procedure Pop (S: in out Stack; X: out integer); -- Menghapus X dari S: Stack. -- I.S. S tidak mungkin kosong -- F.S. X adalah nilai elemen TOP yang lama, TOP berkurang satu PRIVATE -- Definisi mengubah nilai Top dan Infotop Procedure SetTop(S: in out Stack; NewTop : in integer); -- I.S. S terdefinisi -- Nilai Top yang baru menjadi NewTop Procedure SetInfoTop(S: in out Stack; NewInfoTop : in integer); -- I.S. S terdefinisi -- Nilai InfoTop yang baru menjadi NewInfoTop end pstack; Latihan : buatlah sebuah paket stack dengan elemen generik! 5
6 CONTOH APLIKASI STACK Evaluasi ekspresi matematika yang ditulis dengan notasi POLISH (Posfix) Diberikan sebuah ekspresi aritmatika postfixdenganoperator ['.',':','+','-','^'], dan Operator mempunyai prioritas (prioritas makin besar, artinya makin tinggi) sebagai berikut : OPERATOR ARTI PRIORITAS ^ pangkat 3 * / kali, bagi tambah, kurang 1 Contoh ekspresi: Arti AB.C/ (A.B)/C ABC^/DE*+AC*- (A/(B^C) + (D*E)) - (A*C) Didefinisikan token adalah satuan kata yang mewakili sebuah operan (konstanta atau nama) atau sebuah operator. Berikut ini adalah algoritma untuk melakukan evaluasi ekspresi aritmatika yang pasti benar dalam notasi postfiks. Program EKSPRESI Menghitung sebuah ekspresi aritmatika yang ditulis secara postfiks USE STACK memakai paket stack yang sudah terdefinisi, dan elemennya adalah TOKEN Kamus type token :... terdefinisi S : STACK stack of token CT,Op1,Op2: token sebuah token yaitu kesatuan berupa operand atau operator Berikut ini adalah fungsi-fungsi yang didefinisikan di tempat lain procedure First-Token Mengirim token yang pertama procedure Next-Token Mengirim token yang berikutnya function EndToken boolean true jika proses akuisisi mendapatkan token kosong. Merupakan akhir ekspresi function Operator (CT:token) boolean true jika CT adalah operator function Hitung (OP1,OP2,Operator:token) token menghitung ekspresi, mengkonversi hasil menjadi token Algoritma : First-Token if ( EndToken ) then output ('Ekspresi kosong') else repeat depend on (CT) : CT adalah Current Token not Operator (CT) : Push(S,CT) Operator(CT) : berarti operator Pop(S, Op2) Pop(S, Op1) Push(S,Hitung(OP1,OP2,CT)) Next-Token (CT) until (EndToken) output (InfoTop(S)) Tuliskan hasil 6
7 STACK DENGAN REPRESENTASI BERKAIT DALAM BHS C /* File : linkstack.h */ /* Deklarasi : */ /* representasi Lojik stack : stack dikenali TOP nya */ /* type yang merepresentasi info */ /* stack (pointer atau tabel berkait */ /* prototype representasi type dan primitif menajemen memori */ /* Prototype primitif operasi stack */ #ifndef _LINKSTACK_H #define _LINKSTACK_H #include "boolean.h" #include <stdlib.h> /* representasi lojik stack */ /* Nil adalah stack dengan elemen kosong */ /* DEfinisi stack dengan representasi berkait */ /* Jika S adalah Stack maka akses elemen : */ /* InfoTop(S) untuk mengakses elemen TOP */ /* TOP(S) adalah alamat elemen TOP */ /* Info (P) untuk mengakses elemen dengan alamat P */ #define Top(S) (S).TOP /* Definisi stack S kosong :TOP(S) = Nil */ /* deklarasi infotype */ typedef int infotype; #define _POINTER_ #ifdef _POINTER_ /* stack berkait dengan representasi pointer */ typedef struct telmtstack * address; /* Selektor, akses TOP dan info pada top */ #define Nil NULL #define InfoTop(S) (S).TOP->Info #define Next(P) (P)->Next #define Info(P) (P)->Info #else /* else _POINTER_ */ #define Nil 0 #define MaxIdx 100 /* Definisi selektor */ #define Info(P) TabMem[(P)].Info #define Next(P) TabMem[(P)].Next #define InfoTop(S) TabMem[((S).TOP)].Info typedef int address; #endif /* endif representasi _POINTER_ */ /* deklarasi bersama */ /* Definisi type elemen stack */ typedef struct telmtstack infotype Info; 7
8 address Next; ElmtStack; #ifdef _POINTER_ #else extern ElmtStack TabMem[MaxIdx+1]; #endif /* Contoh deklarasi variabel bertype stack dengan ciri TOP : */ typedef struct address TOP; /* alamat TOP: elemen puncak */ Stack; /************************************************************/ /* deklarasi menajemen memori stack */ /* Prototype Manajemen memori*/ void Inisialisasi(); /* I.S. sembarang */ /* F.S. memori untuk linked stack siap dipakai */ boolean IsFull(); /* Mengirim true jika tabel penampung nilai elemen stack sudah penuh */ void alokasi (address * P, infotype X); /* I.S. sembarang */ /* F.S. Alamat P dialokasi, jika berhasil maka Info(P)=X dan Next(P)=Nil */ /* P=Nil jika alokasi gagal */ void dealokasi (address P); /* I.S. P adalah hasil alokasi, P <> Nil */ /* F.S. Alamat P didealokasi, dikembalikan ke sistem */ /* ********* PROTOTYPE REPRESENTASI LOJIK STACK ***************/ boolean IsEmpty (Stack S); /* Mengirim true jika Stack kosong: lihat definisi di atas */ void CreateEmpty(Stack *S); /* I.S. sembarang; F.S. Membuat sebuah stack S yang kosong */ void Push (Stack * S, infotype X); /* Menambahkan X sebagai elemen Stack S. */ /* I.S. S mungkin kosong, tabel penampung elemen stack TIDAK penuh */ /* X menjadi TOP yang baru*/ void Pop (Stack * S, infotype* X); /* Menghapus X dari Stack S. */ /* S tidak mungkin kosong */ /* X adalah nilai elemen TOP yang lama*/ #endif 8
9 /* File linkstack.c.c */ /* Implementasi stack dengan representasi berkait */ #include "linkstack.h" #ifdef _POINTER_ void Inisialisasi() /* I.S. sembarang */ /* F.S. memori untuk linked stack siap dipakai */ printf ("representasi pointer \n"); /* tidak ada sebab POINTER*/ boolean IsFull() /* Mengirim true jika tabel penampung nilai elemen stack sudah penuh */ address P; /* Algoritma */ P = (address) malloc(sizeof(elmtstack)); if (P == Nil) return true; else free(p); return false; void Alokasi(address * P, infotype X) /* I.S. sembarang */ /* F.S. Alamat P dialokasi, jika berhasil maka Info(P)=X dan Next(P)=Nil */ *P = (address) malloc(sizeof(elmtstack)); if ((*P)!= Nil) Info(*P) = X; Next(*P) = Nil; void Dealokasi(address P) /* I.S. P adalah hasil alokasi, P <> Nil */ /* F.S. Alamat P didealokasi, dikembalikan ke sistem */ free(p); #else /* else _POINTER_ */ /********** REPRESENTASI BERKAIT **********/ /******************************************/ /* deklarasi tabel memori */ ElmtStack TabMem[MaxIdx+1]; address FirstAvail; 9
10 /** Realisasi manajemen memori tabel berkait***/ void Inisialisasi () /* I.S. sembarang */ /* F.S. memori untuk linked stack siap dipakai */ /* Kamus lokal */ address P; /* algoritma */ printf ("representasi tabel berkait \n"); for (P=1; P< MaxIdx; P++) Next(P)=P+1; Next(MaxIdx)=Nil; FirstAvail= 1; boolean IsFull() /*Mengirim true jika tabel penampung nilai elemen stack sudah penuh*/ return FirstAvail==Nil; void Alokasi(address * P, infotype X) /* I.S. sembarang */ /* F.S. Alamat P dialokasi, jika berhasil maka Info(P)=X dan Next(P)=Nil */ /* P=Nil jika alokasi gagal */ *P = FirstAvail; if (*P!=Nil) Info(*P) = X; Next(*P)=Nil; else FirstAvail = Next(FirstAvail); void Dealokasi(address P) /* I.S. P adalah hasil alokasi, P <> Nil */ /* F.S. Alamat P didealokasi, dikembalikan ke sistem */ Next(P) = FirstAvail; FirstAvail = P; #endif /* endif _POINTER_ */ /************************ BODY PRIMITIF STACK********************/ boolean IsEmpty (Stack S) /* Mengirim true jika Stack kosong: lihat definisi di atas */ return (Top(S) == Nil); void CreateEmpty(Stack * S ) Top(*S) = Nil; void 10
11 Push(Stack * S, infotype X) /* Menambahkan X sebagai elemen Stack S. */ /* I.S. S mungkin kosong, tabel penampung elemen stack TIDAK penuh */ /* X menjadi TOP yang baru,top bertambah 1 */ /* Kamus */ address P; /* Algoritma */ Alokasi(&P,X); if (P!=Nil) Next(P) = Top(*S); Top(*S) = P; else printf ("alokasi gagal \n"); void Pop(Stack * S, infotype * X) /* Menghapus X dari Stack S. */ /* S tidak mungkin kosong */ /* X adalah nilai elemen TOP yang lama, TOP berkurang 1 */ /* Kamus lokal */ address PDel ; /* Algoritma */ *X= InfoTop(*S); PDel= Top(*S); Top(*S) = Next(Top(*S)); Dealokasi (PDel); /* Nama File : mstack.c */ /* Driver untuk mentest stack */ #include "linkstack.h" int main() /* KAMUS */ Stack S; infotype X; /* Algoritmma */ Inisialisasi(); CreateEmpty(&S); Push(&S, 1); printf("%d %d \n", Top(S), InfoTop(S)); Push(&S, 0); printf("%d %d \n", Top(S), InfoTop(S)); Pop(&S, &X); printf("%d %d \n", Top(S), InfoTop(S)); return 0; 11
12 Satu tabel dengan dua buah stack /* File : stack2.h */ /* Persoalan : sebuah tabel dipakai bersama oleh dua buah stack */ /* "arah" perkembangan kedua stack "berlawanan" */ /* TOP adalah alamat elemen puncak */ /* T adalah memori penyimpan elemen stack S1 dan S2 */ /* T, S1 dan S2 adalah variabel global di stack2.c */ #ifndef stack2_h #define stack2_h #include "boolean.h" #define Nil 0 /* Nil adalah stack dengan elemen kosong. */ /* Indeks dalam bhs C dimulai 0, tetapi indeks 0 tidak dipakai */ typedef int infotype; typedef int address; /* indeks tabel */ /* Contoh deklarasi variabel bertype stack dengan ciri TOP : */ /* Versi I : dengan menyimpan tabel dan alamat top secara eksplisit*/ /* Tabel dialokasi secara dinamik */ typedef struct address TOP; /* alamat TOP: elemen puncak */ Stack; /* Definisi stack S kosong : S.TOP = Nil */ /* Elemen yang dipakai menyimpan nilai Stack T[1]..T[memSize+1] */ /* Jika S adalah Stack maka akses elemen : */ /* T[(S.TOP)] untuk mengakses elemen TOP */ /* S.TOP adalah alamat elemen TOP */ /* Definisi akses */ #define TopS1 S1.TOP #define InfoTopS1 T[S1.TOP] #define TopS2 S2.TOP #define InfoTopS2 T[S2.TOP] /*** Perubahan nilai komponen struktur ***/ /*** Untuk bahasa C tidak perlu direalisasi *****/ /****************** Prototype ************ */ /* manajemen memori */ void InitMem(int Totalsize); /* melakukan inisialisasi memori, satu kali sebelum dipakai */ void Destruct(); /* destruktor: dealokasi seluruh tabel memori sekaligus */ boolean IsFull(); /* Mengirim true jika tabel penampung nilai elmt stack sudah penuh */ /*** Konstruktor/Kreator ***/ void CreateEmptyS1(); /* I.S. sembarang; */ /* F.S. Membuat sebuah stack S1 yang kosong */ void CreateEmptyS2(); /* I.S. sembarang; */ /* F.S. Membuat sebuah stack S2 yang kosong */ /* Ciri stack kosong : TOP bernilai Nil */ /*********** Predikat Untuk test keadaan KOLEKSI **/ boolean IsEmptyS1 (); /* Mengirim true jika Stack kosong: lihat definisi di atas */ boolean IsEmptyS2 (); /* Mengirim true jika Stack kosong: lihat definisi di atas */ /*********** Menambahkan sebuah elemen ke Stack **********/ void PushS1 (infotype X); /* Menambahkan X sebagai elemen Stack S1. */ /* I.S. S mungkin kosong, tabel penampung elemen stack TIDAK penuh */ /* F.S. X menjadi TOP yang baru,top bertambah 1 */ void PushS2 (infotype X); 12
13 /* Menambahkan X sebagai elemen Stack S2. */ /* I.S. S mungkin kosong, tabel penampung elemen stack TIDAK penuh */ /* F.S. X menjadi TOP yang baru,top bertambah 1 */ /*********** Menghapus sebuah elemen Stack **********/ void PopS1(infotype* X); /* Menghapus X dari Stack S1 */ /* I.S. S1 tidak mungkin kosong */ /* F.S. X adalah nilai elemen TOP yang lama, TOP berkurang 1 */ void PopS2(infotype* X); /* Menghapus X dari Stack S2 */ /* I.S. S1 tidak mungkin kosong */ /* F.S. X adalah nilai elemen TOP yang lama, TOP bertambah 1 */ #endif /* File : mstack2.c */ /* driver untuk pengelolaan dua buah stack */ #include "stack2.h" /* variabel global di file lain */ extern Stack S1, S2; extern int* T; /********************* Program Utama ************/ int main () int X; /* Harus inisialisasi memori */ InitMem (10); CreateEmptyS1 (); CreateEmptyS2 (); while (!IsFull ()) PushS1 (10); printf ("Infotop = %d \n", InfoTopS1); printf ("stack penuh..\n"); while (!IsEmptyS1 ()) PopS1 (&X); 13
14 -- File : pstackgen.ads -- deklarasi stack generik yang diimplementasi dengan tabel kontigu -- Dan ukuran sama -- TOP adalah alamat elemen puncak GENERIC type t_elemen is private; package pstackgen is Nil: constant:= 0; MaxEl : constant :=10; -- Nil adalah stack dengan elemen kosong. -- Contoh deklarasi variabel bertype stack dengan ciri TOP : -- Versi I : dengan menyimpan tabel dan alamat top secara eksplisit type TabMem is array (0..MaxEl) of t_elemen; type Stack is record T : TabMem; -- tabel penyimpan elemen TOP: integer ; -- alamat TOP: elemen puncak End record; -- Definisi S: Stack kosong : S.TOP = Nil -- Elemen yang dipakai menyimpan nilai Stack T(1)..T(MaxEl) -- Jika S adalah Stack maka akses elemen : -- S.T(S.TOP) untuk mengakses elemen TOP -- S.TOP adalah alamat elemen TOP -- Selektor function Top(S: Stack) return integer; function InfoTop(S: STack) return t_elemen; Prototype /Spesifikasi Primitif Predikat untuk test keadaan koleksi function IsEmpty (S: Stack) return boolean; -- Mengirim true jika Stack kosong: lihat definisi di atas function IsFull(S: Stack) return boolean; -- Mengirim true jika tabel penampung nilai elemen S: sudah penuh ** Kreator ********** Procedure CreateEmpty(S: out Stack); -- I.S. sembarang; -- F.S. Membuat sebuah S: Stack yang kosong berkapasitas MaxEl -- jadi indeksnya antara 1.. MaxEl+1 karena 0 tidak dipakai -- Ciri stack kosong : TOP bernilai Nil -- ********* Primitif Add/Delete ***/ Procedure Push (S: in out Stack; X: in t_elemen); -- Menambahkan X sebagai elemen S: Stack. -- I.S. S mungkin kosong, tabel penampung elemen stack TIDAK penuh -- F.S. X menjadi TOP yang baru,top bertambah 1 Procedure Pop (S: in out Stack; X: out t_elemen); -- Menghapus X dari S: Stack. -- I.S. S tidak mungkin kosong -- F.S. X adalah nilai elemen TOP yang lama, TOP berkurang 1 private -- Definisi mengubah nilai Top dan Infotop Procedure AssignTop(S: in out Stack; NewTop : integer); -- I.S. S terdefinisi -- Nilai Top yang baru menjadi NewTop Procedure AssignInfoTop(S: in out Stack; NewInfoTop : in t_elemen); -- I.S. S terdefinisi -- Nilai InfoTop yang baru menjadi NewInfoTop end pstackgen; 14
15 -- File mstackgen.adb -- driver untuk test pstackgen.adb -- Konteks with pstackgen; with text_io; use text_io; procedure mstackgen is --instansiasi type address -- type myaddress is new integer range 0..10; -- paket yang diturunkan package stackint is new pstackgen (integer); use stackint; package stackchar is new pstackgen (character); use stackchar; package stackfloat is new pstackgen (float); use stackfloat; -- Kamus p: integer; f : float; c: character; S: stackint.stack; Sf : stackfloat.stack; Sc : stackchar.stack; begin CreateEMpty(S); CreateEmpty (Sf); CreateEmpty (Sc); Push(S,1); put_line (integer'image(infotop(s))); Push(S,2); put_line (integer'image(infotop(s))); Pop(S,p); put_line (integer'image(infotop(s))); while (not IsFull(S)) loop Push(S,5); end loop; while (not IsEmpty(S)) loop Pop(S,P); end loop; while (not IsFull(Sf)) loop Push(Sf,5.0); end loop; while (not IsEmpty(Sf)) loop Pop(Sf,f); end loop; while (not IsFull(Sc)) loop Push(Sc,'A'); end loop; while (not IsEmpty(Sc)) loop Pop(Sc,c); end loop; end mstackgen; 15
Kode MK/ Pemrograman Terstruktur 2. ZK Abdurahman Baizal. KK Algoritma dan Komputasi. Stack (Tumpukan)
Kode MK/ Pemrograman Terstruktur 2 ZK Abdurahman Baizal KK Algoritma dan Komputasi Stack (Tumpukan) 1 8/25/2015 Pendahuluan Pada bab ini kita akan membahas tentang stack (tumpukan) Struktur data stack
QUEUE Antrian 1. DEFINISI
QUEUE Antrian 1. DEFINISI QUEUE (Antrian) adalah list linier yang : 1. dikenali elemen pertama () dan elemen terakhirnya (), 2. aturan penyisipan dan penghapusan elemennya didefinisikan sebagai berikut:
POINTER STACK DAN QUEUE. Institut Teknologi Sumatera
POINTER STACK DAN QUEUE ALGORITMA DAN STRUKTUR DATA Institut Teknologi Sumatera PRE TEST Apakah yang disebut dengan array? Bagaimana cara deklarasi dan pengacuan dari sebuah array? Apa kekurangan array?
List Linier (Bag. I) IF2121/Algoritma dan Struktur Data Sem. I 2016/ /25/2017 IF2121/Sem I 2017/2018 1
List Linier (Bag. I) IF2121/Algoritma dan Struktur Data Sem. I 2016/2017 9/25/2017 IF2121/Sem I 2017/2018 1 List Linier List linier: Sekumpulan elemen ber-type sama yang mempunyai keterurutan tertentu
STRUKTUR DATA POKOK BAHASAN - 7 STACK ( TUMPUKAN )
STRUKTUR DATA POKOK BAHASAN - 7 STACK ( TUMPUKAN ) Oleh : NAZARUDDIN AHMAD, S.T, M.T Referensi : Antonius Rachmat C, S.Kom Design By mytemplate 2013 Stack Stack atau tumpukan adalah suatu struktur yang
PRAKTIKUM ALGORITMA & PEMROGRAMAN III MODUL_06 Stack (Tumpukan)
PRAKTIKUM ALGORITMA & PEMROGRAMAN III MODUL_06 Stack (Tumpukan) [email protected] A. Pembahasan Stack Algoritma stack merupakan struktur data yang mengimplementasi dari aturan LIFO (Last In First Out).
BAB II STACK Atau TUMPUKAN
BAB II STACK Atau TUMPUKAN List Linear (Daftar Linear). List linier adalah sekumpulan elemen bertipe sama, yang mempunyai keterurutan tertentu, yang setiap elemennya disebut simpul (node). Simpul terdiri
1. Inggriani Liem Catatan Kuliah Algoritma & Pemrograman, Jurusan Teknik Informatika ITB
Pertemuan Ke 5 : List Linier (Linked List) Referensi: 1. Inggriani Liem. 2003. Catatan Kuliah & Pemrograman, Jurusan Teknik Informatika ITB 2. Rinaldi Munir. 2003. dan Pemrograman II. Bandung : Penerbit
STACK atau TUMPUKAN. Pertemuan 5 STACK (TUMPUKAN)
Pertemuan 5 STACK atau TUMPUKAN STACK (TUMPUKAN) Merupakan bentuk khusus dari Linier List yang pemasukan dan penghapusan elemennya hanya dapat dilakukan pada satu posisi, yaitu posisi akhir dari List (Top)
Kode : IF2121 NIM :... Matakuliah : Algoritma dan Struktur Data Nama :... Hari, Tanggal : Senin, 13 November 2017 Waktu : 150 Menit
Soal No. 1 Berikut ini adalah program sirkular linked list terurut, lengkapilah bagian titik-titik dengan jawaban yang anda anggap benar. #include #include // enable malloc() and free()
1. Inggriani Liem Catatan Kuliah Algoritma & Pemrograman, Jurusan Teknik Informatika ITB
Pertemuan Ke 6 : Representasi Fisik List Linier Referensi: 1. Inggriani Liem. 2003. Catatan Kuliah & Pemrograman, Jurusan Teknik Informatika ITB 2. Rinaldi Munir. 2003. dan Pemrograman II. Bandung : Penerbit
Implementasi Struktur Data Stack (Tumpukan) dalam Tower of Hanoi Game
Implementasi Struktur Data Stack (Tumpukan) dalam Tower of Hanoi Game Oleh: Adnan w Anadrep Selamat datang di tutorial ini, kali ini saya akan memberikan tutorial tentang pengimplementasian struktur data
Struktur Data. Queue (Antrian)
Struktur Data Queue (Antrian) Definisi Queue (Antrian) adalah list linier yang : 1. Dikenali elemen pertama (Head) dan elemen terakhirnya (Tail) 2. Aturan penyisipan dan penghapusan elemennya didefinisikan
BAB II STACK (TUMPUKAN)
BAB II STACK (TUMPUKAN) Stack merupakan metode dalam menyimpan atau mengambil data ke dan dari memori. Stack dapat dibratkan sebuah tumpukan barang dalam sebuah tempat yang hanya memiliki satu pintu diatsnya
S T A C K ( T U M P U K A N )
S T A C K T U M P U K A N ) LINIER LIST Suatu struktur data umum yang berisi suatu kumpulan terurut dari elemen; jumlah elemen di dalam list dapat berubah-ubah. Linier list A yang terdiri dari T elemen
LIST LINIER 1. DEFINISI
LIST LINIER 1. DEFINISI List linier adalah sekumpulan elemen bertype sama, yang mempunyai keterurutan tertentu, dan setiap elemennya terdiri dari dua bagian, yaitu informasi mengenai elemennya, dan informasi
List Linier. IF2030/Algoritma dan Struktur Data. 11/6/2009 FNA+WDS/IF2030/Sem
List Linier IF2030/Algoritma dan Struktur Data 11/6/2009 FNA+WDS/IF2030/Sem 1 0809 1 List Linier List linier: Sekumpulan elemen ber-type sama yang mempunyai keterurutan tertentu dan setiap elemen terdiri
STACK (TUMPUKAN) Tumpukan uang koin Tumpukan kotak Tumpukan Buku. Gambar 1. Macam-macam tumpukan
STACK (TUMPUKAN) adalah suatu urutan elemen yang elemennya dapat diambil dan ditambah hanya pada posisi akhir (top) saja. Contoh dalam kehidupan sehari-hari adalah tumpukan piring di sebuah restoran yang
IKG2A3/ Pemrograman Terstruktur 2
IKG2A3/ Pemrograman Terstruktur 2 ZK Abdurahman Baizal KK Algoritma dan Komputasi Representasi Fisik List Linier 1 8/25/2015 Pendahuluan Setelah representasi logic, perlu dilakukan represntasi fisik untuk
Variasi List Linier (Bagian 2)
Variasi List Linier (Bagian 2) Tim Pengajar IF2030 Semester I/2009-2010 11/12/2009 FNA/IF2030/Sem. 1 2009-2010 1 List dengan elemen fiktif (dummy element) di akhir 11/12/2009 FNA/IF2030/Sem. 1 2008-2009
STACK (Tumpukan) Tumpukan Koin. Tumpukan Kotak
STACK (Tumpukan) Tumpukan Koin Tumpukan Kotak Defenisi : Secara sederhana, tumpukan bisa diartikan sebagai suatu kumpulan data yang seolah-olah ada data yang diletakan diatas data yang lain. Satu hal yang
Games and Quiz PT II. Dr. Putu Harry Gunawan, MSi.,MSc. phg-simulation-laboratory.com
Games and Quiz PT II by Dr. Putu Harry Gunawan, MSi.,MSc. phg-simulation-laboratory.com Games 1 (a). Penyisipan selalu dilakukan di atas (b). Penghapusan selalu dilakukan pada elemen pertama (c). Penghapusan
Mesin Karakter dan Mesin Kata
Mesin Karakter dan Mesin Kata Tim Pengajar IF2030/Algoritma dan Struktur Data 10/15/09 FNA/IF2030/Mesin Kata 1 Mesin Mesin: mekanisme yang terdefinisi dan mengerti serta mampu untuk mengeksekusi aksi-aksi
Algoritma Pemrograman & Struktur Data
MODUL PERKULIAHAN Algoritma Pemrograman & Struktur Data Stack Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh Fakultas Ilmu Informatika Komputer 04 87042 Abstract Penjelasan mengenai stack dan penggunaannya
Array dan Matriks. IF2121 / Algoritma dan Struktur Data Sem / /7/2017 IF2121/sem /2018 1
Array dan Matriks IF2121 / Algoritma dan Struktur Data Sem. 1 2017/2018 9/7/2017 IF2121/sem. 1 2017/2018 1 Array 9/7/2017 IF2121/sem. 1 2017/2018 2 Definisi Array adalah koleksi objek yang terdiri dari
BAB 3 STACK (TUMPUKAN)
BAB 3 STACK (TUMPUKAN) LINIER LIST Suatu struktur data umum yang berisi suatu kumpulan terurut dari elemen; jumlah elemen di dalam list dapat berubah-ubah. Linier list A yang terdiri dari T elemen pada
Representasi Logic List Linier
IKG2A3/ Pemrograman Terstruktur 2 ZK Abdurahman Baizal KK Algoritma dan Komputasi Representasi Logic List Linier 1 8/25/2015 Pendahuluan Dalam bab ini, akan dibahas mengenai representasi logic dari list
GANJIL 2009/2010 NIM: Algoritma dan Struktur Data / CS2014 Nama :
UJIAN AKHIR SEMESTER GANJIL 2009/2010 NIM: Algoritma dan Struktur Data / CS2014 Nama : HARI : Rabu, 6 Januari 2010 Tanda tangan: WAKTU : 135 menit DOSEN : TIM SIFAT : Tutup Buku 1 2 3 4 5 T Petunjuk: Periksalah
DIG1G3 Implementasi Struktur Data
DIG1G3 Implementasi Struktur Data Program Studi Diploma III Teknik Informatika Fakultas Ilmu Terapan Telkom University Dosen: Cahyana, S.T., M.Kom. Indra Azimi, S.T., M.T. 2 Stack (Tumpukan) Stack is a
Struktur Data Array. Rijal Fadilah S.Si
Struktur Data Array Rijal Fadilah S.Si Array Berdimensi Satu Array Satu dimensi tidak lain adalah kumpulan elemen-elemen identik yang tersusun dalam satu baris. Elemen-elemen tersebut memiliki tipe data
ALGORITMA DAN STRUKTUR DATA ARRAY STACK DAN QUEUE
ALGORITMA DAN STRUKTUR DATA ARRAY STACK DAN QUEUE STACK = TUMPUKAN SUATU SUSUNAN KOLEKSI DATA DIMANA DATA DAPAT DITAMBAHKAN DAN DIHAPUS SELALU DILAKUKAN PADA BAGIAN AKHIR DATA, YANG DISEBUT DENGAN TOP
Kode MK/ Pemrograman Terstruktur 2. ZK Abdurahman Baizal. KK Algoritma dan Komputasi. Queue (Antrian)
Kode MK/ Pemrograman Terstruktur 2 ZK Abdurahman Baizal KK Algoritma dan Komputasi Queue (Antrian) 1 8/25/2015 Pendahuluan Pada bab ini kita akan membahas queue, yang sebenarnya mempunyai ADT hampir sama
Stack. Pointer ke node pertama dari stack. Bagian deklarasi di atas kita asumsikan disimpan menjadi sebuah header file dengan nama stack.
Stack Sekilas Tentang Stack Stack dapat diimplementasikan dengan menggunakan konsep Linked List. Bentuk dari struct dari head untuk stack dapat digambarkan sebagai berikut: Pointer ke node pertama dari
STACK (TUMPUKAN) Tumpukan uang koin Tumpukan kotak Tumpukan Buku. Gambar 1. Macam-macam tumpukan
STACK (TUMPUKAN) Stack adalah suatu urutan elemen yang elemennya dapat diambil dan ditambah hanya pada posisi akhir (top) saja. Contoh dalam kehidupan sehari-hari adalah tumpukan piring di sebuah restoran
Masukan Judul... Infotype àsebuah tipe terdefinisi yang menyimpan informasi sebuah elemen list
Universitas Muhammadiyah Sukabumi Artikel Struktur Data Oleh : fahmi fauzi Masukan Judul... 1. STACK DAN QUEUE DENGAN LINKED LIST Pengertian Linked list : sekumpulan elemen bertipe sama, yang mempunyai
Pendahuluan Struktur Data. Nisa ul Hafidhoh
Pendahuluan Struktur Data Nisa ul Hafidhoh [email protected] 08156114760 Tujuan Mahasiswa dapat melakukan pemrograman dalam skala menengah dengan memanfaatkan struktur data internal yang kompleks dan
Modul Praktikum Algoritma dan Struktur Data
MODUL IV STACK A. TUJUAN 1. Memahami terminologi yang terkait dengan struktur data stack. 2. Memahami operasi-operasi yang ada dalam stack. 3. Dapat mengidentifikasi permasalahan-permasalahan pemrograman
Struktur Data. Tumpukan : Definisi & Operasi. Pertemuan 4 PROBLEM ALGORITHM DATA IMPLEMENTATION. Pert. 4b Struktur Data - FMIPA USD
Pertemuan 4 : Definisi & Operasi Disusun oleh : PH. Prima Rosa, S.Si., M.Sc. Sri Hartati Wijono, S.Si. 2003/2004 Pert. 4b Struktur Data - FMIPA USD - 2003 Hal. 1 Struktur Data PROBLEM ALGORITHM DATA IMPLEMENTATION
S TA C K Sunu Wibirama
STACK Sunu Wibirama Jadwal ujian MID Hari Rabu, 6 April 2011 Pkl. 07.30-09.30 WIB Ruangan E3 Open Book, tapi tidak diperkenankan menggunakan internet, membuka laptop, atau handphone Bahan ujian Logika
MODUL IV STACK A. TUJUAN
MODUL IV STACK A. TUJUAN 1. Memahami terminologi yang terkait dengan struktur data stack. 2. Memahami operasi-operasi yang ada dalam stack. 3. Dapat mengidentifikasi permasalahan-permasalahan pemrograman
STRUKTUR DATA Pertemuan 4
STRUKTUR DATA Pertemuan 4 Struktur Data prepared by Suyanto 1 Definisi Stack atau Tumpukan adalah suatu struktur data yang terbentuk dari barisan hingga yang terurut dari satuan data. Pada Stack, penambahan
Bagian I. Studi Kasus [82] Tanda tangan:
UJIAN TENGAH SEMESTER GANJIL NIM: 2010/2011 dan Struktur Data / CS2014 Nama : HARI : Kamis, 30 Oktober 2009 WAKTU : 110 menit DOSEN : TIM SIFAT : Tutup Buku, No Electronic Device Tanda tangan: Petunjuk:
Algoritma dan Struktur Data STACK
Algoritma dan Struktur Data STACK Teknik Informatika Universitas Muhammadiyah Malang 2016 Tujuan Instruksional Mahasiswa mampu : Memahami tentang konsep stack Mengetahui mekanisme pengoperasian sebuah
Algoritma dan Struktur Data. Ramos Somya, S.Kom., M.Cs.
Algoritma dan Struktur Data Ramos Somya, S.Kom., M.Cs. Penggunaan record dalam jumlah yang banyak alokasi memory konvensional tidak bisa diandalkan. Misal kita akan bekerja dengan file yang menyimpan sangat
4. STACK / TUMPUKAN TEORI PENUNJANG
4. TCK / TUMPUKN TUJUN PRKTIKUM 1. Praktikan mengenal tipe khusus dari link list yaitu stack/tumpukan beserta seluruh operasi yang ada padanya. 2. Praktikan diharapkan dapat menerapkan teori mengenai single
Algoritma Dan Struktur Data II
Algoritma Dan Struktur Data II List, Stack [email protected] putuastawa.wordpress.com Beberapa Jenis Struktur Data 1. Array 1. Linear List 2. Stack 3. Queue 1. Apa? 2. Bagaimana cara implementasinya?
STACK DAN QUEUE (Muhammad Fachrie, STMIK Amikom Yogyakarta)
STACK DAN QUEUE (Muhammad Fachrie, STMIK Amikom Yogyakarta) A. Stack 1. Pendahuluan Stack (tumpukan) dan queue (antrian) sebenarnya adalah sebuah cara dalam mengorganisasikan data-data yang dimiliki. Ibarat
MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK
MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK Deskripsi Singkat merupakan bentuk struktur data seperti tumpukan yang memiliki konsep Last In First Out (LIFO). Bermakna data yang terakhir masuk merupakan
Lab. Teknik Informatika Struktur Data 1
2. POINTER dan SINGLE LINK LIST TUJUAN PRAKTIKUM 1. Praktikan mengetahui tipe struktur data baru yaitu tipe data Pointer. 2. Praktikan menggunakan pointer didalam pembuatan program dan dapat menerapkannya
STACK ATAU TUMPUKAN 3.1 DAFTAR LINEAR
STACK ATAU TUMPUKAN 3.1 DAFTAR LINEAR Sebuah daftar linear atau linear list, merupakan suatu struktur data umum yang terbentuk dari barisan hingga yang terurut) dari satuan data ataupun dari record. Untuk
Algoritma dan Struktur Data. Ramos Somya
Algoritma dan Struktur Data Ramos Somya Penggunaan record dalam jumlah yang banyak alokasi memory konvensional tidak bisa diandalkan. Misal kita akan bekerja dengan file yang menyimpan sangat banyak record,
Tumpukan (Stack) Stack bersifat LIFO (Last In First Out) LIFO Data yang terakhir masuk ke dalam stack menjadi data yang pertama keluar dari stack
Tumpukan (Stack) Susunan koleksi data dimana proses penambahan data (add) dan penghapusan data (delete) selalu dilakukan melalui posisi akhir data. Posisi akhir data top of stack Stack bersifat LIFO (Last
{ Kamus Umum } constant IdxMax : integer = 100 constant IdxMin : integer = 1 constant IdxUndef : integer = -999 { indeks tak terdefinisi}
P-05. ADT TABEL KONTIGU Bagian 1. Representasi Eksplisit Statik 1. Buatlah ADT Tabel Kontigu dengan representasi eksplisit dan alokasi memori statik sesuai dengan definisi dan spesifikasi di bawah ini
Tumpukan(Stack)!! " # $ %&' $ %& ( ) ( * +, / ( (
BAB III Tumpukan(Stack) Tujuan: 1. Memahami terminologi yang terkait dengan struktur data stack 2. Memahami operasi-operasi yang ada dalam stack 3. Dapat mengidentifikasi permasalahan-permasalahan pemrograman
A. Bagian I. Studi Kasus
UJIAN TENGAH SEMESTER GANJIL 2008/2009 NIM: dan Struktur Data / CS2014 Nama : HARI : Rabu, 5 November 2008 WAKTU DOSEN SIFAT : 135 menit : TIM : Tutup Buku Tanda tangan: Petunjuk: Periksalah kelengkapan
1. Tipe Data Sederhana Hanya dimungkinkan untuk menyimpan sebuah nilai data dalam sebuah variabel Ada 5 macam : int, float, double, char, boolen
Pokok Bahasan Pengantar Struktur Data Pengertian Struktur Data Struktur data adalah cara menyimpan atau merepresentasikan data di dalam komputer agar bisa dipakai secara efisien Sedangkan data adalah representasi
Materi 8 : STACK (TUMPUKAN) Dosen:
JURNAL PRAKTIKUM (LAB. ACTIVITY) STRUKTUR DATA SI025 Materi 8 : STACK (TUMPUKAN) Dosen: Acihmah, M.Kom Agung Nugroho, M.Kom Ikmah, M.Kom Lilis Dwi Farida, S.Kom,M.Eng Ninik Tri. H, M.Kom Prof. Dr. Ema
STACK/TUMPUKAN. R. Denny Ari Wibowo, S.Kom STMIK BINA NUSANTARA JAYA LUBUKLINGGAU
STACK/TUMPUKAN R. Denny Ari Wibowo, S.Kom STMIK BINA NUSANTARA JAYA LUBUKLINGGAU Penjelasan : STACK Sebagai tumpukan dari benda Sekumpulan data yang seolah-olah diletakkan di atas data yang lain Koleksi
Kode MK/ Pemrograman Terstruktur 2. ZK Abdurahman Baizal. KK Algoritma dan Komputasi. Tree (Pohon)
Kode MK/ Pemrograman Terstruktur 2 ZK Abdurahman Baizal KK Algoritma dan Komputasi Tree (Pohon) 1 8/25/2015 Pendahuluan Dalam bab ini kita akan khusus membahas mengenai binary tree Pembahasan tentang tree
ARNA FARIZA YULIANA SETIOWATI
02. Stack ARNA FARIZA YULIANA SETIOWATI Capaian Pembelajaran 1. Mahasiswa mengerti konsep stack dan operasi pada stack. 2. Mahasiswa dapat menggunakan stack untuk memecahkan permasalahan pemrograman. 1
MODUL 6 SINGLE & DOUBLE LINKED LIST
MODUL 6 SINGLE & DOUBLE LINKED LIST 1. Tujuan Instruksional Umum a. Mahasiswa dapat melakukan perancangan aplikasi menggunakan struktur Linked List (Senarai Berkait) b. Mahasiswa mampu melakukan analisis
BAB IX LINKED LIST (SENARAI BERANTAI)
BAB IX LINKED LIST (SENARAI BERANTAI) Linked list atau biasa disebut senarai berantai adalah suatu kumpulan data yang saling terhubung antar 1 data dengan data berikutnya. Suatu element (disebut dengan
SENARAI BERANTAI (LINK LIST)
SENARAI BERANTAI (LINK LIST) Salah satu solusi untuk mengatasi kekurangan array adalah dengan Linked List. Linked List (senarai berantai satu arah atau one way list) merupakan struktur data dinamis yang
Modul Praktikum Algoritma dan Struktur Data BAB 6 LINKED LIST
BAB 6 LINKED LIST 1. Tujuan Instruksional Umum a. Mahasiswa dapat melakukan perancangan aplikasi menggunakan struktur Linked List (Senarai Berkait) b. Mahasiswa mampu melakukan analisis pada algoritma
MODUL PRAKTIKUM STRUKTUR DATA Modul ke-1, Pertemuan ke-1 Nama file : P01-XXX (XXX adalah 3 digit terakhir NIM) Deskripsi: Senarai, Traversal
MODUL PRAKTIKUM STRUKTUR DATA Modul ke-1, Pertemuan ke-1 Nama file : P01-XXX (XXX adalah 3 digit terakhir NIM) Senarai, Traversal Deklarasi global: type TInfo = integer type Address = pointer to Elemen
Pertemuan 7. REVIEW dan QUIS
Pertemuan 7 REVIEW dan QUIS 1. Type data dibawah ini, yang tidak termasuk dalam tipe data sederhana tunggal, adalah : a. Boolean d. Integer b. String e. float c. Char 2. ==, =,!=, termasuk dalam operator
04. Single Linked List
04. Single Linked List ARNA FARIZA YULIANA SETIOWATI Capaian Pembelajaran 1. Mahasiswa mengerti konsep alokasi memori secara dinamis menggunakan pointer. 2. Mahasiswa mengerti konsep single linked list
STRUKTUR DATA. Pengajar. Jaidan Jauhari, M.T. Alamat
STRUKTUR DATA Pengajar Jaidan Jauhari, M.T. Alamat Email [email protected] [email protected] Disarikan Dari Berbagai Sumber, Terutama Dari Diktat Struktur Data Informatika ITB Karangan Dr. Inggriani
SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 4 & 5
A. Kompetensi 1. Utama SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 4 & 5 Mahasiswa dapat memahami tentang konsep pemrograman
Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN
Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN I. Elemen-Elemen Dalam Bahasa Pemrograman Berikut adalah elemen-elemen pada bahasa pemrograman: Berikut adalah element-element pada bahasa pemrograman: 1. Aturan
PENGENALAN BAHASA C. A. Struktur Kode Program dalam Bahasa C Secara garis besar, suatu kode program dalam bahasa C memiliki struktur umum seperti ini:
PENGENALAN BAHASA C A. Struktur Kode Program dalam Bahasa C Secara garis besar, suatu kode program dalam bahasa C memiliki struktur umum seperti ini: Kebanyakan pemrogram jarang memberikan keterangan/
STACK. Sistem penyimpanan data dengan mekanisme Last In First Out( LIFO).
STACK Sistem penyimpanan data dengan mekanisme Last In First Out( LIFO). Stack merupakan tipe data abstrak yang banyak digunakan dalam berbagai algoritma, diantaranya adalah: Algoritma konversi infix ke
Pohon Biner Bagian 2 (Pohon Seimbang, Pohon Biner Terurut, Pembangunan Pohon Biner dari Pita Karakter/String)
Pohon Biner Bagian 2 (Pohon Seimbang, Pohon Biner Terurut, Pembangunan Pohon Biner dari Pita Karakter/String) Tim Pengajar IF2030 Semester I/2009-2010 12/10/2009 FNA/IF2030/Sem. 1 2008-2009 1 Pohon Biner
IKG2A3/ Pemrograman Terstruktur 2. ZK Abdurahman Baizal. KK Algoritma dan Komputasi. Variasi List Linier
IKG2A3/ Pemrograman Terstruktur 2 ZK Abdurahman Baizal KK Algoritma dan Komputasi Variasi List Linier 1 8/25/2015 Pendahuluan Pada Bab ini kita akan membahas tentang beberapa di antara variasi list linier,
VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI. Pemrograman Dasar Kelas X Semester 2
VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI Tujuan Pembelajaran 1. Siswa mampu memahami penulisan Tipe data, variabel dan konstanta dalam pascal 2. Siswa mampu menerapkan penggunaan Tipe data,
MAKALAH STRUKTUR DATA. DOSEN PEMBIMBING Nisa miftachurohmah, S.kom., M.Si PENYUSUN SITI JAMILATUL MU ADDIBAH ( )
MAKALAH STRUKTUR DATA DOSEN PEMBIMBING Nisa miftachurohmah, S.kom., M.Si PENYUSUN SITI JAMILATUL MU ADDIBAH (14.1.03.03.0024) FAKULTAS TEKNIK PROGRAM STUDI SISTEM INFORMASI UNIVERSITAS NUSANTARA PGRI KEDIRI
KONSEP POINTER DAN LINKED LIST
Pertemuan 3 KONSEP POINTER DAN LINKED LIST Untuk mengolah data yang banyaknya tidak bisa ditentukan sebelumnya, maka disediakan satu fasilitas yang memungkinan untuk menggunakan suatu perubah yang disebut
STRUKTUR DATA Pertemuan 1 s.d 8
STRUKTUR DATA Pertemuan 1 s.d 8 Sasaran: Meningkatkan: pemahaman pengetahuan tentang teori dasar struktur data dan penanganan data serta pembuatan algoritma dan penggunaan strukturd dalam pemrograman Materi
LIST. Dewi Sartika, M.Kom
LIST PENDAHULUAN Linked List adalah sejumlah objek yang dihubungkan (linked) satu dengan yang lainnya membentuk suatu list. Objek adalah gabungan dari beberapa data (variable) yang dijadikan satu kelompok
STACK (TUMPUKAN) Secara sederhana, sebuah tumpukan bisa kita ilustrasikan seperti gambar berikut.
STACK (TUMPUKAN) Salah satu konsep yang sangat berguna di dalam Ilmu Komputer adalah satu bentuk struktur data yang disebut tumpukan (stack). Dalam bab ini kita akan mencoba menggali mengapa tumpukan sangat
PENCARIAN BERUNTUN (SEQUENTIAL SEARCHING)
PENCARIAN BERUNTUN (SEQUENTIAL SEARCHING) a. Introduction b. Tanpa Boolean c. Dengan Boolean d. Penggunaan dalam Fungsi INTRODUCTION Merupakan algoritma pencarian yang paling sederhana. Proses Membandingkan
A. TUJUAN PEMBELAJARAN
Praktikum 3 Queue (Antrian) A. TUJUAN PEMBELAJARAN Setelah mempelajari materi dalam bab ini, mahasiswa diharapkan mampu: 1. Memahami stuktur data yang digunakan pada antrian baik yang berupa array maupun
Algoritma dan Struktur Data. Linked List
Algoritma dan Struktur Data Linked List Syntax: struct nama_struct { tipe_data_1 nama_var_1; tipe_data_2 nama_var_2; tipe_data_3 nama_var_3; }; 2 KONSEP ALOKASI MEMORY DINAMIS 1. Deklarasikan pointer yang
Linked List 6.3 & 7.3 NESTED LOOP
Linked List 6.3 & 7.3 NESTED LOOP 1 Linked List ( List yang di-link satu dengan lainnya ) 2 apa itu List? 3 Contoh sebuah LIST int A[5]; 0 1 2 3 4 Array satu dimensi Disebut juga : Vector Kadang-kadang
PENGULANGAN Bagian 1 : Notasi. Tim Pengajar KU1071 Sem
PENGULANGAN Bagian 1 : Notasi Tim Pengajar KU1071 Sem. 1 2009-2010 1 Tujuan Mahasiswa memahami jenis-jenis pengulangan dan penggunaannya serta memahami elemenelemen dalam pengulangan. Mahasiswa dapat menggunakan
ARRAY DINAMIS. Type. Pengenal = Simpul Simpul = Type. (Nama var) : ( Type data)
ARRAY DINAMIS Sebelumnya telah dijelaskan mengenai variable bertipe array (array statis), suatu tipe data yang bersifat statis (urutan dan ukuran sudah pasti). Kelemahan dari array statis adalah penggunaan
LAPORAN PRAKTIKUM RESMI QUEUE
LAPORAN PRAKTIKUM RESMI QUEUE Disusun oleh : Amin Setyaningrum 201301052 Dosen pengampu : Yosef Murya Kusuma Ardhana.S.T., M.Kom JURUSAN SISTEM INFORMASI SEKOLAH TINGGI ILMU KOMPUTER YOS SUDARSO PURWOKERTO
Algoritma dan Struktur Data. Ramos Somya
Algoritma dan Struktur Data Ramos Somya Stack atau tumpukan adalah suatu stuktur data yang penting dalam pemrograman eksekusi suatu fungsi menggunakan prinsip Stact. Bersifat LIFO (Last In First Out) Benda
A. TUJUAN PEMBELAJARAN
Praktikum 2 Stack (Tumpukan) A. TUJUAN PEMBELAJARAN Setelah mempelajari materi dalam bab ini, mahasiswa diharapkan mampu: 1. Memahami terminologi yang terkait dengan struktur data stack. 2. Memahami operasi-operasi
LIST LINIER & STACK. Pertemuan 6 Yani sugiyani, M.Kom
LIST LINIER & STACK Pertemuan 6 Yani sugiyani, M.Kom 1 LIST LINIER Yani Sugiyani, M.Kom 2 LIST LINIER List linier atau daftar linier adalah suatu struktur data umum yang terbentuk dari barisan hingga (yang
Algoritma Euclidean dan Struktur Data Pohon dalam Bahasa Pemrograman LISP
Algoritma Euclidean dan Struktur Data Pohon dalam Bahasa Pemrograman LISP Ahmad Ayyub Mustofa Jurusan Teknik Informatika ITB, Bandung 40132, email: [email protected] Abstraksi Bahasa pemrograman
ALGORITMA & PEMROGRAMAN
ALGORITMA & PEMROGRAMAN Oleh: Tim Algoritma & Pemrograman IF Linked List PENGERTIAN LINKED LIST Salah satu bentuk struktur data, berisi kumpulan data (node) yang tersusun secara sekuensial, saling sambung-menyambung,
ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION
ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION POINTER POINTER ADALAH SUATU VARIABEL PENUNJUK, BERISI NILAI YANG MENUNJUK ALAMAT SUATU LOKASI MEMORI TERTENTU. JADI POINTER TIDAK BERISI NILAI DATA, MELAINKAN
BAB IX LINKED LIST (SENARAI BERANTAI)
BAB IX LINKED LIST (SENARAI BERANTAI) Double Linked List Double Linked List adalah suatu linked list yang mempunyai penunjuk yaitu penunjuk ke data sebelumnya dan berikutnya. Perhatikan gambar di bawah
Outline. Ekuivalensi Notasi Algoritmik Dengan ETNA. Struktur Umum
Outline Ekuivalensi Dengan wijanarto Struktur Program Type, konstanta, deklarasi, assignment Input/output Analisis kasus Pengulangan Subprogram (fungsi, prosedur) Type data koleksi: array Struktur Umum
Praktikum 4. Tumpukan (Stack)
Praktikum 4 Tumpukan (Stack) POKOK BAHASAN: Konsep Tumpukan (Stack) Struktur data untuk Tumpukan Algoritma merubah Infix menjadi Postfix Implementasi Tumpukan dalam Bahasa C TUJUAN BELAJAR: Setelah melakukan
DIKTAT KULIAH STRUKTUR DATA. Disusun oleh: Sri Primaini A.
DIKTAT KULIAH STRUKTUR DATA Disusun oleh: Sri Primaini A. FAKULTAS ILMU KOMPUTER UNIVERSITAS INDO GLOBAL MANDIRI PALEMBANG 2016 DAFTAR ISI Halaman BAB 1 PENGANTAR KE STRUKTUR DATA... 1 1.1 Mengapa Struktur
Senarai berantai. linked list. Pertemuan keenam Struktur data st3telkom.ac.id. by : tenia wahyuningrum & Sisilia Thya Safitri
Senarai berantai linked list Pertemuan keenam Struktur data st3telkom.ac.id by : tenia wahyuningrum & Sisilia Thya Safitri Senarai berantai Dalam pemakaian sehari-hari istilah senarai berantai (list) adalah
