Tugas 3 Praktikum Struktur Data: Tree

Assignment 3: Tree

Offline di Departemen Matematika
Published

December 7, 2025

Kembali ke Struktur Data

Tugas ini diberikan pada hari dan tanggal: Minggu, 7 Desember 2025

Petunjuk umum:

  1. Kerjakan secara individu.

  2. Kerjakan tugas ini menggunakan bahasa pemrograman Python dengan file format berupa interactive Python notebook (yaitu file berbentuk .ipynb BUKAN .py), yang bisa dibuat misalnya menggunakan Jupyter Notebook atau Google Colaboratory.

  3. Harap sertakan penjelasan untuk setiap variabel yang digunakan dan setiap proses secara singkat di sebelah (atas/bawah/kanan) barisnya (dengan comment, #). Selain itu, sertakan juga penjelasan kode (yang bisa mencakupi idenya apa, bagaimana cara eksekusinya, atau tentang algoritma yang digunakan) pada cell di sebelah (atas/bawah) kode.

  4. Format nama file untuk Tugas 3 ini adalah:

    Kelas SIAK_Tugas3PrakStrukdat_Nama Lengkap_NPM.ipynb

    Contoh penamaan yang benar:

    Kelas C_Tugas3PrakStrukdat_Haikal Fikri Rabani_2206823713.ipynb

  5. Pengumpulan Tugas 3 dilakukan ke Google Forms berikut ini:

    https://bit.ly/KumpulTugasPrakStrukdat2025Ganjil

  6. Apabila ada yang ingin direvisi setelah pengumpulan, lakukan pengumpulan ulang di Google Forms yang sama, tambahkan keterangan bahwa ada revisi, dan tambahkan kata “revisi” pada bagian akhir nama file, contohnya menjadi

    Kelas C_Tugas3PrakStrukdat_Haikal Fikri Rabani_2206823713_revisi.ipynb

    Kelas C_Tugas3PrakStrukdat_Haikal Fikri Rabani_2206823713_revisi2.ipynb

    Kelas C_Tugas3PrakStrukdat_Haikal Fikri Rabani_2206823713_revisi3.ipynb

    (Revisi boleh dilakukan berkali-kali.)

  7. Dengan durasi pengerjaan sekitar 2 (dua) minggu, tenggat waktu (deadline) pengumpulan Tugas 3 ini (termasuk revisi) adalah Minggu, 21 Desember 2025, 23.59 WIB.

  8. Sesuai standar Universitas Indonesia, plagiarisme dilarang keras dan bisa menyebabkan nilai tugas praktikum menjadi nol untuk semua pihak yang terlibat, tanpa peringatan apapun. Namun, Anda boleh langsung menggunakan kode yang ada di modul praktikum.

  9. Module atau package Python yang boleh digunakan (di-import) untuk Tugas 3 ini hanyalah numpy dan graphviz. Apabila Anda berniat ingin menggunakan module lain, harap konfirmasikan ke narahubung terlebih dahulu (bisa saja diperbolehkan).

  10. Narahubung untuk Tugas 3 Praktikum Struktur Data adalah:

    Pandu Adjie Sukarno (ID LINE: pandyadaffa)

    Dimas Prasetya Utama (ID LINE: dimas.p.u)

    Silakan hubungi narahubung di atas apabila ada yang ingin ditanyakan atau dikonfirmasikan.

Soal:

Tugas ini dibagi menjadi dua yaitu untuk mahasiswa dengan NPM genap dan mahasiswa dengan NPM ganjil. Untuk NPM ganjil harap mengerjakan bagian 1 sedangkan untuk NPM genap harap kerjakan bagian dua

Buatlah Heap tree yang berisi huruf alfabet dan angka. Heap tree yang digunakan adalah MaxHeap dan MinHeap yang telah diajarkan pada praktikum. Harap masing-masing mahasiswa hanya mengerjakan satu bagian saja seperti pada ketentuan

Kemudian, gunakan pywidgets untuk memodifikasi tree yang anda punya yaitu menambahkan serta mengeluarkan string dari tree

Catatan :

  1. Huruf alfabet dapat dapat berupa huruf besar dan kecil

  2. Pendefinisian urutan berupa \[a < b < \cdots < z < A < B < \cdots < Z < 0 < 1 < \cdots < 9\]

  3. Semua tanda baca pada input diabaikan

  4. Error-handling dapat anda modifikasi sendiri

Misalkan diberikan input berupa “Halo! Selamat tinggal!”, maka buatlah tree seperti berikut

Bagian 1

urutan_naik()
Masukkan string: Halo! Selamat tinggal! 123
Berikut adalah tree dari "Halo! Selamat tinggal! 123" :D

Bagian 2

urutan_turun()
Masukkan string: Halo! Selamat tinggal! 123
Berikut adalah tree dari "Halo! Selamat tinggal! 123" :D