MATCH GAME. Yuliana Setiowati Politeknik Elektronika Negeri Surabaya D4 PENS-ITS

dokumen-dokumen yang mirip
MATCH GAME Target Praktikum :

Permainan Remi Sederhana

OPERASI FILE READ WRITE

Praktikum JTable. Gambar 1

int i = 0; while (i < 10) { System.out.println( Informatika Unpas ); i++; }

MODUL III ARRAYLIST TUGAS PENDAHULUAN

Materi : GUI AWT & SWING.

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

Perulangan / Looping

A. TUJUAN PEMBELAJARAN

Politeknik Elektronika Negeri Surabaya

Percabangan dan Perulangan

2.1 if Jenis-jenis Percabangan if adalah if, if else, If else if else if - else

Pemrograman. Pertemuan-3 Fery Updi,M.Kom

PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN

Percabangan & Perulangan

KENDALI PROSES. Untuk mengatur arus program, pemrograman java menyediakan struktur perulangan (looping), kondisional, percabangan, dan lompatan.

Dasar Pemrograman Java

TIPE DATA Pertemuan (K-03/L-03)

MEMBUAT OBJECT COMPARABLE DAN COMPARATOR

LAPORAN PRAKTIKUM PEMROGRAMAN DASAR TIPE-TIPE FUNGSI ATAU METHOD

Modul Praktikum 3 Pemograman Berorientasi Objek

1. Mana diantara pilihan-pilihan berikut ini yang merupakan penulisan loop yang benar?

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

MESIN ATM. Gambar 1. Gambar 2

Topik. 1. Statement if 2. Statement if..else.. 3. Statement if..else.. If (bertingkat ) 4. Penggunaan Input Keyboard

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

Membuat Menu Login Sederhana [Full Coding]

Penyeleksi Kondisi / Percabangan

Bahasa Pemrograman :: Dasar Pemrograman Java

Gambar 1. Single Linked List

Metode Sequential Searching di Java Console

Sekarang, kita akan mencoba untuk menganalisa program Java pertama : public class Hello {

Gambar 1. Langkah-langkah pengurutan metode Insertion Sort (1)

PERCOBAAN 1 : Ketik program di bawah ini, bila terjadi kasalahan waktu compile dan runtime, betulkan!

BAGIAN XIII GRAPHICAL USER INTERFACE DENGAN SWING. Praktikum I : Menggunakan JFrame, JTextField, JLabel dan JButton

MODUL II STRING TUGAS PENDAHULUAN. 2. String mempunyai beberapa fungsi, sebutkan dan jelaskan ( Minimal 5 )!

String. String merupakan tipe data untuk menyimpan nilai berupa teks.

PEMROGRAMAN JAVA. Yoannita, S.Kom. Input Kondisi (IF-ELSE, SWITCH)

BAHASA PEMROGRAMAN JAVA

Pemrograman Berbasis Obyek. Yuliana Setiowati. Elektronika Negeri Surabaya PJJ PENS-ITS

Operator, Statement kondisional, dan Iterasi pada Java

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

Percabangan & Perulangan

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK. Maimunah, S.Si,M.Kom

JList, JComboBox, JTable

Setelah menyelesaikan praktikum ini, mahasiswa diharapkan mampu:

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK

Modul 9: antarmuka grafis (GUI) dalam window

Array. Adharul Muttaqin Universitas Brawijaya Malang. Array

Gambar 1. Single Linked List

BAB V PENYELEKSIAN KONDISI DAN PERULANGAN

MODUL PRAKTIKUM BERORIENTASI OBJEK NINF615 SEMESTER GASAL 2016/2017 PROGRAM STUDI S1 TEKNIK INFORMATIKA

Membuat Aplikasi Database dengan Netbeans

Pemrograman Berorientasi Objek Danu Wira Pangestu

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

Metode Binnary Searching di Java Console

Pertemuan 2 (2) : Membuat Class dan mengakses Anggota Class

if (ekspresi_boolean) {

I. Tujuan Instruksional Umum Komunikasi antar objek pada kelas yang berbeda Memahami berbagai macam modifier dan karakteristiknya II.

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA FAKULTAS ILMU KOMPUTER UNIVERSITAS BRAWIJAYA

BAB V JTable. JTable () Default menciptakan JTable yang diawali dengan model default data, model kolom default, dan model pilihan default.

TPI4202 e-tp.ub.ac.id. Lecture 4 Mas ud Effendi

IF PEMROGRAMAN LANJUT PERULANGAN. Oleh : Andri Heryandi, M.T.

if (ekspresi_boolean) { Pernyataan1; } else { Pernyataan2; }

A. TUJUAN PEMBELAJARAN 1. Mengenal berbagai macam bentuk operator 2. Memahami penggunaan berbagai macam jenis operator yang ada di Java

PENGENALAN NETBEANS Algoritma & Pemrograman 2016/2017 Hastha Sunardi 2016 PENGENALAN NETBEANS. (Pertemuan: K[-]/L[1])

Pemrograman Dasar A R R A Y

Class & Object 2 ~Praktikum~ Imam Fahrur Rozi

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

Anonymous Inner Class

PRAKTEK 1 CLASS, ATTRIBUTE, METHOD, DAN OBJEK

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PENGENALAN OBJECT ORIENTED PROGRAMMING

String. Berikut perbedaan antara deklarasi char dan deklarasi String:

IF PEMROGRAMAN LANJUT PERCABANGAN. Oleh : Andri Heryandi, M.T.

Obyektif : KONTROL ALUR PROGRAM

Pemrograman Lanjut. Class, dan Instance Variable. Aryo Pinandito, ST, M.MT Team Teaching Pemrograman Lanjut

Pertemuan 2 Struktur Kontrol Percabangan

Java - Belajar Object Oriented Programming (OOP) (Part 1 - Class, Method, Getter, Setter)

A. TUJUAN PEMBELAJARAN

INSTRUKSI PENCABANGAN

Menghubungkan Database Access Menggunakan Netbeans Oleh : Yuliana Setiowati

Materi 5 Pemrograman Visual

PEMROGRAMAN BERORIENTASI OBJEK

BAB IV IMPLEMENTASI DAN PENGUJIAN

Pemrograman Visual. Ramos Somya

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

LAB PEMROGRAMAN I (JAVA FUNDAMENTAL) PERTEMUAN 3 Dosen : Bella Hardiyana S. Kom

Badiyanto, S.Kom.,M.Kom. Tujuan Intruksional. Mampu menjelaskan dan menggunakan komponen pemilihan JListbox. pemilihan JComboBox

Modul Praktikum Bahasa Pemrograman 1

TIPE DATA DAN VARIABLE

Praktikum Pemrograman. Pengantar OOP STMIK AMIKOM YOGYAKARTA. Bayu Setiaji, S.Kom

OPERATOR-OPERATOR DALAM JAVA

PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN

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

Array. Pengantar. int a, b, c, d, e;

Membuat dan Menggunakan Class

Praktikum 6 Class Design (Encapsulation)

Prosedur dan Fungsi. Ciri prosedur pada java selalu dimulai dengan : private/public void namaprosedur ( tipedataparameter1 namaparameter1,

Modul Praktikum Ke-2

Transkripsi:

MATCH GAME Yuliana Setiowati Politeknik Elektronika Negeri Surabaya 1

Target Praktikum : Mahasiswa dapat membuat aplikasi pembacaan file. Mahasiswa dapat menggunakan ImageIcon, Menu Bar, ProgressBar. Mahasiswa dapat menggunakan JDialog, membuka dan menutup JDialog. 2

Match Game Pada praktikum ini mahasiswa membuat aplikasi tentang Match Game. User harus mencocokkan gambar acuan dengan 6 gambar yang ada dan harus memilih mana yang sama. Jika user benar dalam melakukan pencocokan maka tampilkan suara Kamu Hebat (suara sesuai keinginan), jika user salah maka tampilkan suara Masih Salah Coba Lagi (suara sesuai keinginan). Kategori gambar dan data gambar tergantung dari keinginan user (bisa ditambahkan maupun dikurangi). Kategori gambar dan nama gambar tersimpan dalam file text. 3

Match Game Kategori Binatang 4

Match Game 5

Perancangan Sistem 1.Pembacaa n file 2. Penyimpanan Object dalam Vector 3. Lakukan random untuk menampilkan 6 gambar berdasarkan kategori, selanjutkan pilih 1 bagian sebagai gambar acuan 5. Tampilkan suara (benar atau salah) 4. User melakukan pemilihan 6

Variabel variabel penting Vector datagambar : objek datagambar berupa Vector. Objek datagambar ini digunakan untuk menyimpan objek-objek Gambar, pada saat pembacaan file txt pada baris kedua dan baris selanjutnya. Vector kategori : objek kategori bertipe Vector, digunakan untuk menyimpan kategori gambar. Isi dari objek kategori berupa String. Penyimpanan ini dilakukan pada saat pembacaan file txt, data pada baris pertama. Gambar kategorimain : objek kategorimain berupa objek Gambar, untuk menyimpan kategori dari gambar yang akan dibangkitkan (contoh kategori misal : bunga, binatang, kendaraan). Yang dipentingkan pada objek kategorimain ini adalah kategorinya, sehingga namagambarnya bisa diisi dengan sembarang nilai. Contoh : Gambar kategorimain = new Gambar("binatang","abc"); 7

Variabel variabel penting int indexgambar[] : pada aplikasi akan menampilkan gambar sebanyak 6. Misal objek gambar dengan kategori kartun tersimpan pada index 10 19. Maka indexgambar ini akan menyimpan 6 data yaitu bilangan antara 10 19. Dengan asumsi bilangan tidak boleh sama. Contoh : int indexgambar[] = {11,18,17,13,15 int noacuan : dari data index yang tersimpan di indexgambar, kita ambil salah satu, kita simpan pada variabel noacuan. Contoh int noacuan = 17 int value =0 : untuk memberikan nilai awal pada progress bar. Contoh pbar.setvalue(value); 8

1. Pembacaan File Penyimpanan nama gambar menggunakan file teks dengan format seperti di bawah ini. Baris pertama menyatakan kategori yang ada pada aplikasi Match Game, sedangkan baris berikutnya menyatakan kategori dan nama gambar. binatang kartun binatang binatang1.jpeg binatang binatang2.jpeg binatang binatang3.jpeg binatang binatang4.jpeg binatang binatang5.jpeg binatang binatang6.jpeg binatang binatang7.jpeg binatang binatang8.jpeg binatang binatang9.jpeg binatang binatang10.jpeg kartun kartu1.jpeg kartun kartu2.jpeg kartun kartu3.jpeg kartun kartu4.jpeg kartun kartu5.jpeg kartun kartu6.jpeg kartun kartu7.jpeg kartun kartu8.jpeg kartun kartu9.jpeg kartun kartu10.jpeg Terdapat 2 kategori yaitu binatang dan kartun Binatang binatang1.jpeg menyatakan kategori binatang dengan nama gambar : binatang1.jpeg 9

2. Penyimpanan Object dalam Vector Baris pertama pada file teks menyatakan kategori, disimpan pada Vector kategori. Vector kategori berisi String kategori 0 new String(binatang) 1 new String(kartun) 10

2. Penyimpanan Object dalam Vector Baris ke dua dan berikutnya disimpan sebagai objek Gambar, selanjutnya objek-objek tersebut disimpan pada Vector datagambar. public class Gambar { private String kategori ; private String namagambar ; public Gambar(String k, String nm){ this.kategori = k ; this.namagambar = nm ; public void setkategori(string kategori){ this.kategori = kategori ; public void setnamagambar(string nm){ this.namagambar = nm ; public String getkategori(){ return kategori ; public String getnamagambar(){ return namagambar ; public String tostring(){ return kategori+ " " +namagambar ; 11

isi dari Vector datagambar 2. Penyimpanan Object dalam Vector 0 new Gambar(binatang, binatang1.jpeg); 1 new Gambar(binatang, binatang2.jpeg); 2 new Gambar(binatang, binatang3.jpeg); 3 new Gambar(binatang, binatang4.jpeg); 4 new Gambar(binatang, binatang5.jpeg); 5 new Gambar(binatang, binatang6.jpeg); 6 new Gambar(binatang, binatang7.jpeg); 7 new Gambar(binatang, binatang8.jpeg); 8 new Gambar(binatang, binatang9.jpeg); 9 new Gambar(binatang, binatang10.jpeg); 10 new Gambar(kartun,kartun1.jpeg); 11 new Gambar(kartun,kartun2.jpeg); 12 new Gambar(kartun,kartun3.jpeg); 13 new Gambar(kartun,kartun4.jpeg); 14 new Gambar(kartun,kartun5.jpeg); 15 new Gambar(kartun,kartun6.jpeg); 16 new Gambar(kartun,kartun7.jpeg); 17 new Gambar(kartun,kartun8.jpeg); 18 new Gambar(kartun,kartun9.jpeg); 19 new Gambar(kartun,kartun10.jpeg); 12

3. Menampilkan 6 Gambar Berdasarkan Kategori Sebagai bantuan, terdapat 3 fungsi yaitu : private int[] searchgambar(){ untuk mendapatkan 6 data gambar yang akan ditampilkan untuk dipilih oleh user. Yang disimpan adalah no indeks dari data tsb. private int gambaracuan(){ dari 6 data gambar yang diperoleh dari fungsi searchgambar(), diambil satu data gambar sebagai gambaracuan. private void TampilGambar(){ fungsi ini bertugas untuk menampilkan ke objek Jlabel. 13

3. Menampilkan 6 Gambar Berdasarkan Kategori 1. Tentukan kategori dari data gambar yang akan ditampilkan. Simpan dalam var kategorimain (tipe var Gambar) 2. Menentukan 6 gambar yang berbeda berdasarkan kategori (fungsi searchgambar()) 4. Menampilkan 6 gambar 3. Dari 6 gambar tsb, pilih 1 gambar acuan. Simpan dalam var gambaracuan(tipe int) 14

3. Menampilkan 6 Gambar Berdasarkan Kategori (1) Pertama kali tentukan kategori dari data gambar yang akan ditampilkan. Simpan dalam variabel kategorimain (tipe Gambar) Tentukan kategori yang akan ditampilkan adalah binatang. kategorimain = new Gambar("binatang","binatang1.jpeg"); 15

3. Menampilkan 6 Gambar Berdasarkan Kategori (2) private int[] searchgambar(){ int awal = datagambar.indexof(kategorimain); int akhir = datagambar.lastindexof(kategorimain);... Fungsi indexof untuk mendapatkan index yang pertama kali pada objek Vector datagambar yang sama (didefinisikan di fungsi equals()) dengan objek kategorimain. Fungsi lastindexof untuk mendapatkan index yang terakhir kali yang sama (didefinisikan di fungsi equals()) dengan objek kategorimain. Supaya fungsi indexof() dan lastindexof() bisa digunakan maka lakukan overriding pada fungsi equals() pada class Gambar. Fungsi equals() ini, menghasilkan nilai true jika dua objek dari class Gambar mempunyai kategori yang sama, bernilai false jika dua objek dari class Gambar tidak mempunyai kategori yang sama. public class Gambar { private String kategori ; private String namagambar ; public boolean equals(object o){ // isi fungsi 16

3. Menampilkan 6 Gambar Berdasarkan Kategori (2) Dibawah ini contoh penggunaan method indexof() dan lastindexof () tanpa melakukan overriding terhadap method equals(boolean) hasil dari fungsi indexof() adalah -1 yang artinya tidak menemukan objek yang sesuai dengan objek dengan kriteria yang dimaksud. Hasil sama seperti lastindexof () yaitu -1. 17

3. Menampilkan 6 Gambar Berdasarkan Kategori (2) import java.util.vector; public class Test { public static void main(string args[]){ Vector v = new Vector(); Gambar gambaracuan = new Gambar("kartun","k2.jpeg"); v.add(new Gambar("binatang","b1.jpeg")); v.add(new Gambar("binatang","b2.jpeg")); v.add(new Gambar("binatang","b3.jpeg")); v.add(new Gambar("binatang","b4.jpeg")); v.add(new Gambar("kartun","k1.jpeg")); v.add(new Gambar("kartun","k2.jpeg")); v.add(new Gambar("kartun","k3.jpeg")); v.add(new Gambar("bunga","bg1.jpeg")); v.add(new Gambar("bunga","bg2.jpeg")); v.add(new Gambar("bunga","bg3.jpeg")); v.add(new Gambar("bunga","bg4.jpeg")); v.add(new Gambar("bunga","bg5.jpeg")); int index1 = v.indexof(gambaracuan); System.out.print("index dari fungsi indexof() : " + index1 + "\n"); int index2 = v.lastindexof(gambaracuan); System.out.print("index dari fungsi lastindexof() : " + index2); 18

3. Menampilkan 6 Gambar Berdasarkan Kategori (2) Selanjutnya lakukan overriding terhadap fungsi equals() pada class Gambar. Hasilnya akan tampak sebagai berikut: public class Gambar { private String kategori ; private String namagambar ; public boolean equals(object o){ // isi fungsi 19

3. Menampilkan 6 Gambar Berdasarkan Kategori (2) Ambil 6 gambar secara acak mulai dari indeks awal (diperoleh dengan fungsi indexof()) sampai dengan akhir (diperoleh dengan fungsi lastindexof()) int r = (int)(math.random() * (akhir-awal+1) + awal); Sehingga 6 data gambar yang disimpan adalah indeks diantara awal akhir. Output dari fungsi searchgambar(), simpan dalam variabel int indexgambar[] Jika objek kategorimain mempunyai kategori binatang maka variabel awal = 0, akhir = 9. Jika objek kategorimain mempunyai kategori kartun maka awal = 10, akhir = 19. 20

3. Menampilkan 6 Gambar Berdasarkan Kategori (3) Dari 6 gambar tsb, pilih 1 gambar acuan. Simpan dalam var gambaracuan(tipe int), lakukan secara random 21

3. Menampilkan 6 Gambar Berdasarkan Kategori (4) Untuk menampilkan 6 gambar gunakan fungsi private void TampilGambar(int temp[]){ : fungsi ini bertugas untuk menampilkan 6 gambar ke objek Jlabel. Caranya String s2 = "/coba/buah1.jpeg"; jlabel1.seticon(new javax.swing.imageicon(getclass().getresource(s2))); 22

4. User melakukan pemilihan Jika kursor user mengenai sebuah label maka background dari label menjadi berwarna biru (default berwarna pink warna sesuai selera user). Untuk melakukan hal tersebut kita menggunakan event MouseListener. Klik kanan pada label pilih Event pilih Mouse pilih MouseEntered(), isi dengan program di bawah ini, lakukan hal yang sama untuk fungsi MouseEntered dengan warna yang berbeda. private void gb5mouseentered(java.awt.event.mouseevent evt) { gb5.setbackground(new Color(32,255,255)); 23

5. Tampilkan suara (benar atau salah) Pada praktikum ini mahasiswa membuat aplikasi tentang Match Game. User harus mencocokkan gambar acuan dengan 6 gambar yang ada dan harus memilih mana yang sama. Jika user benar dalam melakukan pencocokan maka tampilkan suara Kamu Hebat (suara sesuai keinginan), jika user salah maka tampilkan suara Masih Salah Coba Lagi (suara sesuai keinginan). 24