20 0 312 KB
MAKALAH ALGORITMA PEMROGRAMAN II
STACK DAN QUEUE Disusun Untuk Memenuhi Tugas Mata Kuliah Algoritma Pemrograman II (Alpro 2) Dosen: Rina Firliana, S.Kom
Disusun Oleh: Nama
: Hepy Triyuliastin
NPM
: 11.1.03.02.0150
Kelas
: 1-D
UNIVERSITAS NUSANTARA PGRI KEDIRI FAKULTAS TEKNIK PROGRAM STUDI S-1 TEKNIK INFORMATIKA Juni, 2012
LEMBAR PENGESAHAN MAKALAH ALGORITMA PEMROGRAMAN II “STACK DAN QUEUE”
Nama Mahasiswa
: Hepy Triyuliastin
NPM
: 11.1.03.02.0150
Fakultas
: Teknik
Program Studi
: S-1 Teknik Informatika
Universitas Nusantara PGRI Kediri
Makalah Algoritma Pemrograman II dengan judul “STACK DAN QUEUE” telah disetujui dan disahkan pada tanggal 29 Juni 2012.
Kediri, 29 Juni 2012 Dosen Pengajar
Penyusun
Rina Firliana, S.Kom
Hepy Triyuliastin NPM. 11.1.03.02.0150
ii
KATA PENGANTAR
Puji syukur ke hadirat Allah SWT atas segala rahmat dan hidayah-Nya yang
telah
dilimpahkan
kepada
penulis
sehingga
Makalah
Algoritma
Pemrograman II dengan judul “Stack dan Queue” dapat diselesaikan tepat waktu. Dalam penyusunan makalah ini banyak pihak terkait yang mendukung terselesaikannya makalah ini. Pada kesempatan ini penulis ingin menyampaikan ucapan terima kasih kepada: 1. Ibu Rina Firliana, S.Kom, selaku dosen Mata Kuliah Algoritma Pemrograman II; 2. Rekan mahasiswa kelas 1-D program studi S1 Teknik Informatika angkatan 2011/2012; 3. Pihak-pihak yang telah membantu dalam penyelesaian makalah ini. Segala bantuan yang telah diberikan semoga menjadi amal yang baik di dunia dan akhirat. Penulisan makalah Algoritma Pemrograman II ini masih jauh dari kata sempurna, untuk itu saran dan kritik yang membangun demi kesempurnaan makalah ini sangat penulis harapkan. Semoga penulisan makalah ini dapat bermanfaat bagi penulis khususnya dan bagi pembaca pada umumnya.
Kediri,
Juni 2012
Penulis
iii
DAFTAR ISI
Halaman Judul ....................................................................................................
i
Lembar Pengesahan ...........................................................................................
ii
Kata Pengantar ................................................................................................... iii Daftar Isi ............................................................................................................. iv STACK ...............................................................................................................
1
1. Pengertian Stack .....................................................................................
1
2. Fungsi dalam Stack ................................................................................
1
3. Operasi-operasi dasar dalam Stack ........................................................
2
QUEUE ..............................................................................................................
4
1. Pengertian Queue ...................................................................................
4
2. Fungsi dalam Queue ...............................................................................
4
3. Operasi-operasi dasar dalam Queue .......................................................
5
CONTOH PROGRAM STACK DAN QUEUE ................................................
6
1. Program Stack ........................................................................................
6
2. Program Queue .......................................................................................
8
iv
STACK
1. Pengertian Stack Stack adalah salah satu struktur data yang memiliki sistem kerja Last In First Out (LIFO), yang terakhir masuk pertama keluar. Dapat diilustrasikan seperti sebuah tumpukan buku, ketika mengambil sebuah buku di dalam tumpukan itu maka harus diambil satu persatu dari buku yang paling atas dari tumpukan buku tersebut. Sebuah stack hanya dapat ditambahkan dan dikurangi elemennya hanya dari satu sisi yakni elemen atasnya atau biasa disebut Top Of Stack.
2. Fungsi dalam Stack: a. Fungsi init: fungsi yang digunakan untuk inisialisasi atau membuat stack baru yang masih kosong. b. Fungsi full: digunakan untuk mengetahui stack penuh atau tidak. c. Fungsi empty: digunakan untuk mengetahui stack kosong atau tidak. d. Fungsi clear: digunakan untuk mengosongkan stack. Stack dianggap kosong apabila puncak stack berada pada posisi -1. e. Fungsi push: digunakan untuk menambahkan data ke dalam stack. Penambahan data tidak bisa dilakukan apabila stack sudah penuh. Urutan perintahnya adalah: menambahkan nilai top dan menambahkan data pada posisi nilai top. Jika dalam Linked List menggunakan method addLast.
1
2
f. Fungsi pop: digunakan untuk mengeluarkan data teratas stack dengan syarat bahwa stack tidak kosong. Urutan perintahnya adalah: menghapus data pada posisi nilai top dan menurunkan nilai top. Jika dalam Linked List menggunakan method removeLast.
3. Operasi-operasi dasar pada stack: a. Cek Stack kosong (Isempty) public int isempty() if(posisi==0) System.out.println("Data Kosong"); return 1; else System.out.println("Data ada"); return 0;
b. Cek Stack penuh (full) public int full() if(posisi==MAX) System.out.println(”Stack Penuh”); return 0; else return 1;
c. Operasi Push public void push (int data) if(posisi