Evaluasi Tengah Semester Struktur Data 2021

 Jawaban ETS Struktur Data 2021

Nama Anggota (NRP) : Stenly Saut Martua (5025201095)
                                       Mohammad Fadhil Rasyidin Parinduri (5025201131)
               


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

Tipe data adalah atribut dari variabel yang memberi tahu compiler atau interpreter bagaimana programmer bermaksud menggunakan variabel tersebut. Ini mendefinisikan operasi yang dapat dilakukan pada data dan jenis nilai apa yang dapat disimpan. Pada artikel ini, saya (fadhil) akan memberi Anda wawasan singkat tentang berbagai tipe data di Java. Menurut properti yang dimilikinya, tipe data dibagi menjadi dua kelompok:
  1. Tipe Data Primitif
  2. Tipe Data Non-Primitif
Struktur data primitif adalah struktur data yang bertipe data primitif. Tipe data primitif adalah fundamental data type yang ada di java. Tipe data primitif sudah di definisikan dan diberi nama oleh Java. Ada 8 tipe data yang termasuk dalam tipe data primitif, yaitu :
  • byte
  • short
  • int
  • long
  • float
  • double
  • boolean
  • char. 
Sedangkan struktur data nonprimitif adalah struktur data yang bertipe data nonprimitif. Tipe data nonprimitif biasa disebut tipe data referensi. Tipe data nonprimitif adalah tipe data yang di definisikan sendiri oleh programmer sehingga tida mengandung nilai secara langsung. Nilai nya pun bisa lebih dari satu. Contohnya antara lain :
  • string
  • array
  • files
  • list
  • interface.

Sekarang mari kita pahami masing-masing jenis data ini secara mendalam. Pertama saya akan memberi tahu Anda apa itu tipe data boolean.

tipe data boolean
Tipe data boolean terdiri dari sedikit informasi dan hanya dapat menyimpan nilai true atau false. Tipe data ini digunakan untuk melacak kondisi true/false. Sekarang mari kita buat program kecil dan pahami cara kerjanya.
Itu semua tentang tipe data boolean. Saya harap Anda memahaminya. Sekarang mari kita melangkah lebih jauh dan memahami tipe data berikutnya, yaitu tipe data byte.

tipe data byte
Ini adalah contoh tipe data primitif. Tipe data byte adalah 8-bit signed two’s complement integer. Ini menyimpan bilangan bulat yang berada di antara -128 hingga 127. Tipe data byte berguna untuk menghemat memori dalam jumlah besar. Sekarang mari kita buat program kecil dan pahami cara kerjanya.
Itu semua tentang tipe data byte. Sekarang mari melangkah lebih jauh dan memahami tipe data berikut, yaitu char.

tipe data char
Tipe data ini digunakan untuk menyimpan satu karakter. Karakter harus diapit dalam tanda kutip tunggal, seperti 'E' atau 'e'. Alternatifnya, Anda juga dapat menggunakan nilai ASCII untuk menampilkan karakter tertentu. Mari kita ambil contoh kecil dan lihat cara kerjanya.
Itu semua tentang tipe data char. Saya harap Anda memahaminya. Sekarang mari melangkah lebih jauh dan memahami jenis data berikutnya pada daftar, yaitu jenis data singkat.

tipe data short
Tipe data short lebih besar dari byte dalam hal ukuran dan kurang dari integer. Ini menyimpan nilai yang berkisar dari -32.768 hingga 32767. Ukuran default dari tipe data ini: 2 byte. Mari kita ambil contoh dan pahami tipe data singkat.
Ke depan, mari kita melangkah lebih jauh dan melihat tipe data berikutnya, yaitu tipe data int.

tipe data int
Tipe data ini dapat menyimpan bilangan bulat dari -2147483648 hingga 2147483647. Umumnya, int adalah tipe data yang disukai saat Anda membuat variabel dengan nilai numerik.
Setelah memahami ini, sekarang mari kita lihat mana jenis data berikutnya dalam daftar.

tipe data long
Jenis data ini adalah bilangan bulat pelengkap dua 64-bit. Secara default, ukuran tipe data yang panjang adalah 64 bit dan nilainya berkisar dari -263 hingga 263-1.
Itu semua tentang tipe data yang panjang. Sekarang mari kita bergerak dan melihat tipe data mengambang.

Tipe Data Floating
Anda harus menggunakan tipe titik mengambang setiap kali Anda membutuhkan angka dengan desimal, seperti 8,88 atau 3,14515.

tipe data float
Tipe data ini dapat menyimpan bilangan pecahan dari 3.4e−038 hingga 3.4e+038. Perhatikan bahwa Anda harus mengakhiri nilai dengan "f". Mari kita ambil contoh kecil dan pahami jenis data ini secara mendetail.
Jadi ini adalah bagaimana Anda bisa menggunakan tipe data float. Sekarang mari kita lihat satu lagi tipe data mengambang, yaitu double.

tipe data double
Tipe data ganda dapat menyimpan bilangan pecahan dari 1.7e−308 hingga 1.7e+308. Perhatikan bahwa Anda harus mengakhiri nilai dengan "d":
Itu semua tentang tipe data Double dan ini membawa kita ke bagian akhir dari Tipe Data Primitif. Sekarang mari kita cari tahu perbedaan antara tipe data primitif dan non-primitif.

Tipe Data Non-Primitif
Tipe data non-primitif merujuk ke objek dan karenanya disebut tipe referensi. Contoh tipe non-primitif termasuk String, Array, Class, Interface, dll. Gambar di bawah ini menggambarkan berbagai tipe data non-primitif.
Sekarang mari kita pahami tipe data non-primitif ini secara singkat.

String: String adalah urutan karakter. Namun di Java, string adalah objek yang merepresentasikan rangkaian karakter. Class java.lang.String digunakan untuk membuat objek string.

Array: Array di Java adalah struktur data homogen yang diimplementasikan di Java sebagai objek. Array menyimpan satu atau lebih nilai dari tipe data tertentu dan menyediakan akses terindeks untuk menyimpan yang sama. Elemen tertentu dalam array diakses oleh indeksnya.

Class: Class di Java adalah cetak biru yang mencakup semua data Anda. Class berisi bidang (variabel) dan metode untuk menggambarkan perilaku suatu objek.

Interface: Seperti kelas, antarmuka dapat memiliki metode dan variabel, tetapi metode yang dideklarasikan dalam antarmuka secara default abstrak (hanya tanda tangan metode, tidak ada isi).

Jadi itu semua tentang tipe data non-primitif. Sekarang mari kita pahami perbedaan antara tipe data primitif dan non-primitif.

Perbedaan antara tipe data primitif dan non-primitif

Perbedaan antara tipe data primitif dan non-primitif adalah sebagai berikut:
  • Jenis primitif sudah ditentukan sebelumnya di Java. Tipe non-primitif dibuat oleh programmer dan tidak ditentukan oleh Java.
  • Tipe Non Primitif bisa digunakan untuk memanggil metode untuk melakukan operasi tertentu, sedangkan tipe primitif tidak bisa.
  • Tipe primitif selalu memiliki nilai, sedangkan tipe non-primitif bisa nihil.
  • Tipe primitif dimulai dengan huruf kecil, sedangkan tipe non-primitif dimulai dengan huruf besar.
  • Ukuran tipe primitif bergantung pada tipe datanya, sedangkan tipe non-primitif memiliki ukuran yang sama.

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

Menggunakan: Menggunakan Stack.

  • Operator stack: Stack ini akan digunakan untuk menjaga operasi (+, -, *, /, ^)

Urutan prioritas operasi

  1. ^ (Exponential)
  2. / *
  3. + –

Notebrackets ( ) digunakan untuk mengganti aturan ini.

Algoritma:

Inisialisasi hasil sebagai string kosong, ulangi melalui ekspresi yang diberikan, satu karakter pada satu waktu

  1. If karakter adalah operand, tambahkan ke hasil.
  2. If karakter adalah operator.
    • If operator stack kosong maka push ke operator stack.
    • Else If operator stack tidak kosong,
      • If prioritas operator lebih besar dari atau sama dengan prioritas operator stack, maka dorong karakter ke operator stack.
      • If prioritas operator kurang dari prioritas tumpukan atas operator stack maka "pop out operator dari stack dan tambahkan ke hasil sampai stack kosong atau prioritas operator lebih besar dari atau sama dengan prioritas stack bagian atas operator stack". kemudian push operator untuk stack.
  3. If karakternya adalah "(", lalu push ke operator stack.
  4. If karakternya adalah ")", lalu "pop out operator dari stack dan tambahkan ke hasil sampai "("ditemukan di operator stack. Sekarang pop out "(".

Setelah iterasi ekspresi selesai dan operator stack tidak kosong, "keluarkan operator dari stack dan tambahkan ke hasil" sampai operator stack kosong. Hasilnya adalah jawaban kita, ekspresi postfix.

Silakan lihat panduan di bawah ini untuk pemahaman lebih lanjut.


Source Code :

Ouput           :


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.    Antrian di Bank seperti yang kita ketahui memiliki sifat FIFO (First In First Out). Untuk membuat program antrian bank, kita akan membutuhkan struktur data yang juga memiliki sifat FIFO. Struktur data yang akan digunakan adalah Queue/Antrian. Nasabah yang datang ke bank harus mengambil antrian dahulu. Antrian tersebut akan memberitahukan nomor yang didapatkan oleh nasabah. Setelah nasabah telah mendapatkan nomor antrian, nasabah akan masuk ke antrian secara terurut. Setelah itu, pegawai bank akan melayani nasabah yang paling pertama. Setelah pelayanan telah selesai dilakukan, nama nasabah akan dihapus dari antrian, kemudian pegawai bank akan melayani yang selanjutnya dan begitu seterusnya.

b.    


Source Code untuk Node :
Source Code untuk antrian bank:
Source Code untuk aplikasinya :

c.    

Hasil :
link youtube : https://youtu.be/YTSgNI5DAEk


0 komentar:

Posting Komentar

Contact

Talk to us

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolores iusto fugit esse soluta quae debitis quibusdam harum voluptatem, maxime, aliquam sequi. Tempora ipsum magni unde velit corporis fuga, necessitatibus blanditiis.

Address:

9983 City name, Street name, 232 Apartment C

Work Time:

Monday - Friday from 9am to 5pm

Phone:

595 12 34 567

Cari Blog Ini

Diberdayakan oleh Blogger.