Anda di halaman 1dari 12

LAPORAN PRAKTIKUM

Modul VI

Algoritma dan Struktur Data


Stack

Disusun Oleh:
Syauqi Mubarok
2211102021

Dosen :
Wahyu Andi Syahputra,S.Pd.,M.Eng.

PROGRAM STUDI S1 TEKNIK INFORMATIKA


FAKULTAS INFORMATIKA
INSTITUT TEKNOLOGI TELKOM PURWOKERTO
2023
BAB I
Tujuan Praktikum

1. Mahasiswa mampu menjelaskan definisi dan konsep dari Stack


2. Mahasiswa mampu menerapkan Stack kedalam pemrograman
BAB II
Dasar Teori
1. Pengertian Stack atau Tumpukan

Stack atau tumpukan merupakan sebuah kumpulan data


yang diletakan di atas data lain, seperti tumpukan rak buku. Satu
hal yang perlu kita ingat adalah bahwa kitab bisa menambah data
dan mengambil data lewat ujung yang sama, yang disebut
sebagai ujung atas tumpukan (top of stack). Lifo(last in First Out )
adalah sifat dari Stack data yang di simpan terakhir akan di ambil
lebih terdahulu, data yang diseimpan pertama kali akan diambil
paling akhir.
2. Operasi Stack atau tumpukan

- Push = Mengisi data ke atas stack(tumpukan)

- Pop = Menghapus/Menghilangkan satu data ditumpukan


teratas.

- isFull = Memeriksa apakah ruang stack sudah penuh atau


belum

- isEmpty = Memeriksa apakah ruang stack kosong atau tidak.

- Peek = Mengecek data diposisi tertentu

- Count = Menghitung banyak data pada stack

- Change = Mengubah posisi daata ke posisi tertentu

- Display = Menampilkan semua data pada stack

- Destroy = Menghapus atau membersihkan semua data pada


stack
BAB III

Latihan Dan Tugas

A. GUIDED
Output :

B. UNGUIDED

1. Buatlah Program untuk melakukan pembalikan terhadap kalimat dengan


menggunkan stack. Sebanyak 5

Contoh
Kalimat : Telkom Purwokerto
Hasil : otrekowruP mokleT

2. Dari soal no 1 buatlah program untuk menentukan apakah kalimat tersebut


yang di inputkan dalam program stack adalah polindrom/tidak. Polindrom
kalimat yang di baca dari depan dan belakang sama

Contoh:

Kalimat : ini
Kalimat tersebut adalah polindrom
Kalimat : telkom
Kalimat tersebut adalah bukan polindrom

Algoritma :

1. Mulai
2. Masukkan kata
3. Hitung jumlah
4. Masukkan ke dalam stack (push)
5. Bandingkan elemen 1 dalam stack dengan elemen terakhir (pop)
6. Perbandingan dilakukan berulang sebanyak jumlah huruf
7. Jika huruf yang dibandingkan semuanya sama, kata tersebut
adalah polindrom
8. Selesai
Kodingan :
Output :

Penjelasan :

1. Struct stack
terdiri dari dua anggota, ;top’ dan ‘data’.’top’ menyimpan indeks posisi
teratas dalam stack,dan ‘data’ adalah array untuk menyimpan array untuk
menyimpan elemen-elemen stack.
2. Fungsi init(Stack *stack)
Digunakan untuk menginisialisasi stack dengan mengatur nilai ‘top’ ke-1.
Selain itu fungsi ini menerima parameter pointer ke struct ‘Stack’.

3. Fungsi push(Stack *stack, char element)


Digunakan untuk menambahkan elemen ke dalam stack, memeriksa
apakah stack sudah penuh sebelum menambahkan elemen baru, jika
penuh output menampilkan pesan “Tumpukan Overflow”

4. Fungsi pop(stack *stack)


Digunakan untuk menghapus dan mengembalikan elemen teratas dari
stack, fungsi ini menerima apakah stack kosong sebelum menghapus
elemen teratas. Jika kosong program menampilkan pesan “Tumpukan
Underflow”

5. Fungsi katerbalik(char *str)


Digunakan untuk membalikan sebuah kalimat menggunakan stack.
Pertama, di inisiaisi init(). Kemudian karakter dalam kalimat dimasukan ke
dalam stack menggunakan fungsi push(). Setelah itu, karakter-karakter
diambil dari stack dan disimpan kembali ke dalam kalimat menggunakan
fungsi pop(). Kalimat akan terbalik

6. Fungsi palindrom(char *str)


Digunakan untuk memeriksa apakah klaimat terbalik tersebut polindrom
atau tidak. Ini menggunakan pendekatan perbandungan karakter pertama
dengan karakter terakhir,kedua dengan yang sebelum terakhir,dan
seterusnya. Jika semua pasangan karakter cocok, maka kalimat tersebut
palindrom dan fungsi mengembalikan ‘true’,sebaliknya jika bukan
palindrom maka akan mengembalikan nilai ‘false’
BAB IV
Kesimpulan

Stack adalah struktur data yang terdiri dari serangkaian elemen


yang menggunakan prinsip LIFO (last in, First out). Artinya,
elemen yang terakhir dimasukan ke dalam stack akan menjadi
elemen pertama yang dihapus

Anda mungkin juga menyukai