Anda di halaman 1dari 12

PROPOSAL TUGAS BESAR

PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

“FEEDING LELE”

DISUSUN OLEH :

KELOMPOK 10 B

ABDUL HARIS KUSNADI (F1D016002)

JIHAD AKBAR (F1D016046)

NURHAINI RAHMAWATI (F1D016066)

SALMA NABILLA ULPA (F1D016080)

PROGRAM STUDI TEKNIK INFORMATIKA


FAKULTAS TEKNIK UNIVERSITAS MATARAM
2018
I. Latar Belakang
Perkembang teknologi saat ini khususnya di Indonesia sudah sangat pesat.
Perkembangan tersebut dapat dilihat dari berbagai sisi, salah satunya
perkembangan yang paling diikuti dan digemari oleh masyarakat khususnya
anak-anak muda yaitu perkembangan game (permainan), baik itu online
ataupun offline, yang pada awalnya game hanya dapat dimainkan secara
tradisional (tanpa perangkat bantuan : mobile).

Game menjadi salah satu pilihan utama untuk mengisi waktu


senggang setelah berakifitas. Banyak game yang bermanfaat namun ada juga
beberapa game yang tidak layak dimainkan karena mengandung unsur
kekerasan, pornografi, dan hal lain yang berbau negative.

Dari waktu ke waktu, telah banyak berkembang berbagai jenis, bentuk dan
genre game, mulai dari game offline ataupun online, game yang diperuntukkan
bagi semua kalangan dari anak-anak hingga dewasa, adapula game khusus
anak-anak maupun khusus dewasa. Namun tidak sedikit pula game yang
dikhususkan bagi dewasa namun dimainkan oleh anak-anak, dimana game
tersebut mengandung konten-konten misalnya dari segi actor gamenya yang
menampakkan sesuatu yang bisa dikatakan berbau pornografi bagi anak-anak.
Selain itu dari segi tingkat kesulitan game yang berfariasi, dari mudah, sedang,
dan susah juga dapat mempengaruhi emosional bagi yang memainkannya,
khususnya anak-anak. Jika mereka tidak dapat menyelesaikan level suatu
game mereka akan merasa tertantang namun tidak sedikit pula yang akan
merasa depresi karenanya.
Berdasarkan hal tersebut, kami mencoba membuat suatu game offline
sederhana yang dapat dimainkan oleh semua kalangan, khususnya anak-anak.
Game yang akan kami kembangkan bernama Feeding Lele. Game ini tidak
jauh berbeda dari game feeding frenzy yang ada. Konsep yang diangkat
hamper sama. Namun disini kami menggunakan objek yang berbeda, yakni
ikan lele sebagai pemangsa yang akan dimangsa oleh ikan jahat. Game feeding
lele ini sangat sederhana dan simpel dan tidak begitu membutuhkan kerja otak
dan akan sangat menyenangkan.
II. Class Diagram, Entity Relationship Diagram dan Use Case Diagram
A. Entity Relationship Diagram (ERD)

nama_pemain

pemain
id_pemain

score

Gambar 2.1 ERD


Pada ERD yang terdapat pada Gambar 2.1 terdapat 1 entitas yaitu
hanya entitas pemain. Dimana pada entitas pemain memiliki atribut-atribut
yaitu atribut kunci “id_pemain”, atribut “nama_pemain”, dan atribut
“score”. Pada ERD ini, tidak memiliki relasi karena hanya terdapat satu
entitas, sehingga tidak adanya hubungan dengan entitas lain. Berdasarkan
ERD tersebut nantinya data-data akan di-input pemain sesuai atribut yang
kemudian disimpan dalam database yang akan dihubungkan dengan game
Feeding Lele.
B. Use Case Diagram

Memulai permainan
<<include>>

Memasukkan nama

Mengatur permainan

<<include>> <<include>>

Pemain

Menjeda / Melanjutkan Memilih ikan


Melihat aturan permainan
permainan

Melihat Score

Mengakhiri permainan

Gambar 2.2 Use Case


Pada Gambar 2.2 merupakan use case diagram dari game Feeding
Lele. Dimana pada use case tersebut hanya memiliki satu actor yaitu
pemain dari game tersebut. Actor pemain dapat melakukan banyak hal
dalam game ini yaitu:
1. Memulai permainan
Aksi “memulai permainan” ini dilakukan pada saat actor pemain
membuka game Feeding Lele. Pada saat memulai permainan akan
dikeluarkan tampilan halaman yang berisi menu-menu seperti start,
setting, help dan sebagainya yang kemudian dapat dilihat serta diakses
oleh actor untuk dapat memainkan game ini.
2. Mengatur permainan
Aksi “mengatur permainan” ini akan muncul pada saat actor
memilih menu setting yang ada pada saat tampilan awal permainan
ditampilkan yang berisi pengaturan-pengaturan pada game ini.
3. Melihat aturan permainan
Aksi “melihat aturan permainan” ini berfungsi agar actor dapat
melihat rules-rules sebelum permainan ini dimainkan. Dimana berisi
beberapa peraturan yang akan memudahkan actor dalam memainkan
game ini.
4. Mengakhiri permainan
Aksi “mengakhiri permainan” ini dapat dilakukan ketika actor
ingin mengakhiri permainan yang nantinya terdapat menu close dalam
game Feeding Lele.
5. Melihat score
Pada aksi “melihat score”, actor dapat melihat score tertinggi dari
actor-actor lain yang sudah memainkan game ini dan memperoleh
score yang paling banyak.
6. Memasukkan nama
Sebelum actor dapat memainkan permainan ini, terlebih dahulu
actor memasukkan nama pada kotak dialog yang akan keluar pada saat
actor ingin memulai game ini. Dimana sesuai dengan use case yang
berada di atas, aksi “memulai permainan” berelasi dengan aksi
“memasukkan nama” dimana aksi “memasukkan nama” harus
terpenuhi agar aksi “memulai permainan” dapat dilakukan.
7. Menjeda/melanjutkan permainan
Pada aksi “menjeda/melanjutkan permainan” ini dapat dilakukan
pada saat actor sudah melakukan aksi “memulai permainan” dimana
sebelumnya aksi ini dapat dijalankan ketika aksi “memasukkan nama
pemain” sudah dilakukan. Tentunya aksi “menjeda/melanjutkan
permainan” ini berelasi dengan aksi “memasukkan nama pemain”
sama seperti aksi sebelumnya dimana jika actor belum memasukkan
nama maka actor tidak bisa menjeda atau melanjutkan game ini.
8. Memilih ikan
Pada aksi “memilih ikan” sama seperti aksi “menjeda/melanjutkan
permainan” dimana aksi ini dapat dilakukan pada saat actor sudah
melakukan aksi “memulai permainan” yang sebelumnya aksi ini dapat
dijalankan ketika aksi “memasukkan nama pemain” sudah dilakukan.
Kemudian aksi ini juga berelasi dengan aksi “memasukkan nama
pemain” sama seperti aksi sebelumnya dimana jika actor belum
memasukkan nama maka actor tidak bisa memilih ikan pada game ini.
9. Bantuan
Pada aksi “bantuan” ini actor dapat mendapatkan bantuan ketika
terdapat hambatan dalam memainkan game ini. Tetapi sebelum
melakukan hal tersebut, harus menjalankan aksi lain yang sama seperti
aksi “memilih ikan” dimana aksi ini dapat dilakukan pada saat actor
sudah melakukan aksi “memulai permainan” yang sebelumnya aksi ini
dapat dijalankan ketika aksi “memasukkan nama pemain” sudah
dilakukan. Kemudian aksi ini juga berelasi dengan aksi “memasukkan
nama pemain” sama seperti aksi sebelumnya dimana jika actor belum
memasukkan nama maka actor tidak bisa memilih aksi bantuan dalam
game ini.
C. Class Diagram
World

Menus Levels

+ Menus() + Levels()
+ StoryScreen(): void + level1(): void
+ MenuScreen(): void
+ SettingScreen(): void

Actor

Lele Kalah Buttons


+ totalPoisonEat: int
+ totalFishEat: int + aksi() : void + startButton(): void
+ keyboardControl(): void + helpButton(): void
+ eat(): void + settingButton(): void
+ checkScore(): void + selectFishButton(): void
+ pauseButton(): void
+ continueButton(): void
+ backButton(): void
Cupang Menang

+ aksi() : void + aksi() : void

Piranha
Score

+ aksi() : void
+ Score (text: String)
+ setText (text: String)

Kepiting

+ aksi() : void

Siput

+ aksi() : void

Gambar 2.3 Class Diagram


Pada Gambar 2.3 merupakan class diagram dari game Feeding Lele.
Dimana pada class diagram memiliki beberapa kelas yang terdapat pada
game tersebut. Kelas-kelas yang terdapat dalam game ini yaitu:
1. Kelas “World”
Kelas ini merupakan superclass dari kelas-kelas yang merupakan
turunannya. Dalam kelas ini nantinya berisi background yang akan
ditampilkan dalam game.
2. Kelas “Menus”
Kelas ini merupakan kelas turunan dari kelas “World” dimana
beberapa atribut dari kelas induknya akan diwarisi dalam kelas ini.
Pada kelas ini terdapat beberapa method seperti “Menus()” yang
merupakan constructor dari kelas tersebut. Kemudian method
“StoryScreen()” bertipe data void yang nantinya akan berfungsi
menampung elemen-elemen yang dibutuhkan untuk menampilkan
suatu story screen yang akan ditampilkan pada game Feeding Lele.
Pada mehod “MenuScreen()” mempunyai tipe data void yang juga
nantinya akan berfungsi menampung elemen-elemen yang dibutuhkan
untuk menampilkan suatu menu screen yang akan ditampilkan pada
game dan terakhir method “SettingScreen()” yang bertipe data sama
seperti method-method sebelumnya tetapi dalam method ini berfungsi
untuk menampilkan setting screen dalam game.
3. Kelas “Levels”
Kelas ini merupakan kelas turunan dari kelas “World” dimana
beberapa atribut ataupun method dari kelas induknya akan diwarisi
dalam kelas ini. Pada kelas ini terdapat beberapa method seperti
“Levels()” yang merupakan constructor dari kelas tersebut. Kemudian
method “level1()” bertipe data void yang nantinya akan berfungsi
menampung elemen-elemen yang dibutuhkan pada saat memulai game
ini di level 1.
4. Kelas “Actor”
Kelas ini merupakan superclass dari kelas-kelas yang akan menjadi
turunannya. Dalam kelas ini nantinya berisi komponen-komponen
objek yang akan ditampilkan dalam game.
5. Kelas “Lele”
Kelas ini merupakan kelas turunan dari kelas “Actor” dimana
beberapa atribut ataupun method dari kelas induknya akan diwarisi
dalam kelas ini. Pada kelas ini terdapat beberapa atribut seperti
“totalPoisonEat” dan “totalFishEat” yang bertipe data int. Kemudian
terdapat method-method seperti method “keyboardControl()” yang
memiliki tipe data void yang nantinya akan berfungsi untuk mengatur
pergerakan keyboard dari objek lele yang terdapat pada game ini.
Setelah itu terdapat method “eat()” yang memiliki tipe data void yang
nantinya akan berfungsi untuk menyimpan score berdasarkan ikan
yang telah dimakan dan method “checkScore” memiliki tipe data void
yang berfungsi untuk memeriksa apakah terdapat score yang telah
diperoleh atau belum.
6. Kelas “Cupang”
Kelas ini merupakan kelas turunan dari kelas “Actor” dimana
beberapa atribut ataupun method dari kelas induknya akan diwarisi
dalam kelas ini. Pada kelas ini terdapat method “Score(text)” memiliki
tipe data void yang mengatur aksi-aksi ataupun pergerakan dari objek
cupang yang ada dalam game ini.
7. Kelas “Piranha”
Kelas ini merupakan kelas turunan dari kelas “Actor” dimana
beberapa atribut ataupun method dari kelas induknya akan diwarisi
dalam kelas ini. Pada kelas ini terdapat method “act()” memiliki tipe
data void yang mengatur aksi-aksi ataupun pergerakan dari objek
piranha yang ada dalam game ini.
8. Kelas “Kepiting”
Kelas ini merupakan kelas turunan dari kelas “Actor” dimana
beberapa atribut ataupun method dari kelas induknya akan diwarisi
dalam kelas ini. Pada kelas ini terdapat method “act()” memiliki tipe
data void yang mengatur aksi-aksi ataupun pergerakan dari objek
kepiting yang ada dalam game ini.
9. Kelas “Siput”
Kelas ini merupakan kelas turunan dari kelas “Actor” dimana
beberapa atribut ataupun method dari kelas induknya akan diwarisi
dalam kelas ini. Pada kelas ini terdapat method “act()” memiliki tipe
data void yang mengatur aksi-aksi ataupun pergerakan dari objek siput
yang ada dalam game ini.
10. Kelas “Kalah”
Kelas ini merupakan kelas turunan dari kelas “Actor” dimana
beberapa atribut ataupun method dari kelas induknya akan diwarisi
dalam kelas ini. Pada kelas ini terdapat method “act()” memiliki tipe
data void yang mengatur proses pada saat pemain kalah dalam game
ini.
11. Kelas “Menang”
Kelas ini merupakan kelas turunan dari kelas “Actor” dimana
beberapa atribut ataupun method dari kelas induknya akan diwarisi
dalam kelas ini. Pada kelas ini terdapat method “act()” memiliki tipe
data void yang mengatur proses pada saat pemain menang dalam game
ini.
12. Kelas “Score”
Kelas ini merupakan kelas turunan dari kelas “Actor” dimana
beberapa atribut ataupun method dari kelas induknya akan diwarisi
dalam kelas ini. Pada kelas ini terdapat method “Score(text: int)” yang
merupakan constructor dan memiliki parameter text yang bertipe data
String. Kemudian method “setText(text: String)” memiliki tipe data
void yang mengatur bentuk tampilan score dalam game ini.
13. Kelas “Buttons”
Kelas ini merupakan kelas turunan dari kelas “Actor” dimana
beberapa atribut ataupun method dari kelas induknya akan diwarisi
dalam kelas ini. Pada kelas ini mengatur button-button yang akan
digunakan dalam game ini. Dimana terdapat method “startButton()”,
“helpButton()”, “settingButton()”, “selectFishButton()”,
“pauseButton()”, “continueButton()”, dan “backButton()” yang
memiliki tipe data void untuk mengatur proses pemunculan beberapa
button pada saat game dimainkan.
III. Rancangan Program
Feeding Lele adalah sebuah game yang menceritakan tentang rantai
makanan yang terjadi di perairan. Seperti hukum alam ikan besar dapat
memakan ikan yang lebih kecil.
Dalam game ini kita akan memainkan ikan Lele yang sedang lapar,
sehingga dapat memakan ikan yang lebih kecil yaitu ikan cupang dan
kemudian bisa memakan ikan yang lebih besar seperti ikan nila. Dalam game
ini juga terdapat ikan yang mematikan yaitu ikan piranha, dimana ikan Lele
yang sedang lapar tersebut tidak boleh memakan ikan piranha, jika ikan Lele
tidak sengaja memakan ikan piranha maka game berakhir dengan status kalah
dalam permainan Feeding Lele ini
Game Feeding Lele ini akan berakhir dengan status menang jika ikan Lele
dapat menghabiskan ikan-ikan yang dapat dimakan dan sesuai level yang
terdapat pada arena permainan ini.
Setiap pemain harus meng-input kan nama terlebih dahulu sebelum
memainkan game ini, yang nantinya akan disimpan dalam database untuk
kemudian dihitung high score dari pemain-pemain lain. High score tersebut
akan ditampilkan agar dapat dilihat oleh pengguna.

IV. Rancangan GUI Program


A. Rancangan Interface pada Halaman Awal Permainan

Gambar 2.4 Interface pada halaman awal permainan


B. Rancangan Interface pada Halaman Aturan Permainan

Gambar 2.5 Interface pada halaman aturan permainan

C. Rancangan Interface pada Halaman Memasukkan Nama Pemain

Gambar 2.6 Interface pada halaman memasukkan nama pemain


D. Rancangan Interface pada Halaman Memulai Permainan

Gambar 2.7 Interface pada halaman memulai permainan

Anda mungkin juga menyukai