MEMBUAT PROJECT. 1. Buat project baru, beri nama JHangMan. Gambar 1.1

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

INSTRUKSI PENCABANGAN

APLIKASI PERHITUNGAN NILAI MAHASISWA. Untuk membuat aplikasi nilai mahasiswa, langkah-langkahnya adalah sebagai berikut :

Praktikum III : Menggunakan JRadioButton

PERTEMUAN 1 Membuat Project & Komponen Swing [PBO II JAVA] dosen : SOPINGI, S.Kom

- Setiap pola yang menggambarkan permasalahan yang terjadi secara berulang, serta

Program Kalkulator Sederhana Menggunakan Java Netbeans

Praktikum 6a Melakukan koneksi dengan basis data

Menghubungkan Database Access Menggunakan Netbeans Oleh : Yuliana Setiowati

PEMROGRAMAN LANJUTAN JAVA. Dasar-Dasar Netbeans

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

Java Library dan Java Swing

Belajar Java 2 Tambah, Simpan & Cari Data di Netbeans dengan Database MySQL

BAB IX MEMBUAT FORM 9.1 Membuat Form Secara Konvensional

Pemrograman Dekstop Pulut Suryati

BAB I PROJECT NETBEANS DAN GUI SEDERHANA

Pemrograman Java III

TUGAS PROGRAM DIAGONAL, VETIKAL, DAN HORIZONTAL OPENGL (MENGGUNAKAN JAVA) NAMA : SYIFA MUTIARA SARI KELAS : 3KA23 NPM :

Prosedur Percobaan Program Tampilan

A. TUJUAN PEMBELAJARAN

1. Silahkan anda buka project dari modul 4 anda yang sudah anda selesaikan 2. Tambahkan 1 buah view dengan nama FormMain

Membuat Data Mahasiswa dengan Java Netbeans dan SQLite

BAHASA PEMROGRAMAN JAVA

JAVA SWING. Swing merupakan library pada java untuk membuat sebuah tampilan seperti

Gambar Implementasi Halaman Pembuka 34

Tugas IV Kelas Virtual Pemr. Visual

Pemrograman Java III

visit :

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

IMPLEMENTASI MODEL VIEW CONTROLLER (MVC) DESIGN PATTERN

Pemrograman Java III

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

Pemrograman Berorientasi Obyek. Ramos Somya

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

BAB 5 Mendapatkan Input dari Keyboard

BAB 5 Mendapatkan Input dari Keyboard

Pengenalan APLIKASI DATABASE

PRAKTEK 1 CLASS, ATTRIBUTE, METHOD, DAN OBJEK

Praktikum GUI menggunakan Netbeans (Yuliana Setiowati

Modul 08. User Interface 01

LAPORAN PERCOBAAN V ( MENGHITUNG NILAI UJIAN MAHASISWA) BERBASIS JAVA DENGAN MENGGUNAKAN TOOLS NETBEANS

Praktikum 1 Installation for OpenCV

BAB Argument Command-Line dan System Properties

Tutorial Jasper Report with JDBC Prerequisites: Jasper Report, ireport installed, MySQL installed, and NetBeans IDE

BAB III ANALISA DAN PERANCANGAN

Pertemuan 4 Array pada Java

Pemograman Swing. Netbeans:

Modul Praktikum Pemrograman

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

Koneksi Java GUI-Database

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

GUI, Ev e Ev n e t n Handling, Ex ception Handling in Java

Membuat Kalkulator dengan Java

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

Membuat Menu Login Sederhana [Full Coding]

BAB IV IMPLEMENTASI DAN PEMBAHASAN SISTEM. Tahap implementasi merupakan prosedur yang harus. dilakukan untuk menyelesaikan desain sistem yang ada pada

LAPORAN RESMI PRAKTIKUM BAHASA PEMROGRAMAN

Pengenalan Visual Basic

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

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

STEP BY STEP IN JAVA NETBEANS PROGRAMMING BY SUYANTO

PENDAHULUAN TENTANG NETBEANS

DASAR PEMOGRAMAN JAVA

Membuat Aplikasi Kalkulator Sederhana Dengan Java

jtextfield jcombobox

PBO LANJUT USING WYSIWYG EDITOR FOR BUILDING GUI. Niko Ibrahim, MIT Universitas Kristen Maranatha

Refreshing Praktikum: GUI (Graphical User Interface)

JAVA non OOP/IMW/PAGI. 1. Buat Database dengan Ms.Access dengan nama database perpustakaan.mdb 2. Buat tabel barang dengan struktur sbb:

A. TUJUAN PEMBELAJARAN

Program Penghitung Poin Klub Sepak Bola

PROJEK. Kemudian kirimkan melalui e-learning ini sebelum tanggal terakhir pengumpulan yang telah ditentukan.

Bab I Pengenalan Visual BASIC

LAPORAN TUGAS MINGGUAN III PEMBUATAN KALKULATOR ( MENGHITUNG TOTAL TRANSAKSI) BERBASIS JAVA

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

MODUL 7 - EXCEPTION HANDLING

PEMROGRAMAN II. Materi : nursari2010.blogdetik.com String String Handling Java.util,Java.io. By : Sri Rezeki Candra Nursari

Isi Data Source Name seperti gambar diatas: Kemudian pilih database dengan meng klik tombol select, tampil seperti gambar diatas:

PERTEMUAN KE-6 STRUKTUR PERULANGAN (menggunakan Loop dan Timer)

Pengantar Library, Classpath, dan Project

Krisna D. Octovhiana. 1.1 Apa itu Operator?

BAB III ANALISIS DAN PERANCANGAN

Latihan 2 List Menu Bertingkat

Class & Sequence Diagram

MEMBUAT WEBSITE PERSONAL

Pemrograman. Pertemuan-3 Fery Updi,M.Kom

PRAKTIKUM 1 INPUT - OUTPUT

Pertemuan 2 Struktur Kontrol Percabangan

Lab Bahasa Pemrograman 2

BAB II MICROSOFT VISUAL STUDIO

Program Penghitungan II Dengan Java

BAB 8 Argumen dari Command-line

KONEKSI KE DATABASE DENGAN JDBC

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

GRAPHICAL USER INTERFACE (GUI)

Modul 3 Flow Control dan Input

Disini kita akan bahas cara koneksi antara Database MySQL dengan VB.Net 2010, semoga dengan ini E-book ini bisa ingat sepanjang jaman ya ^ ^

IMPLEMENTASI PEMROGRAMAN VISUAL BASIC DENGAN DATABASE ACCESS

Chapter 1 Buat aplikasi kita menggunakan VisualMidlet

BAB 1 KONSEP DASAR JAVA

IF PEMROGRAMAN LANJUT GRAPHICAL USER INTERFACE (GUI) 11 DENGAN SWING. Oleh : Andri Heryandi, M.T.

Transkripsi:

2 APLIKASI GAME HANGMAN Pada bab ini kita akan membuat aplikasi game Hang Man. Game ini adalah game tebak kata. Pemain akan menebak kata yang tersembunyi huruf demi huruf. Pemain diberi kesempatan menebak hingga 6 kali kesalahan. Jika kesempatan menebak habis, pemain akan digantung. Jika berhasil menebak kata yang dimaksud, pemain selamat. MEMBUAT PROJECT Gambar 2.1 1. Buat project baru, beri nama JHangMan. Membuat project baru. 2. Copy file Kata.txt (CD:\Source\bab1\Kata.txt) pada direktori utama project. File Kata.txt ini berisi kata-kata untuk ditebak. 3. Buat folder baru. Klik kanan pada project JHangMan > New > Folder. Beri nama image dan tempatkan pada direktori utama project. 4. Copy semua file image (CD:\Source\bab1\image) pada folder image yang telah dibuat. 5. Susunan files project akan menjadi seperti ini. 19

Gambar 2.2 Susunan file project. 6. Sertakan folder icon tadi dalam project. Klik kanan project JHangMan > pilih Categories: Sources > Sources package folders > Add folder > pilih forder image. MENDESAIN GUI Gambar 2.3 1. Buat sebuah JFrame. Klik kanan pada project JHangMan > New > JFrame Form. Beri nama FormUtama. Membuat FormUtama. 2. Tambahkan 5 JLabel, 1 JTextField, dan 1 JPanel pada FormUtama. Atur tampilan seperti ini. 20

Gambar 2.4 JLabel Design GUI FormUtama. JPanel JTextField JLabel Gambar 2.5 3. Susunan komponen FormUtama pada window inspector menjadi seperti ini. Susunan komponen FormUtama. 4. Atur propertiesnya. 21

FormUtama Enabled Title JPanel1 Border Border False Game HangMan Titled Border Huruf yang salah JTextField1 Variable Name txtletter Text - Font Tahoma 18 Plain JLabel1 Text JLabel2 Variable Name Text Horizontal Alignment Font Tebak lblword Kata Untuk ditebak CENTER Tahoma 18 Bold JLabel3 Variable Name lblimage Text - Icon Image0.jpg JLabel4 Variable Name Text Font Horizontal Alignment JLabel5 Variable Name Text Font lblwrong salah Tahoma 14 Plain CENTER lblinfo 6 chances left Tahoma 11 Bold 22

MEMBERI ACTION 1. Buat class baru. Klik kanan pada project JHangMan > New > Java Class. Beri nama Manager. Class ini akan mengurusi masalah mengenai pengambilan data dari file Kata.txt serta mengacak kata untuk ditebak. Gambar 2.6 Membuat class Manager. 2. Ketikkan code berikut pada Manager.java. public class Manager { private ArrayList arl = new ArrayList(); private File file; public Manager() { file = new File("Kata.txt"); int i = 0; try { BufferedReader br = new BufferedReader(new FileReader(file)); while (br.readline()!= null) { i++; br.close(); br = new BufferedReader( new FileReader(file)); for (int j = 0; j < i; j++) { arl.add( br.readline()); br.close(); catch (Exception e) { System.out.println("Error: " + e); public String getrandomword() throws Exception { int random = (int) (Math.random() * arl.size()); return (String) arl.get(random); 23

Gambar 2.7 Code program class Manager.java. Program membaca semua kata dari file Kata.txt. Seluruh kata tersebut ditampung dalam sebuah arraylist. Method getrandomword() akan mengambil salah satu kata yang ada dalam arraylist tersebut secara acak. 3. Kembali lagi ke FormUtama. Klik tab SourceTambah variable berikut. Manager man = new Manager(); String word, wrong; int chances; ImageIcon[] img = new ImageIcon[9]; 4. Atur supaya posisi aplikasi saat tampil berada di tengah-tengah monitor saat pertama kali aplikasi dijalankan. Ketik code berikut pada constructor FormUtama. public FormUtama() { initcomponents(); Dimension scrnsize = Toolkit. getdefaulttoolkit().getscreensize(); this.setlocation((int) (scrnsize.width - this.getwidth()) / 2, (int) (scrnsize.height - this.getheight()) / 2); for (int i = 0; i < img.length; i++) { img[i] = new ImageIcon( "image\\image" + i + ".jpg"); 24

Gambar 2.8 Variable dan constructor FormUtama. 5. Buat method play(). Method ini akan mengeset semua nilai variable awal ketika permainan dimulai dan mengambil kata secara acak untuk ditebak. public void play() { this.setenabled(true); Gambar 2.9 try { word = man.getrandomword(); String str = ""; for (int i = 0; i < word.length(); i++) { str += "~"; lblword.settext(str); lblwrong.settext(" "); chances = 6; lblinfo.settext(chances + " chances left"); lblimage.seticon(img[0]); wrong = ""; catch (Exception ex) { Code method play(). 6. Buat method guessword(). Method ini akan melakukan semua hal yang berkaitan dengan proses penebakan kata. 25

public void guessword() { String letter = txtletter.gettext(); char ltr = letter.tolowercase().charat(0); String guess = ""; for (int i = 0; i < word.length(); i++) { if (ltr == word.charat(i)) { guess += ltr; else { if (lblword.gettext().charat(i) == '~') { guess += "~"; else { guess += lblword.gettext().charat(i); if (lblword.gettext().equals(guess)) { int x = 7 - chances; wrong += " " + ltr; if (chances > 0) { chances--; lblimage.seticon(img[x]); lblinfo.settext(chances + " chances left"); lblwrong.settext(wrong); txtletter.settext(""); txtletter.setfocusable(true); else { this.setenabled(false); lblimage.seticon(img[7]); int lanjut = JOptionPane.showOptionDialog(this, "Kata yang benar adalah " + word + ". Ulang permainan?", "Anda digantung!!!", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, null, null); if (lanjut == JOptionPane.YES_OPTION) { play(); txtletter.settext(""); txtletter.setfocusable(true); else { System.exit(0); else { if (word.equals(guess)) { lblword.settext(guess); lblimage.seticon(img[8]); this.setenabled(false); int lanjut = JOptionPane.showOptionDialog(this, "Lanjut permainan?", "Anda selamat!!!", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, null, null); if (lanjut == JOptionPane.YES_OPTION) { play(); txtletter.settext(""); txtletter.setfocusable(true); else { System.exit(0); else { 26

lblword.settext(guess); txtletter.settext(""); txtletter.setfocusable(true); User menginput sebuah huruf untuk menebak kata yang dimaksud. Jika user menginput lebih dari 1 huruf maka hanya huruf pertama yang digunakan. Kemudian program akan memeriksa huruf yang diinput apakah ada di dalam kata yang maksud. Apakah huruf yang diinput tadi menambah jumlah kata yang berhasil ditebak atau tidak. Jika tebakan salah, kesempatan berkurang 1 dan jika kesempatan habis, permainan selesai dan program akan menampilkan kata yang dimaksud. Jika tebakan benar dan semua kata sudah tertebak maka permainan selesai. 7. Implementasikan method guessword(), beri action pada txtletter. Klik kanan txtletter > Event > action > actionperformed. Gambar 2.10 Memberi action pada txtletter. 8. Ketik code berikut. private void txtletteractionperformed( java.awt.event.actionevent evt) { guessword(); 27

9. Ubah code method main-nya. Program akan menanyakan dahulu apakah user akan main atau tidak. Jika iya maka permainan dimulai, jika tidak aplikasi akan ditutup. public void run() { FormUtama hangman = new FormUtama(); hangman.setvisible(true); int start = JOptionPane.showOptionDialog(hangMan, "Mulai permainan?", "Mulai", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, null, null); if (start == JOptionPane.YES_OPTION) { hangman.play(); else { System.exit(0); Gambar 2.11 Code method main(). MENJALANKAN APLIKASI Gambar 2.12 1. Kita akan mengeset FormUtama sebagai main kelas project. Klik kanan pada project JHangMan > Properties > pilih Categories: Run > Browse Main class > pilih FormUtama. Mengeset FormUtama menjadi Main Class. 28

Gambar 2.13 2. Jalankan project JHangMan. Klik menu Run > Run main project atau tekan F6. 3. Muncul tampilan seperti ini. Memulai permainan. Gambar 2.14 4. Pilih Yes dan permainan akan dimulai. Ketikkan sebuah huruf untuk menebak kata yang dimaksud dan tekan Enter. Setiap tebakan huruf yang salah akan dicatat dan mengurangi jumlah kesempatan. Tampilan aplikasi HangMan. 29

Gambar 2.15 Penebakan kata berhasil. 30