TUGAS PENDAHULUAN MODUL 12 PENGENALAN DAN IMPLEMENTASI STRUKTUR DATA STACK

dokumen-dokumen yang mirip
TENTANG MODUL PRAKTIKUM

Algoritma Pemrograman & Struktur Data

PRAKTIKUM ALGORITMA & PEMROGRAMAN III MODUL_06 Stack (Tumpukan)

STRUKTUR DATA POKOK BAHASAN - 7 STACK ( TUMPUKAN )

Stack. Pointer ke node pertama dari stack. Bagian deklarasi di atas kita asumsikan disimpan menjadi sebuah header file dengan nama stack.

STACK atau TUMPUKAN. Pertemuan 5 STACK (TUMPUKAN)

MODUL IV STACK A. TUJUAN

DIG1G3 Implementasi Struktur Data

Modul Praktikum Algoritma dan Struktur Data

SINGLE LINKED LIST (NON CIRCULAR)

TIPE DATA ABSTRAK MENGGUNAKAN BAHASA C

MODUL 6 SINGLE & DOUBLE LINKED LIST

04. Single Linked List

Data structure :Metode LINK LIST. Kusnawi, S.Kom, M.Eng STMIK AMIKOM Yogyakarta

STACK (TUMPUKAN) Tumpukan uang koin Tumpukan kotak Tumpukan Buku. Gambar 1. Macam-macam tumpukan

STACK (TUMPUKAN) Tumpukan uang koin Tumpukan kotak Tumpukan Buku. Gambar 1. Macam-macam tumpukan

KONSEP POINTER DAN LINKED LIST

Algoritma Dan Struktur Data II

Penambahan Simpul (Node)

Senarai berantai. linked list. Pertemuan keenam Struktur data st3telkom.ac.id. by : tenia wahyuningrum & Sisilia Thya Safitri

MODUL PRAKTIKUM STRUKTUR DATA

SATUAN ACARA PENGAJARAN

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION

Tumpukan(Stack)!! " # $ %&' $ %& ( ) ( * +, / ( (

STACK DAN QUEUE (Muhammad Fachrie, STMIK Amikom Yogyakarta)

KONSEP POINTER DAN LINKED LIST

Kode : IF2121 NIM :... Matakuliah : Algoritma dan Struktur Data Nama :... Hari, Tanggal : Senin, 13 November 2017 Waktu : 150 Menit

DOUBLE LINKED LIST. Danang Wahyu Utomo Danang Wahyu Utomo, M.Kom, M.CS

BAB IX LINKED LIST (SENARAI BERANTAI)

Pertemuan 3. Perubah Dinamis (Dinamic variable) Suatu perubah yang akan dialokasikan hanya pada saat diperlukan, yaitu setelah program dieksekusi.

E STRUKTUR DATA & E PRAKTIK STRUKTUR DATA. Pointer & Function. Alfa Faridh Suni, S.T., M.T. PTIK

ARNA FARIZA YULIANA SETIOWATI

A. TUJUAN PEMBELAJARAN

SILABUS STRUKTUR DATA ( TIF-104 ) PROGRAM STUDI TEKNIK INFORMATIKA UNIVERSITAS PEMBANGUNAN JAYA TANGERANG SELATAN

Masukan Judul... Infotype àsebuah tipe terdefinisi yang menyimpan informasi sebuah elemen list

KONSEP POINTER DAN LINKED LIST

KONSEP POINTER DAN LINKED LIST

KONSEP POINTER DAN LINKED LIST

Algoritma dan Struktur Data

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK

REPRESENTASI FISIK LIST LINEAR

LIST LINIER & STACK. Pertemuan 6 Yani sugiyani, M.Kom

STACK dan QUEUE MODUL PRAKTIKUM STRUKTUR DATA 09 UNIVERSITAS KRISTEN DUTA WACANA. Daftar Isi: Stack dan Queue. Latihan soal. Guided.

ALGORITMA DAN STRUKTUR DATA ARRAY STACK DAN QUEUE

Review : Sifat Implementasi Linear List dengan Array

05. Double Linked List

PRAKTIKUM ALGORITMA DAN STRUKTUR DATA DOUBLE LINKED LIST CIRCULAR

S TA C K Sunu Wibirama

Tumpukan (Stack) Stack bersifat LIFO (Last In First Out) LIFO Data yang terakhir masuk ke dalam stack menjadi data yang pertama keluar dari stack

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA LINKED LIST (BAGIAN 1)

PRAKTIKUM ALGORITMA DAN STRUKTUR DATA MODUL KE-2 STACK DAN QUEUE

Praktikum Algoritma dan Struktur Data

Algoritma Pemrograman & Struktur Data

Algoritma dan Struktur Data STACK

LAPORAN PRAKTIKUM IX. Oleh:

Dinamik Linked List. hari bulan tahun

Pertemuan 7. REVIEW dan QUIS

2. Mahasiswa dapat membuat dan menggunakan array dan linked list dalam suatu kasus.

SINGLE LINKED LIST NON CIRCULAR (SENARAI BERANTAI TUNGGAL TIDAK BERPUTAR)

IX. Implementasi ADT : Stacks & Queues. Operasi dasar Contoh kegunaan Implementasi Array-based dan linked list-based

MAKALAH STRUKTUR DATA. DOSEN PEMBIMBING Nisa miftachurohmah, S.kom., M.Si PENYUSUN SITI JAMILATUL MU ADDIBAH ( )

Stack. Gambar 1.1 Stack

Materi 8 : STACK (TUMPUKAN) Dosen:

MODUL. Fungsi (Function) Modul Praktikum C++ Dasar Pemrograman Komputer JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK

ARNA FARIZA YULIANA SETIOWATI

1. Traversing Untuk algoritma traversing sama seperti pada single Link List

DIKTAT KULIAH ALGORITMA dan STRUKTUR DATA II. Tujuan Pembelajaran : Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Stack.

Program pendek dan simple = mudah dihandle. Program besar, banyak dan kompleks = tidak

STRUKTUR DATA Pertemuan 1 s.d 8

Fungsi (Function) Pendahuluan. Objektif. Bahan Bacaan

STRUKTUR DATA (2) Single Linked List

Kisi-Kisi Ujian Tengah Semester Algoritma dan Pemrograman Lanjut

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA LINKED LIST (BAGIAN 2)

LIST. Dewi Sartika, M.Kom

BAB IX LINKED LIST (SENARAI BERANTAI)

MODUL PRAKTIKUM STRUKTUR DATA

BAB IV Antrian(Queue)

Single Linked List (1)

Array VS Linked List

Praktikum 4. Tumpukan (Stack)

//membuat sebuah tipe data baru yang terdiri dari. //field data bertipe integer //field next merupakan pointer dari list

(3) BAHAN KAJIAN (materi ajar)

What Is a Function and Why Use One?

Objek Data, Variabel, dan Konstanta. Konsep Bahasa Pemrograman Materi 4 Yudianto Sujana, M.Kom

A. TUJUAN PEMBELAJARAN

BAB II Senarai Berantai (Linked List)

STL DLL STRUKTUR DATA. JULIO ADISANTOSO Departemen Ilmu Komputer IPB. Pertemuan 3 : 29 Juni 2015

Struktur Data. Tumpukan : Definisi & Operasi. Pertemuan 4 PROBLEM ALGORITHM DATA IMPLEMENTATION. Pert. 4b Struktur Data - FMIPA USD

Pendahuluan Struktur Data. Nisa ul Hafidhoh

PENGENALAN List merupakan sebuah pemikiran/konsep struktur data yang sangat dasar pada pemrograman agar lebih fleksibel. Setiap elemen akan ditambahka

Program pendek dan simple = mudah dihandle. Program besar, banyak dan kompleks = tidak

Manage Sort STRUKTUR DATA. JULIO ADISANTOSO Departemen Ilmu Komputer IPB. Pertemuan 4 : 30 Juni 2015

Implementasi Struktur Data Stack (Tumpukan) dalam Tower of Hanoi Game

Algoritma Pemrograman [BS204]

Algoritma dan Pemrograman Tahar Agastani Teknik Informatika UIN

Pertemuan 4. Single Linked List non Circular Menggunakan Head dan Tail

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

TIM ASISTEN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN 2017

A. TUJUAN PEMBELAJARAN

PERTEMUAN KE 11. Linked List. Apa Itu Linked List?

Transkripsi:

TUGAS PENDAHULUAN MODUL 12 PENGENALAN DAN IMPLEMENTASI STRUKTUR DATA STACK Prepared by: Ardianto Satriawan (02-2015) Pengenalan Pengertian Stack Pada Tugas Pendahuluan praktikum kali ini, anda tidak diminta untuk mengumpulkan program, melainkan mempersiapkan apa yang dibutuhkan dalam praktikum. Anda tidak diperkenankan ikut praktikum apabila tidak mengerjakan tugas pendahuluan ini. Asisten akan memeriksa pekerjaan Anda di awal praktikum. Stack adalah struktur data bentukan yang berbentuk tumpukan. Bayangkanlah data yang akan kita pakai diperlakukan seperti tumpukan piring. Gambar 1: Ilustrasi stack dengan piring Satu piring mewakili satu buah data. Karena piring-piring itu berada dalam tumpukan, piring yang dapat diambil hanyalah piring yang berada di paling atas. Demikian juga apabila kita ingin menambah piring baru, hanya bisa kita letakkan di atas tumpukan. Sekarang kembali ke level abstraksi pemrograman, stack adalah tumpukan data. Menambahkan data hanya bisa dilakukan ke atas stack. Proses menambahkan data pada stack disebut push. Mengeluarkan data juga hanya bisa dilakukan untuk data yang berada di paling atas stack. Proses pengeluaran data disebut pop. Sebagai tambahan, data di dalam stack juga biasa disebut sebagai element. Pada tugas pendahuluan ini, Anda diminta untuk mengimplementasikan tipe data bentukan untuk stack, fungsi push(), dan fungsi pop(). Ketiga-tiganya akan digunakan di dalam praktikum. 22

Tugas 1 : Implementasi Struktur Data Element Stack Pada praktikum yang akan dilaksanakan, struktur data stack diimplementasikan sebagai sebuah linked-list. Data yang akan kita gunakan sebagai piring dalam stack bertipe double. Gambar 2: Ilustrasi stack berisi 3 element double diimplementasikan dengan linked-list Untuk mempermudah pekerjaan kita ke depan, kita harus membuat tipe bentukan untuk satu element dari stack. Perhatikan ilustrasi berikut Gambar 3: Satu element (node) stack Tipe bentukan untuk satu element stack ini, kita sebut sebagai node. Data di dalamnya diberi nama elmt dan bertipe double. Pointer ke node selanjutnya diberi nama next. Implementasikan tipe bentukan untuk node. Diberikan kode bantu sebagai berikut: typedef struct node... node; 23

Tugas 2 : Implementasi Struktur Data Stack Setelah kita mengimplementasikan tipe bentukan untuk satu element atau node dari stack, maka selanjutnya Anda diminta untuk membuat tipe bentukan untuk stack itu sendiri. Ilustrasi dapat dilihat pada gambar 2 di atas. Pointer yang menunjuk ke elemen paling atas dari stack diberi nama top. Sekali lagi, diberikan kode bantuan sebagai berikut: typedef struct stacktype... stacktype; Tugas 3 : Implementasi Fungsi Push Prototype dari fungsi push() yang akan dibuat adalah sebagai berikut: void push(double elmt, stacktype *stack); Fungsi push akan menambahkan element ke atas stack. Misalkan fungsi ini dipanggil dengan push(7.9, &stack) saat kondisi stack seperti gambar 2, maka setelah fungsi selesai dijalankan, isi dari stack adalah sebagai berikut. Gambar 4: Sebelum dan setelah push(7.9, &stack) dieksekusi 24

Tugas Anda adalah mengimplementasikan fungsi push() ini, hingga bekerja dengan baik. Tugas 4 : Implementasi Fungsi Pop Fungsi pop adalah kebalikan dari fungsi push, berguna untuk menghilangkan elemen teratas dari stack. Gambar 5: Sebelum dan setelah pop(&stack) dieksekusi Namun, terdapat sedikit perbedaan antara push dengan pop. Bila pada push, kita tidak perlu mengembalikan (return) suatu nilai. Pada pop, dilakukan pengembalian nilai untuk data yang kita ambil. Pada ilustrasi di gambar 5, fungsi pop akan mengembalikan nilai 7.9. Prototype fungsi push adalah: double pop(stacktype *stack); Tugas Anda adalah mengimplementasikan fungsi pop ini, hingga bekerja dengan baik. 25

Petunjuk Penyerahan Tugas Pendahuluan Modul 12 Keempat tugas di atas disimpan dalam satu buah file.c, seharusnya file.c yang telah Anda buat kurang lebih seperti ini: /*... library, definition, etc */ typedef struct node node; typedef struct stacktype stacktype; /** function prototypes **/ void push(double elmt, stacktype *stack); double pop(stacktype *stack); int main(void) /** will be filled during lab session **/ /** function implementations **/ void push(double elmt, stacktype *stack) /** push function implementation **/ double pop(stacktype *stack) /** pop function implementation **/ Bawalah kode tersebut dan tunjukkan kepada asisten di awal praktikum. Selesai 26