UJIAN AKHIR SEMESTER GANJIL 2005/2006 ALGORITMA & STRUKTUR DATA / CS2014

dokumen-dokumen yang mirip
GANJIL 2009/2010 NIM: Algoritma dan Struktur Data / CS2014 Nama :

Bagian I. Studi Kasus [82] Tanda tangan:

Struktur Data. Queue (Antrian)

(3) BAHAN KAJIAN (materi ajar)

DIG1G3 Implementasi Struktur Data

Kode MK/ Pemrograman Terstruktur 2. ZK Abdurahman Baizal. KK Algoritma dan Komputasi. Tree (Pohon)

Algoritma dan Struktur Data. Pertemuan 7 Linked List

Bab III Semantik. Konsep Semantik Bahasa Pemrograman (Semantik Analisis)

13/12/2013. Binary Tree. Contoh Tree

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

Pendahuluan Struktur Data. Nisa ul Hafidhoh

Struktur Data & Algoritma

1. Inggriani Liem Catatan Kuliah Algoritma & Pemrograman, Jurusan Teknik Informatika ITB

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

Pohon dan Pohon Biner

Tree (Struktur Data) Nisa ul Hafidhoh, MT

Pohon Biner (Bagian 1)

SORTING (BAGIAN II) Proses kelima

Algoritma dan Struktur Data. Pertemuan 8 Doubly Linked List

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

DIG1G3 Implementasi Struktur Data

ANALISIS ALGORITMA BINARY SEARCH

Kode MK/ Pemrograman Terstruktur 2. ZK Abdurahman Baizal. KK Algoritma dan Komputasi. Stack (Tumpukan)

Algoritma dan Struktur Data. Pertemuan 9 Circular Linked List

Outline. Struktur Data & Algoritme (Data Structures & Algorithms) Pengantar. Definisi. 2-3 Trees

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

Review. Struktur Data & Algoritme (Data Structures & Algorithms) Objectives. Outline. Stacks & Queues

Pohon Biner Bagian 2 (Pohon Seimbang, Pohon Biner Terurut, Pembangunan Pohon Biner dari Pita Karakter/String)

List Linier (Bag. I) IF2121/Algoritma dan Struktur Data Sem. I 2016/ /25/2017 IF2121/Sem I 2017/2018 1

1. Inggriani Liem Catatan Kuliah Algoritma & Pemrograman, Jurusan Teknik Informatika ITB

PRAKTIKUM STRUKTUR DATA QUEUE. SULIDAR FITRI, M.Sc

Struktur Data dan Algoritma

Algoritma dan Struktur Data. Linked List

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

BAB XI Manipulasi Binary Tree

ALGORITMA DAN STRUKTUR DATA ARRAY STACK DAN QUEUE

IKG2A3/ Pemrograman Terstruktur 2

: Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Linked List. Single Linked List

Pemrograman Berorientasi. Array dan Collections

TREE ALGORITMA & STRUKTUR DATA. Materi ASD Fakultas Teknik Elektro & Komputer UKSW ( Download Dari :

STRUKTUR DATA POKOK BAHASAN - 7 STACK ( TUMPUKAN )

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

ALGORITMA DAN STRUKTUR DATA

LOGO STRUKTUR DATA QUEUE

STACK atau TUMPUKAN. Pertemuan 5 STACK (TUMPUKAN)

Algoritma Dan Struktur Data II

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA QUEUE

S T A C K ( T U M P U K A N )

Algoritma dan Struktur Data. Binary Tree & Binary Search Tree (BST)

ANALISIS DAN PERANCANGAN PERANGKAT LUNAK

*Sekumpulan elemen yang diatur secara terurut. *Linear List tidak sama dengan Connected-List

BAB II STACK Atau TUMPUKAN

Struktur Data & Algoritme (Data Structures & Algorithms)

SATUAN ACARA PENGAJARAN

Preorder Tree Traversal

QUEUE (ANTREAN) Operasi Antrean : FIFO (First In First Out) Elemen yang pertama masuk merupakan elemen yang pertama keluar.

IT234 Algoritma dan Struktur Data. Tree

Algoritma dan Struktur Data STACK

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

Algoritma Pemrograman & Struktur Data

RENCANA PEMBELAJARAN SEMESTER (RPS)

TIF 4201 Algoritma Dan Struktur Data

Pemrograman Algoritma Dan Struktur Data

Adam Mukharil Bachtiar English Class Informatics Engineering Algorithms and Programming Searching

Pohon Biner. Tim Pengajar IF2030 Semester I/ /8/2009 FNA/IF2030/Sem

Algoritma Pencarian Blind. Breadth First Search Depth First Search

Algoritma dan Struktur Data. Linear & Binary Search Tree

BAB 3 STACK (TUMPUKAN)

Binary Search Tree (BST)

A. Bagian I. Studi Kasus [82]

KKKF33110 STRUKTUR DATA

IF PEMROGRAMAN LANJUT TUGAS 1. Oleh : Andri Heryandi, M.T.

Linked List 6.3 & 7.3 NESTED LOOP

Lab. Teknik Informatika Struktur Data 1

STRUKTUR DATA. Literatur

ABSTRAK. Kata Kunci : Map, TreeMap, AVL tree. vii Universitas Kristen Maranatha

Binary Tree kosong Gambar 1. Binary Tree dalam kondisi kosong

Algoritma dan Struktur Data

MODUL PRAKTIKUM STRUKTUR DATA Modul ke-1, Pertemuan ke-1 Nama file : P01-XXX (XXX adalah 3 digit terakhir NIM) Deskripsi: Senarai, Traversal

Mata Kuliah : Struktur Data Semester : Genap Kode Mata Kuliah : 307 Waktu : 180 Menit Bobot : 4 sks. Jurusan : MI

ALGORITMA & PEMROGRAMAN

List Linier. IF2030/Algoritma dan Struktur Data. 11/6/2009 FNA+WDS/IF2030/Sem

BAB III ANALISIS. Mekanisme Penyimpanan dan Pengambilan Sequence

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktivitas Pembelajaran

Binary Tree. Binary Tree dapat digambarkan berdasarkan kondisinya, sebagai berikut: Pointer ke akar (root) dari tree

BAB III QUEUE (ANTRIAN)

FAKULTAS TEKNOLOGI KOMUNIKASI DAN INFORMATIKA UNIVERSITAS NASIONAL

DIKTAT KULIAH ALGORITMA dan STRUKTUR DATA II. : Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Queue.

DIG1G3 Implementasi Struktur Data

Data Structures. Class 5 Pointer. Copyright 2006 by The McGraw-Hill Companies, Inc. All rights reserved.

Outline STRUKTUR DATA. VII. Sorting

ALGORITMA-ALGORITMA PARALLEL RANDOM ACCESS MACHINE (PRAM = pea ram)

BAB II STACK (TUMPUKAN)

MODUL 6 SINGLE & DOUBLE LINKED LIST

SEMANTIK Syntax mendefinisikan suatu bentuk program yang benar dari suatu bahasa.

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

A. Bagian I. Studi Kasus

Algoritma Dan Struktur Data II. Queue

Struktur Data & Algoritme (Data Structures & Algorithms)

Aplikasi Divide and Conquer pada: 1. Grafika Komputer 2. Evaluasi expression tree. Oleh: Rinaldi Munir Informatika STEI-ITB

Transkripsi:

UJIAN AKHIR SEMESTER GANJIL 2005/2006 ALGORITMA & STRUKTUR DATA / CS2014 NIM: Nama : HARI : Rabu, 4 Januari 2006 WAKTU : 135 Menit Tanda tangan: DOSEN : TIM SIFAT : Tutup Buku Petunjuk Baca dengan teliti setiap petunjuk soalnya. Gunakan Pensil untuk menuliskan algoritma atau kode program. Soal ujian terdiri atas empat bagian. Jawaban seluruh bagian soal dituliskan pada lembar ini. Bobot Keseluruhan = 100 BAGIAN I : Data Abstraction (40 poin) Anda bekerja di sebuah perusahaan pada bagian gudang yang menyimpan automobile part (onderdil mobil). Perusahaan tsb menyimpan data banyaknya onderdil yang terdapat pada gudang. Basic operational perusahaan dapat dikatakan ada dua, yaitu pemesanan onderdil ke supplier dan pengiriman onderdil ke bengkel-bengkel. Pemilik bengkel biasanya akan marah jika perusahaan automobile part tersebut tidak memiliki onderdil yang dipesannya, karena pelanggan-pelanggannya akan menunggu lama agar mobil mereka dapat segera diperbaiki. Anda harus menulis program agar pengadaan barang (inventory) di gudang selalu tersedia. Inti program Anda adalah menuliskan ADT INVENTORY yang menangani bookkeeping. Primitif-primitif yang harus dimiliki adalah Menghitung banyaknya onderdil yang ada di gudang Melakukan update data jika ada pengiriman onderdil baru dari supplier ke gudang Melakukan update data jika ada pengiriman onderdil ke bengkel-bengkel. Pimpinan perusahaan juga ingin mengetahui kuantitas onderdil yang telah dibawah standar minimum perusahaan (istilah: low) sehingga perusahaan dapat melakukan pemesanan onderdil ke supplier sebelum onderdil tsb habis di gudang. (dalam hal ini Anda harus mempunyai parameter kuantitas) Untuk menyederhanakan persoalan, Anda boleh berasumsi bahwa setiap ada pengiriman dan pemesanan onderdil hanya untuk satu jenis onderdil dan banyaknya item tidak dibatasi. Dalam hal ini, Anda tidak tahu ada berapa jenis onderdil di dalam gudang dan terkadang Anda menerima pengiriman onderdil yang jenisnya belum ada di gudang. 1. (5 poin) Lengkapilah tabel ADT Inventory di bawah ini, berdasarkan atribut-atribut yang disediakan. Primitive name Parameter names and type Process Return type and value constructor --- Create empty list List kosong Hal 1 dari 6

Shipment Int Idpart Int quantity Jika part belum ada maka insert, selain itu tambahkan pada quantity yang ada --- Delivery Int Idpart Int quantity Quantity part tsb berkurang sesuai amount yang dipesan. --- howmany Int Idpart --- Low Int minimum --- Quantity part tsb yg tdp di gudang Daftar Idpart yg menunjukkan seluruh part yang quantity-nya telah < minimum 2. (5 poin) Tuliskan representasi internal dan struktur data yang akan digunakan untuk implementasi ADT Inventory. List berkait dengan representasi pointer. List tsb merupakan list of asosiasi antara Idpart dan quantity. 3. (30 poin) Tuliskan lengkap kode program dalam bahasa C untuk realisasi setiap primitive names dan deklarasi tipe untuk ADT Inventory tsb dengan mengacu pada tabel di atas. Lihat di file inventory.zip! Hal 2 dari 6

BAGIAN II : Binary Search Tree (BST) 15 poin Diketahui sebuah BST dengan deklarasi: KAMUS Type infotype : integer; Type address : pointer to node; Type node : < info : infotype; Left : address; Right : address; > Type BST : address; Tuliskan dan lengkapi algoritma rekursif untuk menuliskan info node secara terurut descending di bawah ini. Sebagai ilustrasi, perhatikan BST berikut. Output: 60 40 25 20 15 12 10 5 Hal 3 dari 6

Procedure cetakurut(input P:BST) {I.S. terdefinisi BST P} {F.S. menuliskan info node pada BST P secara terurut descending} {Basis: pohon kosong, tidak melakukan apa-apa ) {Rekurens: traversal kiri, root, kanan dari pohon P } KAMUS ALGORITMA If P=nil then {kasus kosong} Else cetakurut(right(p)); output(info(p)); cetakurut(left(p)); BAGIAN III : Procedure Debugging (20 poin) 1. Asumsi telah terdefinisi ADT Stack dengan elemennya bertipe integer. Gambarkan (10 poin) ilustrasi dari kode di bawah ini kemudian tuliskan nilai dari v, w, x, y, dan z setelah kode berikut dieksekusi! Stack S; Infotype a,v,w,x,y,z; Inisialisasi(); createempty(&s); Push(&S,5); Push(&S,6); Push(&S,7); Pop(&S,&a); v=a; w=infotop(s)); push(&s,8); push(&s,9); pop(&s,&a); x=a; pop(&s,&a); y=infotop(s); pop(&s,&a); z=a; Jawab sendiri aja y.. kan gampang.. Hal 4 dari 6

2. (10 poin) Dengan memanfaatkan algoritma cetakurut() dan BST pada bagian II, telusuri algoritma di bawah ini (gambarkan tracing algoritma) dan tuliskan outputnya jika x=20. Procedure ApaIni(Input X:integer, P : BST) {I.S : terdefinisi Binary Search Tree P, P tidak kosong} {F.S : Mencetak informasi yang lebih besar dari nilai X dalam binary Search Tree P secara descending} Kamus Procedure CetakUrut(Input P:BST) Algoritma If X = info(p) then CetakUrut(right(P)) Else if X < info(p) then ApaIni (left(p)) else if X > info(p) then ApaIni(right(P)) Idem Hal 5 dari 6

BAGIAN IV : Definition (25 poin) Tuliskan jawaban T/F (true/false) pada ruang yang disediakan. T Memory is released when we set a pointer to NULL. T Two pointers can point to the same memory location. F A stack can never become full when implemented using dynamic memory. T Stacks and queues can be implemented using arrays. T Data is removed from a queue in first-in-first-out order. T A stack can be used to evaluate arithmetic expressions in postfix. F A queue can be used to simulate the behavior of a recursive function. F A recursive function can not access global variables. T All recursive functions must have a terminating condition. T All recursive functions can be rewritten using iteration instead. F A linked list with 100 nodes takes less space than an array with 100 elements. T A unsorted linked list is easier to insert into than a sorted linked list. T A sorted linked list takes less time to search than unsorted list. T It is faster to insert data into a binary search tree than into a sorted array. Pada bagian kiri, tuliskan nomor jawaban dari istilah yang sesuai dengan definisi 4_ a linked list in which the rear item refers back to the head item 9_ reduction of a problem to a smaller instance of the same problem 12_ a repeated computation _1 a data structure of values linked together in memory by a chain of references _3 a data structure with last-in first-out behavior, supporting push and pop _10_ how to carry out a computation, may be implemented as a procedure _7 a data structure with first-in first-out behavior _15_ a predicate that becomes true when a computation ends _5 a programming language construct that supports iteration _8 a diagram showing the operators and operands of an expression _6, such as numbers and symbols, that are built into the language 1. linked list 2. object 3. stack 4. circular list 5. loop 6. primitive data 7. queue 8. expression tree 9. recursion 10. algorithm 11. reduction 12. iteration 13. semantic 14. abstraction 15. termination condition Hal 6 dari 6