Pada praktikum ini, anda akan mengimplementasikan sebuah game sederhana, bernama Smiley Face.

dokumen-dokumen yang mirip
ColorMatcher. Goal. Preparation. The Task & the Game. Level 1

Praktikum 05 - SmileySwing Pemrograman Berorientasi Objek Lanjut (Revisit alibrary)

Pemrograman Berorientasi Objek Class, Method, dan Package/Library NIKO IBR A HIM, MIT U NIV E R S IT A S KR IS T E N MARANATHA

Tabel 1. Instruksi untuk menampilkan teks No. Bahasa Pemrograman Instruksi 1. Pascal WRITE ( Bahasa pemrograman itu mudah );

Dwiny Meidelfi, M.Cs

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

Review Bahasa Pemrograman Java Konsep OOP N I K O I B R A H I M, M I T F A K U L T A S T E K N O L O G I I N F O R M A S I

LAB02 : KODING PROGRAM

Tutorial A Menggambar Bendera Merah Putih Pada Frame

Pemrograman Lanjut. Class : Deeper Look 2

5.Buatlah subclass world, beri nama subclass word :latar.pilih jalan.png sebagai image. Compile.

Jobsheet 09. Overloading and Overriding Method

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

Program Kalkulator Sederhana Menggunakan Java Netbeans

MODUL 4. Classes and Objects (part I)

MODUL PRAKTIKUM TI014 STRUKTUR DATA Season 1

Modul 8: awt. Setelah mengikuti mata kuliah ini mahasiswa dapat membuat program sederhana dalam lingkungan window. Modul 8 - awt 1

Algoritma Pemrograman A

Workshop Singkat Membuat Game Shooter

Penggunaan Netbeans IDE, Hello World, variable dan Operator aritmetika.

PEMOGRAMAN APLIKASI BERGERAK (Java ME) Yoannita

Modul Pelatihan : Pembuatan Game Animasi Menggunakan Greenfoot

IKG2I4 / Software Project I

I. Tujuan Instruksional Umum Mengenal konsep dasar berorientasi objek Memahami dan dapat mengimplementasikan Kelas dan Objek pada java.

06/03/2018. Tidak memiliki parameter. Melakukan inisialisasi semua variabel private dengan nilai awal.

A. Memulai dan Struktur Visual Basic

PENDAHULUAN. Gambar 1.1. GameMaker dari YoyoGames

PEMROGRAMAN BERORIENTASI OBJEK

Modul Praktikum 1 Pemograman Berorientasi Objek

PEMROGRAMAN DELPHI 7.0

BAB I PROJECT NETBEANS DAN GUI SEDERHANA

MODUL 6 PERULANGAN. A. String. 1. Instansiasi dan Inisialisasi. M0601xxyyy.jar

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

Grafis & Applet. Viska Mutiawani, M.Sc

Ginanjar Utama Workbench Tempat Bekerja

2. Pilih instruksi yang dapat digunakan dalam method actionperformed untuk membedakan antara tombol buttonone dan buttontwo.

BAB I MENGENAL PLANNER

1. Mampu mengimplementasikan thread dalam sebuah aplikasi 2. Memahami kegunaan thread dalam aplikasi

Mudafiq R. Pratama

Pemrograman Berorientasi Obyek Lanjut (IT251) Ramos Somya, S.Kom., M.Cs.

Java Library dan Java Swing

Koneksi Java GUI-Database

Konsep Dasar Pemrograman Berorientasi Objek

PENGOLAHAN CITRA Ch.4 M E N G O L A H C I T R A M E N J A D I N E G A T I V E Bayu Pratama RN [ ]

PENGOLAHAN CITRA Ch.3 M E N G O L A H C I T R A M E N J A D I G R A Y S C A L E Bayu Pratama RN [ ]

1. Manakah jawaban yang benar,pada saat Anda mengcompile dan menjalankan class berikut ini:

Membuat Kalkulator dengan Java

Pengenalan Borland Delphi 7.0

Modul Praktikum Ke-1

Tipe Data Floating Point Tipe data yng digunakan untuk menampung bilangan desimal

Didalam menampilkan peta yang sudah kita buat, kita akan menggunakan Slick2D sebagai sebuah frameworknya.

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

Pemograman Swing. Netbeans:

Tutorial FDM Nurul Huda 2008, bundled by samsonasik. Modul Java 1

PENGENALAN INTERFACE MACROMEDIA DITECTOR MX

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR

IKG2I4 / Software Project I

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR

Modul 2. [access specifier] [tipe data] [nama variabel];

Apa yang menjadi output potongan kode diatas? Error karena tidak ada String yang di-passing kedalam konstruktor Bapak

PEMROGRAMAN BERORIENTASI OBJEK

SIMBOL DAN LIBRARIES

Praktikum 1 - Getting Started with Android

Cara Membuat Background Dinamis di Android

BAB IX MEMBUAT FORM 9.1 Membuat Form Secara Konvensional

Malang, Januari 2007 Penulis

ALGORITMA PEMOGRAMAN SEMESTER GENAP 2017/2018

Mudafiq R. Pratama

PENGENALAN VISUAL BASIC 6.0

MODUL 3. Classes and Objects (part I)

BAB I. 1 P e m r o g r a m a n V i s u a l B a s i c - J a t i L e s t a r i

Membuat User Interface dengan Swing. Program yang dibuat sebelumnya selalu berbasis console User lebih senang berinteraksi dengan

[DOCUMENT TITLE] [DOCUMENT SUBTITLE]

INSTRUKSI PENCABANGAN

Mata Kuliah: Pemrograman Bisnis I (VB.NET) Minggu : IX Reference Site : p1.html Pokok Bahasan :

5.1 Pelajaran: Menggunakan Map Composer

LANGKAH-LANGKAH MEMBUAT MULTIMEDIA (OPERASI PADA PECAHAN)

URAIAN POKOK PERKULIAHAN

Modul Visual Basic 6.0

Rekomendasi Min Perangkat Keras. Prosesor dual core 1.5 GHz RAM 2 GB Monitor 10 " VGA Onboard Keyboard PS2 Mouse PS2

1 Pendahuluan. 1. Tujuan: 2 Dasar Teori: Praktikum

PRAKTIKUM 6 SPINNER. 1. Aktifkanlah project baru, File New Project Android Application Project. Modul 6 Spinner Page 1

MATERI TIK KELAS 5 SEMESTER 1 SD KATOLIK SANTA MARIA MAGELANG

MODUL 3. Inheritance, Abstract Class, Interface TUJUAN PRAKTIKUM LANDASAN TEORI. A. Inheritance

Modul Tutorial C# 1. Membuat Class Library ENRICO BUDIANTO MICROSOFT INNOVATION CENTER UNIVERSITAS INDONESIA

3.1 Mengenal Audacity Portable

Flow Chart Pembuktian Teorema Phytagoras Menggunakan Geogebra

BAB II TEORI DAN KONSEP PEMROGRAMAN BERBASIS OBJECT

Macromedia Flash 8. Untuk dapat memahami dasar-dasar dari software macromedia flash 8 kita akan melewati beberapa tahapan belajar, yaitu:

Autoplay Media Studio

Praktikum 10 Tim Asisten Praktikum Sistem Pakar

1. Buka internet ekplorer (IE), pada address bar ketik : mail.yahoo.com, klik Sign up

TIPE DATA PADA JAVA. Pertemuan (K-04/L-04)

PEMROGRAMAN JAVA. Yoannita, S.Kom. Class & Method sederhana Konsep Pemrograman Berorientasi Objek. Company LOGO

Langkah-langkah untuk Mendownload Software SMART PLS 2.0 dan LISREL

HELPDESK (IT) Isi: - New Ticket: - New Ticket - My Open Ticket - My Closed Ticket - Open Tickets - Tickets To Do - Closed Tickets

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

MODUL 5 MACROMEDIA FIREWORKS

OLYMPIA STUDENT USER GUIDE

Transkripsi:

Smiley 30 30 The Task 40 Pada praktikum ini, anda akan mengimplementasikan sebuah game sederhana, bernama Smiley Face. 80 Permainan ini terdiri dari sebuah gambar smiley face, dan 3 buah tombol yang dapat mengubah warna muka, mata, dan mulut. Tujuan dari permainan ini adalah untuk mencari jumlah terkecil dari klik tombol dalam menghasilkan warna-warni yang diinginkan. Face memiliki serangkaian ukuran serperti yang tertera pada gambar. Perhatikan pula pembuatan mulut yang terdiri dari dua oval yang berukuran beda. 80 140 50 200 140 50 10 Level 1 Buatlah smiley sederhana yang hanya memiliki mata. Tempatkan smiley di tengah-tengah window berukuran 600 pixel (lebar) x 500 pixel (tinggi). Langkah-langkah pengerjaan: 1. Buka BlueJ dan buatlah sebuah projek baru dengan nama Smiley. 2. Edit deskripsi project (dengan ikon dokumen di sebelah kiri window BlueJ) sehingga berisikan keterangan project yang sedang Anda kerjakan. 3. Buatlah sebuah kelas director dengan cara menekan tombol New Class, beri nama kelas tersebut Smiley. Lalu editlah kelas tersebut. Catatan penting: kelas director Smiley ini berfungsi untuk menjalankan (run) project Anda. Pada praktikum pertama, Anda telah menggunakan kelas director bernama Artist. Pada praktikum kedua ini, Anda harus membuat kelas director ini dari nol (saya tidak menyediakan file apapun) 4. Editlah kelas Smiley tersebut untuk menghasilkan gambar yang diinginkan, dengan cara menggunakan Director pattern (baca materi kuliah ketiga) untuk menstrukturkan program Anda. Kelas director (yang bernama Smiley ini) diperlukan untuk membuat/menginstansiasi objek-objek yang diperlukan dan memanggil method-method dari objek-objek tersebut sehingga menghasilkan gambar yang memiliki posisi dan ukuran yang benar. Anda perlu mempelari dokumentasi dari alibrary yang ada pada direktori alibdoc yang disertakan pada praktikum ini. Untuk membuka dokumentasi alibrary, klik file index.html, lalu pelajari dua buah objek penting yang akan digunakan pada stage 1 ini. Objek yang digunakan pada stage 1 ini adalah AWindow dan AOval. AWindow berfungsi sebagai window tempat untuk memunculkan gambar, sedangkan AOval berfungsi untuk menggambar muka dan mata. Anda perlu mempelajari deskripsi dari kedua kelas tersebut pada dokumentasi yang telah disediakan, lalu mencari tahu method-method apa saja yang diperlukan serta parameter apa yang perlu disertakan pada method-method tersebut. Gunakan metode Declare-Instantiate-Bind (kuliah 3) untuk Maranatha Christian University Page 1 of 5

setiap variable yang Anda gunakan. Perhatikan pula pemilihan dan penulisan nama-nama variable, ikuti konvensi yang telah diajarkan di kuliah 3. Apabila Anda telah membuat (instantiate) objek muka dan mata yang diperlukan, jangan lupa untuk memanggil method place yang berfungsi untuk menempatkan objek muka dan mata tersebut pada objek window yang telah Anda buat. Constructor dari kelas Smiley ini harus diakhiri dengan pemanggilan method repaint-nya objek window untuk me-refresh gambar dengan benar. Berikut skeleton yang bisa Anda pergunakan untuk memulai praktikum ini: import alibrary.*; import java.awt.*; public class Smiley { // deklarasi variable-variabel yang digunakan private AWindow papanpermainan; public Smiley () { /* Catatan: // instansiasi objek-objek yang diperlukan papanpermainan = new AWindow(,,, ); // pemanggilan method-method dari objek-objek tsb papanpermainan.repaint(); alibrary ini berisi kelas-kelas dan method-method yang akan dipergunakan selama praktikum (Anda harus rajin-rajin membaca dokumentasinya). java.awt berisi kelas-kelas untuk menghasilkan graphic di Java (sementar ini, Anda tidak perlu membaca dokumentasi mengenai java.awt ini, cukup di-import saja) */ 5. Compile kode Anda, perbaiki setiap eror yang ada. 6. Apabila proses compile telah berhasil, ujilah pekerjaan Anda dengan cara membuat sebuah instance dari Smiley. Jika gambar yang dihasilkan belum benar, ulangi langkah edit-compile-run sampai menghasilkan gambar yang diinginkan. Checkpoint: Tunjukan pada asisten, gambar beserta kode yang telah Anda buat. Maranatha Christian University Page 2 of 5

Level 2 Modifikasi gambar tersebut dengan cara menambahkan mulut dan dimples (dua bulatan kecil di pinggir mulut). Anda harus berhati-hati dalam merencanakan objek-objek yang Anda perlukan, serta method-method yang perlu dipanggil dalam rangka menghasilkan gambar yang benar. Ingat: berikan nama-nama yang representatif untuk setiap objek yang Anda buat. Sebagai petunjuk: untuk menggambar mulut yang lengkap beserta dimples-nya, Anda memerlukan 4 buah objek AOval. Satu untuk mulut, satu untuk menutupi mulut, dan dua untuk dimples. Anda juga harus memperhatikan warna dan posisi dari masing-masing objek. Checkpoint: Tunjukkan gambar dan kode yang dihasilkan. Level 3 Modifikasi program yang Anda buat sedemikian rupa sehingga Anda dapat menekan tombol-tombol yang berfungsi untuk mengubah warna. Pada level 3 ini, Anda harus menggunakan objek A3ButtonWindow yang berfungsi sebagai window tempat menempatkan objek muka, mata dan mulut (Anda tidak lagi menggunakan objek AWindow seperti di level 2). Untuk menggunakan A3ButtonWindow ini, pelajari dokumentasinya Anda juga perlu memodifikasi kelas director Smiley ini dengan cara meng-ekstends kelas A3ButtonHandler. (extends akan dipelajari di kuliah yad) Setelah Anda selesai membuat objek-objek yang diperlukan, langkah selanjutnya adlaan mendefinisikan method-method callback untuk setiap tombol, yaitu leftaction, midaction, dan rightaction. Berikut adalah fungsi/perilaku dari ketiga tombol tersebut: leftaction: mengubah warna mata menjadi biru, dan mulut menjadi merah rightaction: mengubah warna muka menjadi pink midaction: me-reset warna ke warna originalnya (muka kuning, mata dan mulut hitam) Berikut adalah skeleton yang bisa Anda pergunakan untuk memulai level 3 ini: import alibrary.*; import java.awt.*; public class Smiley extends A3ButtonHandler{ // deklarasi variable-variabel yang digunakan Maranatha Christian University Page 3 of 5

private A3ButtonWindow papanpermainan; public Smiley { // instansiasi objek-objek yang diperlukan papanpermainan = new A3ButtonWindow(this); // note: penggunaan this akan dipelajari di kuliah yad. // Panggil method-method dari objek-objek tsb papanpermainan.repaint(); // Definisikan method-method callback yang dimiliki oleh kelas A3ButtonWindow public void leftaction (){ /* panggil method-method dari objek mata, mulut, maupun dimples untuk mengubah warna objek-objek tersebut */ // di akhir method ini, jangan lupa panggil: papanpermainan.repaint() //Sebelum di-compile, tambahkan juga method untuk midaction() dan rightaction() Checkpoint: tunjukan kode dan gambar yang dihasilkan. Level 4 The game begins! Sekarang saatnya untuk memulai permainan dari praktikum ini! Ide dasarnya adalah pada saat Anda menekan tombol-tombol, maka akan terjadi pertukaran warna (swap) muka, mata, dan mulut. Tujuan akhir permainan ini adalah untuk mencari jumlah minimum penekanan tombol untuk menghasilkan warna-warni yang diinginkan. Untuk menukar warna dari dua objek, gunakan pola pertukaran dua variable (Swap pattern). Berikut contoh pertukaran dua variable: nilaix = 10 nilayy=20 temp = nilaix nilaix = nilaiy nilay = temp Anda disarankan untuk membuat sebuah method baru bernama: Maranatha Christian University Page 4 of 5

swapcolor (AOval ovalsatu, AOval ovaldua), yang isinya menukar warna milik ovalsatu ke ovaldua dan sebaliknya warna ovaldua ke ovalsatu. Untuk menukarkan warna, Anda perlu membuat sebuah variable baru bertipe Color, kemudian gunakanlah method getcolor untuk mendapatkan warna dari setiap objek, serta gunakanlah method setcolor untuk mengubahnya. (Sekali lagi pelajari dokumentasi setiap kelas di alibrary untuk penggunaan getcolor dan setcolor ini). Ubahlah perilaku dari callback method (tombol), sebagai berikut: Change the callback methods so that they work as follows: Tombol kiri: menukar warna mata kiri dengan warna muka Tombol kanan: menukar warna mata kanan dan warna muka Tombol middle: menukar warna mulut dengan warna muka Untuk menguji permainan ini, iisialiasi-lah objek-objek yang ada sebagai berikut: Mata kiri merah Mata kanan hijau Mulut biru Berapa kali tombol-tombol di-klik untuk menghasilkan warna sbb: Mata kiri biru Mata kanan merah Mulut hijau (solusi terbaik adalah 4 klik, Anda perlu bereksperimen terlebih dahulu) Checkpoint: Tunjukkan kode dan hasil permainan Anda. Level 5 Make the game a bit more interesting by adding an incentive to find the best solution. Specifically, add another object to the face (an eyelid) to make it look like the eyes are closing. When you start the game, the eyes are fully open. Each time you click a button, make the eyelid move down by 10 pixels. Since the eyes are 80 pixels high, by the time you've clicked 8 times the eyes will be fully closed. The object of the game is to achieve the desired color configuration before the Smiley goes to sleep! Checkpoint: Show a demonstrator your working game, together with an editor window showing the source code. Maranatha Christian University Page 5 of 5