laporan praktikum resmi bab stack

Post on 28-Dec-2015

137 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

Laporan Praktikum ALPRO STR Data I

TRANSCRIPT

LAPORAN PRAKTIKUM RESMI

STACK

Disusun oleh :

Velisia Puspita Devi

201301023

Dosen pengampu :

Yosef Murya Kusuma Ardhana.S.T., M.Kom

JURUSAN SISTEM INFORMASISEKOLAH TINGGI ILMU KOMPUTER YOS SUDARSO

PURWOKERTO 2014

BAB I

TEORI DASAR

1. Pengantar

Stack atau tumpukan merupakan bentuk khusus dari Linier List yang

pemasukan dan penghapusan elemennya hanya dapat dilakukan pada satu posisi, yaitu

posisi akhir dari dari list (Top). Prinsip stack adalah LAST-IN-FIRST-OUT (LIFO).

Benda yang terakhir masuk dalam stack akan menjadi benda pertama yang

dikeluarkan dari stack.

Stack memiliki beberapa macam operasi yaitu:

A. ISEMPTY : untuk memeriksa apakah stack kosong.

B. ISFULL : untuk memeriksa apakah stack sudah penuh.

C. PUSH : untuk menambahkan item pada posisi paling atas (TOP).

D. POP : untuk menghapus item paling atas (TOP).

E. CLEAR : untuk mengosongkan stack.

Deklarasi MAX_STACK:

#define MAX_STACK 6

Deklarasi STACK dengan struct dan array data:

typedef struct STACK

COMPO

COMPO

TV TVTV

COMPO

VCD

VCDVCD

TV

{

int top;

int data [6];

};

Deklarasi variabel stuck dari struct:

STACK tumpuk;

Inisialisasi pada stack:

Pada mulanya, isi top dengan -1, karena array dalam C/C++ dimulai dari 0, berarti

stack adalah KOSONG.

TOP adalah variabel penanda dalam STACK yang menunjukan elemen teratas

stack.

TOP of STACK akan selalu bergerak hingga mencapai MAX of STACK,

sehingga menyebabkan stack PENUH.

void inisialisasi ()

{

Tumpuk.top=-1

}

Jika digambarkan ke dalam bentuk kolom data, maka akan terlihat sebagai

berikut:

4

3

2

1

0

MAX_STACK

TOP=-1

A. ISEMPTY

Fungsi yang menentukan apakah stack kosong atau tidak. Tanda bahwa stack

kosong adalah Top bernilai kurang dari 0 atau -1. Fungsi IsEmpty dalam C++ :

int IsEmpty ()

{

if (tumpuk.top==-1)

return 1;

else

return 0;

}

B. ISFULL

Fungsi ini memeriksa apakah stack yang sudah ada sudah penuh atau belum.

Stack penuh jika puncak stack terdapat tepat di bawah jumlah maksimum yang dapat

ditampung stack atau dengan kata lain TOP=MAX_STACK-1.

Fungsi IsFull dalam C++:

int IsFull ()

{

if (tumpuk.top==MAX_STACK-1)

return 1;

else

return 0;

}

Cara memeriksa TOP of STACK dengan fungsi IsFull yaitu:

Jika TOP of STACK = MAX_STACK-1, maka FULL (penuh).

Jika TOP of STACK<MAX_STACK-1, maka belum penuh.

C. PUSH

Fungsi ini menambahkan item atau elemen ke dalam stack dan tidak bisa

dilakukan lagi jika stack sudah penuh.

Fungsi Push dalam C++:

void push (char d[6])

{

tumpuk.top++

strcpy(tumpuk.data[tumpuk.top], d)

}

Cara memasukan data dengan fungsi Push yaitu:

4

3

2

1

0

MAX_STACK

TOP=4

4

3

2

1

0

MAX_STACK

TOP=-1

A

4

3

2

1

0

MAX_STACK

TOP = TOP+1=-1+1= 0

PUSH ELEMEN A

Menambah satu (increment) nilai TOP of STACK setiap ada penambahan elemen

stack selama stack masih belum penuh.

Isikan nilai baru ke stack berdasarkan indeks TOP of STACK setelah ditambah

satu (descrement).

D. POP

Fungsi ini mengambil elemen teratas dari stack dengan syarat stack tidak

boleh kosong.

Cara memasukan data dengan fungsi Pop yaitu:

Ambil dahulu nilai elemen teratas stack dengan mengakses TOP of STACK.

Tampilkan nilai yang akan diambil.

Lakukan descrement nilai TOP of STACK, sehingga jumlah elemen stack

berkurang 1.

Fungsi Pop dalam C++:

void Pop ()

{

cout<<”Data yang terambil= ”<<tumpuk.data[tumpuk.top];

tumpuk.top--;

}

B

A

4

3

2

1

0

MAX_STACK

TOP = TOP+1= 2-1= 1

Data yang di POP=C

4

3

2

1

0

MAX_STACK

TOP=2

E. CLEAR

Fungsi ini akan mengosongkan stack dengan cara mengeset Top dengan -1.

Jika Top bernilai kurang dari 0, maka stack dianggap kosong.

Fungsi Clear dalam C++:

void Clear ()

{

tumpuk.data=tumpuk.top=-1

cout<<”Data clear”;

}

4

3

2

1

0

MAX_STACK

TOP=-1

BAB II

PENJELASAN PROGRAM

1. Latihan Praktikum

Listing Program Stack

Hasil Output Program Stack

Penjelasan Program Stack

1. Tanda yang diawali dengan /* dan diakhiri tanda */ merupakan script untuk

membuat sebuah komentar pada pemrograman C++ yang jika di dalamnya

terdapat sebuah perintah atau teks, maka ketika program di running atau

dijalankan tidak akan dibaca oleh compiler.

2. #include atau disebut sebagai pengarah preprocessor. #include berfungsi untuk

menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain

sebelum kompilasi dimulai.

3. <iostream> merupakan sebuah library untuk memanggil dan menampilkan cout.

4. Main ( ) merupakan fungsi utama.

5. { merupakan blok pernyataan dan sebagai awalan dari suatu pernyataan.

6. Cout berfungsi untuk menampilkan hasil output atau keluaran ke layar.

7. Cin berfungsi untuk menginputkan atau memasukan data.

8. Endl berfungsi untuk membuat baris baru atau new line sama seperti \n.

9. Return 0 berfungsi untuk membalikan nilai.

10. } merupakan blok pernyataan dan sebagai akhiran dari suatu pernyataan.

11. Void (IsEmpty) berfungsi untuk memeriksa apakah stack kosong.

12. Void (IsFull) berfungsi untuk memeriksa apakah stack sudah penuh.

13. Void (Push) berfungsi untuk menambahkan item pada posisi paling atas (TOP).

14. Void (Pop) berfungsi untuk menghapus item paling atas (TOP).

15. Void (Clear) berfungsi untuk mengosongkan stack.

2. Tugas Praktikum

Listing Program Stack-Push

Hasil Output Program Stack-Push

Penjelasan Program Stack-Push

1. Tanda yang diawali dengan /* dan diakhiri tanda */ merupakan script untuk

membuat sebuah komentar pada pemrograman C++ yang jika di dalamnya

terdapat sebuah perintah atau teks, maka ketika program di running atau

dijalankan tidak akan dibaca oleh compiler.

2. #include atau disebut sebagai pengarah preprocessor. #include berfungsi untuk

menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain

sebelum kompilasi dimulai.

3. <iostream> merupakan sebuah library untuk memanggil dan menampilkan cout.

4. Main ( ) merupakan fungsi utama.

5. { merupakan blok pernyataan dan sebagai awalan dari suatu pernyataan.

6. Cout berfungsi untuk menampilkan hasil output atau keluaran ke layar.

7. Cin berfungsi untuk menginputkan atau memasukan data.

8. Endl berfungsi untuk membuat baris baru atau new line sama seperti \n.

9. Return 0 berfungsi untuk membalikan nilai.

10. } merupakan blok pernyataan dan sebagai akhiran dari suatu pernyataan.

11. Void (IsEmpty) berfungsi untuk memeriksa apakah stack kosong.

12. Void (IsFull) berfungsi untuk memeriksa apakah stack sudah penuh.

13. Void (Push) berfungsi untuk menambahkan item pada posisi paling atas (TOP).

14. Void (Pop) berfungsi untuk menghapus item paling atas (TOP).

15. Void (Clear) berfungsi untuk mengosongkan stack.

Listing Program Stack-Pop

Hasil Output Program Stack-Pop

Penjelasan Program Stack-Pop

1. Tanda yang diawali dengan /* dan diakhiri tanda */ merupakan script untuk

membuat sebuah komentar pada pemrograman C++ yang jika di dalamnya

terdapat sebuah perintah atau teks, maka ketika program di running atau

dijalankan tidak akan dibaca oleh compiler.

2. #include atau disebut sebagai pengarah preprocessor. #include berfungsi untuk

menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain

sebelum kompilasi dimulai.

3. <iostream> merupakan sebuah library untuk memanggil dan menampilkan cout.

4. Main ( ) merupakan fungsi utama.

5. { merupakan blok pernyataan dan sebagai awalan dari suatu pernyataan.

6. Cout berfungsi untuk menampilkan hasil output atau keluaran ke layar.

7. Cin berfungsi untuk menginputkan atau memasukan data.

8. Endl berfungsi untuk membuat baris baru atau new line sama seperti \n.

9. Return 0 berfungsi untuk membalikan nilai.

10. } merupakan blok pernyataan dan sebagai akhiran dari suatu pernyataan.

11. Void (IsEmpty) berfungsi untuk memeriksa apakah stack kosong.

12. Void (IsFull) berfungsi untuk memeriksa apakah stack sudah penuh.

13. Void (Push) berfungsi untuk menambahkan item pada posisi paling atas (TOP).

14. Void (Pop) berfungsi untuk menghapus item paling atas (TOP).

15. Void (Clear) berfungsi untuk mengosongkan stack.

BAB III

KESIMPULAN

1. Stack atau tumpukan merupakan bentuk khusus dari Linier List yang pemasukan dan

penghapusan elemennya hanya dapat dilakukan pada satu posisi, yaitu posisi akhir

dari dari list (Top).

2. Prinsip stack adalah LAST-IN-FIRST-OUT (LIFO).

3. Benda yang terakhir masuk dalam stack akan menjadi benda pertama yang

dikeluarkan dari stack.

4. Stack memiliki beberapa macam operasi yaitu:

A. ISEMPTY : untuk memeriksa apakah stack kosong.

B. ISFULL : untuk memeriksa apakah stack sudah penuh.

C. PUSH : untuk menambahkan item pada posisi paling atas (TOP).

D. POP : untuk menghapus item paling atas (TOP).

E. CLEAR : untuk mengosongkan stack.

5. Deklarasi MAX_STACK:

#define MAX_STACK 6

6. Deklarasi STACK dengan struct dan array data:

typedef struct STACK

{

int top;

int data [6];

};

7. Deklarasi variabel stuck dari struct:

STACK tumpuk;

BAB IV

DAFTAR PUSTAKA

Ardhana, YM Kusuma. 2013. Struktur Data dalam Ilustrasi Eclips Indigo C ++. Yogyakarta:

CAPS (Center of Academic Publishing Service).

Kadir, Abdul. 2012. Buku Pintar C++ untuk Pemula. Jakarta: MediaKom

top related