LAPORAN PRAKTIKUM
ALGORITMA PEMROGRAMAN
DAN STRUKTUR DATA
MODUL 8
Disusun oleh :
Nama :
Ricky Rudianto
NIM :
2012081127
Kelas :
Teknik Informatika A
LABORATORIUM
KOMPUTER
FAKULTAS ILMU
KOMPUTER
UNIVERSITAS
KUNINGAN
2012
MODUL
8
TUMPUKAN
(STACK)
“PEMBAHASAN
Dasar
Teori
STACK bisa diartikan sebagai suatu
kumpulanyang seolah-olah diletakan di atas data yang lain. Satu hal yang perlu
diingat bahwa kita bisa menambah (menyisipkan) data dan mengambil (manghapus)
data melalui ujug yang sama, yang disebut sebagai ujung atas stack (top of
stack). Stack mempunyai sifat LIFO (Last
In First Out) yang terakhir masuk adalah yang pertama keluar.
Stack adalah suatu susunan koleksi data
dimana data dappat ditambahkan dan dihapus selalu dilakukan pada bagian akhir
data, yang disebut dengan top of stack. “Benda yang terakhir masuk ke dalam
stack akan menjadi yang pertama keluar dari stack”.
Ada beberapa operasi dasar dalam stack,
yaitu operasi menyisipkan data (push), operasi menghapus data (pop) dan
lainnya. Berikut ini beberapa operasi stack :
· Push
: digunakan untuk menambah item pada stack pada tumpukan paling atas
· Pop
: digunakan untuk mengambil item pada stack pada tumpukan paling atas
· Clear
: digunakan untuk mengosongkan stack
· IsEmpety
: fungsi yang digunakan untuk mengecek apakah stack sudah kosong
· IsFull
: fungsi yang digunakan untuk mengecek
apakah stack sudah penuh.
Contoh deklarasi MAX_STACK
#define MAX_STACK 10
typedef struct STACK
{
int
data [10];
};
STACK tumpuk;
Inisialisasi
STACK
· Pada
mulanya isi top dengan -1, karena
array dalam bahasa C dimulai dari 0, yang berarti bahwa data stack adalah
KOSONG!
· Top
adalah suatu variabel penanda dalam stack yang menunjukan elemen teratas dalam
stack sekarang. Top Of Stack akan selalu bergerak hingga mencapai MAX of STACK
yang menyebabkan stack PENUH!
· Bentuk
umum :
{
Tumpuk.top
= -1;
}
Fungsi
IsFull
· Untuk
memeriksa apakah stack sudah penuh?
· Dengan
cara memeriksa top of stack, jika
sudah sama dengan MAX_STACK -1 maka full, jika belum (lebih kecil dari
MAX_STACK-1) maka belum full
· Bentuk
umum :
int isFull ( )
{
if
(tumpuk.top == MAX_STACK – 1)
return
1;
else
return
0;
Fungsi
Pop
· Untuk
mengambil data stack yang terletak paling atas (data yang ditunjuk oleh TOP)
· Tampilkan
terlebih dahulunilai elemen teratas stack dengan mengakses indeksnya sesuai
dengan top of stacknya, baru dilakukan di-decrement nilai top of stacknya
sehingga jumlah elemen stack berkurang
· Bentuk
umum :
{
printf(“data
terambil=%s\n”, tumpuk.data[tumpuk.top] );
tumpuk.top--;
}
PRAKTIKUM
Praktikum
1
1. Tulis
source kode berikut ini :
#include <conio.h>
#include <string.h>
main( )
{
char
* str = “ LIKU LIKU LAKI LAKI TAK LAKU LAKU “
cprintf(“%s\r\n”,
strrev(str));
cprintf(“%s]r]n”,
str);
}
2. Penulisan
terhadap bahasa C++ :
3. Dari
sintaks diatas setelah dikompile, maka hasilnya adalah sebagai berikut :
Praktikum
2
1. Tulis
source code berikut ini :
#include <stdio.h>
#define N 20
main ( )
{
int
nilai [N], i, jml;
printf(“Jmlh
maksimal tumpukan (<=20) = “);
scanf(“%d”,
&jml);
for(i=0;
i <= jml; i++)
{
if
(i>=jml)
printf(“Tumpukan
penuh”);
{
printf(“data
ke-%d=”, i+1); scanf(“%d”, &nilai[i]);
}
}
for(i=0;
i<jml; i++);
{
printf(“\n
data ke-%d = %d”, i+1, nilai [i]);
}
return
= 0;
}
2. Penulisan
dengan bahasa C++ :
3. Dari
sintaks diatas setelah dikompile, maka hasilnya adalah sebagai berikut :
TUGAS
MODUL 8
Soal !
1. Buatlah
program tumpukan (stack) untuk membalik kata dengan tampilan sebagai berikut :
Masukan
kata : S T A C K
Setelah
dibalik : K C A T S
2. Buatlah
program kalkulator SCIENTIFIC
· Misalkan
operasi : 3 + 2 * 5
· Operasi
diatas tersebut notasi infiks, notasi infiks tersebut harus diubah lebih dahulu
menjadi notasi postfiks
· 3
+ 2 * 5 notasi postfiksnya adalah 3 2 5 * +
Penyelesaian
!
No.
1
1. Tulis
source code berikut :
2. Setelah
dikompile, maka hasilnya sebagai berikut :
No. 2
1. Tulis
source code berikut :
2. Setelah
dikompile, maka hasilnya sebagai berikut :
KESIMPULAN
STACK
bisa diartikan sebagai suatu kumpulanyang seolah-olah diletakan di atas data
yang lain. Satu hal yang perlu diingat bahwa kita bisa menambah (menyisipkan)
data dan mengambil (manghapus) data melalui ujug yang sama, yang disebut
sebagai ujung atas stack (top of stack).
Stack mempunyai sifat LIFO (Last In First Out) yang terakhir masuk
adalah yang pertama keluar.
Stack
adalah suatu susunan koleksi data dimana data dappat ditambahkan dan dihapus
selalu dilakukan pada bagian akhir data, yang disebut dengan top of stack.
“Benda yang terakhir masuk ke dalam stack akan menjadi yang pertama keluar dari
stack”.
Ada
beberapa operasi dasar dalam stack, yaitu operasi menyisipkan data (push),
operasi menghapus data (pop) dan lainnya. Berikut ini beberapa operasi stack :
•
Push : digunakan untuk menambah item pada stack pada tumpukan paling atas
•
Pop : digunakan untuk mengambil item pada stack pada tumpukan paling atas
•
Clear : digunakan untuk mengosongkan stack
•
IsEmpety : fungsi yang digunakan untuk mengecek apakah stack sudah kosong
• IsFull : fungsi yang digunakan untuk mengecek apakah stack sudah penuh.
No comments:
Post a Comment