👔Praktikum 1
Last updated
Last updated
Pada percobaan ini, kita akan membuat program yang mengilustrasikan tumpukan pakaian yang disimpan ke dalam stack. Karena sebuah pakaian mempunyai beberapa informasi, maka implementasi Stack dilakukan dengan menggunakan array of object untuk mewakili setiap elemennya.
Untuk kebutuhan praktikum, perhatikan class diagram Pakaian
dan Stack
berikut ini. Pakaian
merupakan representasi dari objek pakaian yang akan disusun dengan menggunakan konsep Stack
.
Buatlah proyek dengan nama Praktikum1
. Kemudian buatlah class nama Pakaian
sesuai dengan class diagram yang telah dijelaskan sebelumnya.
Selanjutnya, buatlah class Stack
sesuai dengan class diagram yang telah dijelaskan sebelumnya. Tambahkan atribut dan konstrutornya.
Keterangan: Tipe data pada variabel data menyesuaikan dengan data yang akan akan disimpan di dalam Stack
. Pada praktikum ini, data yang akan disimpan merupakan array of object dari Pakaian
, sehingga tipe data yang digunakan adalah Pakaian
.
Tambahkan method isEmpty()
.
Selanjutnya buat method isFull()
.
Buat method push()
bertipe void untuk menambahkan isi elemen stack dengan parameter pkn
yang berupa objek Pakaian
.
Buat method pop()
bertipe void untuk mengeluarkan isi elemen stack. Hal ini dikarenakan satu elemen stack terdiri dari beberapa informasi (jenis, warna, merk, ukuran, dan harga), maka ketika mencetak data juga perlu ditampilkan semua informasi tersebut.
Buat method peek()
bertipe void untuk memeriksa elemen stack pada posisi paling atas.
Buat method print()
bertipe void untuk menampilkan seluruh elemen pada stack.
Buat method clear()
bertipe void untuk menghapus seluruh isi stack.
Selanjutnya, buat class baru dengan nama StackMain
. Buat fungsi main, kemudian lakukan instansiasi objek dari class Stack
dengan nama stk
dan nilai parameternya adalah 5.
Deklarasikan objek Scanner
dengan nama sc
.
Tambahkan kode berikut ini untuk menerima input data Pakaian
, kemudian semua informasi
tersebut dimasukkan ke dalam stack.
Catatan: sintaks sc.nextLine() sebelum sintaks st.push(p) digunakan untuk mengabaikan karakter new line.
Lakukan pemanggilan method print()
, method pop()
, dan method peek()
dengan urutan sebagai berikut.
Compile dan jalankan class StackMain
, kemudian amati hasilnya.
Berapa banyak data pakaian yang dapat ditampung di dalam stack? Tunjukkan potongan kode program untuk mendukung jawaban Anda tersebut!
Perhatikan class StackMain
, pada saat memanggil fungsi push()
(line 18), parameter yang dikirimkan adalah p. Data apa yang tersimpan pada variabel p tersebut?
Apakah fungsi penggunaan do-while yang terdapat pada class StackMain
?
Modifikasi kode program pada class StackMain
sehingga pengguna dapat memilih operasi- operasi pada stack (push, pop, peek, atau print) melalui pilihan menu program dengan
memanfaatkan kondisi IF-ELSE atau SWITCH-CASE!