Jumat, 16 Desember 2011

Penanganan Kejadian (event handling)

Penanganan Kejadian

package :
java.awt.event dan javax.swing.event

agar komponen dapat menangani kejadian, kompnen tsb harus :
1. didaftarkan menjadi pendengar (listener), contoh :

JButton tombolSelesai = new JButton("Selesai");
tombolSelesai.addActionListener(this);

scra umum bentuk metode nya :
    addxxxListener()

2. Harus mengimplementasikan suatu interface listener
3. Membuat object suatu kelas yang merupakan kelas adapter
4. Menulis kode pada metode penanganan kejadian

kelas adapter adalah kelas bawaan java yang mengandung nama adapter
                     dibagian belakang dan merupakan kelas abstrak
        yang merupakan implementasi dari suatu interface listener.

contoh :
windowAdapter = kelas abstrak yang mengimplementasi interface WindowListener
MouseAdapter = ----" ---- MouseListener

contoh program :

bSubmit.addActionListener(new ActionListener()
        {
            public void actionPerformed(ActionEvent e)
            {
                oNama.setText(tNama.getText());
            }
        } );
kelas dan interface pada java :

kejadian dan interface  |    metode --> listener     |     Komponen
------------------------------- |-----------------------------------------    |-------------------------------------
ActionEvent       |    addActionListener     |     JButton, JList dll
ActionListener      |            |   
--------------------------------|-------------------------------------------|--------------------------------------
 AdjusmentEvent      |              |
AdjustmentListener      |     addAdjusmentListener |     JScrollBar
------------------------------- | -------------------------------------------| ------------------------------------
 dll.

Listener dan metode penanganan kejadian :

Listener / Adapter      |     Metode
--------------------------    | -------------------------------------------------------
ActionListener     |     actionPerformed(ActionEvent)
--------------------------    | -------------------------------------------------------
AdjusmentListener     |     adjustmentValueChanged (AdjustmentEvent)
--------------------------    | -------------------------------------------------------
dll.


Listener         Interface             Listener Methods

ActionEvent     ActionListener         actionPerformed(ActionEvent)
ItemEvent     ItemListener         itemStateChanged(ItemEvent)
MouseEvent     MouseListener         mousePressed(MouseEvent)
                        mouseReleased

(MouseEvent)
                        mouseEntered(MouseEvent)
                        mouseExited(MouseEvent)
                        mouseClicked(MouseEvent)
                      MouseMotionListener

mouseDragged(MouseEvent)



konsep laen :

Dalam event handling pada Java ada empat bagian penting yang harus diketahui:

1.Event Object merupakan object yang mendiskripsikan sebuah event yang di-

trigger oleh event source.

2.Event Handler merupakan method yang menerima event object dan melakukan

respond yang sesuai dengan event object tersebut.

3.Event Listener merupakan interface yang akan meng-handle event yang terjadi.

setiap type event mempunyai interface yang bersesuaian. Listener tersebut harus

diimplementasikan oleh class yang akan meng-handle event

4.Event Source merupakan pembangkit / trigger sebuah event objects
setiap event object mempunyai  type event yang berbdea beda.

sehingga kita harus menentukan type event sebelum menentukan jenis interface

listener. karena setiap type event mempunyai jenis interface listener yang

bersesuaian.

berikut ini type type event yang ada di Java :

1.ActionEvent
2.ItemEvent
3.WindowEvent
4.ContainerEvent
5.ComponentEvent
6.FocusEvent
7.TextEvent
8.KeyEvent
9.MouseEvent
10.AdjustmentEvent

Berikut ini Interface Listener

1.ActionListener
2.ItemListener
3.WindowListener
4.ContainerListener
5.ComponentListener
6.FocusListener
7.TextListener
8.KeyListener
9.MouseListener
10.MouseMotionListener
11.AdjustmentListener

Berdasarkan tulisan diatas, setiap type event mempunyai satu jenis interface listener

kecuali MouseEvent yang mempunyai dua jenis interface listener. dan setiap

interface mempunyai method abstract yang harus di override class yang meng-

impletasikan interface.


event listener dan event handler terdapat pada package java.awt.event

Bagaimana event handling dalam Java? ada tiga langkah penting dalam event

handling

1.Deklarasikan class yang akan meng-handle event yang terjadi dan tuliskan code

yang menyatakan class tersebut meng-implement interface listener
2.Event source mendaftarkan sebuah listener melalui method add<type>Listener
3.Kode yang mengimplementasikan method pada interface listener pada class yang

akan meng-handle event. [ Override ]

Contoh program sederhana :

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class Penjumlahan2Field extends JFrame
{
    JLabel labelData1,labelData2,labelHasil;
    JTextField field1,field2,field3;
    JButton button;
   
    public Penjumlahan2Field()
    {
        setLayout(null);
        labelData1=new JLabel("Data 1 = ");
        field1=new JTextField(8);
        labelData2=new JLabel("Data 2 = ");
        field2=new JTextField(8);
        labelHasil=new JLabel("Hasil = ");
        field3=new JTextField(8);       
        button=new JButton("+");
       
        labelData1.setBounds(10,10,80,25);
        field1.setBounds(65,10,80,25);
        labelData2.setBounds(10,40,80,25);
        field2.setBounds(65,40,80,25);
        labelHasil.setBounds(10,70,80,25);
        field3.setBounds(65,70,80,25);
        button.setBounds(65,120,50,25);
       
        add(labelData1);
        add(field1);
        add(labelData2);
        add(field2);
        add(labelHasil);
        add(field3);
        add(button);
       
        ActionListener listener = new Penjumlahan2Field.Handler();
        button.addActionListener(listener);   
    }
   
    class Handler implements ActionListener{
        public void actionPerformed(ActionEvent e){
            String s = e.getActionCommand();
           
            if(s.equals("+")){
                String data1=field1.getText();
                String data2=field2.getText();
               
                int a=Integer.parseInt(data1);
                int b=Integer.parseInt(data2);       

       
                int hasil=a+b;
                field3.setText(Integer.toString(hasil));
            }
        }
    }
   
    public static void main(String [] args)
    {
        Penjumlahan2Field frame=new Penjumlahan2Field();
        frame.setTitle("Penjumlahan");
        frame.setSize(200,200);
        //frame.setLocationRelationTo(null);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }
}

Senin, 14 November 2011

Penerapan Polymorphism


polymorphism adalah kemampuan sebuah untuk menerjemahkan suatu method menjadi
berbagai macam aksi.

Polymorphism membolehkan kelas induk (superclass) untuk mendefinisikan method umum
untuk semua turunannya. Kelas-kelas turunannya dapat mengimplementasikan method tersebut
sesuai dengan karakteristik masing-masing kelas.

Contoh Penerapan polymorphism.

class Bangun
{
    public double hitungLuas()
    {
        System.out.println("Method umum");
        return 0;
    }
}

class BujurSangkar extends Bangun
{
    private double sisi;

    BujurSangkar(int s)
    {
        sisi = s;
    }

    //overriding method hitungLuas()
    public double hitungLuas()
    {
        double luas = sisi * sisi;
        return luas;
    }
}

class Segitiga extends Bangun
{
    private double alas;
    private double tinggi;

    Segitiga (int a, int t)
    {
        alas = a;
        tinggi = t;
    }

// overriding method hitungLuas()
    public double hitungLuas()
    {
        double luas = 0.5 * alas * tinggi;
        return luas;
    }
}

class Lingkaran extends Bangun
{
    private double jarijari;
    private final double PI = 3.1416;

    Lingkaran(int r)
    {
        jarijari = r;
    }

    //overriding method hitungLuas()
    public double hitungLuas()
    {
        double luas = PI * jarijari * jarijari;
        return luas;
    }
}

class DemoPolimorfisme2
{
    public static void main(String[] args)
    {
        Bentuk obyek;
        BujurSangkar b = new BujurSangkar(12);
        Segitiga s = new Segitiga(5, 6);
        Lingkaran l = new Lingkaran(4);

        // obyek mengacu pada objek BujurSangkar
        obyek = b;

        // akan memanggil method yang terdapat pada BujurSangkar
        System.out.println(“Luas bujursangkar : “ + obyek.hitungLuas());
        System.out.println();

        // obyek mengacu pada objek Segitiga
        obyek = s;
       
        // akan memanggil method yang terdapat pada Segitiga
        System.out.println(“Luas segitiga : “ + obyek.hitungLuas());
        System.out.println();

        // obyek mengacu pada objek Lingkaran
        obyek = l;

        // akan memanggil method yang terdapat pada Lingkaran
        System.out.println(“Luas lingkaran: “ + obyek.hitungLuas());
        System.out.println();
    }
}

Pada diatas kita menggabungkan contoh-contoh sebelumnya untuk menunjukkan bagaimana
polymorphism terbentuk.

Kelas induk adalah Bangun dan mempunyai subclass yaitu BujurSangkar, Segitiga dan Lingkaran.
Semuanya subclass mempunyai method hitungLuas() yang diturunkan dari kelas Bangun.

Perhatikan bahwa meskipun nama method hitungLuas() ada pada semua subclass,
ternyata penerapannya berbeda-beda tergantung pada subclass masing-masing.

Penerapan Inheritance atau pewarisan

Pewarisan adalah keuntungan besar dalam pemrograman beorientasi
obyek karena suatu sifat atau method yang telah didefinisikan dalam superclass,
secara otomatis diwariskan dari pada semua subclasses.

Jadi kita mungkin hanya perlu mendefinisikan method satu kali di superclass kemudian dapat kita
gunakan pada subclass.

contoh :

class SuperA
{
    private int a;
    public void setSuperA(int nilai)
    {
        a = nilai;
    }
   
    public int getSuperA() {
        return a;
    }
}

// membuat kelas turunan (subclass) dari kelas A
class SubB extends SuperA
{
    private int b;
    public void setSubB(int nilai)
    {
        b = nilai;
    }

    public int getSubB()
    {
        return b;
    }
}

class DemoKelasTurunan1
{
    public static void main(String[] args)
    {
   
    // melakukan instansiasi terhadap kelas B
    SubB ObyekB = new SubB();
   
    // mengeset nilai objek dari kelas B
    ObyekB.setSuperA(50);
    ObyekB.setSubB(200);

    // mendapatkan nilai yang terdapat dalam objek dari kelas B
    System.out.println("Nilai a : " + Obyek.getSuperA());
    System.out.println("Nilai b : " + Obyek.getSubB());
    }
}

Pada kode di atas, class SuperA adalah super class yang memiliki satu
data yaitu a dan dan dua method yaitu setSuperA dan getSuperA.

Class SubB adalah turunan dari kelas SuperA (perhatikan deklarasi class SubB extends SuperA).

Data dan method yang ada pada class SuperA secara otomatis akan dibawa ke class SubB.

Sehingga class SubB akan mempunyai dua data yaitu a dan b.

Data a adalah hasil warisan dari class SuperA sedang data b adalah milik class SubB sendiri.

Method pada class SubB akan terdiri dari empat method,
yaitu setSuperA dan getSuperA yang merupakan warisan dari class SuperA serta
class setSubB dan getSubB yang milik class SubB sendiri.





contoh Penerapan inheritance untuk menghitung luas dan volume.


class Bangun
{
    protected double panjang;
    protected double lebar;

    // constructor default
Bangun()
{
    panjang = lebar = 0;
}

Bangun(double p, double l)
{
    panjang = p;
    lebar = l;
}

// method yang mengembalikan nilai
public double hitungLuas()
{
    double luas = panjang * lebar;
    return luas;
}
}

class Box extends Bangun
{
    private double tinggi;
   
    // constructor class Box
    Box (int p, int l, int t) {
    panjang = p;
    lebar = l;
    tinggi = t;
}

public double getTinggi()
{
    return tinggi;
}

public double hitungVolume()
{
    double volume = panjang * lebar * tinggi;
    return volume;
}
}

class inheritBangun
{
    public static void main(String[] args)
    {
        Box kotak;

        // instansiasi obyek
        kotak = new Box(6, 8, 3);

        // memanggil method hitungLuas(), getTinggi() dan hitung volume()
        System.out.println("Luas salah satu sisi = " + kotak.hitungLuas());
        System.out.println("Tinggi kotak = " + kotak.getTinggi());
        System.out.println("Volume kotak = " + kotak.hitungVolume());
    }
}

Kelas Bangun di atas adalah superclass sedangkan Box adalah subclass.
Pada default constructor Bangun, nilai panjang dan lebar diinisialisasi dengan nilai 0.

Perhatikan didepan deklarasi variabel panjang dan lebar pada kelas Bangun dicantumkan kata

kunci protected yang berarti kelas turunan dari Bangun tetap dapat mengakses nilai dari variabel

tersebut namun yang tidak memiliki hubungan turunan tidak dapat mengaksesnya.

Pada Box yang merupakan subclass ditambahkan satu variabel yaitu tinggi
dengan tambahan kata kunci private diikuti tipe datanya.

Private menunjukkan bahwa variabel tinggi hanya bisa diakses didalam kelas Box. Lawan dari

private adalah public, yang berarti dapat diakses oleh siapapun dan dari manapun.

Pada kelas Box juga kita tambahkan satu method yaitu hitungVolume().
Pada contoh di atas obyek yang kita buat yaitu kotak, merupakan hasil instansiasi dari kelas Box.

Oleh karena kelas Box adalah turunan dari kelas Bangun, maka kita dapat mengakses method

hitungLuas() yang merupakan warisan dari kelas Bangun.

Tentu saja kita bisa mengakses method getTinggi() dan hitungVolume() yang merupakan method

pada kelas Box.




Pemrograman Berorientasi Obyek

Pemrograman Berorientasi Obyek (Object Oriented Programming – OOP)
adalah programming paradigm yang menggunakan obyek dan interaksinya untuk
merancang aplikasi dan program komputer.

Ada beberapa konsep penting yang kalian harus pahami dalam
pemrograman berorientasi yaitu, abstraksi, enkapsulasi, inheritance dan polymorphism.

a. Abstraksi

Abstraction atau disebut juga composition merupakan prinsip
penyederhanaan dari sesuatu yang kompleks dengan cara memodelkan kelas
sesuai dengan masalahnya.

sebuah mobil jika dipecah-pecah bagian-bagiannya kita akan dapatkan
seperti ban, mesin, rangka, mobil, kaca, dan lain-lain dan hal in berlaku sebaliknya.
Jika kita gabungkan bagian-bagian tersebut maka kita akan mendapatkan sebuah kelas mobil.

Pada pemrograman berorientasi obyek biasanya kalau kita menjumpai beberapa kelas
atau obyek yang kalau diidentifikasi memiliki banyak kesamaan atribut dan
method maka kita akan menggabungkan kelas-kelas tersebut menjadi satu super
class.

b. Enkapsulasi

Prinsip encapsulation adalah prinsip penyembunyian detil dari sebuah
kelas terhadap obyek yang berinteraksi terhadapnya.

Sebagai contoh ketika kita menjalankan mobil, sebenarnya kita sedang berinteraksi dan
kita meminta kepada mobil untuk menjalankan methodnya seperti maju, mundur atau
berhenti. Kita berinteraksi hanya dengan beberapa bagian dari mobil (interface)
seperti persneling, setir, pijakan gas, pijakan rem dan bagian lain.

Tapi detil proses yang terjadi didalam mobil bagaimana bisa maju, mundur atau berhenti
kita tidak perlu tahu.

c. Inheritance

Inheritance atau pewarisan adalah prinsip pewarisan sifat dari orang tua
ke anak atau turunannya yang diterapkan pada kelas.

Orang tua memiliki atribut dan method yang lebih umum dibandingkan dengan anak
atau turunannya.

kita bisa tahu bahwa mobil memiliki atribut dan method yang
lebih umum dibandingkan dengan sedan , truk atau bus.

Mobil sebagai kelas yang mewarisi disebut sebagai super class, sedangkan sedan,
truk dan bus sebagai kelas yang diwarisi disebut sub class.

d. Polymorphism

Arti dari polymorphism adalah kemampuan dari suatu obyek untuk
mempunyai lebih dari satu bentuk.

Atau dalam pengertian lain adalah kita dapat menerapkan sesuatu hal yang berbeda melalui
suatu cara yang sama.

Sebagai contoh kalau ada empat ekor hewan berbeda
yaitu burung, ular, katak, dan singa kemudian kita minta untuk bergerak, maka
burung akan terbang, ular akan melata, katak melompat, singa mungkin akan
berlari.

Jadi suatu method yang sama mungkin bisa diterapkan secara lain jika
obyek yang menerapkan adalah berlainan.

1. Class

jawab :

Class atau kelas mendefinisikan karakteristik abstrak dari sesuatu
termasuk atribut atau sifat-sifat dari sesuatu dan apa yang dapat dikerjakan oleh
sesuatu (method). Sebagai contoh, mobil adalah sebuah kelas yang memiliki
attribut warna, merek, tipe dan lain-lain. Mobil juga punya method antara lain,
maju, mundur dan berhenti.

1.a. Pembuatan Kelas

Pada Java kelas didefinisikan dengan kata kunci class.
Bentuk umum untuk mendefinisikan kelas adalah sebagai berikut:

class NamaKelas
tipe data1;
tipe data2;

tipe dataN;
tipe method1 (daftar parameter) {
//blok kode untuk method1
}
tipe method2 (daftar parameter) {
//blok kode untuk method2
}

tipe methodN (daftar parameter) {
//blok kode untuk methodN
}
}

contoh :

class Siswa
{
    String name;
    String alamat;
    int usia;
}

Data atau variabel yang didefinisikan di dalam kelas sering disebut sebagai instance variable.

Nilai-nilai variabel ini akan dibaca melalui method-method yang tersedia.
Dengan demikian method digunakan sebagai antarmuka (interface) antara pemakai kelas dengan

data yang ada di dalam kelas tersebut.

2. Object

jawab :

Apakah obyek itu? Semua benda yang ada didunia ini dapat kita sebut
sebagai obyek. Guru mata pelajaran RPL kalian adalah suatu obyek.
Buku yang kalian pegang ini juga suatu obyek.
Bahkan mata pelajaran RPL adalah juga sebuah obyek.
Setiap obyek akan mempunyai karakteristik dan tingkah laku tertentu.
Karakteristik disebut attribute dan tingkah laku disebut sebagai behavior atau method.

contoh :

class Siswa
{
    String nama;
    String alamat;
    int usia;
}

public class DataSiswa
{
public static void main(String[] args)
{
    siswa siswa1 = new Siswa();
    siswa1.nama = "Roni";
    siswa1.alamat = "Mergosono Gg. 1 No. 34";
    siswa1.usia = 23;

    System.out.println("Nama :" + siswa1.nama);
    System.out.println("Alamat :" + siswa1.alamat);
    System.out.println("Usia :" + siswa1.usia);
}
}

Kode program di atas harus kita simpan dengan nama file DataSiswa.java,
bukan Siswa.java.

Hal ini karena method main berada pada class DataSiswa.

Pada kode di atas kelas Siswa kita gunakan pada kelas DataSiswa.
Kita membuat obyek aktual dari kelas Siswa dengan cara mengetikkan Siswa
siswa1 = new Siswa();.

Siswa1 adalah nama obyek aktual dari kelas Siswa.
Setelah itu baru kita dapat menggunakan variabel atau data yang ada pada kelas siswa.

3. Instantiate

Instansiasi Class Untuk membuat sebuah objek atau sebuah instance pada sebuah class.
Kita menggunakan operator new.

Sebagai contoh, jika anda ingin membuat instance dari class string,
kita menggunakan kode berikut :

String str2 = new String(“Hello world!”);

4. Instance Variable
jawab :
instance variabel adalah Data atau variabel yang didefinisikan di dalam kelas.

5. Instance Method

jawab :

Sebuah method adalah bagian-bagian kode yang dapat dipanggil oleh program utama atau
dari method lainnya untuk menjalankan fungsi yang spesifik.

Petunjuk Penulisan method :
1. Nama method harus dimulai dengan huruf kecil
2. Nama method harus berupa kata kerja
3. Gunakan dokumentasi sebelum mendeklarasikan sebuah method.

Berikut adalah karakteristik dari method :
1.dapat mengembalikan satu nilai atau tidak sama sekali
2.dapat diterima beberapa parameter yang dibutuhkan atau tidak ada parameter sama sekali.
   Parameter bisa juga disebut sebagai argumen dari fungsi
3. setelah method telah selesai dieksekusi, dia akan kembali pada method yang memanggilnya.

contoh program :

class Siswa
{
    String nama;
    String alamat;
    int usia;
    double nilaiMatematika;
    double nilaiBhsInggris;
    double nilaiBhsIndonesia;
    double rerata;

// Menghasilkan nama dari Siswa
public String getNama()
{
    return nama;
}

public void setNama( String temp )
{
    nama = temp;
}

// Menghitung rata – rata nilai
public double getRerata()
{
    rerata = (nilaiMatematika+nilaiBhsInggris+nilaiBhsIndonesia )/3;
    return rerata;
}
}

public class DataSiswa
{
    public static void main(String[] args)
    {
        Siswa siswa1 = new Siswa();
        siswa1.setNama("Rony");
        siswa1.nilaiMatematika = 67;
        siswa1.nilaiBhsInggris = 87;
        siswa1.nilaiBhsIndonesia = 59;

        System.out.println("Nama :" +siswa1.getNama());
        System.out.println("Nilai Matematika :" + siswa1.nilaiMatematika);
        System.out.println("Nilai Bahasa Inggris :" + siswa1.nilaiBhsInggris);
        System.out.println("Nilai Bahasa Indonesia :" + siswa1.nilaiBhsIndonesia);
        System.out.println("Rerata :" + siswa1.getRerata());
    }
}

Contoh Pembuatan method tanpa pengembalian nilai.

Class Bangun
{
    double panjang;
    double lebar;

// Mendefinisikan method void (tidak mengembalikan nilai)
void cetakLuas()
{
    System.out.println(“Luas bangun = “ + (panjang * lebar));
}
}

class pakaiBangun
{
    public static void main(String[] args)
    {
    Bangun b1, b2;

    // instansiasi objek
    b1 = new Bangun();
    b2 = new Bangun();

    // mengisi data untuk objek b1
    b1.panjang = 4;
    b1.lebar = 3;

    // mengisi data untuk objek b2
    b2.panjang = 6;
    b2.lebar = 5;

    // memanggil method cetakLuas() untuk masing-masing objek
    b1.cetakLuas();
    b2.cetakLuas();
    }
}

Contoh Pembuatan method dengan pengembalian nilai.

Class Bangun
{
    double panjang;
    double lebar;

    // Mendefinisikan method yang mengembalikan nilai

    double hitungLuas()
    {
        double luas = panjang * lebar;
        return luas;
    }
}

class pakaiBangun
{
    public static void main(String[] args)
    {
        Bangun b1, b2;

        // instansiasi objek
        b1 = new Bangun();
        b2 = new Bangun();

        // mengisi data untuk objek b1
        b1.panjang = 4;
        b1.lebar = 3;

        // mengisi data untuk objek b2
        b2.panjang = 6;
        b2.lebar = 5;

        // memanggil method hitungLuas() untuk masing-masing objek
        System.out.println(“Luas b1 = “ + b1.hitungLuas());
        System.out.println(“Luas b2 = “ + b2.hitungLuas());
    }
}

Pada contoh diatas kita membuat metode hitungLuas yang mengembalikan nilai.

Perhatikan deklarasi method tidak lagi menggunakan void
tetapi menggunakan double yang merupakan tipe data nilai yang dikembalikan.

Untuk mengembalikan nilai digunakan kata kunci return.


Contoh Pembuatan method dengan argumen.

class Bangun
{
    double panjang;
    double lebar;
   
    // method dengan argumen
    void isiData(double p, double l)
    {
        panjang = p;
        lebar = l;
    }

    // method yang mengembalikan nilai
    double hitungLuas() {
        double luas = panjang * lebar;
        return luas;
    }
}

class pakaiBangun
{
    public static void main(String[] args)
    {
        Bangun b;
       
        // instansiasi obyek
        b = new Bangun();

        // memanggil method isiData dan mengisi argumennya
        b.isiData(6,8);

        // memanggil method hitungLuas() untuk objek b
        System.out.println("Luas b = " + b.hitungLuas());
    }
}

Pada contoh diatas kita menambahkan satu method lagi pada class Bangun yaitu isiData.
Karena tidak mengembalikan nilai maka kita menggunakan void.

Method ini mempunyai dua buah argument yaitu p dan l
yang digunakan untuk menampung nilai yang akan kita masukkan.

6. Class Variables atau static member variables

Disamping instance variable, kita juga dapat mendeklarasikan class variable atau variabel
yang dimiliki class sepenuhnya.

Nilai pada variabel ini sama pada semua object di class yang sama.

Anggaplah kita menginginkan jumlah dari siswa yang dimiliki dari seluruh class,
kita dapat mendeklarasikan satu static variable yang akan menampung nilai tersebut.

Kita beri nama variabel tersebut dengan nama studentCount.

Berikut penulisan static variable :

public class StudentRecord
{
    //area deklarasi instance variables
    private static int studentCount;

    //area penulisan kode selanjutnya
}

Kita gunakan keyword : ’static’

untuk mendeklarasikan bahwa variabel tersebut adalah static.

Maka keseluruhan kode yang dibuat terlihat sebagai berikut :

public class StudentRecord
{
    private String name;
    private String address;
    private int age;
    private double mathGrade;
    private double englishGrade;
    private double scienceGrade;
    private double average;
    private static int studentCount;

    //area penulisan kode selanjutnya
}


7. Constructor

Constructor yang merupakan method khusus, merupakan method yang
didefiniskan di dalam kelas dan akan dipanggil secara otomatis setiap kali terjadi
pendefinisian (instansiasi) obyek.

Biasanya constructor berfungsi untuk melakukan inisialisasi nilai terhadap data-data
yang terdapat pada kelas yang bersangkutan.

Nama method constructor harus sama dengan nama kelas itu sendiri.
Constructor tidak memiliki kembalian nilai dan tidak void.

contoh :

class Bangun
{
    double panjang;
    double lebar;
   
    // constructor dengan argumen
    Bangun(double p, double l)
    {
        panjang = p;
        lebar = l;
    }

    // method yang mengembalikan nilai
   
    double hitungLuas()
    {
        double luas = panjang * lebar;
        return luas;
    }
}

class pakaiBangun
{
    public static void main(String[] args)
    {
        Bangun b;

        // instansiasi obyek
        b = new Bangun();
   
        // memanggil method isiData dan mengisi argumennya
        b.isiData(6,8);

        // memanggil method hitungLuas() untuk objek b
        System.out.println("Luas b = " + b.hitungLuas());
    }
}

Pada kode ini terdapat constructor dengan nama yang sama dengan kelasnya yaitu Bangun.

Constructor seperti halnya method yang lain boleh mempunyai argumen dan boleh tidak.
Pada contoh di atas kita constructor Bangun mempunyai argumen p dan l.

Senin, 07 November 2011

Penjumlahan dua matrik di java

soal selanjutnya...

yang atas kan sudah?
betul,  buat 2 buah matrik yaitu matrik A dan matrik B
kemudian jumlahkan kedua matrik tersebut? jumlah baris dan kolom kalian tentukan
jumlah baris dan kolom matrik A dan B harus sama.
contoh :
matrik A =
      5    7
      2    10
dan

Matrik B =
      6     3
      9     23

hasil penjumlahan:

matrik C =
     11    10
     11     33

kalian kan pernah mengerjakannya di c++
nah tinggal mengkonversi ke java aja kan beres.
yo dah klo ndak ngerti maksud dari soal diatas...kurang lebih jawabannya sebagai berikut...
mau ndak...? dikasih jawabane .....

jawab :

import javax.swing.JOptionPane;
import java.*;

public class MatrikJumlah
{
    public static void main(String [] args)
    {
        String jumlah="";
        int jumlahInt;
       
        jumlah=JOptionPane.showInputDialog("Jumlah Baris dan Kolom : ");
        jumlahInt=Integer.parseInt(jumlah);
       
        String matrikA[][]=new String[jumlahInt][jumlahInt];
        int mA[][]=new int[jumlahInt][jumlahInt];
       
        String matrikB[][]=new String[jumlahInt][jumlahInt];
        int mB[][]=new int[jumlahInt][jumlahInt];
       
        int mC[][]=new int[jumlahInt][jumlahInt];
           
        //isi matrik A
        System.out.println("MAtrik A");
        for(int i=0;i<jumlahInt;i++)
        {
            for(int j=0;j<jumlahInt;j++)
            {
            matrikA[i][j]=JOptionPane.showInputDialog("Matrik A["+i+","+j+"] = ");
            mA[i][j]=Integer.parseInt(matrikA[i][j]);
            System.out.print(mA[i][j]+"\t");
            }
            System.out.println("");
        }
           
        //isi matrik B
        System.out.println("\nMAtrik B");
        for(int i=0;i<jumlahInt;i++)
        {
            for(int j=0;j<jumlahInt;j++)
            {
            matrikB[i][j]=JOptionPane.showInputDialog("Matrik B["+i+","+j+"] = ");
            mB[i][j]=Integer.parseInt(matrikB[i][j]);
            System.out.print(mB[i][j]+"\t");
            }
            System.out.println("");
        }
           
        //penjumlahan matrik A dan matrik B
        for(int i=0;i<jumlahInt;i++)
        {
            for(int j=0;j<jumlahInt;j++)
            {
                mC[i][j]=mA[i][j]+mB[i][j];
            }
        }
           
        //hasil
        System.out.println("\nMatrik A + Matrik B = ");
        for(int i=0;i<jumlahInt;i++)
        {
            for(int j=0;j<jumlahInt;j++)
            {
                System.out.print(mC[i][j]+"\t");
            }
                System.out.println("");
        }   
    }
}

Contoh soal Array dua Dimensi

// buat array dua dimensi dengan inputan :
    a. jumlah data ?
    b. nama ?
    c. nilai1 ?
    d. nilai2 ?

dengan outputan sbb :
(auto)                    (auto)    (auto)
No      Nama         Nilai1     Nilai2     Total     Rata2
=====================================================
1    alex                  80          70          150    75
2    buyung             65          70          135    67,5
3    candra             50           50         100    50
4    jakram             80          90          170    85
5    nia                   65          80           145    72,5   

silahkan dikerjakan.....
jawab :

import javax.swing.JOptionPane;
import java.*;

public class ContohArray2
{
    public static void main(String [] args)
    {
        String juml="";
        int jumlah;
       
        juml=JOptionPane.showInputDialog("Jumlah Data : ");
        jumlah=Integer.parseInt(juml);
       
        int no[][]=new int [jumlah][6];
        String namaS[][]=new String [jumlah][6];
        String nilai1S[][]=new String [jumlah][6];
        String nilai2S[][]=new String [jumlah][6];
        double nilai1[][]=new double [jumlah][6];
        double nilai2[][]=new double [jumlah][6];
        double total[][]=new double [jumlah][6];
        double rata[][]=new double [jumlah][6];
       
       
        for(int i=0;i<jumlah;i++)
        {
                no[i][0]=(i+1);
                namaS[i][1]=JOptionPane.showInputDialog("Nama  Siswa ke -"+(i+1)+" : ");
                nilai1S[i][2]=JOptionPane.showInputDialog("Nilai 1 Siswa ke -"+(i+1)+" : ");
                nilai2S[i][3]=JOptionPane.showInputDialog("Nilai 2 Siswa ke -"+(i+1)+" : ");
                nilai1[i][2]=Double.parseDouble(nilai1S[i][2]);
                nilai2[i][3]=Double.parseDouble(nilai2S[i][3]);
                total[i][4]=(nilai1[i][2])+(nilai2[i][3]);
                rata[i][5]=(total[i][4])/2;
        }
       
        System.out.println("No\tNama\tNilai1\tNilai2\tTotal\tRata2");
        System.out.println("======================================");
       
        for(int i=0;i<jumlah;i++)
        {
                System.out.print(i+1);
                System.out.print("\t");
                System.out.print(namaS[i][1]);
                System.out.print("\t");
                System.out.print(nilai1[i][2]);
                System.out.print("\t");
                System.out.print(nilai2[i][3]);
                System.out.print("\t");
                System.out.print(total[i][4]);
                System.out.print("\t");
                System.out.print(rata[i][5]);
                System.out.println("");
        }
      }
}

Sabtu, 05 November 2011

Array menampilkan nilai max, min, rata dari sejumlah siswa

Buat program untuk menampilkan nilai siswa, dimana banyak nya siswa tidak                  
ditentukan, kemudian :
    a. Tampilkan data dari yang awal hingga akhir
    b. Hitung Jumlah nilai seluruh siswa
    c. Hitung rata-rata
    d. Nilai Maksimum
    e. Nilai Minimum

jawab :

import java.util.Scanner;

public class NilaiArray
{
   public static void main(String [] args)
   {
   
    int i,x;
    float total=0;
    float rata;
    Scanner scan=new Scanner(System.in);
    int [] nilai = {70,80,67,90,100};
   
    for (i=0;i<5;i++)
    {
        System.out.println("Nilai ke-"+(i+1)+" = "+nilai[i]);
    }
   
    java.util.Arrays.sort(nilai);
    System.out.println("Nilai urut dari yang terkecil ");
    for (i=0;i<5;i++)
    {
        System.out.print(nilai[i]+" ");
    }
   
    // 100 90 80 70 67

    System.out.println("\nNilai urut dari yang terbesar");
    for (i=(5-1);i>=0;i--)
    {
        System.out.print(nilai[i]+" ");
    }

    for (i=0;i<5;i++)
    {
        total=total+nilai[i];
    }
    System.out.println("\nTotal= "+total);
   
    rata=total/5;
    System.out.println("\n Rata-rata = "+rata);
   
    System.out.println("\n Max= "+nilai[4]);
    System.out.println("\n Min="+nilai[0]);
/*
    x=nilai[0]; // ==> 70
    for (i=1;i<5;i++) // ==> 80
    {
        if(nilai[i]>x)
        x=nilai[i];
    }
    System.out.print("\nNilai terbesar = "+x);
    System.out.println("\n");
*/
   
   }
}

Array mencari siswa yang tertua dan siswa yang paling muda

Buat program untuk mencari siapa siswa yang tertua dan siswa yang paling muda,
    dimana data yang dimasukkan belum ditentukan banyaknya.

misal :
masukkan jumlah siswa = 3
umur siswa ke 1 = 18
umur siswa ke 2 = 45
umur siswa ke 3 = 81

siswa yang paling muda berumur 18 tahun
siswa yang paling tua berumur 81 tahun

jawab :
import java.util.Scanner;

public class Siswa
{
    public static void main(String [] args)
    {
    int total=0,x;
    float rata;

    Scanner scan=new Scanner(System.in) ;
    System.out.print("Masukkan jumlah siswa= ");
    int siswa=scan.nextInt();

    int arraySiswa[]=new int[siswa];
    for (int i=1;i<siswa;i++)
    {
        System.out.print("Umur Siswa ke-"+i+" = ");
        arraySiswa[i]=scan.nextInt();
    }

    //tertua dan termuda

    x=arraySiswa[0];
    for (int indeks=1;indeks<siswa;indeks++)
    {
        if(arraySiswa[indeks]>x)
        x=arraySiswa[indeks];
    }
    System.out.print("\nUmur siswa yang paling tua = "+x);
    System.out.println("\n");

    x=arraySiswa[0];
    for (int indeks=1;indeks<siswa;indeks++)
    {
        if(arraySiswa[indeks]<x)
        x=arraySiswa[indeks];
    }
    System.out.print("\nUmur siswa yang paling muda = "+x);
    System.out.println("\n");
   

    }
}

Array menampilkan nilai dari sejumlah siswa dimana jumlah siswa

Buat program untuk menampilkan nilai dari sejumlah siswa dimana jumlah siswa tergantung dari masukkan user,dan semua nilai diinputkan, kemudian cari :
    a. Jumlah
    b. rata-rata
jawab :
import java.util.Scanner;

public class Rata
{
    public static void main(String [] args)
    {
    int total=0;
    float rata;

    Scanner scan=new Scanner(System.in) ;
    System.out.print("Berapa kali memasukkan nilai = ");
    int nilai=scan.nextInt();

    int arrayNilai[]=new int[nilai];
    for (int i=0;i<nilai;i++)
    {
        System.out.print("Nilai ke-"+i+" = ");
        arrayNilai[i]=scan.nextInt();
    }

    for (int j=0;j<nilai;j++)
    {
        total=total+arrayNilai[j];
    }
    rata=total/nilai;
    System.out.print("Total Nilai = "+total);
    System.out.print("\nRata-rata Nilai = "+rata);
    }
}

ARRAY menampilkan data nilai siswa

Buat program untuk menampilkan data nilai siswa!.
    dimana nilai[5]={70,80,67,90,100}

jawab :

import java.util.Scanner;

public class NilaiArray
{
   public static void main(String [] args)
   {
    Scanner scan=new Scanner(System.in);
    int [] nilai = {70,80,67,90,100};
   
    for (int i=0;i<5;i++)
    {
        System.out.println("Nilai ke-"+i+" = "+nilai[i]);
    }
   
   }
}

SOAL ARRAY SATU DIMENSI

buatlah dua buah array (A dan B) dengan jumlah anggota array (n)
ditentukan oleh user, kedua array tersebut harus memiliki jumlah
anggota yang sama. kemudian lakukan operasi-operasi berikut, dan
simpan hasilnya dalam sebuah array yang laen.
    a. A+B
    b. A*B
    c. A/B
    d. Cari nilai yang terbesar dan terkecil dari A dan B
    e. Balik urutan nilai A, dan jumlahkan dengan array B

jawab :

import java.util.Scanner;

public class PenjumlahanDuaArray
{
public static void main (String[]args)
{
    int a, b,x,w;

    Scanner scan=new Scanner(System.in);
    System.out.print("Masukkan jumlah array A = ");
    a=scan.nextInt();   
   
    System.out.print("Masukkan jumlah array B = ");
    b=scan.nextInt();   
    System.out.println("\n");

    // INPUT

    int arrayA[]=new int[a];
    for (int i=0;i<a;i++)
    {
        System.out.print("Masukkan nilai Array A ke-"+i+" =");
        arrayA[i]=scan.nextInt();   
    }
   
   
    System.out.println("\n");
    int arrayB[]=new int[b];
    for (int k=0;k<a;k++)
    {
        System.out.print("Masukkan nilai Array B ke-"+k+" =");
        arrayB[k]=scan.nextInt();   
    }
   
    //Penjumlahan

    int arrayC[]=new int[a];
    for (int m=0;m<arrayA.length;m++)
    {
        arrayC[m]=arrayA[m]+arrayB[m];
    }

    //Perkalian

    int arrayD[]=new int[a];
    for (int m=0;m<arrayA.length;m++)
    {
        arrayD[m]=arrayA[m]*arrayB[m];
    }

    //Pembagian

    int arrayE[]=new int[a];
    for (int m=0;m<arrayA.length;m++)
    {
        arrayE[m]=arrayA[m]/arrayB[m];
    }

    // OUTPUT

    System.out.println("\n");
    System.out.print("Array A = [ ");
    for (int j=0;j<a;j++)
    {
        System.out.print(arrayA[j]+" ");
    }
    System.out.print("]");
   
    System.out.println("\n");
    System.out.print("Array B = [ ");
    for (int l=0;l<a;l++)
    {
        System.out.print(arrayB[l]+" ");
    }
    System.out.print("]");
   
   
    System.out.println("\n");
    System.out.print("Hasil Penjumlahan = [ ");
    for (int n=0;n<arrayA.length;n++)
    {
        System.out.print(arrayC[n]+" ");
    }
    System.out.print("]");

    System.out.println("\n");
    System.out.print("Hasil Perkalian = [ ");
    for (int n=0;n<arrayA.length;n++)
    {
        System.out.print(arrayD[n]+" ");
    }
    System.out.print("]");

    System.out.println("\n");
    System.out.print("Hasil Pembagian = [ ");
    for (int n=0;n<arrayA.length;n++)
    {
        System.out.print(arrayE[n]+" ");
    }
    System.out.print("]");
    System.out.println("\n");

    //terbesar dan terkecil
    x=arrayA[0];
    for (int indeks=1;indeks<a;indeks++)
    {
        if(arrayA[indeks]>x)
        x=arrayA[indeks];
    }
    System.out.print("\nNilai terbesar dari Array A = "+x);
    System.out.println("\n");

    x=arrayA[0];
    for (int indeks=1;indeks<a;indeks++)
    {
        if(arrayA[indeks]<x)
        x=arrayA[indeks];
    }
    System.out.print("\nNilai terkecil dari Array A = "+x);
    System.out.println("\n");
   
    x=arrayB[0];
    for (int indeks=1;indeks<b;indeks++)
    {
        if(arrayB[indeks]>x)
        x=arrayB[indeks];
    }
    System.out.print("\nNilai terbesar dari Array B = "+x);
    System.out.println("\n");

    x=arrayB[0];
    for (int indeks=1;indeks<b;indeks++)
    {
        if(arrayB[indeks]<x)
        x=arrayB[indeks];
    }
    System.out.print("\nNilai terkecil dari Array B = "+x);
    System.out.println("\n");

    //membalik urutan array A
   
    int arrayBalikA[]=new int[a];
   
    for (int d=a-1;d>=0;d--)
    {
        arrayBalikA[a-1-d]=arrayA[d];   
    }   

    int arrayJmlBalikA[]=new int[a];
    for (int k=0;k<a;k++)
    {
        arrayJmlBalikA[k]=arrayBalikA[k]+arrayB[k];
    }

    System.out.println("\n");
    System.out.print("Hasil array A dibalik urutannya = [ ");
    for (int n=0;n<a;n++)
    {
        System.out.print(arrayBalikA[n]+" ");
    }
    System.out.print("]");

    System.out.println("\n");
    System.out.print("Hasil array A dibalik + array B = [ ");
    for (int n=0;n<a;n++)
    {
        System.out.print(arrayJmlBalikA[n]+" ");
    }
    System.out.print("]");
    System.out.println("\n");
   
}
}

soal ulangan java kode B

Buat program di java :

ada suatu kondisi dimana pada tempat fotokopi "MANDIRI Fotocopy"
apabila dia pelanggan pada tempat itu maka berapa lembar pun
banyaknya dia fotokopi di dapat harga Rp.75,-.

tapi jika dia bukan pelanggan maka :
a. jika dia fotokopi kurang dari 100 lembar maka dapet harga Rp.150,-
b. jika fotokopi sebanyak 100-200 lembar dapet harga Rp.100,-
c. tapi jika fotokopi lebih dari 200 lembar dia dapet harga Rp.80,-

contoh keluaran :

Apakah pelanggan ? = ...
Banyak fotokopi = ...

Harga = otomatis keluar
Bayar = ...(didapat dari jumlah lembar fotokopi x harga)

jawab :
//input dengan scanner type data string

import java.util.Scanner;

public class FotoKopi
{
    public static void main(String[] args)
    {
    String lagi="";
    String pelanggan="";
    do {
        Scanner sc = new Scanner (System.in);

        System.out.print("Apakah Pelanggan (y/t) = ");
        pelanggan = sc.nextLine ();
        if (pelanggan.equals("Y")||pelanggan.equals("y"))
        {
            System.out.print("Jumlah Fotokopi = ");
            int jumlah= sc.nextInt();
            int bayar = 75*jumlah;
            System.out.print("\nJumlah Fotokopi = "+jumlah);
            System.out.print("\nBayar = "+bayar);
        }
        else
        {
            System.out.print("\nJumlah Fotokopi = ");
            int jumlah= sc.nextInt();
            if (jumlah>=200)
            {
                int bayar = 85*jumlah;
                System.out.print("\nJumlah Fotokopi = "+jumlah);
                System.out.print("\nBayar = "+bayar);
            }
            else if (jumlah>=100)
            {
                int bayar = 100*jumlah;
                System.out.print("\nJumlah Fotokopi = "+jumlah);
                System.out.print("\nBayar = "+bayar);
            }
            else
            {
                int bayar = 150*jumlah;
                System.out.print("\nJumlah Fotokopi = "+jumlah);
                System.out.print("\nBayar = "+bayar);
            }   
        }
   
        System.out.print("\nCoba lagi(y/t) = ");
        lagi = sc.next();

          } while (lagi.equals("Y")||lagi.equals("y")) ;
   
    }
}

soal ulangan java kode A

Buat program Jika Laki-laki Tetap didalam kelas
       dan absen Genap mengerjakan soal A
       jika absen Ganjil kerjakan soal B,
        namun jika perempuan keluar kelas !.
       jika bukan laki2 dan bukan perempuan maka pulang.
    Program dilakukan perulangan

jawab :

import java.util.Scanner;

public class SoalAdanSoalB
{
public static void main(String [] args)
{
String Ulang="";
do{
    Scanner Input=new Scanner(System.in);
    System.out.print("Masukkan Jenis Kelamin(L/P) = ");
    String Kelamin=Input.next();
    if (Kelamin.equals("L") || Kelamin.equals("l"))
    {
        System.out.println("Tetap Didalam Kelas.");
        System.out.print("Masukkan Nomor Absen = ");
        int Absen=Input.nextInt();
        if (Absen%2==0)
        {           
            System.out.println("Kerjakan Soal A");
        }
        else
            System.out.println("Kerjakan Soal B");
    }
    else if (Kelamin.equals("P") || Kelamin.equals("p"))
        System.out.println("Keluar Kelas");
    else   
        System.out.println("Pulang");
   
System.out.print("Ulang (Y/T) = ");
Ulang=Input.next();
}while(Ulang.equals("Y")||Ulang.equals("y"));
}
}

input dari keyboard dengan fungsi Scanner

mendapat input dari keyboard dengan fungsi Scanner:
bagaimana caranya ?

begini :

import java.util.Scanner;

public class Penjumlahan {
public static void main (String[] args){
    Scanner x = new Scanner(System.in);

    System.out.print("Masukkan Nilai 1 = ");
    Int a=x.nextInt();

    System.out.print("Masukkan Nilai 2 = ");
    Int b=x.nextInt();

    int Jumlah = a+b;
   
    System.out.println("Hasil Penjumlahan = "+Jumlah);
   
   
}
}

Jumat, 28 Oktober 2011

Contoh soal if else

ada suatu kondisi dimana pada tempat fotokopi "GRAFITY Fotocopy"
apabila dia pelanggan pada tempat itu maka berapa lembar pun
banyaknya dia fotokopi di dapat harga Rp.75,-.

tapi jika dia bukan pelanggan maka :
a. jika dia fotokopi kurang dari 100 lembar maka dapet harga Rp.150,-
b. jika fotokopi sebanyak 100-200 lembar dapet harga Rp.100,-
c. tapi jika fotokopi lebih dari 200 lembar dia dapet harga Rp.80,-

contoh keluaran :

Apakah pelanggan ? = ...
Banyak fotokopi = ...

Harga = otomatis keluar
Bayar = ...(didapat dari jumlah lembar fotokopi x harga)

jawab :
//input dengan scanner type data string

import java.util.Scanner;

public class FotoKopi
{
    public static void main(String[] args)
    {
    String lagi="";
    String pelanggan="";
    do {
        Scanner sc = new Scanner (System.in);

        System.out.print("Apakah Pelanggan (y/t) = ");
        pelanggan = sc.nextLine ();
        if (pelanggan.equals("Y")||pelanggan.equals("y"))
        {
            System.out.print("Jumlah Fotokopi = ");
            int jumlah= sc.nextInt();
            int bayar = 75*jumlah;
            System.out.print("\nJumlah Fotokopi = "+jumlah);
            System.out.print("\nBayar = "+bayar);
        }
        else
        {
            System.out.print("\nJumlah Fotokopi = ");
            int jumlah= sc.nextInt();
            if (jumlah>=200)
            {
                int bayar = 85*jumlah;
                System.out.print("\nJumlah Fotokopi = "+jumlah);
                System.out.print("\nBayar = "+bayar);
            }
            else if (jumlah>=100)
            {
                int bayar = 100*jumlah;
                System.out.print("\nJumlah Fotokopi = "+jumlah);
                System.out.print("\nBayar = "+bayar);
            }
            else
            {
                int bayar = 150*jumlah;
                System.out.print("\nJumlah Fotokopi = "+jumlah);
                System.out.print("\nBayar = "+bayar);
            }   
        }
   
        System.out.print("\nCoba lagi(y/t) = ");
        lagi = sc.next();

          } while (lagi.equals("Y")||lagi.equals("y")) ;
   
    }
}

Contoh soal if bersarang

Buat program Jika Laki-laki Tetap didalam kelas
       dan absen Genap mengerjakan soal A
       jika absen Ganjil kerjakan soal B,
       namun jika perempuan keluar kelas !.
       jika bukan laki2 dan bukan perempuan maka pulang.
       Program dilakukan perulangan

jawab :

import java.util.Scanner;

public class SoalAdanSoalB
{
public static void main(String [] args)
{
String Ulang="";
do{
    Scanner Input=new Scanner(System.in);
    System.out.print("Masukkan Jenis Kelamin(L/P) = ");
    String Kelamin=Input.next();
    if (Kelamin.equals("L") || Kelamin.equals("l"))
    {
        System.out.println("Tetap Didalam Kelas.");
        System.out.print("Masukkan Nomor Absen = ");
        int Absen=Input.nextInt();
        if (Absen%2==0)
        {           
            System.out.println("Kerjakan Soal A");
        }
        else
            System.out.println("Kerjakan Soal B");
    }
    else if (Kelamin.equals("P") || Kelamin.equals("p"))
        System.out.println("Keluar Kelas");
    else   
        System.out.println("Pulang");
   
System.out.print("Ulang (Y/T) = ");
Ulang=Input.next();
}while(Ulang.equals("Y")||Ulang.equals("y"));
}
}

Cetak deret bilangan 1-50 kelipatan 3

jawab :

public class CetakBilSatuSampekLimaPulukKelipatanTiga
{
public static void main(String [] args)
{
    for (int i=1;i<=50;i=i+3)
    {
        System.out.println(i);
       
    }
}
}

Cetak bilangan kuadrat 0-50

jawab :

public class CetakBilKuadratNolSampekLimaPuluh
{
public static void main(String [] args)
{
    for (int i=0;i<=50;i=i+1)
    {
        int Kuadrat=i*i;
        System.out.println(Kuadrat);
       
    }
}
}

Cetak bilangan ganjil 1000-2000

gimana bisa...

jawab :

public class CetakBilGanjilSeribuSampekDuaRibu
{
public static void main(String [] args)
{
    for (int i=1001;i<=2000;i=i+2)
    {
        System.out.println(i);
       
    }
}
}

cetak Bilangan genap 1-100

cara mencetak bilangan genap 1-100 ....ada yang tahu?
jawab :....
public class CetakBilGenapSatuSampekSeratus
{
public static void main(String [] args)
{
    for (int i=2;i<=100;i=i+2)
    {
        System.out.println(i);
       
    }
}
}

cetak angka dari 1-50 di java

cetak angka dari 1-50 dengan menggunakan java, bagaimana caranya?
ini bagi yang kepengen belajar java....
jawab :
jawab :

public class CetakSatuSampekLimaPuluh
{
public static void main(String [] args)
{
    for (int i=1;i<=50;i++)
    {
        System.out.println(i);
       
    }
}
}

Senin, 17 Oktober 2011

Inputan dengan Scanner

Yakkk hari ini kita lanjut lagi ya… untuk hari ini kita akan bahas tentang inputan dari keyboard ke console kita.
ada banyak cara ada yang menggunakan bufferedreader ada juga yang menggunakan scanner. tetapi lebih mudah menggunakan scanner maka dari itu saya akan mencontohkan cara menggunakan scanner..
Scanner memerlukan import dari java ya itu

import java.util.Scanner;

Sesudah diimport kita harus membuat object java tersebut dalam class yang kita buat : Scanner in = new Scanner(System.in); .. kata” itu sudah pasti digunakan untuk membuat object yang dapat kita baca, kita buat object in dimana object in mengambil fungsi system.in pada class Scanner dari java..


ya sudah kita langsung ke source Codenya aja
Source Code :
import java.util.Scanner; // Import java untuk fungsi meminta inputan user

public class inputandemo{
public static void main(String [] args)

{

Scanner in = new Scanner(System.in);// kita masukan fungsi abstract Scanner kedalam sebuah object  yang bernama int
int a = 0;
String kata = “ ”;
System.out.println(“Masukan Angka : “);
a = in.nextInt(); // untuk meminta inputan berupa angka bisa menggunakan in.nextInt();

System.out.println(“Masukan Kata : “);
kata = in.next(); //untuk meminta inputan berupa kata bisa menggunakan in.next(); 

System.out.println(“angka yang anda masukan adalah “+a+” dan kata yang anda masukan adalah “+kata); }
}
Selain in.next(), in.nextInt(), in.nextLine(), masih banyak yang lain seperti in.nextDouble(); yang berfungsi
menerima inputan type data double untuk lebih lanjutnya silahkan tanyak ke mbah google...ok

selamet mencoba....

Sabtu, 15 Oktober 2011

STRUKTUR KONTROL PROGRAM

1. Struktur Pemilihan

Struktur pemilihan dapat menggunakan if, if … else, dan if …else … if.

Contoh Penggunaan if.

int nilai = 68;
if( nilai > 60 ) System.out.println("Selamat anda lulus!");


Contoh ini hanya menggunakan if untuk membuat struktur pemilihan.
Jika nilai lebih dari 60 maka program akan menampilkan output “Selamat anda lulus!”

Contoh Penggunaan if … else.

int nilai = 68;
if ( nilai > 60 )
     System.out.println("Selamat anda lulus!");
else
     System.out.println("Anda tidak lulus!");

 Pada contoh diatas kita menggunakan struktur if … else.
Jika nilai lebih dari 60 maka akan menampilkan output “Selamat anda lulus!” tetapi jika tidak (else)
maka program akan menampilkan output “Anda tidak lulus!”.

Contoh Penggunaan if … else … if.
int nilai = 68;
if( nilai > 90 )
     {
          System.out.println("Nilai anda sangat baik!");
     }
else if ( nilai > 60 )
     {
           System.out.println("Nilai anda baik!");
     }
else
     {
             System.out.println("Anda tidak lulus");
     }

Contoh diatas merupakan pengembangan dari contoh sebelumnya.
Jika nilai lebih dari 90 maka program akan menampilkan output “Nilai anda sangat baik!”,
tetapi jika kurang dari 90 dan lebih dari 60 (else if) maka program akan menampilkan output “Nilai anda baik!” dan jika tidak kedua-duanya (else) maka program akan menampilkan output “Anda tidak lulus”.

Struktur pemilihan juga memungkinkan kita untuk memilih banyak alternatif. Namun jika menggunakan if akan sangat kompleks. Java menyediakan perintah switch. Perintah ini sama fungsinya dengan Select .. case
pada VB. Perhatikan contoh berikut.

Contoh Penggunaan switch.

public class SwitchControl {
public static void main(String[] args) {
int a=2;
int b;
switch(a) {
case 1:
          b = a + 1;
          break;
case 2:
         b = a + 2;
         break;
case 3:
         b = a + 3;
         break;
case 4:
          b = a + 4;
          break;
default:
           b = 0;
}
           System.out.println("Nilai b: " + b);
}
}

2. Struktur Pengulangan

Ada tiga bentuk struktur pengulangan pada Java yaitu for, while dan dowhile

Contoh Penggunaan for pada Java.
public class ForLoop {
public static void main(String[] args) {
int j=4;
for (int x=0; x < 5; x++) {
        System.out.println("Nilai x: " + x);
        System.out.println("Nilai j: " + j);
        System.out.println();
        j--;
   }
}
}

Sintaks umum for adalah : for (nilai awal; kondisi; increment) kemudian dilanjutkan dengan bagian yang akan diulang.

Perhatikan baik-baik bagaimana menggunakan struktur for pada contoh diatas. Nilai x=0 adalah nilai awal. Sedangkan x < 5 adalah kondisi yang harus dipenuhi agar pengulangan bisa dilakukan. Nilai x++ merupakan increment. Ingat bahwa penulisan x++ sama artinya dengan x = x + 1.

Contoh Penggunaan while pada Java.

public class WhileLoop {
public static void main(String[] args) {
int y = 4;
while ( y > 0 ){
        System.out.print(y);
        y--;
        }
}
}

Pada contoh diatas kita menggunakan while untuk membuat pengulangan.
Pada while kita perlu menginisialisasi variabel sebelum masuk ke bagian while. Variabel y kita inisialisasi dengan nilai 4. Kondisi yang harus dipenuhi pada while adalah y>0. Pada contoh ini counternya bersifat menurun (perhatikan bagian y--). Sehingga yang akan tercetak dilayar adalah 4321.

Contoh Penggunaan do-while pada Java.

public class ContohDoWhile {
public static void main(String[] args) {
int z=3;
do {
      System.out.println("Java");
      z++;
      } while (z < 6);
}
}

Contoh diatas menunjukkan bagaimana kita dapat menggunakan do-while untuk mengulang pencetakan kata “Java”. Perhatikan dengan baik sintaks penulisan do-while pada contoh ini. Do-while juga membutuhkan inisialisasi dan counter agar pengulangan dapat dilakukan.

selamat mencoba ....

OPERATOR

1. Operator Aritmatika

Operator aritmatika yang digunakan pada Java hampir sama dengan yang digunakan pada VB. Hanya pada penggunaan operator modulus yang berbeda notasinya. VB menggunakan mod sedangkan Java menggunakan tanda %.


Operator                           Fungsi                                   Contoh

     +                            Penjumlahan                                  3 + 5 = 8
     -                             Pengurangan                                  7 – 2 = 5
     *                             Perkalian                                      5 * 2 = 10
     /                              Pembagian                                    6 / 3 = 2
    %                            Sisa hasil bagi (modulus)                5 / 2 = 1
   ++                            Menambahkan nilai 1                    C++ = C + 1
    --                            Mengurangi nilai 1 ke variabel        C-- = C - 1

2. Operator Relasional

Operator relasional atau perbandingan pada Java juga mirip dengan VB.
Hanya berbeda pada perbandingan symbol sama dan tidak sama. Pada VB untuk membandingkan dua buah operand apakah sama atau tidak menggunakan operator = untuk sama dengan dan <> untuk tidak sama dengan. Sedangkan pada java digunakan == untuk sama dengan dan != untuk tidak sama dengan.

3. Operator Logika

Ada 3 operator logika yang disediakan Java yaitu:
    &&  --->     (AND)
    ||      --->     (logika OR)
    | 
    !      --->     (logika NOT).

Input / Output pada Java

cara untuk menampilkan output ke layar, yaitu perintah

System.out.println  ---> Kursor pindah ke bawah

System.out.print ---> kursor tetep disebelah kanan


                                  pengganti      

                                                       cout << di C++

namun kita belum pernah menggunakan pernyataan untuk mendapatkan input. Berikut ini kita akan pelajari bagaimana menggunakan pernyataan input dan output pada Java.
Untuk dapat menangkap input dari keyboard, maka kita harus menggunakan kelas BufferedReader yang berada di java.io package.

Contoh Pernyataan input pada Java.

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class InputKeyboard
{
public static void main( String[] args ){
BufferedReader dataIn = new BufferedReader(new
InputStreamReader( System.in) );
String name = "";
System.out.print("Ketikkan nama anda:");
       try{
              name = dataIn.readLine();
           }catch( IOException e ){
             System.out.println("Error!");
           }
             System.out.println("Hai " + name +"!");
}
}

Tiga baris yang diawali dengan perintah import menunjukkan bahwa kita akan menggunakan kelas BufferedReader, InputStreamReader dan IOException yang berada di java.io package.

Pada statement,  BufferedReader dataIn = new BufferedReader(new InputStreamReader( System.in) );

kita mendeklarasikan sebuah variabel bernama dataIn dengan tipe kelas BufferedReader. Kemudian, kita mendeklarasikan variabel String dengan identifier name. Pernyataan ini digunakan untuk menunjukkan tempat
menyimpan input dari pengguna.

Variabel name diinisialisasi sebagai String kosong "". Baris berikutnya adalah memberikan output string seperti yang telah  kita pelajari dengan menggunakan pernyataan System.out.print;


try{
         name = dataIn.readLine();
}catch( IOException e ){
         System.out.println("Error!");
}

Pada baris ini menjelaskan bahwa kemungkinan terjadi error pada statement name = dataIn.readLine(); akan ditangkap. Jika ada kesalahan maka tulisan “Error” akan disampaikan. Jika tidak ada kesalahan maka variabel name akan diisi dengan apa yang dimasukkan oleh pengguna melalui keyboard.
Dan akan ditampilkan pada pernyataan terakhir.
Untuk menampilkan output yang kita inginkan, dapat menggunakan perintah sebagai berikut :

System.out.println()
System.out.print()

System.out.println() --- > akan membuat baris baru sedangkan
System.out.print() ---> tidak akan membuat baris baru.

semoga berhasil....

TUGAS BASIS DATA

TUGAS BASIS DATA SOAL PRAKTIK BASIS DATA (TENTANG MENGGUNAKAN SQL DAN KLASIFIKASINYA) Sebuah sekolah akan membuat syste...