Buku Rancangan Pengajaran. Struktur Data dan Algoritma. Fakultas Ilmu Komputer Universitas Indonesia

dokumen-dokumen yang mirip
PROPOSAL HIBAH PENGEMBANGAN DAN PENYELENGGARAAN PEMBELAJARAN ONLINE BERBASIS E-LEARNING

1 Bagian 1: Mencetak isi binary tree

PROPOSAL HIBAH PENGEMBANGAN DAN PENYELENGGARAAN PEMBELAJARAN ONLINE BERBASIS E-LEARNING

Struktur Data dan Algoritma

Algoritma dan Struktur Data 2

KKKF33110 STRUKTUR DATA

Pendahuluan Struktur Data STRUKTUR DATA. JULIO ADISANTOSO Departemen Ilmu Komputer IPB. Pertemuan 1 : 20 Juni 2016

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

SATUAN ACARA PENGAJARAN

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

RENCANA PEMBELAJARAN SEMESTER (RPS)

Struktur Data & Algoritme (Data Structures & Algorithms)

Struktur Data dan Algoritme. Struktur Data & Algoritme (Data Structures & Algorithms) Struktur Data dan Algoritme. Objectives.

RENCANA PEMBELAJARAN SEMESTER (RPS)

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktivitas Pembelajaran

RENCANA PEMBELAJARAN SEMESTER (RPS)

RENCANA PEMBELAJARAN SEMESTER (RPS)

Program Teknologi Informasi dan Ilmu Komputer. Team Teaching ASD

Fakultas Teknologi Informasi

Ujian Akhir Semester Ganjil 2013/2014

RENCANA PEMBELAJARAN SEMESTER (RPS)

FAKULTAS TEKNOLOGI KOMUNIKASI DAN INFORMATIKA UNIVERSITAS NASIONAL

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

RENCANA PROGRAM KEGIATAN PEMBELAJARAN SEMESTER (RPKPS) STRUKTUR DATA

SATUAN ACARA PERKULIAHAN UNIVERSITAS GUNADARMA

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

RENCANA PEMBELAJARAN SEMESTER (RPS)

BUANA. Distribusi 01 September 2017

SATUAN ACARA PERKULIAHAN MATA KULIAH LOGIKA DAN ALGORITMA (MI/D3) KODE: IT SKS: 3 SKS. Kemampuan Akhir Yang Diharapkan

PETA KOMPETENSI MATAKULIAH ALGORITMA DAN STRUKTUR DATA TKE PRODI TEKNIK ELEKTRO

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

ALGORITMA PEMOGRAMAN SEMESTER GENAP 2017/2018

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran

Bab 1 Pengantar Struktur Data

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

Sub Pokok Bahasan dan Sasaran Belajar

Pengantar Struktur Data

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

PORTOFOLIO MATAKULIAH ALGORITMA DAN PEMROGRAMAN KOMPUTER (DPH1B4) SEMESTER GASAL 2016/2017. DOSEN: Wahyu Hidayat ( )

Syarat dan Ketentuan yang berlaku:

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

RENCANA PEMBELAJARAN SEMESTER

UNIVERSITAS ISLAM INDONESIA FM-UII-AA-FKA-05/R4 SATUAN ACARA PERKULIAHAN

SATUAN ACARA PERKULIAHAN UNIVERSITAS GUNADARMA

Program Studi Pendidikan Ilmu Komputer Fakultas Ilmu Pendidikan Universitas Ubudiyah Indonesia

RENCANA PEMBELAJARAN SEMESTER

RENCANA PEMBELAJARAN SEMESTER (RPS)

ALGORITMA PEMOGRAMAN SEMESTER GENAP 2017/2018

INSTITUT KEUANGAN PERBANKAN INFORMATIKA ASIA IKPIA PERBANAS JAKARTA

=il= ''#i&kwi. ' "*-ttt-{ut%:* lj %"q:dlrulrfi iil fl RENCANA PROGRAM DAN KEGIATAN PEMBELAJARAN SEMESTER (RPKPS) STRUKTUR DATA DISUSUN OLEH:

SATUAN ACARA PERKULIAHAN PERANCANGAN DAN ANALISIS ALGORITMA ** (S1/TEKNIK INFORMATIKA) PTA 2010/2011

SATUAN ACARA PERKULIAHAN MATA KULIAH GRAPH & ANALISIS ALGORITMA (SI / S1) KODE / SKS : KK / 3 SKS

RENCANA PEMBELAJARAN SEMESTER (RPS)

Pohon dan Pohon Biner

Penerapan Pohon Dalam Heap Sort

SILABUS : DESAIN DAN ANALISIS ALGORITMA. : I Ketut Resika Arthana, S.T., M.Kom NIP :

Heap Tree dan Kegunaannya dalam Heap Sort

Pohon Biner Sebagai Struktur Data Heap dan Aplikasinya

RPS Mata Kuliah Fondasi Pemrograman dan Struktur Data Program Studi Sistem Informasi Halaman 1 dari 19

KONTRAK PERKULIAHAN Program Alih Jenis ALGORITME DAN PEMROGRAMAN KOM202

KONTRAK PEMBELAJARAN (KP) MATA KULIAH. Algoritma dan Pemrograman

Bagi peserta OSN 2014 dan calon peserta Open OSN William Gozali, Teknis OSN

ALGORITMA PENGURUTAN & PENCARIAN

Kontrak Perkuliahan & Introduction

STRUKTUR DATA SORTING ARRAY

RENCANA PEMBELAJARAN SEMESTER (RPS)

KBKF53110 WEB PROGRAMMING

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

ALGORITMA PEMOGRAMAN SEMESTER GENAP 2017/2018

Pemrograman II (Java)

Solusi UTS Stima. Alternatif 1 strategi:

Pengenalan e-learning

KONTRAK PERKULIAHAN TIM KONSORSIUM

BAB 2 TINJAUAN PUSTAKA

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

SATUAN ACARA PERKULIAHAN UNIVERSITAS GUNADARMA

Sistem dan Teknologi Informasi Korporat

RENCANA PEMBELAJARAN SEMESTER (RPS)

KONTRAK PERKULIAHAN BAHASA PEMROGRAMAN KOM204

ALGORITMA DAN PEMROGRAMAN

(3) BAHAN KAJIAN (materi ajar)

GARIS-GARIS BESAR PROGRAM PERKULIAHAN (GBPP)

RENCANA PEMBELAJARAN SEMESTER (RPS)

HEAP. Heap dan Operasinya. Oleh Andri Heryandi

Ujian Tengah Semester Struktur Data dan Algoritma Fakultas Ilmu Komputer, Universitas Indonesia 9 November 2006

BUKU RANCANGAN PENGAJARAN. Teknik Kompilator

Metode Belajar di MEDIU

Algoritma Sorting. Ahmad Kamsyakawuni, S.Si, M.Kom. Jurusan Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Jember

Gembong Edhi Setyawan

PPKF63108 DIGITAL IMAGE PROCESSING

KONTRAK PERKULIAHAN. [1] Manfaat Mata Kuliah. Mahasiswa mampu membuat program komputer dengan menggunakan bahasa pemrograman C.

RENCANA PEMBELAJARAN

RENCANA PEMBELAJARAN SEMESTER (RPS)

KATA PENGANTAR. Puji syukur kami panjatkan ke hadirat Alloh SWT atas terbentuknya Lembar Tugas

ALGORITMA DAN PEMROGRAMAN

Fakultas Teknologi Informasi

Penerapan Divide and Conquer dalam Membandingkan Alur Proses 2 Source Code

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Strategi Pembelajaran

Studi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya

Pengantar Kuliah. KU1072/Pengenalan Teknologi Informasi B Sem /2016. KU1072/Pengenalan Teknologi Informasi B

Transkripsi:

Buku Rancangan Pengajaran IKI20100 Struktur Data dan Algoritma Fakultas Ilmu Komputer Universitas Indonesia 1. INFORMASI UMUM Nama Kuliah : Struktur Data dan Algoritma Kode Kuliah : IKI 10400 Beban Kuliah : 4 SKS (Satuan Kredit Semester) Implementasi SKS : 4 x 50 menit per pekan kuliah tatap muka; 4 x 50 menit per pekan belajar mandiri; 4 x 50 menit per pekan praktikum & tutorial Buku Acuan Utama : Mark Allen Weiss, Data Structures and Problem. Solving Using Java (3rd edition), Addison Wesley, 2006. Pengajar : Suryana Setiawan, Ruang 3215, setiawan@cs.ui.ac.id Tisha Melia, Ruang 1232, tisha@cs.ui.ac.id Jadwal Kelas: Kelas A: Selasa, 13.00-14.40 di 2.2304 Kamis, 13.00-14.40 di 2.2304 Kelas B: Selasa, 08.00-09.40 di 2.2404 Kamis, 08.00-09.40 di 2.2404 Kelas C: Selasa, 13.00-14.40 di 2.2404 Kamis, 13.00-14.40 di 2.2404 Kelas D: Selasa, 08.00-09.40 di 2.2303 Kamis, 08.00-09.40 di 2.2303 Asisten : tim asisten dengan koordinator Ricky Suryadharma (r1c58055@yahoo.com) Ruang Konsultasi : Lab Babe, Gedung A Lantai 1 Ruang: 1110 2. TUJUAN PEMBELAJARAN Deskripsi Mata Kuliah: Matakuliah ini mengajarkan teknik-teknik dasar untuk abstraksi data, algoritmaalgoritma akses dan manipulasi struktur-struktur abstraksi tersebut; serta pengantar analisis kompleksitas pemakaian storage dan waktu dalam eksekusi algoritma-algoritma tersebut. Tujuan Perkuliahan: a) Mahasiswa memahami pentingnya representasi data. b) Mahasiswa dapat memilih struktur data yang tepat untuk permasalahan yang diberikan. c) Mahasiswa memahami perbedaan kinerja algoritma. d) Mahasiswa mengenal dan memahami Struktur data yang umum seperti list, stack, queue, tree, hash table dan graph. e) Mahasiswa memahami algoritma dasar dari permasalahan searching dan sorting f) Mahasiswa mengenal dan memahami variasi struktur data dari struktur data yang dasar. Misalnya variasi struktur data tree yaitu AVL Tree, dan B-Tree. g) Mahasiswa dapat mengimplementasikan struktur data yang dibutuhkannya.

h) Mahasiswa memahami dan dapat mengimplementasikan algoritma sesuai dengan struktur data yang digunakan. 3. MATERI PEMELAJARAN No Pokok Bahasan Subpokok bahasan Rujukan Tugas/WS/Q 1-3 Review Java dan DPBO (Topik saat e-learning) Tugas#0: Coba Submission 4 Analisa Algoritma 5 Rekursif (review) 5 Sorting (partly review) Tipe dan Variabel Flow Control Array Eksepsi Class dan Object Inheritance Abstract Class dan Interface Polymorphism Pengertian ADT Pemisahan spesifikasi dan implementasi, Pengenalan ADT: list, stack, queue, map, set dan priority queue Pengertian collections Application Programming Interface (API) Generic di Java Penggunaan Java Collection API Iterator Contoh menggunakan API Pengertian Analisa Algoritma Cara Mengukur Algoritma Notasi Perbandingan Orde Fungsi Contoh: Max. Contiguous Subsequence Sum Algoritma Logaritme dan contoh Pengertian rekursif Model eksekusi algoritma rekursif Aturan Rekursif Pembuktian dengan induksi Efisiensi pada rekursif algoritma Contoh: Fibonacci Divide and conquer Backtracking Contoh: Maze, N-Queen Problem, MCSS Pengertian umum sorting, ide dasar algoritma, contoh eksekusi, analisa dari metode sorting: Bubble sort, Selection sort, insertion Bab: 1,2,3,4, dan 6 Bab: 5 Bab: 7 Bab: 8 Tugas#1: Penggunaan Generics dengan obyektif menguasai generics dan collections Worksheet#1: mengukur performance keempat algoritma CSS Quiz#1: Pilihan berganda dan/atau jawaban singkat: analisis algoritma, rekursif dan sorting

sort, shell sort, merge sort, quick sort (fokus pada insertion & quicksort) 6 Implementasi: ArrayList List, Stack & Linked-list Based Stack, Queue Queue: Double ended queue 7 Trees Pengertian Tree Rekursif pada tree Tree traversal (inorder, preorder, postorder, levelorder) Aplikasi Tree: Huffman Code Tutorial Pra UTS & UTS 9 Binary Search Pengertian dan motivasi Binary Search Tree Tree (insert & delete) AVL Tree (insert) 10 Binary Search AVL Tree (delete) Tree (2) B Tree 11 Graf Representasi graf Algoritma pada graf: BFS, DFS 11- Graf (2) Minimum Spanning Tree (Kruskal, Prim) 12 Shortest path (Dijkstra, Floyd-Warshall) Maximum Flow (netflow) 13 Binary Heap Pengertian dan motivasi Implementasi Binary Heap Priority Queue Heapsort 14 Hash Table Pengertian dan motivasi Hash Function Linear Probing Quadratic probing Analisa perbandingan 15 Review 16 UAS Bab: 15,16,17 Bab: 12,18 Bab: 19 Bab: 19 Bab: 14 Bab: 14 Bab: 21 Bab: 17 Tugas#2: stack URL Worksheet#2: tree traversal. Worksheet#3: melengkapi method BST Quiz#2: pen & paper quiz on AVL tree & B+Tree Worksheet#4: BFS/DFS Tugas# 3:graph problem Worksheet#5: antrian berprioritas sederhana Quiz#3: implementasi hash table Worksheet: Worksheet/Latihan dapat berbentuk latihan pemrograman yang dikerjakan pada waktu tutorial dan dikumpulkan saat tutorial berakhir. Latihan dapat juga berbentuk tertulis (melengkapi lembar kerja) yang dikerjakan pada waktu kuliah dan dikumpulkan setelah kuliah berakhir. Selama pengerjaan latihan, mahasiswa dapat bertanya dan berdiskusi kepada dosen, tutor atau teman. Namun pengerjaan/penulisan tetap dilakukan secara individu. Quiz: Kuis pemrograman dijadwalkan pada waktu tutorial. Mahasiswa akan diberikan sebuah permasalahan pemrograman yang harus dapat diselesaikan sendiri dalam waktu dua jam. Selama pengerjaan kuis,

mahasiswa dapat melihat buku, dokumentasi dan lain-lain, namun tidak diperkenankan bertanya atau berdiskusi dengan siapa pun. Pengumpulan Kuis pemrograman dilakukan terhadap system online grader pada mesin ranau.cs.ui.ac.id. Setiap peserta kuliah akan diberikan account khusus. Untuk kuis tertentu, setelah batas waktu berakhir mahasiswa yang tertarik masih dapat melakukan submission untuk latihan dan evaluasi diri. Walaupun evaluasi kebenaran program dapat dilakukan secara otomatis (menggunakan online grader) penilaian terhadap kuis pemrograman juga memperhatikan komponen lain yaitu: Kerapihan penulisan program (termasuk penamaan variable), efisiensi algoritma, kesesuaian struktur data yang digunakan, dan kejelasan komentar program. Tugas: Tugas Pemrograman dapat dikerjakan dalam rentang waktu beberapa hari secara individu. Mahasiswa akan diberikan permasalahan pemrograman yang relatif lebih besar dari kuis pemrograman. Selama pengerjaan mahasiswa dapat bertanya dan berdiskusi dengan orang lain namun pengerjaan/penulisan pada tetap dilakukan secara individu dan dituliskan dengan kalimat sendiri. Pada tugas pemrograman tertentu selain memiliki komponen penilaian seperti kuis, mahasiswa juga dilatih untuk membuat dokumentasi program dalam berkas terpisah (bukan bagian dari penulisan komentar didalam program). Aturan Umum Penilaian Kuis atau Tugas Pemrograman: Automatic Grader score : 50% White box review: 25% Komentar dan dokumentasi : 25% Aturan anti-plagiarism dalam pemrograman: - Mahasiswa diperbolehkan diskusi dan tukar ide (garis besar algoritma) tetapi coding dilakukan secara individu. - Mengutip source code hanya boleh dari textbook, slide, template atau materi yang diberikan (source code hasil kerja orang lain selain dari sumber yang disebutkan di atas, sama sekali tidak boleh disalin ke dalam source code anda). - Yang melanggar aturan di atas baik pelaku penyontekan maupun pemberi contekan (kesempatan mencontek) akan dikenakan hukuman dengan pemberian nilai 0 untuk tugas/quiz/worksheet tersebut., dan jika dilakukan lebih dari satu kali akan mendapat sanksi ketidaklulusan di kuliah ini. 4. SATUAN ACARA PERKULIAHAN Metode pemelajaran: Belajar yang dilaksanakan dalam perkuliahan ini melalui tatap mukan yang dilengkapi dengan praktikum dan belajar mandiri.

1. Tatap Muka (TM) Perkuliahan interaktif atau tatap muka dilakukan di kelas secara langsung. dalam perkuliahan ini metode yang dilakukan antara lain: tutor. a. Ceramah; dosen menjelaskan mengenai materi tertentu. Dan, metode ini dapat dikombinasikan dengan tanya jawab secara langsung. b. Diskusi kelas; mahasiswa membahas topik-topik tertentu yang ada dalam materi dengan sebelumnya melakukan belajar mandiri dan diskusi kelompok kecil (melalui SCeLE). Diskusi kelas ini dapat dilakukan secara online melalui fasilitas SceLE dengan pengarahan dosen dan 2. Belajar Mandiri (BM ) Belajar mandiri atau self-learning dilakukan tidak secara langsung bertatap muka melainkan dengan memanfaatkan fasilitas belajar elektronik SCeLE. Dengan SCeLE, pemelajaran akan melibatkan kegiatan-kegiatan sebagai berikut: a. Akses materi (A); mahasiswa dapat mengakses materi langsung yang telah disediakan di SceLE dan di buku acuan. b. Diskusi (D); mahasiswa dapat melakukan diskusi materi dan studi kasus dalam bentuk aktifitas forum yang ada di SCeLE. c. Chat (C); mahasiswa dapat pula berkomunikasi dengan pengajar dan teman-teman sekelas dalam kurun waktu yang telah ditentukan. 3. Praktikum dan Tutorial (PT) Praktikum dan Tutorial dilakukan mahasiswa dipandu oleh Tutor. Mahasiswa akan mempraktikan materi yang dipelajari nya dan bentuk latihan atau tugas pemrograman. Tutor akan membantu mahasiswa menghadapi permasalahan nyata yang dihadapi ketika mempraktikan materi yang telah diberikan. Media Instruksional 1. Internet (I) 2. Presentasi Multimedia (M) 3. Perangkat Lunak Simulasi dan Animasi (SA) 4. White board, beamer (WB) 5. Diktat dan Lembar Kerja (LK) Tutor: Akan disediakan seorang tutor untuk setiap kelompok tutorial yang terdiri dari 20 peserta kuliah. Peran Tutor adalah:

1. Memandu sesi tutorial membahas soal-soal atau mengulang materi perkuliahan untuk mempersiapkan peserta menghadapi ujian. 2. Membantu kesulitan yang dihadapi oleh peserta ketika mengerjakan latihan. Membahas latihan setelah 3. Memeriksa tugas & quiz (baik programming maupun tertulis) untuk anggota kelompok tutorialnya. 4. Membantu menjawab pertanyaan mahasiswa mengenai kuliah Struktur Data & Algoritma di SCeLE, termasuk mengenai tools dan bahasa pemrograman yang digunakan. 5. Membantu persiapan teknis worksheet, quiz, ataupun tugas pemrograman. EVALUASI HASIL PEMELAJARAN Bentuk/jenis instrumen: 1. Latihan Individu (5 kali) 2. Kuis Individu (3 kali) 3. Tugas Pemrograman Individu (3 kali) 4. Ujian Tertulis Individu (2 kali, UTS dan UAS) Masing-masing penilaian untuk tiap instrumen dalam skala 0-100. Pemetaan menjadi nilai huruf secara tentative akan mengikuti acuan umum tabel berikut: Nilai Huruf Rentang Nilai Keterangan Huruf Rentang Nilai A 85.. A- 80 84 B+ 75-79 B 70-74 B- 65 69 C+ 60 64 C 55-59 Batas Lulus C- 50-54 Tidak Lulus D 40-49 Tidak Lulus E.. 39 Tidak Lulus Persentase kontribusi nilai: Lima Worksheet @ 2% 10% Tiga Kuis @ 5% 15.00% Tiga Tugas Pemrograman @ 10% 30.00% Ujian Tengah Semester 20.00%

Ujian Akhir Semester 25.00% 6 TATA TERTIB PERKULIAHAN Kehadiran: 1. Kuliah: Minimal kehadiran mengikuti aturan yang berlaku. (75% minimum kehadiran tatap muka di kelas) Bila sakit atau berhalangan hadir kuliah, harus disertai surat dan penjelasan dan pemberitahuan sebelum kuliah dimulai. Peserta yang persentasi kehadiran-nya kurang, tidak diperkenankan mengikuti ujian akhir semester. 2. Tutorial: kehadiran mengikuti tutorial akan dicatat, dan akan menjadi pertimbangan pemberian nilai bonus untuk nilai yang diperbatasan. 3. Worksheet/Quiz: mahasiswa harus mengikuti pengerjaan worksheet/quiz di lab yang telah ditentukan, keikutsertaan dari tempat lain selain lab tersebut pengerjaan worksheet/quiz ybs tidak akan dinilai. Keterlambatan: Keterlambatan hadir saat kuliah mengikuti aturan yang berlaku. Seluruh kuis, latihan dan tugas wajib dikerjakan dikumpulkan pada waktunya. Pengumpulan yang terlambat tidak dinilai. Evaluasi latihan, kuis atau tugas diharapkan dapat diberikan kepada mahasiswa dalam waktu 2 pekan. Kejujuran Akademis: Seluruh mahasiswa harus memahami dan menerapkan kejujuran akademis. Pelanggaran seperti mencontek, plagiat dalam skala apapun akan ditindak tegas dan tercatat dalam daftar pelanggaran akademis. 7 CONTOH SOAL Contoh Latihan: Deskripsi : IKI20100 2008/2009 (Gasal): Struktur Data & Algoritma Fakultas Ilmu Komputer, Universitas Indonesia Worksheet 03 23 Oktober 2008 Template : WS03_Tree.java Submission : WS03_Tree.java (melalui ranau.cs.ui.ac.id) Pada worksheet ini anda akan berlatih untuk membuat program rekursif pada tree. Sebagai latihan kita akan mencoba membuat program yang dapat memberikan informasi sebuah tree. Informasi yang diinginkan adalah:

6. Jumlah data 7. Tinggi tree 8. Jumlah data pada tiap level tinggi dimulai dari root (level 0). Contoh, untuk tree berikut: output yang diharapkan adalah: 9 3 1 2 4 2 Baris pertama berisi angka 9 yang menyatakan ada 9 data pada tree tersebut. Baris kedua, berisi angka 3 menyatakan tinggi tree tersebut adalah 3 (root berada pada tinggi 0). Sebanyak tinggi + 1 baris selanjutnya, adalah banyaknya data pada tiap level dimulai dari root yang berada pada level 0, yaitu ada 1 elemen, pada level 1 ada 2 elemen, pada level 2 ada 4, dan pada level 3 ada 2 elemen. Informasi mengenai bentuk dan isi sebuah tree dinyatakan dalam formal XML. XML (extensible Markup Language) adalah sebuah format standar untuk menyimpan informasi yang kini sangat banyak digunakan di industri, dan bisa dikatakan merupakan contoh baik pengaplikasian struktur data tree yang sudah kita pelajari di kuliah. Pada contoh diatas isi file XML adalah sebagai berikut: <?xml version='1.0'?> <root data="salak"> <left data="rambutan"> <left data="jeruk"> <right data="manggis"/> </left> <right data="apel"/> </left> <right data="durian">

<left data="mangga"> <left data="nangka"/> </left> <right data="pisang"/> </right> </root> Untuk membantu anda, telah disediakan class yang sudah mendefinisikan struktur data binary node dan binary tree, serta cara untuk membaca XML (dari input maupun dari file) dan membuat binary tree dari dokumen XML tersebut. Anda tak perlu mengubah class tersebut. Template program : WS03_Tree.java Telah disediakan template program dengan nama file WS03_Tree.java. Anda hanya perlu melengkapi dan memperbaiki bagian program yang kosong saja. Bagian tersebut telah ditandai dengan tulisan: ///////////////////////////// // PERBAIKI METHOD INI // ///////////////////////////// Ada 4 method yang perlu anda lengkapi dan perbaiki, termasuk signature dari method nya bila perlu. Method tersebut tidak perlu terlalu panjang isinya, tambahan antara 3-9 baris pada tiap methodnya sudah cukup. Anda dapat mencoba program anda dengan menjalankan perintah: java WS03_Tree < binarytree1.xml Sebelum program ini anda perbaiki outputnya hanyalah: 9 Silahkan perbaiki sehingga outputnya seperti yang diharapkan, dan submit dengan nama file yang sama ke ranau.cs.ui.ac.id. - Selamat Berlatih -