Aturan penulisan program di Java
- Java adalah turunan dari C, sehingga Java memiliki sifat C yaitu Case sensitive, yaitu membedakan antara huruf besar dan kecil
- Dalam sebuah file program di Java, hanya diijinkan memiliki 1 buah class yang bersifat public
- Dalam sebuah file program Java, hanya ada satu method main(method yang pertama kali dibaca oleh interpreter Java)
- Nama sebuah file program Java harus sama dengan nama class yang memiliki method main() di dalam tubuhnya. Perhatikan bahwa tulisan nama file dengan nama class (huruf besar maupun kecilnya) haruslah persis sama. .
Berikut adalah contoh membuat program dengan menggunakan Java. Pada program akan ditampilkan tulisan “Hello World !“
//Nama File Hello.java
class Hello
{
public static void main(String args[])
{
System.out.println(“Hello World !”);
}
}
Langkah selanjutnya :
1. Simpan dengan nama: Hello.java
2. compile Hello.java : javac Hello.java
3. hasilnya akan menghasilkan : Hello.class
4. jalankan Hello.class: java Hello.class atau java Hello
5. akan keluar hasil :
Hello world!
Programming Tip :
Dalam penulisan bahasa program, disarankan :
1. Huruf depan dari sebuah class atau method menggunakan huruf besar
2. Menulis Komentar pada sebuah class atau method untuk memudahkan debug(pencarian kesalahan). Serta mempermudah orang lain membaca program kita. Ingat !!! Dalam dunia nyata, programmer bekerja secara team, jadi usahakan partner team mengerti apa yang kita buat dengan memberikan komentar(tentang pembuatan komentar akan dibahas dibawah)
3. Membuat indentasi(jarak antara induk perintah dan anak perintah). Identasi sebisa mungkin dibuat standard, semisal pada contoh diatas, jarak antara tulisan “class Hello” sebagai induk perintah dengan tulisan “public…..” sebagai anak perintah adalah 5 spasi. Sekali lagi, ini untuk mempermudah dalam pengertian program
Statement dan Identifier
1. Statement
Bentuk statement atau pernyataan dalam satu program di Java adalah sebagai berikut :
Int i=1;
String teman = “Iman Rochdilianto”;
import java.awt.Font;
System.out.println(“Selamat Datang “ + teman +
“di Praktikum SBP”);
pegawai.tetap=true;
total= a + b + c + d + e;
Setiap statement selalu diakhiri dengan titik koma (;)
Blok adalah 2 tanda kurung kurawal ({}) yang menyatukan statemen
{
x = x + 1;
y = y * 3;
}
Java memperbolehkan spasi dalam jumlah berapa saja (Spasi, tab, baris baru)
class Hello
{
public static void main(String args[])
{
System.out.println(“Hello World”);
}
}
bisa ditulis dalam bentuk sepeerti dibawah ini :
class Hello ( public static void main(String args[]) {
System.out.println(“Hello World!”); } }
Identifier
Dalam Java, identifier adalah nama yang diberikan untuk variable, class, atau method. Identifier boleh dimulai dengan huruf, underscore(_) atau tanda dollat($).
Identifier adalah case sensitive(membedakan huruf besar/kecil) dan tak ada batas maksimum.
Contoh :
username
user_name
_sys_var1
$change
Variabel dan Tipe Data
1. Variabel
Variabel adalah suatu item dari data yang diberi nama identifikasi(identifier), variable dapat diartikan lokasi di dalam memori yang mana suatu nilai(value) dapat disimpan.
2. Tipe Data
Java membagi tipe data menjadi 2 bagian :
(1) Tipe data primitive
Keyword
Size
Range
Bilangan Integer
Byte
8 bits
-128 s/d 127
Short
16 bits
-32768 s/d 32767
Int
32 bits
-2.147.483.648 s/d 2.147.483.647
Long
64 bits
9223372036854775808 s/d 9223372036854775808
Bilangan Real
Float
32 bits
Single Precision
Double
64 bits
Double Precision
Tipe Data Lain
Char
16 bits
Single Characte
Boolean
True / false
Nilai Boolean
Contoh cara pendeklarasian dan inisialisasi tipe data primitive sebagai berikut :
char ch; // deklarasi variable
ch = “R’; // inisialisasi variable
char ch1= “S”; // delarasi dan inisialisasi variable
int x,y,z; // deklarasi 3 variabel integer
boolean tetap= true;
(2) Tipe data reference
Reference adalah pointer ke tipe data atau penyimpan alamat data.
Terdapat tiga data reference yaitu : array, class, dan interface (mengenai tipe data reference akan diuraikan dalam bab selanjutnya)
Komentar
Komentar tidak akan menjadi bagian program yang dieksekusi. Kita dapat menambahkan senbanyak mungkin komentar.
Komentar di Java dapat didefinisikan dengan 3 cara berbeda .
Jenis Komentar :
/* komentar */ ===èSemua karakter yang berada di antara /* dan */ akan diabaikan.
// komentar ===èSemua karakter setelah // sampai akhir baris akan diabaikan.
/** komentar */ ===èSerupa dengan /* */, kecuali bahwa komentar akan digunakan tool javadoc untuk menciptakan dokumentasi otomatis.
Berikut cara menyisipkan komentar pada program
class Hello
{
// kalimat ini adalah komentar
// yang tak akan dieksekusi
public static void main(String args[])
{
System.out.println(“Hello World!”);
}
/*
Kalimat ini adalah komentar
Yang tidak akan dieksekusi
*/
}
Literal
Karakter literal adalah karakter yang ditulis diantara kutip tunggal : ‘r’,’#’,’14’ dan sebagainya. Karakter ini disimpan sebagai 16 bit Unicode Characters. Berikut daftar special kode yang merepresentasikan karakter-karakter yang tidak dapat di print(non-printable characters)
Escape
Meaning
\n
Newline
\t
Tab
\b
Backspace
\r
Carriage Return
\f
Formfeed
\\
Backslash
\’
Single Quote
\”
Double Quote
\ddd
Octal
\xdd
Hexadecimal
\udddd
Unicode Character
Contoh :
“Trade Mark dari Java \u212”
Hasil output diatas adalah :
Trade Mark dari Java ™
Operator dan Ekspresi
Ekspresi : adalah statement yang mengembalikan suatu nilai
Operator : suatu symbol yang biasanya digunakan dalam ekspresi
1. Operator Aritmatika
Operator
Meaning
Example
+
Addition
3 + 4
-
Substraction
5 – 7
*
Multiplication
5 * 5
/
Division
14 / 7
%
Modulus
20 % 7
Contoh :
// Nama File Aritmatika.java
class Aritmatika {
public static void main(String args[]) {
short x = 10’
int y = 4;
float a = 12.5f;
float b = 7f;
System.out.println(“X = “ + x + “, Y = “ +y);
System.out.println(“X +Y = “ + (x +y));
System.out.println(“X -Y = “ +(x-y));
System.out.println(“X / Y = “ +(x/y));
System.out.println(“X % Y = “ +(x%y));
System.out.println(“A = “ + a + “, B = “ +b); System.out.println(“A / B = “ + (a / b));
}
}
2. Operator Increment dan Decrement
Operator increment dan Decrement ( ++ dan -- ) menaikkan dan menurunkan variable dengan 1.
Contoh :
Y = ++ x;
Z= --x;
3. Assignment Operator
Ekspression
Meaning
x += y
x = x + y
x -= y
X = x – y
x *= y
x = x * y
x /= y
x = x / y
Lebih jauh dengan Assignment
Variabel assignment adalah suatu bentuk ekspresi :
x = y = z = 0;
pada contoh diatas variable x,y,z bernilai 0.
4. Operator Relasional ( Perbandingan)
Java mempunyai beberapa ekspresi untuk menguji hasil suatu perbandingan :
Operator
Meaning
Example
==
Equal
x== 3
!=
Not Equal
x != 3
<
Less Than
x < 3
>
Greater Than
x > 3
<=
Less Than Or Equal To
x < = 3
>=
Greater Than Or Equal To
x > = 3
5. Operator Logika
Operator
Meaning
Example
&&
And
2 && 2
||
Or
2 || 2
!=
NOT
2 != 2
6. Operator Bitwise
Operator bitwise complement operator ( ~ ) melakukan negasi bitwise nilai bilangan bulat. Bitwise negation berarti masing – masing bit di angka maka semua bilangan biner 0 menjadi 1 dan semua bilangan biner 1 menjadi 0.
Contoh :
X=8;
Y=~x;
Pada contoh ini x diberi nilai literal 8, kemudian dilakuakn bitwise complement sebelum diberikan ke y.Hal ini bearti semua bit di varioabel x dinegasikan, hasilnya adalah bilangan bulat -9.
Contoh diatas terjadi karena bilangan int disimpan menggunakan metode two’s complement. Semua bilangan int ( kecuali char) direpresentasikan two’s complement yang berarti bilangan negative direpresentasikan dengan inverse semua bit menghasilkan 11110111 adalah angka -9, bila ditambah 1 maka 11111000 adalah -8.
Karena pengunaan two’s complement maka operator bitwise dapat menghasilkan nilai – nilai tidak diharapkan. Mengubah bit paling kiri akan berarti mengubah tanda bilangan dari positif menjadi neatif dan sebaliknya.
Object dan Class
Definisi class dan object :
class
Dalam dunia nyata, kita sering berinteraksi dengan banyak object. Kita tinggal di rumah, rumah adalah suatu object, dalam terminology OOP rumah kita adalah instance dari suatu class rumah.
Misal kita tinggal dalam suatu komplek perumahan, sebelum membangun rumah, developer akan berpanduan pada rancang bangun rumah(blue print) yang telah dibuat seorang arsitek. Blue print dari rumah adalah class, sedang rumah yang kita tinggal(rumah-rumah dalam komplek) disebut instance.
Manusia adalah sebuah class ; anda, saya, kita adalah instance dari class manusia
Object
Object adalah instance dari class. Jika class secara umum merepresentasikan(template) sebuah object, sebuah instance adalah representasi nyata dari class itu sendiri.
Bekerja dengan Object
Ketika anda membuat program dengan Java, anda akan mendefinisikan beberapa class, anda juga akan menggunakan class untuk membuat suatu instance dan tentu saja akan bekerja dengan instance-instance tersebut.
Membuat object
Untuk membuat object, kita menggunakan perintah new dengan sebuah nama class yang akan dibuat sebagai instance dari class tersebut.
String str = new String();
Random r = new Random();
Pegawai p2 = new PEgawai();
Date hari = new Date();
hari adalah object reference dari class Date yang akan digunakan untuk mengakses class Date.
Sedangkan operator new adalah operator yang akan menghasilkan hari sebagai reference ke instance dari class Date().
Contoh :
Kita akan menggunakan class Date untuk membuat suatu object Date.
import java.util.Date;
class CreateDates {
public static void main(String args[]){
Date d1,d2,d3;
d1 = new Date();
System.out.println(“Hari 1 : “ + d1);
d2 = new Date(71,4,14,8,35);
System.out.println(“Hari 2 : “ + d2);
d3 = new Date(“September 3 1976 2:25 PM”);
System.out.println(“Hari 3 : “ + d3);
}
}
Ketika anda memanggil operator new terjadi beberapa hal :
1. Instance baru yang telah diberikan oleh class dicipakan
2. Memori dialokasikan untuk instance tersebut
3. Special Method didefinisikan pada class (Konstruktor)
Konstruktor : Suatu method tertentu untuk membuat dan menginsialisasi sebuah instance baru dari class. Konstruktor menginisialiasasi object-object baru dan variable-variabel. Pemberian nama method Konstruktor harus sama dengan nama classnya. (Penjelasan tentang Konstruktor akan dibahas dalam pertemuan berikutnya)
Akses dan Setting Class dan Variabel Instance
Akses variable Instance
Untuk mengambil value dari suatu variable instance kita gunakan notasi titik(.)
Dengan notasi titik, sebuah instance atau variable class dibagi dua bagian. Object berada disebelah kiri titik, dan variable berada di kanan titik.
Pegawai.tugas;
Pegawai adalah object, tugas adalah variable. Misalkan tugas adalah object yang mempunyai variable instance sendiri yaitu status, penulisan dapat ditulis sebagai berikut
Pegawai.tugas.status;
Memberi Nilai variabel
Untuk memberi nilai variable kita gunakan operator sama dengan(=) disebelah kanan ekspresi.
Pegawai.tugas.status = SELESAI; // SELESAI==true
Contoh :
// Nama File : Testpoint.java
import java.awt.font;
class Testpoint {
public static void main(String args[]) {
Point poin = new Point(10,10);
System.out.println(“X = “ + point.x);
System.out.println(“Y = “ + point.y);
System.out.println(“Setting X = 6 “);
poin.x = 6;
System.out.println(“Setting Y = 14“);
poin.y = 14;
System.out.println(“X = “ + point.x);
System.out.println(“Y = “ + point.y);
}
}
Memanggil method
Untuk memanggil method didalam object, sama seperti memanggil variable instance; yaitu dengan dengan menggunakan notasi titik(.)
Object berada disebelah kiri titik, dan method beserta argumen-argumen berada di kanan titik.
ObjectSatu.methodDua(arg1, arg2, arg3);
Method tanpa argument :
ObjectSatu.methodNoArg();
Jika method yang dipanggil mempunyai object yang mempunyai method tersendiri
ObjectSatu.GetObjectLain().getNama();
Method dengan kombinasi memanggil variable instance
Pegawai.golongan.gaji(arg1, arg2);
Contoh :
//Nama File : TestString.java
classTestString {
public static void main(String args[]) {
String str=”Awalilah segala sesuatu pekerjaan dengan
Bismillah”;
System.out.println(“Kalimat bijak : “ +str);
System.out.println(“Panjang Kalimat : “ +str.length());
System.out.println(“Character pada posisi 4 adalah : “ +str.charAt(4));
}
}
Object Reference
Ketika bekerja dengan object-object, salah satu hal yang penting untuk dimengerti adalah bagaimana menggunakan reference ke suatu object.
Ketika kita meng-assign suatu object ke variable, atau menjadikan object-object sebagai argument pada suatu method, sesungguhnya kita telah membuat reference ke object-object tersebut, bukan object atau duplikasi(copy) dari object yang membuat suatu reference
Contoh berikut akan membuat kita jelas :
// Nama file : ReferencesTest.java
import java.awt.font;
class ReferenceTest {
public static void main(String args[]) {
Point poin1,poin2;
poin1 = new Point(100,100);
poin2 = poin1;
poin1.x = 200;
poin2.y = 200;
System.out.println(“Point 1 : “+poin1.x+”,”+poin1.y);
System.out.println(“Point 1 : “+poin1.x+”,”+poin1.y);
}
}
Dalam program diatas, kita mendeklarasikan dua variable bertipe Point, dan meng-assign suatu Point baru ke poin1. Kemudian meng-assign poin2 dengan nilai dari poin1.
Output yang terjadi adalah :
Point 1 : 200,200
Point 2 : 200,200
Terlihat poin2 juga berubah. Ketika kita meng-assign suatu nilai dari poin1 ke poin2, sesungguhnya kita menciptakan sebuah reference dari point2 menunjuk ke suatu object yang sama dengan poin1.
poin1 Point Object
x : 200
y : 200
poin2
Mendeklarasikan Class dan Variabel
Class adalah kumpulan kode atau cetak biru(blue print) dari suatu object. Didalam cetak biru menerangkan sifat dari objek dan identitas suatu variable.
Sintax untuk mendeklarasikan class :
[‘public’] [(‘abstract’ | ‘final’)] class nama_class
{
// sifat dari object dan identitas suatu variable dideklarasikan diantara {}
}
Menggunakan keyword public berarti class tersebut bisa di akses oleh class-class di seluruh package. Perlu diingat jangan menggunakan public jika class dibuat hanya di akses oleh class-class dalam satu package dengan class itu sendiri.
Gunakan keyword abstract untuk mendefinisikan suatu class abstract dimana object tidak bisa diciptakan dari class abstract, kelas abstract dibuat untuk diturunkan(di subclass) bukan untuk diinstansiasi langsung.
Gunakan keyword final untuk mendefinisikan suatu class yang tidak dapat diturunkan.
Penamaan class biasanya menggunakan huruf capital untuk karakter pertamanya.
Contoh :
class Mhs {
}
Jika class adalah sub class dari class lain gunakan keyword extends.
class Mhs extends Mahasiswa {
}
Dapat diartikan Mhs adalah subclass dari Mahasiswa.
Deklarasi Variabel
Sintax Deklarasi variable :
[(public | private | protected)]
[(final | volatile)]
[static][transient]
Tipe_data Nama_variabel [=ekspresi];
Contoh :
class Mahasiswa {
String npm;
int nilai;
}
Akses variable
Untuk akses dan scope variable digunakan keyword : public, private atau protected.
1. Tanpa keyword
Jika tidak digunakan keyword diatas sebagaimana contoh dibawah ini :
class MyClass
{
int nama;
}
Berarti : Hanya kode-kode yang terdapat dalam MyClass dan class-class lain yang dideklarasikan dalam package dimana MyClass dideklarasikan yang dapat mengakses variable nama.
2. private
class Pegawai
{
private double gaji
}
Berarti : Hanya kode-kode yang terdapat dalam class Pegawai yang dapat mengakses variable gaji.
3. public
public class Pegawai
{
public String nama;
}
Berarti : Kode-kode yang terdapat didalam class Pegawai dan class yang terdapat di dalam package lain dapat mengakses variable nama(class Pegawai harus dideklarasikan public juga agar dapat diakses class-class dalam package lain.
4. protected
public class Pegawai
{
protected String nama;
}
Berarti : Hanya kode-kode yang terdapat dalam class Pegawai dan class-class lain dalam satu package yang sama dengan class Pegawai dan seluruh sub class dari class Pegawai(yang dideklarasikan dalam package lain) dapat mengakses variable nama.
- Java adalah turunan dari C, sehingga Java memiliki sifat C yaitu Case sensitive, yaitu membedakan antara huruf besar dan kecil
- Dalam sebuah file program di Java, hanya diijinkan memiliki 1 buah class yang bersifat public
- Dalam sebuah file program Java, hanya ada satu method main(method yang pertama kali dibaca oleh interpreter Java)
- Nama sebuah file program Java harus sama dengan nama class yang memiliki method main() di dalam tubuhnya. Perhatikan bahwa tulisan nama file dengan nama class (huruf besar maupun kecilnya) haruslah persis sama. .
Berikut adalah contoh membuat program dengan menggunakan Java. Pada program akan ditampilkan tulisan “Hello World !“
//Nama File Hello.java
class Hello
{
public static void main(String args[])
{
System.out.println(“Hello World !”);
}
}
Langkah selanjutnya :
1. Simpan dengan nama: Hello.java
2. compile Hello.java : javac Hello.java
3. hasilnya akan menghasilkan : Hello.class
4. jalankan Hello.class: java Hello.class atau java Hello
5. akan keluar hasil :
Hello world!
Programming Tip :
Dalam penulisan bahasa program, disarankan :
1. Huruf depan dari sebuah class atau method menggunakan huruf besar
2. Menulis Komentar pada sebuah class atau method untuk memudahkan debug(pencarian kesalahan). Serta mempermudah orang lain membaca program kita. Ingat !!! Dalam dunia nyata, programmer bekerja secara team, jadi usahakan partner team mengerti apa yang kita buat dengan memberikan komentar(tentang pembuatan komentar akan dibahas dibawah)
3. Membuat indentasi(jarak antara induk perintah dan anak perintah). Identasi sebisa mungkin dibuat standard, semisal pada contoh diatas, jarak antara tulisan “class Hello” sebagai induk perintah dengan tulisan “public…..” sebagai anak perintah adalah 5 spasi. Sekali lagi, ini untuk mempermudah dalam pengertian program
Statement dan Identifier
1. Statement
Bentuk statement atau pernyataan dalam satu program di Java adalah sebagai berikut :
Int i=1;
String teman = “Iman Rochdilianto”;
import java.awt.Font;
System.out.println(“Selamat Datang “ + teman +
“di Praktikum SBP”);
pegawai.tetap=true;
total= a + b + c + d + e;
Setiap statement selalu diakhiri dengan titik koma (;)
Blok adalah 2 tanda kurung kurawal ({}) yang menyatukan statemen
{
x = x + 1;
y = y * 3;
}
Java memperbolehkan spasi dalam jumlah berapa saja (Spasi, tab, baris baru)
class Hello
{
public static void main(String args[])
{
System.out.println(“Hello World”);
}
}
bisa ditulis dalam bentuk sepeerti dibawah ini :
class Hello ( public static void main(String args[]) {
System.out.println(“Hello World!”); } }
Identifier
Dalam Java, identifier adalah nama yang diberikan untuk variable, class, atau method. Identifier boleh dimulai dengan huruf, underscore(_) atau tanda dollat($).
Identifier adalah case sensitive(membedakan huruf besar/kecil) dan tak ada batas maksimum.
Contoh :
username
user_name
_sys_var1
$change
Variabel dan Tipe Data
1. Variabel
Variabel adalah suatu item dari data yang diberi nama identifikasi(identifier), variable dapat diartikan lokasi di dalam memori yang mana suatu nilai(value) dapat disimpan.
2. Tipe Data
Java membagi tipe data menjadi 2 bagian :
(1) Tipe data primitive
Keyword
Size
Range
Bilangan Integer
Byte
8 bits
-128 s/d 127
Short
16 bits
-32768 s/d 32767
Int
32 bits
-2.147.483.648 s/d 2.147.483.647
Long
64 bits
9223372036854775808 s/d 9223372036854775808
Bilangan Real
Float
32 bits
Single Precision
Double
64 bits
Double Precision
Tipe Data Lain
Char
16 bits
Single Characte
Boolean
True / false
Nilai Boolean
Contoh cara pendeklarasian dan inisialisasi tipe data primitive sebagai berikut :
char ch; // deklarasi variable
ch = “R’; // inisialisasi variable
char ch1= “S”; // delarasi dan inisialisasi variable
int x,y,z; // deklarasi 3 variabel integer
boolean tetap= true;
(2) Tipe data reference
Reference adalah pointer ke tipe data atau penyimpan alamat data.
Terdapat tiga data reference yaitu : array, class, dan interface (mengenai tipe data reference akan diuraikan dalam bab selanjutnya)
Komentar
Komentar tidak akan menjadi bagian program yang dieksekusi. Kita dapat menambahkan senbanyak mungkin komentar.
Komentar di Java dapat didefinisikan dengan 3 cara berbeda .
Jenis Komentar :
/* komentar */ ===èSemua karakter yang berada di antara /* dan */ akan diabaikan.
// komentar ===èSemua karakter setelah // sampai akhir baris akan diabaikan.
/** komentar */ ===èSerupa dengan /* */, kecuali bahwa komentar akan digunakan tool javadoc untuk menciptakan dokumentasi otomatis.
Berikut cara menyisipkan komentar pada program
class Hello
{
// kalimat ini adalah komentar
// yang tak akan dieksekusi
public static void main(String args[])
{
System.out.println(“Hello World!”);
}
/*
Kalimat ini adalah komentar
Yang tidak akan dieksekusi
*/
}
Literal
Karakter literal adalah karakter yang ditulis diantara kutip tunggal : ‘r’,’#’,’14’ dan sebagainya. Karakter ini disimpan sebagai 16 bit Unicode Characters. Berikut daftar special kode yang merepresentasikan karakter-karakter yang tidak dapat di print(non-printable characters)
Escape
Meaning
\n
Newline
\t
Tab
\b
Backspace
\r
Carriage Return
\f
Formfeed
\\
Backslash
\’
Single Quote
\”
Double Quote
\ddd
Octal
\xdd
Hexadecimal
\udddd
Unicode Character
Contoh :
“Trade Mark dari Java \u212”
Hasil output diatas adalah :
Trade Mark dari Java ™
Operator dan Ekspresi
Ekspresi : adalah statement yang mengembalikan suatu nilai
Operator : suatu symbol yang biasanya digunakan dalam ekspresi
1. Operator Aritmatika
Operator
Meaning
Example
+
Addition
3 + 4
-
Substraction
5 – 7
*
Multiplication
5 * 5
/
Division
14 / 7
%
Modulus
20 % 7
Contoh :
// Nama File Aritmatika.java
class Aritmatika {
public static void main(String args[]) {
short x = 10’
int y = 4;
float a = 12.5f;
float b = 7f;
System.out.println(“X = “ + x + “, Y = “ +y);
System.out.println(“X +Y = “ + (x +y));
System.out.println(“X -Y = “ +(x-y));
System.out.println(“X / Y = “ +(x/y));
System.out.println(“X % Y = “ +(x%y));
System.out.println(“A = “ + a + “, B = “ +b); System.out.println(“A / B = “ + (a / b));
}
}
2. Operator Increment dan Decrement
Operator increment dan Decrement ( ++ dan -- ) menaikkan dan menurunkan variable dengan 1.
Contoh :
Y = ++ x;
Z= --x;
3. Assignment Operator
Ekspression
Meaning
x += y
x = x + y
x -= y
X = x – y
x *= y
x = x * y
x /= y
x = x / y
Lebih jauh dengan Assignment
Variabel assignment adalah suatu bentuk ekspresi :
x = y = z = 0;
pada contoh diatas variable x,y,z bernilai 0.
4. Operator Relasional ( Perbandingan)
Java mempunyai beberapa ekspresi untuk menguji hasil suatu perbandingan :
Operator
Meaning
Example
==
Equal
x== 3
!=
Not Equal
x != 3
<
Less Than
x < 3
>
Greater Than
x > 3
<=
Less Than Or Equal To
x < = 3
>=
Greater Than Or Equal To
x > = 3
5. Operator Logika
Operator
Meaning
Example
&&
And
2 && 2
||
Or
2 || 2
!=
NOT
2 != 2
6. Operator Bitwise
Operator bitwise complement operator ( ~ ) melakukan negasi bitwise nilai bilangan bulat. Bitwise negation berarti masing – masing bit di angka maka semua bilangan biner 0 menjadi 1 dan semua bilangan biner 1 menjadi 0.
Contoh :
X=8;
Y=~x;
Pada contoh ini x diberi nilai literal 8, kemudian dilakuakn bitwise complement sebelum diberikan ke y.Hal ini bearti semua bit di varioabel x dinegasikan, hasilnya adalah bilangan bulat -9.
Contoh diatas terjadi karena bilangan int disimpan menggunakan metode two’s complement. Semua bilangan int ( kecuali char) direpresentasikan two’s complement yang berarti bilangan negative direpresentasikan dengan inverse semua bit menghasilkan 11110111 adalah angka -9, bila ditambah 1 maka 11111000 adalah -8.
Karena pengunaan two’s complement maka operator bitwise dapat menghasilkan nilai – nilai tidak diharapkan. Mengubah bit paling kiri akan berarti mengubah tanda bilangan dari positif menjadi neatif dan sebaliknya.
Object dan Class
Definisi class dan object :
class
Dalam dunia nyata, kita sering berinteraksi dengan banyak object. Kita tinggal di rumah, rumah adalah suatu object, dalam terminology OOP rumah kita adalah instance dari suatu class rumah.
Misal kita tinggal dalam suatu komplek perumahan, sebelum membangun rumah, developer akan berpanduan pada rancang bangun rumah(blue print) yang telah dibuat seorang arsitek. Blue print dari rumah adalah class, sedang rumah yang kita tinggal(rumah-rumah dalam komplek) disebut instance.
Manusia adalah sebuah class ; anda, saya, kita adalah instance dari class manusia
Object
Object adalah instance dari class. Jika class secara umum merepresentasikan(template) sebuah object, sebuah instance adalah representasi nyata dari class itu sendiri.
Bekerja dengan Object
Ketika anda membuat program dengan Java, anda akan mendefinisikan beberapa class, anda juga akan menggunakan class untuk membuat suatu instance dan tentu saja akan bekerja dengan instance-instance tersebut.
Membuat object
Untuk membuat object, kita menggunakan perintah new dengan sebuah nama class yang akan dibuat sebagai instance dari class tersebut.
String str = new String();
Random r = new Random();
Pegawai p2 = new PEgawai();
Date hari = new Date();
hari adalah object reference dari class Date yang akan digunakan untuk mengakses class Date.
Sedangkan operator new adalah operator yang akan menghasilkan hari sebagai reference ke instance dari class Date().
Contoh :
Kita akan menggunakan class Date untuk membuat suatu object Date.
import java.util.Date;
class CreateDates {
public static void main(String args[]){
Date d1,d2,d3;
d1 = new Date();
System.out.println(“Hari 1 : “ + d1);
d2 = new Date(71,4,14,8,35);
System.out.println(“Hari 2 : “ + d2);
d3 = new Date(“September 3 1976 2:25 PM”);
System.out.println(“Hari 3 : “ + d3);
}
}
Ketika anda memanggil operator new terjadi beberapa hal :
1. Instance baru yang telah diberikan oleh class dicipakan
2. Memori dialokasikan untuk instance tersebut
3. Special Method didefinisikan pada class (Konstruktor)
Konstruktor : Suatu method tertentu untuk membuat dan menginsialisasi sebuah instance baru dari class. Konstruktor menginisialiasasi object-object baru dan variable-variabel. Pemberian nama method Konstruktor harus sama dengan nama classnya. (Penjelasan tentang Konstruktor akan dibahas dalam pertemuan berikutnya)
Akses dan Setting Class dan Variabel Instance
Akses variable Instance
Untuk mengambil value dari suatu variable instance kita gunakan notasi titik(.)
Dengan notasi titik, sebuah instance atau variable class dibagi dua bagian. Object berada disebelah kiri titik, dan variable berada di kanan titik.
Pegawai.tugas;
Pegawai adalah object, tugas adalah variable. Misalkan tugas adalah object yang mempunyai variable instance sendiri yaitu status, penulisan dapat ditulis sebagai berikut
Pegawai.tugas.status;
Memberi Nilai variabel
Untuk memberi nilai variable kita gunakan operator sama dengan(=) disebelah kanan ekspresi.
Pegawai.tugas.status = SELESAI; // SELESAI==true
Contoh :
// Nama File : Testpoint.java
import java.awt.font;
class Testpoint {
public static void main(String args[]) {
Point poin = new Point(10,10);
System.out.println(“X = “ + point.x);
System.out.println(“Y = “ + point.y);
System.out.println(“Setting X = 6 “);
poin.x = 6;
System.out.println(“Setting Y = 14“);
poin.y = 14;
System.out.println(“X = “ + point.x);
System.out.println(“Y = “ + point.y);
}
}
Memanggil method
Untuk memanggil method didalam object, sama seperti memanggil variable instance; yaitu dengan dengan menggunakan notasi titik(.)
Object berada disebelah kiri titik, dan method beserta argumen-argumen berada di kanan titik.
ObjectSatu.methodDua(arg1, arg2, arg3);
Method tanpa argument :
ObjectSatu.methodNoArg();
Jika method yang dipanggil mempunyai object yang mempunyai method tersendiri
ObjectSatu.GetObjectLain().getNama();
Method dengan kombinasi memanggil variable instance
Pegawai.golongan.gaji(arg1, arg2);
Contoh :
//Nama File : TestString.java
classTestString {
public static void main(String args[]) {
String str=”Awalilah segala sesuatu pekerjaan dengan
Bismillah”;
System.out.println(“Kalimat bijak : “ +str);
System.out.println(“Panjang Kalimat : “ +str.length());
System.out.println(“Character pada posisi 4 adalah : “ +str.charAt(4));
}
}
Object Reference
Ketika bekerja dengan object-object, salah satu hal yang penting untuk dimengerti adalah bagaimana menggunakan reference ke suatu object.
Ketika kita meng-assign suatu object ke variable, atau menjadikan object-object sebagai argument pada suatu method, sesungguhnya kita telah membuat reference ke object-object tersebut, bukan object atau duplikasi(copy) dari object yang membuat suatu reference
Contoh berikut akan membuat kita jelas :
// Nama file : ReferencesTest.java
import java.awt.font;
class ReferenceTest {
public static void main(String args[]) {
Point poin1,poin2;
poin1 = new Point(100,100);
poin2 = poin1;
poin1.x = 200;
poin2.y = 200;
System.out.println(“Point 1 : “+poin1.x+”,”+poin1.y);
System.out.println(“Point 1 : “+poin1.x+”,”+poin1.y);
}
}
Dalam program diatas, kita mendeklarasikan dua variable bertipe Point, dan meng-assign suatu Point baru ke poin1. Kemudian meng-assign poin2 dengan nilai dari poin1.
Output yang terjadi adalah :
Point 1 : 200,200
Point 2 : 200,200
Terlihat poin2 juga berubah. Ketika kita meng-assign suatu nilai dari poin1 ke poin2, sesungguhnya kita menciptakan sebuah reference dari point2 menunjuk ke suatu object yang sama dengan poin1.
poin1 Point Object
x : 200
y : 200
poin2
Mendeklarasikan Class dan Variabel
Class adalah kumpulan kode atau cetak biru(blue print) dari suatu object. Didalam cetak biru menerangkan sifat dari objek dan identitas suatu variable.
Sintax untuk mendeklarasikan class :
[‘public’] [(‘abstract’ | ‘final’)] class nama_class
{
// sifat dari object dan identitas suatu variable dideklarasikan diantara {}
}
Menggunakan keyword public berarti class tersebut bisa di akses oleh class-class di seluruh package. Perlu diingat jangan menggunakan public jika class dibuat hanya di akses oleh class-class dalam satu package dengan class itu sendiri.
Gunakan keyword abstract untuk mendefinisikan suatu class abstract dimana object tidak bisa diciptakan dari class abstract, kelas abstract dibuat untuk diturunkan(di subclass) bukan untuk diinstansiasi langsung.
Gunakan keyword final untuk mendefinisikan suatu class yang tidak dapat diturunkan.
Penamaan class biasanya menggunakan huruf capital untuk karakter pertamanya.
Contoh :
class Mhs {
}
Jika class adalah sub class dari class lain gunakan keyword extends.
class Mhs extends Mahasiswa {
}
Dapat diartikan Mhs adalah subclass dari Mahasiswa.
Deklarasi Variabel
Sintax Deklarasi variable :
[(public | private | protected)]
[(final | volatile)]
[static][transient]
Tipe_data Nama_variabel [=ekspresi];
Contoh :
class Mahasiswa {
String npm;
int nilai;
}
Akses variable
Untuk akses dan scope variable digunakan keyword : public, private atau protected.
1. Tanpa keyword
Jika tidak digunakan keyword diatas sebagaimana contoh dibawah ini :
class MyClass
{
int nama;
}
Berarti : Hanya kode-kode yang terdapat dalam MyClass dan class-class lain yang dideklarasikan dalam package dimana MyClass dideklarasikan yang dapat mengakses variable nama.
2. private
class Pegawai
{
private double gaji
}
Berarti : Hanya kode-kode yang terdapat dalam class Pegawai yang dapat mengakses variable gaji.
3. public
public class Pegawai
{
public String nama;
}
Berarti : Kode-kode yang terdapat didalam class Pegawai dan class yang terdapat di dalam package lain dapat mengakses variable nama(class Pegawai harus dideklarasikan public juga agar dapat diakses class-class dalam package lain.
4. protected
public class Pegawai
{
protected String nama;
}
Berarti : Hanya kode-kode yang terdapat dalam class Pegawai dan class-class lain dalam satu package yang sama dengan class Pegawai dan seluruh sub class dari class Pegawai(yang dideklarasikan dalam package lain) dapat mengakses variable nama.
