IF2030_Proc_05_Stack

S x menjadi top yang barutop bertambah 1 menjadi top

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: S. */ /* I.S. S mungkin kosong, tabel penampung elemen stack TIDAK penuh */ /* F.S. X menjadi TOP yang baru,TOP bertambah 1 */ menjadi TOP yang baru bertambah /*********** 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 13-Okt-2011 YA/IF2030 15 ADT Stack dalam Bahasa C (dengan array eksplisit-statik) void CreateEmpty(Stack *S) /* I.S. Sembarang */ /* F.S. Membuat sebuah stack S yang kosong berkapasitas MaxEl */ /* jadi indeksnya antara 1.. MaxEl karena 0 tidak dipakai */ /* Ciri stack kosong : TOP bernilai Nil */ { /* Kamus Lokal */ /* Algoritma */ Top(*S) = Nil; } 13-Okt-2011 YA/IF2030 16 ADT Stack dalam Bahasa C (dengan array eksplisit-statik) boolean IsEmpty (Stack S) /* Mengirim true jika Stack kosong: lihat definisi di atas */ { /* Kamus Lokal */ /* Algoritma */ return (Top(S)==Nil); } boolean IsFull(Stack S) /* Mengirim true jika tabel penampung nilai elemen stack penuh */ { /* Kamus Lokal */ /* Algoritma */ return(Top(S)==MaxEl); } 13-Okt-2011 YA/IF2030 17 ADT Stack dalam Bahasa C (dengan array eksplisit-statik) array eksplisit 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 */ { /* Kamus Lokal */ /* Algoritma */ Top(*S)++; InfoTop(*S) = X; } 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 */ { /* Kamus Lokal */ /* Algoritma */ *X = InfoTop(*S); Top(*S)--; } 13-Okt-2011 YA/IF2030 18 ADT Stack dalam Bahasa C (dengan array eksplisit-dinamik) • Lihat diktat diktat 13-Okt-2011 YA/IF2030 19 Contoh Aplikasi ADT Stack Contoh Aplikasi ADT Stack 13-Okt-2011 YA/IF2030 20 Evaluasi Ekspresi Matematika Evaluasi Ekspresi Matematika • Evaluasi ekspresi matematika yang ditulis dengan notasi POLISH (postfix) POLISH – Diberikan sebuah ekspresi aritmatika postfix dengan operator ['.', ':', '+', '-', '^'], dan operator mempunyai prioritas (prioritas makin besar, artinya makin tinggi) sebagai berikut artinya makin tinggi) sebagai berikut : OPERATOR ^ */ +- 13-Okt-2011 ARTI pangkat kali, bagi tambah, kurang YA/IF2030 PRIORITAS 3 2 1 21 Evaluasi Ekspresi Matematika Evaluasi Ekspresi Matematika • Contoh: Ekspresi postfix Arti (ekspresi infix) AB*C/ (A*B)/C ABC^/DE*+AC*- (A/(B^C))+(D*E)-(A*C) •...
View Full Document

Ask a homework question - tutors are online