Welcome to my blog! Today a reader, tomorrow a leaderšŸ”„

Tugas 5 Pemrograman Berorientasi Objek (PBO)

World of Zuul


           Halo, kali ini kita akan membahas tentang sebuah program sederhana mengenai sebuah game yang bertipe adventure, dengan menggunakan bahasa Java. Program ini akan memiliki 5 kelas, yang masing-masing nya memiliki fungsi yang berbeda. Berikut pembagian kelas-kelasnya.

    1.    CommandWords

          Kelas ini mendefinisikan semua Command yang valid dalam permainan, tertera dibawah ini perintah "go, help, quit". Ini dilakukan dengan menyimpan array objek string yang mewakili kata-kata perintah. Kelas ini mengadakan enumerasi (pencacahan satu persatu/penjumlahan) pada semua kata perintah yang dikenal dalam game. Ini juga digunakan untuk mengenal command saat diketik. Berikut adalah kodingannya.

    2.    Parser

      Fungsi kelas ini ialah untuk membaca baris input dari terminal dan mencoba menerjemahkannya sebagai Command. Ini menjadikan objek dari Class Command yang mewakili perintah tersebut. Dalam artian lain, kelas Parser ini akan membaca input dari pengguna dan mencoba menerjemahkannya sebagai "Adventure" Command. Setiap dipanggil, kelas ini akan membaca baris dari terminal dan mencoba untuk menerjemahkan baris tersebut sebagai 2 kata Command, dan me-return Command sebagai objek dari Class Command yang akan dijelaskan di nomor selanjutnya. 
   Selain itu, kelas ini memiliki sekumpulan kata Command yang diketahui, dan nantinya akan memeriksa inputan pengguna terhadap Command tersebut. Jika input bukan salah satu dari Commands yang telah diketahui, maka program akan me-return objek Command yang ditandai sebagai perintah yang tidak diketahui. Berikut adalah kodingannya.

    3.    Command    

        Merupakan sebuah objek perintah dan mewakili perintah yang dimasukkan oleh pengguna. Kelas ini memiliki metode yang memudahkan pengguna untuk memeriksa apakah ini merupakan perintah yang valid, dan untuk mendapatkan kata pertama serta kedua dari perintah tersebut sebagai string yang terpisah. Kelas ini juga menyimpan informasi tentang Command yang dikeluarkan oleh pengguna. Contohnya, jika Command adalah "get help", maka 2 string tersebut adalah "get" dan "help".                                                        
          Dalam artian lain, inputan akan diperiksa terlebih dahulu apakah itu Command yang valid atau tidak. Jika kata/string yang dimasukkan tidak dapat dikenal, maka Command tersebut tidak valid dan Command Word nya adalah <null>. Begitu pula jika inputan yang dimasukkan hanya 1 kata, maka kata kedua nya akan dibaca <null> oleh program. Berikut kodingannya.

    4.    Room

            Merupakan objek ruangan yang mewakili lokasi dalam game. Perlu kita ketahui bahwa setiap kamar memiliki pintu keluar dan dapat mengarah ke kamar lainnya. Dalam artian lain, sebuah kamar memiliki 1 lokasi dalam pemandangan di game, yang terhubung ke kamar lain melalui pintu keluar (berlabel north, east, south, west). Untuk setiap arah, kamar tersebut selalu menyimpan arah/petunjuk menuju ke kamar yang bersebelahan, tetapi jika tidak ada jalan keluar ke arah tersebut, maka <null>. Berikut adalah kodingannya

    5.    Game

        Kelas Game ini merupakan kelas utama (main class) dari program ini. Kelas ini mengatur permainan dan kemudian memasuki loop untuk membaca dan menjalankan perintah. Di dalamnya juga berisi kode yang mengimplementasikan setiap perintah dari pengguna. Main class ini berfungsi untuk membuat dan memanggil fungsi-fungsi dari kelas yang ada diatas, serta program outputnya juga berada di kelas ini. Berikut ini kodingannya.


Selain itu, berikut ini adalah bentuk diagram dari kelima kelas tersebut.


Dan dibawah ini adalah outputnya.



Nama : Julietta Anastasia Rodiah Boru Panjaitan
NRP    : 05111940000033
Kelas  : PBO A

Komentar

Postingan Populer