Saturday, 26 June 2021

Tugas Final Project Struktur Data 2021

Pengorganisasian Buku di Perpustakaan Menggunakan Array

1. Ide

    Pengorganisasian buku di perpustakaan akan semakin susah dengan bertambah banyaknya jumlah buku yang disimpan. Dengan menggunakan struktur data array, kita bisa membuat sebuah program untuk membantu kita dalam mengorganisasi buku-buku tersebut. Data-data dari sebuah buku akan disimpan dalam sebuah array. Untuk mencari buku, program akan membandingkan keyword pencarian dengan isi array, kemudian mengembalikan isi array yang cocok sebagai hasil pencarian. Selanjutnya, user dapat memilih untuk meminjam buku tersebut jika diinginkan. Untuk mengembalikan buku, program akan melakukan pencarian berdasarkan keyword yang dimasukkan user, lalu user dapat mengkonfirmasi pengembalian buku tersebut. Dengan begitu, pendataan buku dapat dilaksanakan dengan mudah dengan bantuan program tersebut.

2. Model

    Berikut merupakan gambaran dari struktur data array yang akan digunakan dalam program.

Data dari buku-buku akan dimasukkan ke dalam array dengan tiap elemen array akan berisi judul(title), nama penulis(author), rating, dan ketersediaan(availability) dari suatu buku.

3. Kode Implementasi

    Berikut kode implementasi array dalam pengorganisasian buku di perpustakaan. Kode implementasi dibagi menjadi 3 class, yaitu Book, Library, dan App.



Berikut hasil run program.

4. Video Demonstrasi

    Demonstrasi dan hasil run program dapat dilihat pada video berikut.

5. Makalah




Saturday, 19 June 2021

Tugas Struktur Data 16 Juni 2021

 Hashtable

Hashtable (hash map) adalah struktur data yang mengimplementasikan tipe data abstrak array asosiatif, struktur yang dapat memetakan kunci ke nilai. Hashtable menggunakan fungsi hash untuk menghitung indeks, juga disebut kode hash, ke dalam slot array, dari mana nilai yang diinginkan dapat ditemukan. Selama pencarian, kunci di-hash dan hash yang dihasilkan akan menunjukkan di mana nilai yang sesuai disimpan.

Berikut contoh implementasi hashtable.

Berikut hasil run kode tersebut.


Hashtable dapat diimplementasikan untuk membuat buku telepon. Berikut kode implementasi hashtable dalam buku telepon.

Berikut hasil run kode tersebut.

Sunday, 13 June 2021

Tugas Struktur Data 11 Juni 2021

 Graph

    Graph dapat direpresentasikan menggunakan 2 cara, yaitu adjacency matrix dan adjacency list.

Adjacency Matrix

    Berikut kode implementasi adjacency matrix dalam graph.



Berikut hasil run kode tersebut.


Adjacency List

    Berikut kode implementasi adjacency list dalam graph.


Berikut hasil run kode terssebut.

Tuesday, 8 June 2021

Tugas Struktur Data 9 Juni 2021

 Binary Search Tree

    Binary Search Tree adalah sebuah konsep penyimpanan data, dimana data disimpan dalam bentuk tree yang setiap node dapat memiliki anak maksimal 2 node. Selain itu, terdapat juga aturan dimana anak kiri dari parent selalu memiliki nilai lebih kecil dari nilai parent dan anak kanan selalu memiliki nilai lebih besar dari parent.

Berikut kode class dari Binary Search Tree.


Berikut kode implementasi Binary Search Tree.

Berikut hasil run kode tersebut.


Saturday, 5 June 2021

Tugas Struktur Data 2 Juni 2021

 Tower of Hanoi

    Tower of Hanoi adalah sebuah permainan matematis atau teka-teki. Permainan ini terdiri dari tiga tiang dan sejumlah cakram dengan ukuran berbeda-beda yang bisa dimasukkan ke tiang mana saja. Permainan dimulai dengan cakram-cakram yang tertumpuk rapi berurutan berdasarkan ukurannya dalam salah satu tiang, cakram terkecil diletakkan teratas, sehingga membentuk kerucut.

Tujuan dari teka-teki ini adalah untuk memindahkan seluruh tumpukan ke tiang yang lain, mengikuti aturan berikut:

  • Hanya satu cakram yang boleh dipindahkan dalam satu waktu.
  • Setiap perpindahan berupa pengambilan cakram teratas dari satu tiang dan memasukkannya ke tiang lain, di atas cakram lain yang mungkin sudah ada di tiang tersebut.
  • Tidak boleh meletakkan cakram di atas cakram lain yang lebih kecil.

Ide penyelesaian Tower of Hanoi secara rekursif:
  1. Pindahkan N-1 disk teratas dari source ke auxiliary menggunakan destination sebagai tempat sementara
  2. Pindahkan disk terbawah dari source ke destination
  3. Pindahkan seluruh disk dari auxiliary ke destination menggunakan source sebagai tempat sementara.
  4. Bila N=0, pemanggilan rekursif berhenti
Berikut kode implementasi penyelesaian Tower of Hanoi.


Berikut hasil run kode tersebut.

Tuesday, 4 May 2021

ETS Struktur Data 2021

 1. Jelaskan perbedaan struktur data primitif dengan Non primitif, berikan contohnya dalam program sederhana.

Jawab:
Struktur data primitif merupakan struktur data yang telah terdefinisi/disediakan di suatu bahasa pemrograman. Contoh struktur data primitif adalah int, char, boolean, short, long, float, double dan byte.

Sedangkan, struktur data non primitif adalah struktur data yang secara default belum terdefinisi di suatu bahasa pemrograman. Struktur data non primitif didefinisikan sendiri oleh pemrogram. Contoh struktur data non primitif adalah Array, List, Stack, dan Queue.

Berikut contoh program sederhana menggunakan struktur data primitif. Source code:

Screenshot hasil run:


Berikut contoh program sederhana menggunakan struktur data non primitif.
Source code struktur data stack:

Source code implementasi stack:

Screenshot hasil run:

2. Jika diketahui notasi infiks = “A + B * C ^ D – E / F” bagaimana bentuk notasi postfiks dari notasi infiks tersebut jika menggunakan operasi stack. Tuliskan dalam bentuk program , dan tampilkan screenshotnya

Jawab:
Infiks     = “A + B * C ^ D – E / F"
Postfiks = "A B C D ^ * + E F / -"

Berikut program mengubah infiks menjadi postfiks yang menggunakan stack.
Source code struktur data stack:


Source code pengubah infix ke postfix:

Source code implementasi:

Screenshot hasil run:

3. Pada sebuah Bank, setiap nasabah yang datang diminta untuk mengambil antrian. Antrian tersebut memuat urutan layanan nasabah, dan jenis layanan yang dibutuhkan, apakah CS atau Teller.

a. Untuk membuat aplikasinya, struktur data apa yang tepat.

b. Tuliskan dan gambarkan struktur data untuk memuat informasinya

c. Implementasikan aplikasi antrian tersebut. (Link Antrian Bank)

Jawab:
a. Struktur data Queue.

b. Pada saat awal mengantri, nasabah akan mendapat nomor antriannya. Kemudian, nasabah memilih untuk mengantri CS atau Teller. Selanjutnya, nomor antrian nasabah akan di enqueue ke dalam queue antrian CS atau antrian Teller sesuai dengan pilihan nasabah.


c. Berikut source code struktur data queue.

Berikut source code antrian bank menggunakan struktur data queue.

Berikut screenshot hasil run.


4. Buatlah dokumentasi dalam bentuk source code , screenshot hasil, dan video Demo Presentasi yang dipost ke Youtube , kemudian diembedded di Blog masing-masing. Pengerjaan bisa berkelompok maksimal 3 orang, terakhir dikumpul 9 Mei 2021

Friday, 23 April 2021

Tugas Struktur Data 21 April 2021

 Infix to Postfix using Stack and Queue

    Dalam melakukan konversi dari infix menjadi postfix, saya menggunakan 4 kelas, yaitu Stack, Queue, InToPost, dan App. Stack dan Queue digunakan sebagai struktur data yang akan dipakai dalam mengkonversi infix ke postfix. InToPost digunakan untuk mengubah infix menjadi postfix. App berisikan fungsi main yang akan dijalankan.

    Berikut kode kelas Stack

    Berikut kode kelas Queue

    Berikut kode kelas InToPost

    Berikut kode kelas App

    Berikut hasil run kode tersebut



Tuesday, 6 April 2021

Tugas Struktur Data 7 April 2021

 Stack dan Implementasinya

    Berikut kode dari kelas Stack.

    Berikut kode dari kelas App yang merupakan implementasi dari stack.


    Berikut hasil run kode tersebut.

Wednesday, 31 March 2021

Tugas Struktur Data 31 Maret 2021

     

1. Bubble Sort

    Berikut contoh kode implementasi bubble sort.

    Berikut output kode tersebut.


    Keunggulan:

    - Mudah dipahami

    - Implementasi mudah

    - Hemat memori

    Kelemahan:

    - Algoritma ini tidak cocok untuk set data yang besar

    - Kompleksitas rata-rata O(n^2) dan kompleksitas terbaik O(n)

    Kapan digunakan:

    - Ketika jumlah data sedikit

    - Karena bubble sort mampu mendeteksi kesalahan kecil dalam pengurutan, bubble sort digunakan dalam grafika komputer.

    - Bubble sort digunakan dalam algoritma pengisian poligon.


2. Selection Sort

    Berikut kode implementasi selection sort.

    Berikut output kode tersebut.


    Keunggulan:

    - Mudah diimplementasikan

    - Mudah menentukan data minimum dan maksimum

    - Hemat memori

    Kelemahan:

    - Kompleksitas O(n^2)

    - Tidak cocok untuk data yang banyak.

    Kapan digunakan:

    - Untuk mengecek apakah data sudah urut.

    - Ketika memori terbatas.


3. Insertion Sort

    Berikut kode implementasi insertion sort.

    Berikut output kode tersebut.

    Keunggulan:

    - Mudah diimplementasikan

    - Cepat dalam data yang sebagian urut

    Kelemahan:

    - Tidak cocok untuk data yang banyak.

    - Sangat lama bila data terurut terbalik.

    - Kompleksitas rata-rata O(n^2) dan kompleksitas terbaik O(n)

    Kapan digunakan:

    - Ketika jumlah data sedikit.

    - Data sebagian terurut, hanya sedikit elemen yang salah tempat pada array yang besar.

Saturday, 27 March 2021

Tugas Struktur Data 24 Maret 2021



1. ArrayApp

    Berikut source code dari kelas ArrayApp.


    Berikut hasil run kode tersebut

2. Low Array

    Berikut souce code dari kelas LowArray

    Berikut source code dari kelas LowArrayApp

    Berikut hasil run LowArrayApp


3. High Array

    Berikut adalah source code dari kelas HighArray


    Berikut adalah source code dari kelas HighArrayApp

    Berikut hasil run HighArrayApp


4. Ordered Array

    Berikut source code dari kelas OrdArray

    Berikut source code dari kelas OrderedArrayApp

    Berikut hasil run OrderedArrayApp


5. Class Data Array

    Berikut source code dari kelas Person

    Berikut source code dari kelas ClassDataArray

    Berikut source code dari kelas ClassDataApp

    Berikut hasil run ClassDataApp



6. Implementasi Sorting

    Berikut source code dari kelas BubbleSortApp yang merupakan implementasi dari bubble sort.

    Berikut hasil output dari kode tersebut


7. Implementasi Search

    Berikut source code dari kelas BinarySearchApp yang merupakan implementasi dari binary search.

    Berikut hasil output dari kode tersebut



Wednesday, 17 March 2021

Tugas Struktur Data 17 Maret 2021

Tugas Struktur Data 17 Maret 2021

    Tugasnya adalah membuat profil menggunakan BlueJ. Saya menyelesaikan tugas ini dengan membuat kelas bernama "Profil" yang berisikan kode berikut https://pastebin.com/dPbRcH53. 

Output program dapat dilihat pada gambar berikut.


    Adapun tugas bonus, yaitu membuat kalkulator sederhana. Untuk membuat kalkulator sederhana, saya membuat kelas bernama "Kalkulator" yang berisikan kode berikut https://pastebin.com/bQWSs1pv.


Berikut screenshot kerja kalkulator sederhana tersebut.



Tugas Final Project Struktur Data 2021

Pengorganisasian Buku d i Perpustakaan Menggunakan Array 1. Ide     Pengorganisasian buku di perpustakaan akan semakin susah dengan bertamb...