Jumat, 31 Januari 2014

Mengenal array dalam java

Sebagai contoh, kita memiliki tiga variabel dengan tipe data int yang memiliki identifier yang berbeda untuk tiap variabel.

int number1;
int number2;
int number3;
number1 = 1;
number2 = 2;
number3 = 3;

Seperti yang dapat Anda perhatikan pada contoh diatas, hanya untuk menginisialisasi dan menggunakan variabel terutama pada saat variabel-variabel tersebut memiliki tujuan yang sama, dirasa sangat membingungkan. Di Java maupun di bahasa pemrograman yang lain, mereka memiliki kemampuan untuk menggunakan satu variabel yang dapat menyimpan sebuah data list dan kemudian memanipulasinya dengan lebih efektif. Tipe variabel inilah yang disebut sebagai array.

contoh :




sebelum membuat class maka buatlah sebuah java project dengan cara klik File --> New --> Java Project , maka akan muncul tampilan seperti gambar dibawah ini :


setelah membuat java project maka kita akan membuat kelas, seperti gambar dibawah ini dengan cara klik File --> New --> Class maka akan muncul tampilan seperti gambar dibawah ini :


kode program :


public class ArraySample {

public static void main( String[] args ){

              int[] ages = new int[100];

                 for( int i=0; i<100; i++ ){

                   System.out.print( ages[i] );

             }

       }

}



Screenshot Code:


Kemudian Run Program As Java Application dengan cara klik Tombol icon "play" warna hijau diatas maka akan muncul tampilan seperti dibawah ini :


Setelah Klik "OK" maka akan muncul output nya seperti gambar dibawah ini :






Sumber : JENI ( Java Education Network Indonesia

Panel dan Tampilan kompleks

Untuk membuat tampilan yang lebih lengkap, Anda dapat menggabungkan layout manage yang berbeda dengan menggunakan panel. Ingatlah bahwa panel adalah kontainer dan komponen pada saat yang sama. Anda dapat memasukkan komponen ke dalam panel dan kemudian menambahkan panel ke dalam region yang Anda inginkan di dalam kontainer.

Percobaan :

sebelum membuat class maka buatlah sebuah java project dengan cara klik File --> New --> Java Project , maka akan muncul tampilan seperti gambar dibawah ini : 

setelah membuat java project maka kita akan membuat kelas, seperti gambar dibawah ini dengan cara klik File --> New --> Class maka akan muncul tampilan seperti gambar dibawah ini :

Kode Program :

import java.awt.*;
class ComplexLayout extends Frame {
public static void main(String args[]) {
ComplexLayout cl = new ComplexLayout();
Panel panelNorth = new Panel();
Panel panelCenter = new Panel();
Panel panelSouth = new Panel();
/* Panel utara */
//Panel menggunakan FlowLayout sebagai default
panelNorth.add(new Button("ONE"));
panelNorth.add(new Button("TWO"));
panelNorth.add(new Button("THREE"));
/* Panel tengah */
panelCenter.setLayout(new GridLayout(4,4));
panelCenter.add(new TextField("1st"));
panelCenter.add(new TextField("2nd"));
panelCenter.add(new TextField("3rd"));
panelCenter.add(new TextField("4th"));
/* Panel selatan */
panelSouth.setLayout(new BorderLayout());
panelSouth.add(new Checkbox("Choose me!"),
BorderLayout.CENTER);
panelSouth.add(new Checkbox("I'm here!"),
BorderLayout.EAST);
panelSouth.add(new Checkbox("Pick me!"),
BorderLayout.WEST);
/* Menambahkan panel pada container Frame*/
//Frame menggunakan BorderLayout sebagai default
cl.add(panelNorth, BorderLayout.NORTH);
cl.add(panelCenter, BorderLayout.CENTER);
cl.add(panelSouth, BorderLayout.SOUTH);
cl.setSize(300,300);
cl.setVisible(true);
}
}


ScreenShot :



Output :


Sumber : JENI (Java Education Network Indonesia)

Kamis, 30 Januari 2014

Struktur Program Java

Pada bagian ini meringkaskan syntax dasar yang digunakan dalam pembuatan aplikasi Java.

Mendeklarasikan class Java
<classDeclaration> ::=
<modifier> class <name> {
<attributeDeclaration>*
<constructorDeclaration>*
<methodDeclaration>*
}

dimana <modifier> adalah sebuah access modifier, yang mana boleh dikombinasikan dengan tipe yang lain dari modifier.

Contoh berikut ini mendeklarasikan blueprint SuperHero:

Class SuperHero {
String superPowers[];
void setSuperPowers(String superPowers[]) {
this.superPowers = superPowers;
}
void printSuperPowers() {
for (int i = 0; i < superPowers.length; i++) {
System.out.println(superPowers[i]);
}
}
}

Mendeklarasikan Atribut
<attributeDeclaration> : :=
<modifier> <type> <name> [= <default_value>];
<type> ::=
byte | short | int | long | char | float | double | boolean
| <class>

Inilah contohnya.

public class AttributeDemo {
private String studNum;
public boolean graduating = false;
protected float unitsTaken = 0.0f;
String college;
}

Mendeklarasikan Method
<methodDeclaration> ::=
<modifier> <returnType> <name>(<parameter>*) {
<statement>*
}
<parameter> ::=
<parameter_type> <parameter_name>[,]

Sebagai contoh:

class MethodDemo {
int data;
int getData() {
return data;
}
void setData(int data) {
this.data = data;
}
void setMaxData(int data1, int data2) {
data = (data1>data2)? data1 : data2;
}
}

Mendeklarasikan sebuah Constructor
<constructorDeclaration> ::=
<modifier> <className> (<parameter>*) {
<statement>*
}

Jika tidak ada constructor yang disediakan secara jelas, constructor default secara otomatis membuatkannya untuk Anda. Constructor default tidak membawa argumen dan tidak berisi pernyataan pada tubuh class.

Perhatikan contoh berikut.
class ConstructorDemo {
private int data;
public ConstructorDemo() {
data = 100;
}
ConstructorDemo(int data) {
this.data = data;
}
}

Meng-instantiate sebuah class
Untuk meng-instantiate sebuah class, dengan sederhana kita gunakan kata kunci new diikuti
dengan pemanggilan sebuah constructor. Mari lihat langsung ke contohnya.
class ConstructObj {
int data;
ConstructObj() {
/* menginisialisasi data */
}
public static void main(String args[]) {
ConstructObj obj = new ConstructObj(); //di-instantiate
}
}

Mengakses Anggota object

Untuk mengakses anggota dari sebuah object, kita gunakan notasi “dot”. Penggunaanya seperti
berikut:
<object>.<member>
Contoh selanjutnya berdasar pada sebelumnya dengan pernyataan tambahan untuk mengakses
anggota dan method tambahan.
class ConstructObj {
int data;
ConstructObj() {
/* inisialisasi data */
}
void setData(int data) {
this.data = data;
}
public static void main(String args[]) {
ConstructObj obj = new ConstructObj(); //instantiation
obj.setData = 10; //access setData()
System.out.println(obj.data); //access data
}
}

Package
Untuk menunjukkan bahwa file asal termasuk package khusus, kita gunakan syntax berikut:

<packageDeclaration> ::=
package <packageName>;
Untuk mengimpor package lain, kita gunakan syntax berikut:
<importDeclaration> ::=
import <packageName.elementAccessed>;
Dengan ini, source code Anda harus memiliki format berikut:
[<packageDeclaration>]
<importDeclaration>*
<classDeclaration>+

Sebagai contoh:

package registration.reports;
import registration.processing.*;
import java.util.List;
import java.lang.*; //imported by default
class MyClass {
/* rincian dari MyClass */

Access Modifier





Enkapsulasi
Menyembunyikan elemen dari penggunaan sebuah class dapat dilakukan dengan pembuatan
anggota yang ingin Anda sembunyikan secara private.
Contoh berikut menyembunyikan field secret. Catatan bahwa field ini tidak langsung diakses oleh
program lain menggunakan method getter dan setter.
class Encapsulation {
private int secret; //field tersembunyi
public boolean setSecret(int secret) {
if (secret < 1 || secret > 100) {
return false;
}
this.secret = secret;
return true;
}
public getSecret() {
return secret;
}
}

Untuk membuat class anak atau subclass berdasarkan class yang telah ada, kita gunakan kata
kunci extend dalam mendeklarasikan class. Sebuah class hanya dapat meng-extend satu class
induk.
Sebagai contoh, class Point di bawah ini adalah superclass dari class ColoredPoint.
import java.awt.*;
class Point {
int x;
int y;
}
class ColoredPoint extends Point {
Color color;
}


Method Overriding
Method subclass override terhadap method superclass ketika subclass mendeklarasikan method
yang signaturenya serupa ke method dalam superclass. Signature dari method hanyalah informasi
yang ditemukan dalam definisi method bagian atas. Signature mengikutkan tipe return, nama dan
daftar parameter method tetapi itu tidak termasuk acces modifier dan tipe yang lain dari kata
kunci seperti final dan static.
Inilah perbedaan dari method overloading. Method overloading secara singkat didiskusikan dalam
sub bagian pada kata kunci this.
class Superclass {
void display(int n) {
System.out.println("super: " + n);
}
}
class Subclass extends Superclass {
void display(int k) { //method overriding
System.out.println("sub: " + k);
}
}
class OverrideDemo {
public static void main(String args[]) {
Subclass SubObj = new Subclass();
Superclass SuperObj = SubObj;
SubObj.display(3);
((Superclass)SubObj).display(4);
}
}
Ini akan menghasilkan keluaran sebagai berikut.
sub: 3
sub: 4
Pemanggilan method ditentukan oleh tipe data sebenarnya dari object yang diminta method.
Acces modifier untuk method yang dibutuhkan tidak harus sama. Bagaimanapun, acces modifier
dari method overridding mengharuskan salah satunya punya acces modifier yang sama seperti itu
dari method overridden atau acces modifier yang kurang dibatasi.
Perhatikan contoh selanjutnya. Periksa yang mana dari method overridding berikut akan
menyebabkan waktu meng-compile akan menyebabkan error.
class Superclass {
void overriddenMethod() {
}
}
class Subclass1 extends Superclass {
public void overriddenMethod() {
}
}
class Subclass2 extends Superclass {
void overriddenMethod() {
}
}
class Subclass3 extends Superclass {
protected void overriddenMethod() {
}
}
class Subclass4 extends Superclass {
private void overriddenMethod() {
}
}

Class Abstract dan Method
Bentuk umum dari sebuah method abstract adalah sebagai berikut:
abstract <modifier> <returnType> <name>(<parameter>*);
Sebuah class yang berisi method abstract harus dideklarasikan sebagai sebuah class abstract.
abstract <modifier> <returnType> <name>(<parameter>*);abstract class
<name> {
/* constructors, fields and methods */
}
Kata kunci tidak dapat digunakan pada constructor atau method static. Ini juga penting untuk
diingat bahwa class abstract tidak dapat di-instantiate.
Class yang meng-extends sebuah class abstract harus mengimplementasikan semua method
abstract. Jika tidak subclass sendiri dapat dideklarasikan sebagai abstract.

Sebagai contoh:
abstract class SuperHero {
String superPowers[];
void setSuperPowers(String superPowers[]) {
this.superPowers = superPowers;
}
void printSuperPowers() {
for (int i = 0; i < superPowers.length; i++) {
System.out.println(superPowers[i]);
}
}
abstract void displayPower();
}
class UnderwaterSuperHero extends SuperHero {
void displayPower() {
System.out.println("Communicate with sea creatures...");
System.out.println("Fast swimming ability...");
}
}
class FlyingSuperHero extends SuperHero {
void displayPower() {
System.out.println("Fly...");
}
}

Interface
Mendeklarasikan sebuah interface pada dasarnya mendeklarasikan sebuah class tetapi sebagai
penggantinya menggunakan kata kunci class, kata kunci interface digunakan. Berikut syntax-nya.
<interfaceDeclaration> ::=
<modifier> interface <name> {
<attributeDeclaration>*
[<modifier> <returnType> <name>(<parameter>*);]*
}
Anggotanya adalah public ketika interface dideklarasikan public.

Class mengimplementasikan sebuah interface yang telah ada dengan menggunakan kata kunci
implements. Class ini dibuat untuk mengimplementasikan semua method interface. Sebuah class
boleh mengimplementasikan lebih dari satu interface.
Contoh berikut menunjukkan bagaimana mendeklarasikan dan menggunakan sebuah interface.
interface MyInterface {
void iMethod();
}
class MyClass1 implements MyInterface {
public void iMethod() {
System.out.println("Interface method.");
}
void myMethod() {
System.out.println("Another method.");
}
}
class MyClass2 implements MyInterface {
public void iMethod() {
System.out.println("Another implementation.");
}
}
class InterfaceDemo {
public static void main(String args[]) {
MyClass1 mc1 = new MyClass1();
MyClass2 mc2 = new MyClass2();
mc1.iMethod();
mc1.myMethod();
mc2.iMethod();
}
}

Kata kunci this
Kata kunci this dapat digunakan untuk beberapa alasan berikut:
1.Adanya ambigu pada atribut lokal dari variabel lokal
2.Menunjuk pada object yang meminta method non-static
3.Menunjuk pada constructor lain.
Sebagai contoh pada maksud pertama, perhatikan kode berikut dimana variabel data disediakan
sebagai sebuah atribut dan parameter lokal pada saat yang sama.
class ThisDemo1 {
int data;
void method(int data) {
this.data = data;
/* this.data menunjuk ke atribut
sementara data menunjuk ke variabel lokal */
}
}
static dipanggil.
class ThisDemo2 {
int data;
void method() {
System.out.println(data); //this.data
}
void method2() {
method(); //this.method();
}
Sebelum melihat ke contoh yang lain, mari pertama meninjau pengertian method overloading.
Constructor seperti juga method dapat juga menjadi overload. Method yang berbeda dalam class
dapat memberi nama yang sama asalkan list parameter juga berbeda. Method overloaded harus
berbeda dalam nomor dan/atau tipe dari parameternya. Contoh selanjutnya memiliki constructor
overloaded dan referensi this yang dapat digunakan untuk menunjuk versi lain dari constructor.
class ThisDemo3 {
int data;
ThisDemo3() {
this(100);
}
ThisDemo3(int data) {
this.data = data;
}
}

Kata kunci super
Penggunaan kata kunci super berhubungan dengan pewarisan. Super digunakan untuk meminta
constructor superclass. Super juga dapat digunakan seperti kata kunci this untuk menunjuk pada
anggota dari superclass.
Program berikut mendemonstrasikan bagaimana referensi super digunakan untuk memanggil
constructor superclass.
class Person {
String firstName;
String lastName;
Person(String fname, String lname) {
firstName = fname;
lastName = lname;
}
}
class Student extends Person {
String studNum;
Student(String fname, String lname, String sNum) {
super(fname, lname);
studNum = sNum;
}
}

Kata kunci dapat juga digunakan untuk menunjuk anggota superclass seperti yang ditunjukkan
pada contoh berikut.
class Superclass{
int a;
void display_a(){
System.out.println("a = " + a);
}
}
class Subclass extends Superclass {
int a;
void display_a(){
System.out.println("a = " + a);
}
void set_super_a(int n){
super.a = n;
}
void display_super_a(){
super.display_a();
}
}

class SuperDemo {
public static void main(String args[]){
Superclass SuperObj = new Superclass();
Subclass SubObj = new Subclass();
SuperObj.a = 1;
SubObj.a = 2;
SubObj.set_super_a(3);
SuperObj.display_a();
SubObj.display_a();
SubObj.display_super_a();
System.out.println(SubObj.a);
}
}
Program tersebut akan menampilkan hasil berikut.
a = 1
a = 2
a = 3


Kata Kunci static
Kata kunci static dapat digunakan untuk anggota dari sebuah class. Kata kunci ini menyediakan
static atau anggota class untuk diakses sama sebelum beberapa instance dari class dibuat.
Variabel class bersifat seperti variabel umum. Ini artinya bahwa variabel dapat diakses oleh
semua instance dari class.
Method class mungkin dapat diambil tanpa membuat sebuah object dari class tersebut.
Bagaimanapun, mereka hanya dapat mengakses anggota static dari class. Ditambahkan juga,
mereka tidak dapat menunjuk this dan super.
Kata kunci static dapat juga diaplikasikan pada blok. Ini dinamakan dengan blok static. Blok ini
dieksekusi hanya sekali, ketika class diisi. Hal ini biasanya digunakan untuk menginisialisasi
variabel class.
class Demo {
static int a = 0;
static void staticMethod(int i) {
System.out.println(i);
}
static { //blok static
System.out.println("This is a static block.");
a += 1;
}
}

class StaticDemo {
public static void main(String args[]) {
System.out.println(Demo.a);
Demo.staticMethod(5);
Demo d = new Demo();
System.out.println(d.a);
d.staticMethod(0);
Demo e = new Demo();
System.out.println(e.a);
d.a += 3;
System.out.println(Demo.a+", " +d.a +", " +e.a);
}
}
Keluaran dari source kode ditunjukkan di bawah ini.
This is a static block.
1
5
1
0
1
4, 4, 4

Kata Kunci final
Kata kunci final dapat diaplikasikan pada variabel, method dan class. Untuk mengingat fungsi dari
kata kunci, ingat bahwa itu secara mudah dibatasi apa yang kita dapat lakukan dengan variabel,
method dan class.
Nilai dari variabel final dapat tidak lama diubah sesudah nilainya telah diatur. Sebagai contoh,
final int data = 10;
Pernyataan berikut akan menyebabkan terjadi compilation error:

data++;
Method final tidak dapat di-override dalam class anak.
final void myMethod() { //in a parent class
}
myMethod tidak dapat lama di-override dalam class anak.
class final tidak dapat diwariskan tidak seperti class yang biasanya.
final public class MyClass {
}
Pernyataan ini akan menyebabkan kesalahan compilation terjadi karena MyClass dapat tidak lama
di-extended.
public WrongClass extends MyClass {
}

Inner Classes
Sebuah inner class secara mudah dideklarasikan dalam class lain.
class OuterClass {
int data = 5;
class InnerClass {
int data2 = 10;
void method() {
System.out.println(data);
System.out.println(data2);
}
}
public static void main(String args[]) {
OuterClass oc = new OuterClass();
InnerClass ic = oc.new InnerClass();
System.out.println(oc.data);
System.out.println(ic.data2);
ic.method();
}
}
Untuk mampu mengakses anggota dari inner class, kita butuh sebuah instance dari inner class.
Method-method dari inner class dapat secara langsung mengakses anggota dari outer class.

Percobaan :

sebelum membuat class maka buatlah sebuah java project dengan cara klik File --> New --> Java Project , maka akan muncul tampilan seperti gambar dibawah ini :


setelah membuat java project maka kita akan membuat kelas, seperti gambar dibawah ini dengan cara klik File --> New --> Class maka akan muncul tampilan seperti gambar dibawah ini :


Kode Program:

        import java.lang.*; 

        public class GoodByeCruelWorld

        {

            public static void main (String[] args)

            {    >> 6. Kurung kurawal buka

                int panjang, lebar, luas; 

                panjang = 20;
                lebar = 9; 

                luas = panjang*lebar;

                System.out.print("Luas Segiempat = " + luas);

            }  

        }

Screenshot Code :


Kemudian Run Program as Java Application dengan cara klik tombol icon "play" warna hijau diatas maka akan muncul tampilan seperti dibawah ini :


Setelah klik "OK" maka akan muncul output seperti gambar dibawah ini :





Sumber : JENI (Java Education Network Indonesia)

Komponen Swing

Seperti pada package AWT, package dari Swing menyediakan banyak class untuk membuat aplikasi GUI. Package tersebut dapat ditemukan di javax.swing. Perbedaan utama antara keduanya adalah komponen Swing ditulis menyeluruh menggunakan Java. Kesimpulannya, program GUI ditulis menggunakan banyak class dari package Swing yang mempunyai tampilan look and feel yang sama meski dijalankan pada paltform yang berbeda. Lebih dari itu, Swing menyediakan komponen yang lebih menarik seperti color chooser dan option pane.
Nama dari komponen GUI milik Swing hampir sama persis dengan komponen GUI milik AWT. Perbedaan jelas terdapat pada penamaan komponen. Pada dasarnya, nama komponen Swing sama dengan nama komponen AWT tetapi dengan tambahan huruf J pada prefixnya. Sebagai contoh, satu komponen dalam AWT adalah button class. Sedangkan pada Swing, nama komponen tersebut menjadi Jbutton class. Berikut adalah daftar dari komponen Swing.

Setting Up Top-Level Containers
Seperti disebutkan diatas, top-level containers seperti Jframe dan Japplet dalam Swing sangat tidak cocok dengan AWT. Ini adalah syarat menambahkan komponen ke dalam kontainer. Jika Anda ingin menambahkan langsung sebuah komponen kedalam kontainer sebagai kontainer AWT, pertama-tama Anda telah mendapatkan content pane dari kontainer. Untuk melakukan hal tersebut, Anda akan menggunakan method getContentPane dari container.



sebelum membuat class maka buatlah sebuah java project dengan cara klik File --> New --> Java Project , maka akan muncul tampilan seperti gambar dibawah ini :


setelah membuat java project maka kita akan membuat kelas, seperti gambar dibawah ini dengan cara klik File --> New --> Class maka akan muncul tampilan seperti gambar dibawah ini :


Contoh Jframe
Kode Program :

import javax.swing.*;
import java.awt.*;
class SwingDemo {
JFrame frame;
JPanel panel;
JTextField textField;
JButton button;
Container contentPane;
void launchFrame() {
/* inisialisasi */
frame = new JFrame("My First Swing Application");
panel = new JPanel();
textField = new JTextField("Default text");
button = new JButton("Click me!");
contentPane = frame.getContentPane();
/* menambahkan komponen-komponen ke panel– menggunakan
FlowLayout sebagai default */
panel.add(textField);
panel.add(button);
/* menambahkan komponen-komponen contentPane– menggunakan
BorderLayout */
contentPane.add(panel, BorderLayout.CENTER);
frame.pack();
//menyebabkan ukuran frame menjadi dasar pengaturan komponen
frame.setVisible(true);
}
public static void main(String args[]) {
SwingDemo sd = new SwingDemo();
sd.launchFrame();
}
}
  ScreenShot :





Output:





Sumber : JENI (Java Education Network Indonesia)

Rabu, 29 Januari 2014

Konsep dasar dalam Java

1.1 Tujuan
Sebelum melangkah pada fitur-fitur menarik yang ada pada Java, mari kita melihat kembali
beberapa hal yang telah Anda pelajari pada pelajaran pemograman pertama Anda. Pembelajaran
kali ini menyajikan diskusi tentang perbedaan konsep-konsep berorientasi object dalam Java.
Pada akhir pembahasan, diharapkan pembaca dapat :
1. Mengetahui dan menggunakan konsep dasar beorientasi object.
- class
- object

- atribut
- method
- constructor

2. Mengetahui dengan jelas tentang konsep lanjutan berorientasi object dan menggunakannya
dengan baik
- package
- enkapsulasi

- abstraksi
- pewarisan
- polimorfisme
- interface

3. Mengetahui dengan jelas penggunaan kata kunci this, super, final dan static

4. Membedakan antara method overloading dan method overridding

1.2 Konsep Berorientasi object

1.2.1 Desain Berorientasi object
Desain berorientasi object adalah sebuah teknik yang memusatkan desain pada object dan class berdasarkan pada skenario dunia nyata. Hal ini menegaskan keadaan(state), behaviour dan interaksi dari object. Selain itu juga menyediakan manfaat akan kebebasan pengembangan, meningkatkan kualitas, mempermudah pemeliharaan, mempertinggi kemampuan dalam modifikasi dan meningkatkan penggunaan kembali software.

1.2.2 Class
J.E.N.I.
Class mengizinkan Anda dalam mendeklarasikan tipe data baru. Ia dijalankan sebagai blueprint, dimana model dari object yang Anda buat berdasarkan pada tipe data baru ini.

1.2.3 Object
Sebuah object adalah sebuah entiti yang memiliki keadaan, behaviour dan identitas yang yang
tugasnya dirumuskan dalam suatu lingkup masalah dengan baik. Inilah instance sebenarnya dari sebuah class. Ini juga dikenal sebagai instance. Instance dibuat sewaktu Anda meng-instantiate class menggunakan kata kunci new. Dalam sistem registrasi siswa, contoh dari sebuah object yaitu entiti Student.

1.2.4 Atribut
Atribut menunjuk pada elemen data dari sebuah object. Atribut menyimpan informasi tentang
object. Dikenal juga sebagai member data, variabel instance, properti atau sebuah field data.
Kembali lagi ke contoh sistem registrasi siswa, atribut dari sebuah siswa adalah nomor siswa.

1.2.5 Method
Sebuah method menjelaskan behaviour dari sebuah object. Method juga dikenal sebagai fungsi atau prosedur. Sebagai contoh, method yang mungkin tersedia untuk entiti siswa adalah method register.
 

1.2.6 Constructor
Constructor adalah sebuah tipe khusus dari method yang digunakan untuk membuat dan
menginisialisasi sebuah object baru. Ingat bahwa constructor bukan member (yaitu atribut,
method atau inner class dari sebuah object).

1.2.7 Package
Package menunjuk pada pengelompokkan class dan/atau subpackages. Strukturnya dapat
disamakan dengan direktorinya.

1.2.8 Enkapsulasi
Enkapsulasi menunjuk pada prinsip dari menyembunyikan desain atau mengimplementasikan
informasi yang tidak sesuai pada object yang ada.

1.2.9 Abstraksi
Sementara enkapsulasi menyembunyikan detail, abstraksi mengabaikan aspek dari subyek yang tidak sesuai dengan tujuan yang ada supaya lebih banyak mengkonsentrasikan yang ada.

1.2.10 Pewarisan
Pewarisan adalah hubungan antara class dimana dalam satu class ada superclass atau class induk dari class yang lain. Pewarisan menunjuk pada properti dan behaviour yang diterima dari nenek moyang dari class. Ini dikenal juga sebagai hubungan “is-a”. Perhatikan pada hirarki berikut.


1.2.11 Polimorfisme
Polimorfisme adalah kemampuan dari sebuah object untuk membolehkan mengambil beberapa bentuk yang berbeda. Secara harfiah, “poli” berarti banyak sementara “morph” berarti bentuk. Menunjuk pada contoh sebelumnya pada pewarisan, kita lihat bahwa object SuperHero dapat juga menjadi object FlyingSuperHero atau object UnderwaterSuperHero.

1.2.12 Interface
Sebuah interface adalah sebuah contract dalam bentuk kumpulan method dan deklarasi
konstanta. Ketika sebuah class implements sebuah interface, ini mengimplementasikan semua method yang dideklarasikan dalam interface.


Percobaan :
sebelum membuat class maka buatlah sebuah java project dengan cara klik File --> New --> Java Project , maka akan muncul tampilan seperti gambar dibawah ini :
 


setelah membuat java project maka kita akan membuat kelas, seperti gambar dibawah ini dengan cara klik File --> New --> Class maka akan muncul tampilan seperti gambar dibawah ini :


Kode Program :


public class HelloWorld
{
    public static void main(String[] args)
    {
        System.out.println("Apa Kabar Dunia?");
    }
}

Screenshot Code :

Kemudian Run Program as Java Application dengan cara klik tombol icon "play" warna hijau diatas maka akan muncul tampilan seperti dibawah ini :

Setelah klik "OK" maka akan muncul output seperti gambar dibawah ini :




Sumber : JENI ( Java Education Network Indonesia )

Pewarisan dalam Java

suatu class dapat mewariskansifat dari class yang sudah ada. Class ini dinamakan subclass dan induk class dinamakan superclass. Kita juga akan membicarakan sifat khusus dari Java dimana kita dapat secara otomatis memakai method yand tepat untuk setiap object tanpa memperhatikan asal dari subclass object.
Sifat ini dinamakan polimorfisme. Pada akhirnya, kita akan mendiskusikan tentang interface yang membantu mengurangi penulisan program.
Dalam Java, semua class, termasuk class yang membangun Java API, adalah subclasses
dari superclass Object. Contoh hirarki class diperlihatkan di bawah ini.
Beberapa class di atas class utama dalam hirarki class dikenal sebagai superclass.
Sementara beberapa class di bawah class pokok dalam hirarki class dikenal sebagai
subclass dari class tersebut.


Pewarisan adalah keuntungan besar dalam pemrograman berbasis object karena suatu sifat
atau method didefinisikan dalam superclass, sifat ini secara otomatis diwariskan dari semua
subclasses. Jadi, Anda dapat menuliskan kode method hanya sekali dan mereka dapat
digunakan oleh semua subclass. Subclass hanya butuh mengimplementasikan
perbedaannya sendiri dan induknya.
 

Interface adalah jenis khusus dari blok yang hanya berisi method signature(atau constant ).
Interface mendefinisikan sebuah(signature) dari sebuah kumpulan method tanpa tubuh.
Interface mendefinisikan sebuah cara standar dan umum dalam menetapkan sifat-sifat
dari class-class. Mereka menyediakan class-class, tanpa memperhatikan lokasinya dalam
hirarki class, untuk mengimplementasikan sifat-sifat yang umum. Dengan catatan bahwa
interface-interface juga menunjukkan polimorfisme, dikarenakan program dapat memanggil
method interface dan versi yang tepat dari method yang akan dieksekusi tergantung dari tipe
object yang melewati pemanggil method interface.
 

Percobaan :

sebelum membuat class maka buatlah sebuah java project dengan cara klik File --> New --> Java Project , maka akan muncul tampilan seperti gambar dibawah ini :


setelah membuat java project maka kita akan membuat kelas, seperti gambar dibawah ini dengan cara klik File --> New --> Class maka akan muncul tampilan seperti gambar dibawah ini :



kode untuk class Person :



public class Person {
protected String name;
protected String address;
public Person(){
System.out.println("Inside Person:Constructor");
name = "";
address = "";
}
public Person( String name, String address) {
this.name = name;
this.address = address;
}
public String getName() {
return name;
}
public String getAddress() {
return address;
}
public void setName(String name) {
this.name = name;
}
public void setAddress(String add) {
this.address = add;
}
}


Screenshot Code  :


Kemudian Run Program as Java Application dengan cara klik tombol icon "play" warna hijau diatas maka akan muncul tampilan seperti dibawah ini :


Setelah klik "OK" maka akan muncul output seperti gambar dibawah ini :







 

Sumber : JENI (Java Education Network Indonesia)

Algoritma Sorting pada Java

Sorting adalah proses menyusun elemen – elemen dengan tata urut tertentu dan proses tersebut terimplementasi dalam bermacam aplikasi. Kita ambil contoh pada aplikasi perbankan. Aplikasi tersebut mampu menampilkan daftar account yang aktif.

Hampir seluruh pengguna pada sistem akan memilih tampilan daftar berurutan secara ascending demi kenyamanan dalam penelusuran data. Beberapa macam algoritma sorting telah dibuat karena proses tersebut sangat mendasar dan sering digunakan. Oleh karena itu, pemahaman atas algoritma – algoritma yang ada sangatlah berguna.

Percobaan :
sebelum membuat class maka buatlah sebuah java project dengan cara klik File --> New --> Java Project , maka akan muncul tampilan seperti gambar dibawah ini :


setelah membuat java project maka kita akan membuat kelas, seperti gambar dibawah ini dengan cara klik File --> New --> Class maka akan muncul tampilan seperti gambar dibawah ini :




Kode program

import javax.swing.JOptionPane;
class tugasSorting
{
 public static void main(String[] args)throws Exception
{
String jml,bil;
int x,cari,y;
jml=JOptionPane.showInputDialog("Masukkan jumlah angka yang ingin diurut : ");
x=Integer.parseInt(jml);
int []data=new int[x];
for (int i=0;i<x;i++)
{
bil=JOptionPane.showInputDialog("Masukkan angka acak : ");
data[i]=Integer.parseInt(bil);
}
System.out.println("\nData awal : ");
for (int i=0;i<data.length;i++)
System.out.println("\tdataku ialah["+i+"]--> "+data[i]);
String str=JOptionPane.showInputDialog("Masukkan data yang akan dicari : ");
cari=Integer.parseInt(str);
for (int i=0;i<data.length;i++)
{
if (cari==data[i])
{
System.out.println("Data "+cari+" ditemukan di posisi "+i);
break;
}
}
for (int kiri=0;kiri<data.length;kiri++)
{
for (int kanan=kiri+1;kanan<data.length;kanan++)
{
if (data[kiri]>data[kanan])
{
int bantu=data[kiri];
data[kiri]=data[kanan];
data[kanan]=bantu;
}
}
}
System.out.println("Setelah di urutkan : ");
for (int i=0;i<data.length;i++)
System.out.println("datanya ialah["+i+"]--> "+data[i]);
System.exit(0);
}
}


Screenshot Code :


Kemudian Run Program as Java Application dengan cara klik tombol icon "play" warna hijau diatas maka akan muncul tampilan seperti dibawah ini :


Setelah klik "OK" maka akan muncul output seperti gambar dibawah ini :



1)Masukkan jumlah angka yang ingin diurut :



2) Masukkan angka acak



3) Masukkan angka acak




4) Masukkan angka acak :



 5) Masukkan angka acak :



 6)  Masukkan angka acak :


7)  Masukkan angka yang ingin dicari :




Output :





Sumber : JENI (Java Education Network Indonesia)

Selasa, 28 Januari 2014

Contoh pemrograman java pewarisan tentang mobil

sebelum membuat class maka buatlah sebuah java project dengan cara klik File --> New --> Java Project , maka akan muncul tampilan seperti gambar dibawah ini :

setelah membuat java project maka kita akan membuat kelas, seperti gambar dibawah ini dengan cara klik File --> New --> Class maka akan muncul tampilan seperti gambar dibawah ini :


 
Kode Program :

pertama buat class nya terlebih dahulu :
Screenshot membuat class mobil :

Kode program untuk Class Mobil :
public class mobil
{
 private String merek;
 private String warna;
 private int jumlahpintu;
 private String jenis;

    public String getJenis() {

        return jenis;}

    public void setJenis(String jenis) {

        this.jenis = jenis;}

    public int getJumlahpintu() {

        return jumlahpintu;}

    public void setJumlahpintu(int jumlahpintu) {

        this.jumlahpintu = jumlahpintu;}

    public String getMerek() {

        return merek;}

    public void setMerek(String merek) {

        this.merek = merek;}

    public String getWarna() {

        return warna;}
   
    public void setWarna(String warna) {
        this.warna = warna;}

 public void tampilkandata(){

        System.out.println("merek mobil :"+getMerek());
        System.out.println("warna mobil :"+getWarna());
        System.out.println("total pintu :"+getJumlahpintu());
        System.out.println("jenis mobil :"+getJenis());
        }
 public void inputData(String m,String w,String j,int jp){
     setMerek(m);
     setWarna(w);
     setJenis(j);
     setJumlahpintu(jp);
     }
}


Screenshot membuat class honda :

 honda
Kode Program untuk Class honda :

public class honda extends mobil {
public void tampilkan(){
     double besarsilinder=5.5;
     String bahanbakar="Pertamax";
     String kategori="Sport";

     mobil m = new mobil();


     m.inputData("CRV", "Hitam", "Mewah", 4);

     m.tampilkandata();

      System.out.println("silinder :"+besarsilinder);

      System.out.println("jenis bahan bakar :"+bahanbakar);
      System.out.println("jenis kategori :"+kategori);
   
}   
}



Screenshot membuat class toyota :

Kode Program untuk Class Toyota :

public class toyota extends mobil {
public void tampilkan(){
 double besarsilinder;
 String bahanbakar;
 String kategori;

 besarsilinder=32.5;

 bahanbakar="solar";
 kategori="off-road";

 mobil m = new mobil();


 m.inputData("AVANZA", "Merah", "Ekonomis", 5);

 m.tampilkandata();

   System.out.println("silinder :"+besarsilinder);

   System.out.println("jenis bahan bakar :"+bahanbakar);
   System.out.println("jenis kategori :"+kategori);
}
}

Screenshot membuat class main :

Kode Program untuk Class main :

public class main {
 public static void main (String [] args){
System.out.println("HONDA");

honda h = new honda();

h.tampilkan();

System.out.println("\nTOYOTA");


toyota t = new toyota();

t.tampilkan();

 }

}

Screenshot semua class :





setelah dirun mana akan muncul output tampilan seperti dibawah :

Output :





Sumber : http://pata-tigo.blogspot.com/2013/01/contoh-program-java-menggunakan-metode.html