7
1 Disusun oleh tim Asisten | Laboratorium Teknologi Informasi dan Komunikasi MODUL PRAKTIKUM “STRUKTUR DATA” Modul 6 : Stack Dosen Pembimbing : Xaverius Najoan, ST. MT. Bahasa Pemrograman : C Software : Notepad++ dan GCC LABORATORIUM TEKNOLOGI INFORMASI DAN KOUNIKASI UNIVERSITAS SAM RATULANGI 2012

Ifc modul 6 (stack)

Embed Size (px)

Citation preview

Page 1: Ifc   modul 6 (stack)

1 Disusun oleh tim Asisten | Laboratorium Teknologi Informasi dan Komunikasi

MODUL PRAKTIKUM “STRUKTUR DATA”

Modul 6 : Stack Dosen Pembimbing : Xaverius Najoan, ST. MT. Bahasa Pemrograman : C Software : Notepad++ dan GCC

LABORATORIUM TEKNOLOGI INFORMASI DAN KOUNIKASI UNIVERSITAS SAM RATULANGI

2012

Page 2: Ifc   modul 6 (stack)

2 Disusun oleh tim Asisten | Laboratorium Teknologi Informasi dan Komunikasi

TUJUAN

1. Mahasiswa dapat memahami tentang stack 2. Mahasiswa dapat menggunakan stack untuk memecahkan masalah pemrograman

ALAT DAN BAHAN 1. PC 2. Compiler (GCC) 3. Text Editor (Notepad++)

DASAR TEORI

Secara sederhana stack atau tumpukan bisa diartikan sebagai kumpulan data yang seolah-olah

diletakkan diatas data yang lain. Kita bisa menambahkan (menyisipkan) data dan mengambil (menghapus)

data melalui ujung yang sama, yang disebut sebagai ujung atas stack.

Sederhananya sebuah stack dapat diiustraskan sebagai berikut :

Gambar diatas menunjukkan bahwa dalam stack hanya bisa menambah atau mengambil sebuah

kotak lewat satu ujung, yaitu bagian atas. Yang menjadi ujung atas stack adalah kotak F. jadi jika ada kotak

lain yang disisipkan, maka kotak tersebut akan diletakkan diatas kotak F dan jika ada kotak yang akan

diambil, maka kotak F yang pertama diambil.

A

B

C

D

F

E

Atas

Page 3: Ifc   modul 6 (stack)

3 Disusun oleh tim Asisten | Laboratorium Teknologi Informasi dan Komunikasi

Operasi pada Stack

Ada dua operasi dasar yang bisa dilakukan pada sebuah stack, yaitu operasi menyisipkan data (push)

dan operasi menghapus data (pop).

Operasi Push

Perintah push digunakan unutk memasukan data kedalam stack. Untuk lebih jelasnya perhatikan

gambar ini :

Proses operasi push :

void Push (NOD **T, char item) { NOD *n; n = NodBaru(item); n->next = *T; *T = n; }

Operasi Pop

Operasi Pop adalah operasi untuk menghapus elemen yang terletak pada posisi paling atas dari

sebuah stack.

Page 4: Ifc   modul 6 (stack)

4 Disusun oleh tim Asisten | Laboratorium Teknologi Informasi dan Komunikasi

Proses operasi push :

char Pop(NOD **T) { NOD *P; char item; if (! StackKosong(*T)) {

P = *T; *T = (*T)->next; Item = P->data; free(P);

} return item;

}

Bagaimana jika stack itu kosong ? Cara untuk melihat stack itu kosong atau tidak dengan membuat

suatu fungsi yang menghasilkan suatu data yang bertipe boolean.

Fungsi untuk mengetahui kosong tidaknya suatu stack :

//uji stack kosong BOOL StackKsong (NOD *T) { retrun ((BOOL)(T == NULL)); }

Page 5: Ifc   modul 6 (stack)

5 Disusun oleh tim Asisten | Laboratorium Teknologi Informasi dan Komunikasi

PROSEDUR PERCOBAAN

1. Kompilasi kode sumber stack.c dibawah ini! Kode Sumber : stack.c

Page 6: Ifc   modul 6 (stack)

6 Disusun oleh tim Asisten | Laboratorium Teknologi Informasi dan Komunikasi

Page 7: Ifc   modul 6 (stack)

7 Disusun oleh tim Asisten | Laboratorium Teknologi Informasi dan Komunikasi

2. Jalankan dan catat keluaran stack ! 3. Pelajari dan bandingkan antara kode sumber dan hasil eksekusi stack ini! 4. Berikan penjelasan anda tentang fungsi pop dan push! 5. Berikan kesimpulan anda!