โ™พ๏ธPraktikum 2

Pengantar

Pada percobaan ini, kita akan membuat program untuk melakukan konversi notasi infix menjadi notasi postfix.

Perhatikan class diagram Postfix berikut sebagai acuan.

Class Diagram Postfix

Langkah Percobaan

  • Buatlah proyek dengan nama Praktikum2. Kemudian buatkla class Postfix sesuai dengan class diagram yang telah dijelaskan sebelumnya.

  • Tambahkan atribut n, top, dan stack sesuai diagram class Postfix tersebut.

  • Tambahkan konstruktor Postfix seperti potongan kode berikut,

  • Buat method push().

  • Buat method pop().

  • Buat method isOperand() dengan tipe boolean yang digunakan untuk mengecek apakah elemen data berupa operand.

  • Buat method isOperator() dengan tipe boolean yang digunakan untuk mengecek apakah elemen data berupa operator.

  • Buat method derajat() yang mempunyai nilai kembalian integer untuk menentukan derajat operator.

  • Buat method konversi untuk melakukan konversi notasi infix menjadi notasi postfix dengan cara mengecek satu persatu elemen data pada String Q sebagai parameter masukan.

  • Selanjutnya, buat class baru dengan nama PostfixMain tetap pada proyek Praktikum2. Buat class main, kemudian buat variabel P dan Q. Variabel P digunakan untuk menyimpan hasil akhir notasi postfix setelah dikonversi, sedangkan variabel Q digunakan untuk menyimpan masukan dari pengguna berupa ekspresi matematika dengan notasi infix. Deklarasikan variabel Scanner dengan nama sc, kemudian panggil fungsi built-in trim yang digunakan untuk menghapus adanya spasi di depan atau di belakang teks dari teks persamaan yang dimasukkan oleh pengguna.

Penambahan string โ€œ)โ€ digunakan untuk memastikan semua simbol/karakter yang masih berada di stack setelah semua persamaan terbaca, akan dikeluarkan dan dipindahkan ke postfix.

  • Buat variabel total untuk menghitung banyaknya karaketer pada variabel Q.

  • Lakukan instansiasi objek dengan nama post dan nilai parameternya adalah total. Kemudian panggil method konversi untuk melakukan konversi notasi infix Q menjadi notasi postfix P.

  • Compile dan jalankan class PostfixMain dan amati hasilnya.

Pertanyaan

  1. Perhatikan class Postfix, jelaskan alur kerja method derajat!

  2. Apa fungsi kode program berikut? c = Q.charAt(i);

  3. Jalankan kembali program tersebut, masukkan ekspresi 3*5^(8-6)%3. Tampilkan hasilnya!

  4. Pada soal nomor 3, mengapa tanda kurung tidak ditampilkan pada hasil konversi? Jelaskan!

Last updated