ETS STRUKTUR DATA (F)

Nama : Zidan Al Azizi

NRP    : 5025201014

+===+++===+++===+++===+++===+++===+++===+++===+++===+++===+++===+++===+


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

        sebelumnya pada Bahasa pemrograman java terdapat 2 jenis tipe data yang berbeda yaitu tipe data primitif dan non primitif. Perbedaan tipe data primitif dan non primitif diantaranya sebagai berikut :

     Tipe data primitive adalah tipe data yang telah terdefinisi di dalam suatu bahasa pemrograman sehingga kita sebagai pengguna tinggal menggunakan tipe data tersebut. Contoh dari tipe data primitif ini yaitu byte, short, int, long, char, float , double dan boolean. 

    Sedangkan Tipe data non primitif adalah tipe data yang tidak terdefinisi secara default oleh suatu bahasa pemrograman melainkan didefinisikan sendiri oleh pengguna tersebut atau biasannya juga disebut sebagai references object. Contoh dari non primitif data type ini adalah array, list , queue,dll. Implementasi dari tipe data non primitif yang sering ditemui ialah saat kita membuat array kita dapat mendefinisikan sendiri tipe data untuk anggota/member dari array tersebut. Misalkan array tersebut memiliki tipe data integer/string/dsb dan bahkan dapat menggunakan tipe data dari object yang telah kita buat sendiri sebelumnya.

Berikut ini contoh program sederhana dari tipe data primitif dan non primitif  dalam bahasa java :

Source Code :


Dokumentasi :



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

    Pada penulisan ekspresi operator terdapat  3 jenis notasi yaitu prefix, infix dan postfix. Pada ekspresi Prefix cara penulisan dilakukan  dengan meletakkan operator di depan operand, contohnya = +AB ; *+AB – CD. Kemudian  pada ekspresi Infix cara penulisan dilakukan dengan meletakkan operator di antara dua operand, contohnya = A+B ; (A*B)/C . sedangkan pada Postfix penulisan dilakukan dengan meletakkan operator setelah operand, contohnya = AB+C*DE-.

    Pada soal tersebut notasi infiks = “A + B * C ^ D – E / F” = "((A+(B*(C^D)))-(E/F))" akan dirubah menjadi notasi postfix  berikut=”ABCD^*+EF/-”. Pada penerapan kali ini digunakan salah satu jenis struktur data yang memanfaatkan prinsip "Last In First Out" yaitu stack sebagai berikut :

Source Code :

Class Stack:

Pada Class Stack operator aritmatika( +, - , < , / , ^ , % ) yang telah diinputkan akan di push (dimasukkan) kedalam stack untuk selanjutnya di bandingkan dengan operator lainnya, kemudian di pop (dikeluarkan) secara berurutan membentuk ekspresi postfix.

Class Converter:

Pada Class Converter akan dilakukan diakses Stack dan Input untuk diprose lebih lanjut. dalam proses pengubahan ekspresi infix menjadi postfix yang akan dilakukan perbandingan hanya operator aritmatikanya saja dengan memprioritaskan operator(^ , *) selanjutnya (* , /), dan yang terkahir(+, -),sedangkan variabelnya akan langsung diurutkan kedalam string.

Class InfixToPostfixApp :

Selanjutnya yang terakhir pada class InfixToPostfixApp terdapat 2 method yang fungsinya untuk mengambil input dari user dan menampilkan perintah yang telah diinputkan sebelumnya oleh user.

Dokumentasi :


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.

struktur data yang digunakan adalah Queue. dikarenakan pada Bank nasabah/client yang datang untuk mengambil tiket antri terlebih dahulu akan dilayani terlebih dahulu. sehingga prinsipnya FIFO (First In First Out)

b. Tuliskan dan gambarkan struktur data untuk memuat informasinya

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

Source Code :

Class main:

  Pada Class main perintah utama dari program antrian dijalankan. pada main terdapat 4 perintah yaitu :

  (1.) Ambil antrian (2.) Layanan  yang Selesai Dilayani (3.) Tampilkan Antrian Sementara (4.) Keluar .

Class QueueTeller:

Selanjutnya Pada Class QueueTeller digunakan untuk menampung data antrian loket Teller.

Class QueueCs:

Kemudian yang terakhir Pada Class QueueCs digunakan untuk menampung data antrian loket Customer Service.

Dokumentasi :



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


Comments

Popular Posts