Tuesday, November 17, 2020

PENUGASAN 5 PEMROGRAMAN BERORIENTASI OBJEK (PBO)

  World of Zuul

Dalam mempelajari bahasa pemrograman Java hal yang perlu kita pelajari selanjutnya adalah designing classes. Sekarang kita akan mempelajari beberapa bentuk designing classes di dalam Java, yaitu coupling dan cohesion.

Coupling  adalah derajat  ketergantungan suatu modul terhadap modul lainnya. Kita harus pastikan bahwa suatu modul seminimal mungkin tergantung atau berpengaruh terhadap modul lainnya. Tujuannya jika ada update secara internal di dalam suatu modul, modul-modul lainnya tidak akan terlalu kena pengaruh

Sedangkan cohesion adalah keterikatan fungsi-fungsi di dalam suatu modul. Maksudnya adalah modul yang dibuat memiliki fungsi-fungsi yang serupa untuk satu tanggung jawab. Karena itu high cohesion sangat penting dalam perancangan software.

Untuk mempermudah dalam memahami Coupling dan cohesion, berikut adalah contoh program dalam bahasa Java yang mengimplementasikan kedua hal tersebut yaitu program game dengan nama "World of Zuul". World of Zuul adalah sebuah game sederhana bertema adventure dimana pemain diharuskan untuk mencari jalan keluar dari sebuah map. 

Di dalam program game ini terdapat 3 macam class, yaitu :
a. Game      c. Room            e. CommandWords  
b. Parser    d. Command 

GamE
Class Game adalah kelas utama atau main class dari program. Fungsi dari class ini adalah mengatur jalannya permainan dan memasuki loop untuk membaca dan menjalankan perintah dari user. Di dalam class ini juga terdapat kode yang berfungsi untuk mengimplementasikan perintah dari pengguna.

Parser
Class Parser berfungsi untuk membaca baris input dari terminal dan mencoba menerjemahkannya sebagai sebuah Command. Ini menjadikan objek dari class Command yang mewakili perintah tersebut. Saat dipanggil, class ini akan membaca baris input dari terminal dan menerjemahkannya sebagai 2 kata Command, dan me-return Command sebagai objek dari Class Command. Selain itu class ini juga berfungsi untuk melakukan pengecekan terhadap input dari user, dimana jika input berupa command tidak ada di dalam program (class command) maka akan dicetak sebagai perintah yang tidak diketahui

RooM
Class Room merupakan objek yang mewakili lokasi di dalam game. Setiap lokasi atau dalam hal ini ruangan di dalam game memiliki pintu keluar (north, south, east, west) yang mengarah ke lokasi atau ruangan lainnya. Untuk setiap input game akan mengarahkan player untuk menuju ruangan yang bersebelahan dengan mencetak jalan keluar dari empat arah mata angin di atas, namun jika tidak ada jalan keluar menuju ruangan tersebut maka akan dianggap null.

Command
Class Command merupakan sebuah objek perintah dan mewakili perintah yang dimasukkan oleh pengguna. Kelas ini memudahkan user untuk melakukan pengecekan apakah command yang di-input adalah command yang valid, selain itu class ini juga berfungsi untuk mendapatkan kata pertama serta kedua dari perintah tersebut sebagai string yang terpisah

CommandWords
Class CommandWords mendefinisikan command apa saja yang valid di dalam game, dimana command yang dianggap valid adalah "go, help, quit". Ini dilakukan dengan menyimpan array objek string yang mewakili kata-kata perintah. Di dalam class ini juga dilakukan enumerasi (pencacahan satu persatu/penjumlahan) pada semua kata perintah yang dikenal dalam game dimana hal ini dilakukan untuk mengenali command dalam pengetikan oleh user.           

Setelah kelima class diatas di-compile, dihubungkan, dan di run pada main class dari program yaitu class Game maka dengan melakukan input - input tertentu akan didapatkan output seperti berikut :



Nama : Arvel Gavrilla Raissananda
NRP   : 05111940000040
Kelas : PBO - A




Share:

0 comments:

Post a Comment