/** * Praktikum 13 - Binary Search Tree * * Kelas ini digunakan untuk mempermudah kegiatan praktikum mata kuliah * Struktur Data dan Algoritma di Program Studi Teknik Informatika, * Fakultas Teknologi Informasi, Universitas YARSI. * * Berbeda dengan kuliah pendahulunya, Dasar-Dasar Pemrograman, pada kuliah ini * fokus pada mengembangkan kemampuan mahasiswa untuk menggunakan struktur data * dan berbagai algoritma. Mahasiswa diasumsikan sudah memiliki pengetahuan * dasar untuk membuat program, sehingga memberikan berkas untuk mereka * ubah-ubah selama kegiatan Praktikum, tidak akan menghambat mahasiswa dalam * mencapai tujuan kuliah. * * Untuk menyelesaikan kegiatan Praktikum ini dengan baik, pastikan Anda * membaca instruksi Praktikum dengan baik dan benar. */ /* * Diperlukan agar bisa menggunakan struktur data Node untuk Binary Tree * yang akan menyimpan data, Parent Node, Left Child Node, dan Right Child Node. */ import fti.ti.sda.BinaryTreeNodeSDA; /** * @author [tulis nama Anda disini] * @version 1.00 * * Praktikum ini bertujuan untuk melatih Anda dalam memanfaatkan struktur data * Binary Search Tree dengan melengkapi method untuk menambahkan Node dalam * Tree dan mencetak isi Tree. * * Pastikan nama berkas dan kelas sesuai dengan instruksi Praktikum. */ public class Praktikum13 { public static void main(String[] args) { // membuat Root dari Binary Search Tree BinaryTreeNodeSDA root = // null menyatakan bahwa Node ini tidak memiliki Parent new BinaryTreeNodeSDA(60, null); Praktikum13.add(root, 75); Praktikum13.add(root, 30); Praktikum13.add(root, 35); Praktikum13.add(root, 40); Praktikum13.add(root, 20); Praktikum13.add(root, 10); Praktikum13.add(root, 37); Praktikum13.add(root, 45); Praktikum13.add(root, 70); Praktikum13.add(root, 90); Praktikum13.add(root, 95); Praktikum13.add(root, 96); Praktikum13.add(root, 97); Praktikum13.add(root, 5); Praktikum13.add(root, 65); Praktikum13.add(root, 50); Praktikum13.add(root, 25); Praktikum13.add(root, 85); Praktikum13.add(root, 80); Praktikum13.add(root, 93); Praktikum13.add(root, 94); Praktikum13.add(root, 83); Praktikum13.add(root, 77); Praktikum13.add(root, 55); Praktikum13.add(root, 47); Praktikum13.add(root, 27); Praktikum13.add(root, 23); // mencetak seluruh isi Binary Search Tree Praktikum13.print(root); // prilaku yang diharapkan System.out.println("\nKeluaran jika kode program Anda benar:"); System.out.println("5, 10, 20, 23, 25, 27, 30, 35, 37, 40, 45, 47, 50, " + "55, 60, 65, 70, 75, 77, 80, 83, 85, 90, 93, 94, 95, 96, 97, "); } /** * Method ini akan menambahkan data yang diberikan ke dalam Binary Search * Tree. Method ini akan secara otomatis mencari kandidat Parent Node untuk * data yang diberikan, relatif terhadap posisi Node root. Jika posisi * sudah kandidat Parent Node sudah ditemukan, maka data akan dimasukkan * sebagai anak kiri atau kanan, sesuai dengan aturan Binary Search Tree. * @param root Node awal untuk memulai pencarian Parent Node. * @param data Nilai yang akan simpan ke dalam Binary Search Tree. */ public static void add(BinaryTreeNodeSDA root, int data) { } /** * Mencetak seluruh isi Binary Search Tree, mulai dari Node dengan nilai * terkecil sampai terbesar. Teknik rekursif digunakan untuk mempermudah * proses pencetakan. * @param root Node awal untuk memulai pencetakan Binary Search Tree. */ public static void print(BinaryTreeNodeSDA root) { } }