RSS2.0

EXPERT 5: EKSPLORASI FUNGSI JTABBEDPANE

Jumat, 01 Juni 2012

Salah satu fungsi pallete yang disediakan oleh netBeans adalah jTabbedPane. Dengan tool ini, kita bisa membuat frame yang terdiri dari tab-tab yang bisa dipilih oleh user. untuk eksplorasi kali ini, saya akan mencoba menjelaskan cara supaya suatu tab tidak bisa dipilih serta memindahkan layar ke tab lainnya.

pertama, butalah frame seperti gambar berikut:

gambar 5.1

gambar 5.2
Setelah itu, masuk ke source program dan masukkan kode berikut dibawah kode inisiasi komponen.
gambar 5.3
Setelah itu, pada masing-masing button berikan event mouseClicked dan masukkan kode berikut:
button pertama :
gambar 5.4
button kedua :
gambar 5.5
save dan coba jalankan program...

jika masih bingung, berikut saya sediakan source code yang bisa anda coba sendiri.
download

sekian tutorial Expert 5 ini, semoga bermanfaat dan ikuti tutorial Expert 6.

^___^

BEGINNER 12: MEMBUAT FORM TANPA BORDER

Minggu, 13 Mei 2012

Tutorial Beginner 12 ini cukup sederhana, pertama tama, buatlah sebuah form dan letakkan form tersebut di tengah layar. Jika belum tahu caranya, baca Beginner 11.

Setelah itu, pada JFrame Properties, beri tanda centang pada undecorated.

gambar 12.1
Save dan run program. maka hasilnya akan tampak seperti berikut.
gambar 12.2

Sekian tutorial beginner 12 ini. Semoga bermanfaat dan sampai jumpa di Tutorial Beginner 13.


^___^

ANDROID 4: MEMBUAT GAME JAVA BATU KERTAS GUNTING SEDERHANA DI ANDROID

Sabtu, 12 Mei 2012

Pertama-tama, buka eclipse IDE anda, buatlah sebuah project android baru.
Setelah itu, masuk ke bagian resource dan buka main.xml.
Desain layoutnya seperti gambar berikut.

gambar 4.1
atau lebih mudahnya, copy saja code berikut.


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
     <AbsoluteLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >


         <Button
            android:id="@+id/gunting"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_x="235dp"
            android:layout_y="4dp"
            android:text="GUNTING" />

        <Button
            android:id="@+id/batu"
            android:layout_width="87dp"
            android:layout_height="wrap_content"
            android:layout_x="2dp"
            android:layout_y="3dp"
            android:text="BATU" />

        <Button
            android:id="@+id/kertas"
            android:layout_width="89dp"
            android:layout_height="wrap_content"
            android:layout_x="120dp"
            android:layout_y="3dp"
            android:text="KERTAS" />

    </AbsoluteLayout>
     <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >

        <AbsoluteLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >
             <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_x="111dp"
                android:layout_y="8dp"
                android:text="Pilihan Anda"
                android:textAppearance="?android:attr/textAppearanceMedium" />

        </AbsoluteLayout>

        <AbsoluteLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >



             <TextView
                android:id="@+id/user"
                android:layout_width="123dp"
                android:layout_height="wrap_content"
                android:layout_x="116dp"
                android:layout_y="6dp"
                android:text=" "
                android:textAppearance="?android:attr/textAppearanceLarge" />

        </AbsoluteLayout>

        <AbsoluteLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >
             <TextView
                android:id="@+id/textView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_x="129dp"
                android:layout_y="16dp"
                android:text=" " />

        </AbsoluteLayout>

        <AbsoluteLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >

            <Button
                android:id="@+id/adu"
                android:layout_width="108dp"
                android:layout_height="72dp"
                android:layout_x="107dp"
                android:layout_y="6dp"
                android:text="ADU" />

        </AbsoluteLayout>
         <AbsoluteLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >

            <AbsoluteLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_x="0dp"
                android:layout_y="0dp" >
                 <TextView
                    android:id="@+id/TextView01"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_x="111dp"
                    android:layout_y="8dp"
                    android:text="Pilihan CPU"
                    android:textAppearance="?android:attr/textAppearanceMedium" />

            </AbsoluteLayout>

            <AbsoluteLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_x="0dp"
                android:layout_y="30dp" >




                 <TextView
                    android:id="@+id/cpu"
                    android:layout_width="123dp"
                    android:layout_height="wrap_content"
                    android:layout_x="115dp"
                    android:layout_y="6dp"
                    android:text=" "
                    android:textAppearance="?android:attr/textAppearanceLarge" />

            </AbsoluteLayout>
        </AbsoluteLayout>

        <AbsoluteLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >






             <TextView
                android:id="@+id/status"
                android:layout_width="139dp"
                android:layout_height="54dp"
                android:layout_x="111dp"
                android:layout_y="17dp"
                android:text=" "
                android:textAppearance="?android:attr/textAppearanceLarge" />

        </AbsoluteLayout>

        <AbsoluteLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >
             <TextView
                android:id="@+id/textView3"
                android:layout_width="wrap_content"
                android:layout_height="46dp"
                android:layout_x="77dp"
                android:layout_y="12dp"
                android:text="Copyright 2012 Astandri K." />

        </AbsoluteLayout>

    </LinearLayout>

</LinearLayout>

setelah itu, masuk ke program .java anda, masukkan kode berikut:



//sesuaikan dengan nama package anda
package development.project.rps;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.*;

public class namaClassAnda extends Activity implements OnClickListener{
    /** Called when the activity is first created. */
TextView user, cpu;
TextView status;
Button batu, kertas, gunting;
Button adu;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        user = (TextView)findViewById(R.id.user);
        cpu = (TextView)findViewById(R.id.cpu);
        status = (TextView)findViewById(R.id.status);
       
        batu = (Button)findViewById(R.id.batu);
        kertas = (Button)findViewById(R.id.kertas);
        gunting = (Button)findViewById(R.id.gunting);
        adu = (Button)findViewById(R.id.adu);
       
        batu.setOnClickListener(this);
        kertas.setOnClickListener(this);
        gunting.setOnClickListener(this);
        adu.setOnClickListener(this);
    }

public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId()){
case R.id.batu :
user.setText("BATU");
break;
case R.id.kertas :
user.setText("KERTAS");
break;
case R.id.gunting :
user.setText("GUNTING");
break;
case R.id.adu :
int comp = (int)(Math.random()*3+1);

if(comp==1)
cpu.setText("BATU");
else if(comp==2)
cpu.setText("KERTAS");
else
cpu.setText("GUNTING");

if(user.getText().equals(cpu.getText())){
status.setText("DRAW");
}
else if(user.getText().equals("BATU") && cpu.getText().equals("KERTAS")){
status.setText("YOU LOSE");
}
else if(user.getText().equals("BATU") && cpu.getText().equals("GUNTING")){
status.setText("YOU WIN");
}
else if(user.getText().equals("KERTAS") && cpu.getText().equals("BATU")){
status.setText("YOU WIN");
}
else if(user.getText().equals("KERTAS") && cpu.getText().equals("GUNTING")){
status.setText("YOU LOSE");
}
else if(user.getText().equals("GUNTING") && cpu.getText().equals("BATU")){
status.setText("YOU LOSE");
}
else if(user.getText().equals("GUNTING") && cpu.getText().equals("KERTAS")){
status.setText("YOU WIN");
}
break;
default :
break;
}
}
}

Jika sudah, save dan run as android application. pastikan emulator android anda sudah menyala.
berikut screenshot program ketika dijalankan.

gambar 4.2

gambar 4.3

gambar 4.4
Cukup mudah bukan?
Jika ada pertanyaan, silahkan comment di bawah ya.
Berikut saya sediakan source code saya jika ingin anda coba.
download

Sekian dulu tutorial Android 4 ini, semoga bermanfaat dan sampai jumpa di tutorial Android 5.


^___^

BEGINNER 11: CUSTOMISASI LETAK FORM JAVA DENGAN NETBEANS

Mungkin anda masih bingung bagaimana cara untuk meletakkan form Java tepat di tengah layar monitor anda.
Sebenarnya caranya cukup mudah.

pertama, buatlah sebuah form di netbeans anda. perhatikan gambari di bawah.

gambar 11.1

Setelah itu, pada bagian source, tambahkan kode
setLocationRelativeTo(null);




gambar 11.2

Setelah program dijalankan, maka form akan tepat terletak di tengah layar monitor anda.
gambar 11.3
Selamat mencoba dan sampai jumpa di Beginner 12.

^___^

BEGINNER 10: IMPLEMENTASI SEDERHANA FUNGSI TRY CATCH DI JAVA NETBEANS

Jumat, 11 Mei 2012

Jika anda belum mengerti konsep sederhana dari fungsi try dan catch, baca Knowledge 10.

Disini, saya akan melanjutkan dari fungsi JOptionPane untuk yang input dialog dari tutorial Beginner 9. langsung saja, perhatikan kode berikut.


import javax.swing.JOptionPane;

/**
 *
 * @author ASTANDRI
 */
public class Beginner10 {
    public static void main(String[] args){
        try{
            //kita akan mencoba mendapatkan input dengan tipe integer
            int a = Integer.parseInt(JOptionPane.showInputDialog("Masukkan sebuah angka"));
        }
        catch(Exception e){
            //Jika ada error, kita akan menampilkan sebuah pesan
            JOptionPane.showMessageDialog(null, "Ups ada error");
         
            //print di console jenis error apa yang terjadi
            System.out.println(e);
        }
    }
}
download kode ini

Misalkan input kita salah, maka dua command di naungan catch akan dijalankan. Untuk lebih jelasnya, perhatikan gambar di bawah ini.

gambar 10.1

gambar 10.2

gambar 10.3
Cukup jelas bukan, silahkan mengeksplorasinya lebih jauh.
Semoga bermanfaat, sampai jumpa di Beginner 11.

^___^

KNOWLEDGE 10: MENGENAL FUNGSI STATEMENT TRY DAN CATCH

Mungkin anda masih ada yang bingung dengan fungsi try dan catch. Disini, saya akan mencoba menjelaskan konsep sederhana dari statement try dan catch.


fungsi try adalah "coba", jadi untuk semua kodingan yang berada di dalam naungan try ini, akan dicoba terlebih dahulu. Jika ada error, maka kodingan yang ada di naungan catch akan dijalankan. istilahnya errornya ditangkap. Namun jika tidak ditemukan error, maka kode di dalam naungan try akan dijalankan.

try{
            //kode program yang akan dicoba
}
catch(Exception e){
            //kode program yang akan dijalankan ketika terjadi error
}

Untuk penerapannya akan saya jelaskan di tutorial Beginner 10 untuk melanjutkan fungsi input dari JOptionPane pada Beginner 9.

Semoga bermanfaat, sampai jumpa di tutorial Knowledge 11.

^___^

BEGINNER 9: PENGENALAN GUI DASAR, JOPTIONPANE INPUT DIALOG DAN SHOW MESSAGE DIALOG

Senin, 07 Mei 2012

Sebuah program yang baik, harus memiliki User Interface yang baik pula. Java sendiri telah menyiapkan sendiri perangkat GUI-nya (Graphical user Interface) yang nantinya semua program yang menggunakan bahasa pemrograman java bisa memanfaatkan paket GUI ini.

Untuk pengenalan GUI paling awal, mari kita mulai dengan JOptionPane.
JOptionPane sebenarnya ada beberapa jenis. Dalam tutorial kali ini, saya akan membahas mulai dari JOptionPane input serta show message.

Pertama, kita mulai dari JOptionPane input dialog. perhatikan kode berikut:


import javax.swing.JOptionPane;
/**
 *
 * @author ASTANDRI
 */
public class Beginner9 {
    public static void main(String[] args){
        //mendapatkan input dari JOptionPane
        String nama = JOptionPane.showInputDialog("Masukkan Nama anda");
     
        //Memunculkan teks melalui JOptionPane
        JOptionPane.showMessageDialog(null, "Hai "+nama);
    }
}

coba run, maka hasilnya kurang lebih seperti gambar berikut:
gambar 9.1

gambar 9.2
nah sekarang coba ubah kodingannya jadi seperti ini :


import javax.swing.JOptionPane;
/**
 *
 * @author ASTANDRI
 */
public class Beginner9 {
    public static void main(String[] args){
        //mendapatkan input dari JOptionPane
        String nama = JOptionPane.showInputDialog(null, "Masukkan Nama anda", "Tanya Nama", JOptionPane.PLAIN_MESSAGE);
     
        //Memunculkan teks melalui JOptionPane
        JOptionPane.showMessageDialog(null, "Hai "+nama, "Menyapa", JOptionPane.WARNING_MESSAGE);
        JOptionPane.showMessageDialog(null, "Ini pesan Error bro", "Error", JOptionPane.ERROR_MESSAGE);
    }
}
download kode ini

maka hasilnya pun akan berubah seperti gambar berikut:
gambar 9.3

gambar 9.4

gambar 9.5
Cukup sekian tutorial kali ini, semoga bermanfaat dan sampai jumpa di tutorial Beginner 10.

EXPERT 4: MEMBUAT GAME BATU KERTAS GUNTING VERSI CONSOLE JAVA

Senin, 30 April 2012

Di tutorial sebelumnya kita sudah membuat sebuah aplikasi game batu kertas gunting (RPS game) versi GUI. Bagaimana dengan versi consolenya?

simak code berikut.


import java.util.Scanner;

/**
 *
 * @author ASTANDRI
 */
public class Expert4 {
    public static void main(String[] args){
        //inisialisasi variabel
        Scanner input = new Scanner(System.in);
        String user = null;
        String cpu = null;
        String hasil = null;
        boolean lanjut=true;
     
        //membuat menu berulang
        while(lanjut==true){
        System.out.printf("%s\n%s\n%s\n%s\n%s\n",
                "=======================================",
                "GAME ROCK-PAPER-SCISSORS",
                "1. BATU  2. KERTAS  3. GUNTING 4. Exit",
                "=======================================",
                "Pilihan Anda : ");
     
        //implementasi fungsi try catch
        try{
            int pilihan = input.nextInt();
            switch(pilihan){
                case 1:
                    user = "BATU";
                    break;
                case 2:
                    user = "KERTAS";
                    break;
                case 3:
                    user = "GUNTING";
                    break;
                case 4:
                    System.exit(0);
                default:
                    break;
            }
         
            //untuk cpu, generate secara random
            int generate = (int) (Math.random()*3+1);
            switch(generate){
                case 1:
                    cpu = "BATU";
                    break;
                case 2:
                    cpu = "KERTAS";
                    break;
                case 3:
                    cpu = "GUNTING";
                    break;
                default:
                    break;
            }
         
            //jika pilihan user tidak sesuai, program akan berhenti
            if(pilihan<1 || pilihan>4)
                System.out.println("Mohon Ulangi!");
         
            else if(user.equals(cpu)){
                hasil = "DRAW";
            } else if(user=="BATU" && cpu=="KERTAS"){
                hasil = "Anda Kalah";
            } else if(user=="BATU" && cpu=="GUNTING"){
                hasil = "Anda menang";
            } else if(user=="KERTAS" && cpu=="BATU"){
                hasil = "Anda Menang";
            } else if(user=="KERTAS" && cpu=="GUNTING"){
                hasil = "Anda Kalah";
            } else if(user=="GUNTING" && cpu=="KERTAS"){
                hasil = "Anda Menang";
            } else if(user=="GUNTING" && cpu=="BATU"){
                hasil = "Anda Kalah";
            }
         
            //print hasil game
            System.out.printf("%s %s %s %s %s %s",
                        "USER =",user,"CPU =",cpu,"HASIL =",hasil.toUpperCase());
            System.out.println("");
            System.out.println("");
        }catch(Exception e){
            System.out.println("Input yang anda masukkan Salah");
            System.out.println("");
            break;
        }
        }
    }
}
download this code

Outputnya kurang lebih seperti ini.


=======================================
GAME ROCK-PAPER-SCISSORS
1. BATU  2. KERTAS  3. GUNTING 4. Exit
=======================================
Pilihan Anda :
1
USER = BATU CPU = GUNTING HASIL = ANDA MENANG

=======================================
GAME ROCK-PAPER-SCISSORS
1. BATU  2. KERTAS  3. GUNTING 4. Exit
=======================================
Pilihan Anda :

Sekian tutorial Expert 4 ini. Semoga bermanfaat dan sampai jumpa di Expert 5.

^___^