Tugas 4 PBO C

 Nama : Dewangga Dharmawan

NRP : 05111940000029

Dosen : Fajar Wijaya


Array

 

Dalam Collection Java, ada suatu collection bernama ArrayList untuk mengaktifkan fungsi-fungsi array. Selain itu, ada util.* untuk mengaktifkan berbagai collection, sekiranya fungsi yang digunakan terlalu banyak untuk diketik. Untuk menginisialisasi fungsi Array, diketikan statement 'ArrayList<tipe data> nama_variabel' diikuti dengan 'new ArrayList<tipe data>(). Untuk menambahkan isi array, diperlukan fungsi nama_variabel.add(isi data). Data yang dimasukan diurutkan mulai dari ke-0, ke-1, dst. Untuk menampilkan isi-isi Array, dapat menggunakan fungsi Iterator dan for yang terletak di Collection Iterator. Selain menggunakan isi data, fungsi add bisa menggunakan object yang berisikan objek-objek lainnya dari class lainnya, seperti nama, NRP, kelas dst.

Dua Array

Dua Array dalam satu class bisa berinteraksi dengan tiga cara : menggabungkan, menghapuskan, dan diantaranya. Misalkan interaksinya seperti diagram Venn. Dua array digabungkan menggunakan nama_array_1.addAll(nama_array_2). Isi-isi dari kedua array tersebut, walau memiliki isi yang sama, akan digabungkan seperti Array1 + Array2.

Sementara, untuk menghapus isi dari Array1 yang juga merupakan anggota Array2 dapat menggunakan fungsi nama_array_1.removeAll(nama_array_2). Diagram Vennnya seperti (Array1 V Array2) ^ !Array2.

Untuk mencari beberapa isi array yang merupakan anggota dari kedua array, dapat menggunakan fungsi nama_array_1.retainAll(nama_array_2). Seperti (Array1^Array2).

LinkedList dan Hash

LinkedList dan HashSet dasarnya sama seperti Array untuk bahasa Java jika berhubungan dengan String. Bedanya adalah waktu untuk memproses data tersebut. LinkedList dan HashSet, dan juga LinkedHashSet dapat difungsikan seperti Array (dengan LinkedList<tipe data> dsm).

 

Sementara, ada jenis HashSet yang dapat mencakup dua jenis data : HashMap dan HashTable. Isinya hampir sama, tapi perbedaannya adalah HashMap menampilkan data pertama seperti Queue (FIFO) sementara HashTable menampilkan data seperti Stack (LIFO).

Auction Machine

Lelang adalah suatu kegiatan yang terdiri dari banyak partisipan yang berlomba-lomba untuk memberi penawaran tertinggi pada suatu benda antik (yang memiliki harga yang masih menjadi abu-abu, bukan harga pasaran). Program Auction Machine memiliki input benda yang akan dilelang, pesertanya, harga tawaran, dan tawaran itu sendiri. Jika ada tawaran yang lebih tinggi, maka harga barang tersebut digantikan kepada harga yang lebih tinggi sampai diputuskan bahwa lelangnya telah selesai.

Auction Machine terdiri dari empat class :

Auction (Class utama)


 

Lot (Class untuk menampilkan tawaran yang ada)



Person (Menerima input nama penawarnya)

 

Bid (Menerima input tawaran dan penawarnya (Dalam bentuk Object Person)


Susunan dan hubungan antar class seperti berikut

 

Untuk menjalankan Auction Machine di Java, pertama memanggil fungsi new Auction() dengan menekan class Auction untuk memulainya. Lalu, untuk menambahkan barang-barang yang akan ditawar, panggil fungsi enterLot.


Untuk menampilkan barang-barang yang akan ditawar, bisa memanggil fungsi showLots()


Untuk menambahkan peserta lelang, bisa memanggil new Person dengan menekan class Person.



Untuk membuat penawaran dari seseorang, bisa memanggil fungsi dari auction1 makeABid. Input yang dimasukan berupa angka penawaran (1, 2, 3, dst), nama penawar dalam bentuk atribut (person1 bukan Juan contohnya), dan harga penawaran (diasumsikan harga tawaran awalnya adalah 0)



Jika berhasil, akan dikeluarkan output menyatakan bahwa tawarannya berhasil dimasukkan


Jika semua peserta, benda, dan tawaran selesai dimasukan semua, kembali memanggil fungsi showLots() untuk menampilkan tawaran tertinggi (Tapi bukan penawarnya juga)

Sekian dari saya

Komentar

Postingan populer dari blog ini

Tugas 5 PBO C Tech Support System

Tugas 10 PBO C Text Editor

Tugas 2 PBO C