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

Tugas Final Project Struktur Data 2021

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