Modul Pemrograman Java
Modul Pemrograman Java
Bahasa pemrograman Java pada awalnya dikhususkan untuk aplikasi berbasis Internet,
namun sekarang aplikasi-aplikasi Java sudah dapat digunakan untuk tidak hanya berbasis
Web saja tetapi dari basis Desktop hingga aplikasi mobile sudah menggunakannya. Java itu
portable yaitu dapat dijalankan di berbagai platform yaitu Windows, Linux, Unix, MacOS,
atau SymbianOS (mobile). Kunci dari portabilitas ini adalah keluaran hasil kompilasi Java
bukanlah file executable melainkan berbentuk bytecode. Bytecode inilah yang akan
dieksekusi oleh JRE (Java Runtime Environment) yang disebut JVM (Java Virtual Machine)
dan telah diinstall pada setiap sistem operasi yang akan digunakan, sehingga JVM
merupakan interpreter bagi bytecode.
Sebenarnya eksekusi interpreter lebih lambat dengan bandingkan dengan kompilasi
executable, maka Sun menyuplai teknologi HotSpot yang menyediakan compiler JIT (Just InTime) untuk bytecode dan menjadi bagian JVM untuk mengkompilasi bytecode menjadi
executable code secara real-time, sehingga menjalankan aplikasi Java lebih cepat.
Bahasa Java kali pertama dikonsepkan oleh James Gosling, Patrick Naughton, Chris Warth, Ed
Frank, dan Mike Sheridan di Sun Microsystem tahun 1991, dengan nama bahasa programnya
Oak. Tahun 1995 mereka mengunjungi sebuah caf kopi lokal dan mengubah namanya
menjadi Java hingga sekarang.
Bahasa Java secara langsung berhubungan dengan C dan C++, karena Java menurunkan
sintaks-nya dari C dan objeknya diadaptasi dari C++, sehingga Java memiliki sifat case
sensitive (membedakan antara huruf besar maupun kecil).
1.1
Java merupakan bahasa pemrograman berorientasi objek atau OOP (Object Oriented
Programming). Elemen-elemen dari pemrograman objek ini diantaranya adalah
encapsulation, polymorphism dan inherit.
Encapsulation merupakan mekanisme pemrograman yang mengikat data dan program
bersama-sama dan mengamankannya dari penyalahgunaan dan interferensi dari luar.
Melalui objek, data dan kode dapat menjadi private, protected atau public bagi objek
tersebut. Seperti yang diketahui kode dan data private hanya dapat diakses oleh bagian
dalam dari objek tersebut sedangkan kode dan data protected aksesnya selain dari dalam
objek sendiri, dapat diakses oleh objek keturunannya. Kode dan data public dapat diakses
oleh objek luar.
Unit dasar dari encapsulation ini adalah class. Class mendefinisikan format dari objek yang
akan dibangun sehingga objek merupakan instansi (instance) dari class. Kode dan data
merupakan anggota (member) dari class, dimana data disebut members variables atau
instance variables sedangkan kode yang mengoperasikan data disebut member methods
atau methods. Method dalam java merupakab subrutin atau function.
Halaman | 1
Pemrograman JAVA
Polymorphism membolehkan satu interface mengakses general class dalam aksinya. Lebih
tepatnya lagi polymorphism merupakan satu interface banyak method. Misalnya suatu
method dengan nama yang sama namun memiliki pengoperasian tipe data yang berbeda.
Inheritance adalah proses dimana suatu objek mendapatkan properti dari objek lain. Konsep
ini merupakan hierarchical classification yang diperlukan dalam penurunan sifat suatu objek
terhadap objek lain yang menjadi orang tuanya (parent).
1.2
Untuk membuat aplikasi Java dibutukan JDK yang ditelah disediakan secara gratis oleh sun
Microsystem dan dapat download di www.java.sun.com. Setelah di-install, JDK menyertakan
beberapa program penting diantaranya adalah javac.exe sebagai Java compiler dan java.exe
sebagai interpreter Java.
Halaman | 2
Pemrograman JAVA
Simpan dengan nama file yang sama persis (huruf kapitalnya) dengan nama class dan
tambahkan ekstension java di akhir file, yaitu Contoh1.java, kemudian kompilasi file teks
dengan perintah ini di lokasi folder tempat file tersebut disimpan.
C:\>javac Contoh1.java
+ "+v2+" = "+v);
- "+v2+" = "+v);
* "+v2+" = "+v);
/ "+v2+" = "+v);
% "+v2+" = "+v);
}
}
Halaman | 3
Pemrograman JAVA
70
70
70
70
70
+
*
/
%
30
30
30
30
30
=
=
=
=
=
100
40
2100
2
10
v1=23.34;
v2=12.223;
v=v1+v2;
System.out.println(v1+"
v=v1-v2;
System.out.println(v1+"
v=v1*v2;
System.out.println(v1+"
v=v1/v2;
System.out.println(v1+"
+ "+v2+" = "+v);
- "+v2+" = "+v);
* "+v2+" = "+v);
/ "+v2+" = "+v);
}
}
23.34
23.34
23.34
23.34
+
*
/
12.223
12.223
12.223
12.223
=
=
=
=
35.563
11.116999999999999
285.28482
1.90951484905506
Contoh
==
x == y
!=
x != y
>
x > y
>=
x >= y
<
x < y
<=
x <= y
Keterangan
Sama dengan
Tidak sama dengan
Lebih besar
Lebih besar atau sama dengan
Lebih kecil
Lebih kecil atau sama dengan
Halaman | 4
Pemrograman JAVA
if ( n1 == n2 )
System.out.printf(
if ( n1 != n2 )
System.out.printf(
if ( n1 < n2 )
System.out.printf(
if ( n1 > n2 )
System.out.printf(
if ( n1 <= n2 )
System.out.printf(
if ( n1 >= n2 )
System.out.printf(
}
}
91.0
92.0
93.0
94.0
95.0
galon
galon
galon
galon
galon
galon
galon
galon
galon
galon
adalah
adalah
adalah
adalah
adalah
adalah
adalah
adalah
adalah
adalah
41.6394 liter.
45.424800000000005 liter.
49.2102 liter.
52.9956 liter.
56.781 liter.
60.5664 liter.
64.3518 liter.
68.1372 liter.
71.9226 liter.
75.708 liter.
galon
galon
galon
galon
galon
adalah
adalah
adalah
adalah
adalah
344.4714 liter.
348.2568 liter.
352.04220000000004 liter.
355.8276 liter.
359.613 liter.
Halaman | 5
Pemrograman JAVA
1.3
Latihan
1 2 3 4
29 fizz
54 fizz
79 fizz
1 2 3 4
29 fizz
54 fizz
79 fizz
Halaman | 6
Pemrograman JAVA
1.3.3 Factorial
public class Factorial {
public static int factorial_iteration(int x) {
if (x < 0)
throw new IllegalArgumentException("x harus >= 0");
int fact = 1;
for(int i = 2; i <= x; i++)
fact *= i;
return fact;
}
public static long factorial_recursive(long x) {
if (x < 0)
throw new IllegalArgumentException("x harus >= 0");
if (x <= 1)
return 1;
else
return x * factorial_recursive(x-1);
}
public static void main(String[] args){
int x=10;
System.out.println("Hasil factorial (Iterasi) dari "+ x + factorial_iteration(x));
System.out.println("Hasil factorial (Recursive) dari "+ x + factorial_recursive(x));
}
}
: Factorial
: Bilangan integer;
: Factorial
import java.io.*;
public class FactorialInput2 {
public static void main(String[] args) throws IOException {
Halaman | 7
Pemrograman JAVA
FactInput> 13
13! = 1932053504
FactInput> 35
35! = 0
FactInput> quit
Halaman | 8
Pemrograman JAVA
nums[min] = tmp;
}
}
public static void main(String[] args) {
double[ ] nums = new double[10];
// Create an array to hold numbers
for(int i = 0; i < nums.length; i++) // Generate random numbers
nums[i] = Math.random() * 100;
sort(nums);
// Sort them
for(int i = 0; i < nums.length; i++) // Print them out
System.out.println(nums[i]);
}
}
17.799983300050627
19.78444473241019
23.897653475054614
49.87040389469707
54.70877117747368
74.81467947567296
84.84605429261437
89.86695373619493
91.09181123951096
96.45387349543292
atau sama
}
}
}
Integer> 10
Nilai prima terbesar yang lebih kecil atau sama dengan 10 adalah 7
Integer> 19
Nilai prima terbesar yang lebih kecil atau sama dengan 19 adalah 19
Integer> quit
Halaman | 9
Pemrograman JAVA
2
2.1
Java memiliki dua kategori tipe data, yaitu tipe data berorientasi objek dan sederhana. Tipe
data berorientasi objek didefinisikan oleh class, sedangkan yang sederhana merupakan tipe
data dasar yang dimiliki oleh Java sebanyak delapan buah tipe data sederhana yang dikenal
dengan sebutan tipe data primitif. Tipe data primitif tersebut adalah sebagai berikut:
Tipe data
boolean
byte
char
double
float
int
long
short
Keterangan
Menyajikan nilai true/false
8-bit integer
Karakter
Floating-point presisi ganda
Floating-point presisi tunggal
Integer (bil. Bulat)
Long Integer
Short integer
2.1.1 Integer
Java mendefinisikan tipe data integer terdiri dari byte, short, int dan long dengan masingmasing jangkauan nilainya adalah sebagai berikut:
Tipe
byte
short
int
long
Lebar bit
8
16
32
64
Jangkauan nilai
128 to 127
32,768 hingga 32,767
2,147,483,648 hingga 2,147,483,647
9,223,372,036,854,775,808 hingga 9,223,372,036,854,775,807
Contoh:
public class Inchi {
public static void main(String[] args){
long ci,im;
im=5280 * 12;
ci=im*im*im;
System.out.println("Ada "+ci+" kubik inchi dalam mil kubik.");
}
}
Halaman | 10
Pemrograman JAVA
2.1.2 Floating-Point
Tipe data ini dalam Java terdiri dari float dan double, masing-masing mempunyai lebar bit
yang berbeda, yaitu float (32 bit) dan double (64 bit). Umumnya tipe data double sering
digunakan oleh fungsi-fungsi dalam Java.
Contoh:
public class Hypotenusa {
public static void main(String args[]){
double x,y,z;
x=8;
y=5;
z=Math.sqrt(x*x+y*y);
System.out.println("Nilai Hypotenusa adalah " +z);
}
}
2.1.3 Karakter
Tidak seperti bahasa-bahasa pemrograman lainnya yang memiliki tipe data char dengan
lebar 8-bit, tetapi Java menggunakan unicode (karakter yang digunakan oleh berbagai
bahasa di dunia misalnya arab, kanji dll) untuk setiap karakter-nya, sehingga lebar bit tiap
karakter adalah 16-bit.
Contoh:
public class ContohChar {
public static void main(String[] args){
char c;
c='H';
System.out.println("C berisi "+c);
c++;
System.out.println("Sekarang C berisi "+c);
c=89;
System.out.println("C berisi "+c);
}
}
C berisi H
Sekarang C berisi I
C berisi Y
Halaman | 11
Pemrograman JAVA
if(b)
System.out.println("b pasti bernilai true");
else
System.out.println("b pasti bernilai false");
System.out.println("7 < 9 adalah "+(7 < 9));
}
}
b
b
b
7
bernilai true
bernilai false
pasti bernilai false
< 9 adalah true
Keterangan
Single quote
Double quote
Backslash
Carriage return
New line
Form feed
Horizontal tab
Backspace
Octal constant (where ddd is an octal constant)
Hexadecimal constant (where xxxx is a hexadecimal constant)
Halaman | 12
Pemrograman JAVA
2.2
Operator Aritmatika
*
/
%
++
Keterangan
Penjumlahan
Pengurangan (sebagai tanda minus)
Perkalian
Pembagian
Modulus
Increment
Decrement
Contoh:
class ContohModulus {
public static void main(String args[]) {
int iresult, irem;
double dresult, drem;
iresult = 10 / 3;
irem = 10 % 3;
dresult = 10.0 / 3.0;
drem = 10.0 % 3.0;
System.out.println("(Integer) Hasil pembagian dan sisa bagi dari 10 / 3: "
+iresult + " " + irem);
System.out.println("(Float) Hasil pembagian dan sisa bagi dari 10.0 / 3.0: "
+dresult + " " + drem);
}
}
2.3
Operator Logika
Operator relasi mengacu pada hubungan bahwa suatu nilai dapat dimiliki yang lain,
sedangkan logika mengacu pada cara dimana nilai true dan false dapat dihubungkan
bersama. Dikarenakan operator relasi menghasilkan nilai true/false, biasanya sering
dihubungkan dengan operator logika.
Operator Logika:
Operator
Keterangan
&
|
^
||
&&
!
AND
OR
XOR (exclusive OR)
Short-circuit OR
Short-circuit AND
NOT
Halaman | 13
Pemrograman JAVA
Contoh:
class ContohRelasi {
public static void main(String args[]) {
int i, j;
boolean b1, b2;
i = 10;
j = 11;
if(i < j)
System.out.println("i < j");
if(i <= j)
System.out.println("i <= j");
if(i != j)
System.out.println("i != j");
if(i == j)
System.out.println("this won't execute");
if(i >= j)
System.out.println("this won't execute");
if(i > j)
System.out.println("this won't execute");
b1 = true;
b2 = false;
if(b1 & b2)
System.out.println("this
if(!(b1 & b2))
System.out.println("!(b1
if(b1 | b2)
System.out.println("b1 |
if(b1 ^ b2)
System.out.println("b1 ^
won't execute");
& b2) is true");
b2 is true");
b2 is true");
}
}
i < j
i <= j
i != j
!(b1 & b2) is true
b1 | b2 is true
b1 ^ b2 is true
2.4
Operator Assignment
Operator ini digunakan untuk memberikan suatu nilai ke variabel atau objek. Simbol
operator ini adalah =, bentuk sintaks adalah sebagai berikut:
var = nilai;
ada format lain dalam pemberian nilai yang tidak biasanya misalnya seperti di bawah ini:
int x,y,z;
x = y = z = 270;
Contoh
x += 4
x -= 4
x *= 4
x /= 4
x %= 4
Persamaan
x=x+4
x=x-4
x=x*4
x=x/4
x=x%4
Halaman | 14
Pemrograman JAVA
&=
|=
^=
x &= 4
x |= 4
x ^= 4
x=x&4
x=x|4
x=x^4
Contoh:
class ContohCast {
public static void main(String args[]) {
double x, y;
byte b;
int i;
char ch;
x = 10.0;
y = 3.0;
i = (int) (x / y); // cast double to int
System.out.println("Keluaran Integer dari x / y: " + i);
i = 100;
b = (byte) i;
System.out.println("Nilai dari b: " + b);
i = 257;
b = (byte) i;
System.out.println("Nilai dari b: " + b);
b = 88; // ASCII code for X
ch = (char) b;
System.out.println("ch: " + ch);
}
}
2.5
Latihan
Halaman | 15
Pemrograman JAVA
P
true
true
false
false
Q
true
false
true
false
AND
true
false
false
false
OR
true
true
true
false
XOR
false
true
true
false
NOT
false
false
true
true
Halaman | 16
Pemrograman JAVA
Halaman | 17
Pemrograman JAVA
Halaman | 18
Pemrograman JAVA
}
else if(Character.isDigit(exp.charAt(expIdx))) { // is number
while(!isDelim(exp.charAt(expIdx))) {
token += exp.charAt(expIdx);
expIdx++;
if(expIdx >= exp.length())
break;
}
tokType = NUMBER;
}
else { // unknown character terminates expression
token = EOE;
return;
}
}
// Return true if c is a delimiter.
private boolean isDelim(char c){
if((" +-/*%^=()".indexOf(c) != -1))
return true;
return false;
}
}
File: ParserDemo.Java
Dependeces: Parser
import java.io.*;
public class ParserDemo {
public static void main(String args[]) throws IOException {
String expr;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Parser p = new Parser();
System.out.println("Masukan ekspresi kosong untuk berhenti.");
for(;;) {
System.out.print("Masukan Ekspresi: ");
expr = br.readLine();
if(expr.equals(""))
break;
try {
System.out.println("Hasil: " + p.evaluate(expr));
System.out.println();
} catch (ParserException exc) {
System.out.println(exc);
}
}
}
}
2.6
Halaman | 19
Pemrograman JAVA
try{
PrintWriter out = new PrintWriter("employee.dat");
writeData(staff, out);
out.close();
Scanner in = new Scanner(new FileReader("employee.dat"));
Karyawan[] newStaff = readData(in);
in.close();
for (Karyawan e : newStaff)
System.out.println(e);
}
catch (IOException exception){
exception.printStackTrace();
}
}
private
IOException{
static
void
writeData(Karyawan[]
employees,
PrintWriter
out)
throws
out.println(employees.length);
for (Karyawan e : employees)
e.writeData(out);
}
private static Karyawan[] readData(Scanner in){
int n = in.nextInt();
in.nextLine(); // consume newline
Karyawan[] employees = new Karyawan[n];
for (int i = 0; i < n; i++){
employees[i] = new Karyawan();
employees[i].readData(in);
}
return employees;
}
}
class Karyawan{
public Karyawan()
{}
public Karyawan(String n, double s, int year, int month, int day){
name = n;
salary = s;
GregorianCalendar calendar = new GregorianCalendar(year, month - 1, day);
hireDay = calendar.getTime();
}
public String getName(){
return name;
}
public double getSalary(){
return salary;
}
public Date getHireDay(){
return hireDay;
}
public void raiseSalary(double byPercent){
double raise = salary * byPercent / 100;
salary += raise;
}
public String toString(){
return getClass().getName()
",hireDay="+ hireDay + "]";
}
"[name="
name
",salary="
salary
Halaman | 20
Pemrograman JAVA
}
public void readData(Scanner in){
String line = in.nextLine();
String[] tokens = line.split("\\|");
name = tokens[0];
salary = Double.parseDouble(tokens[1]);
int y = Integer.parseInt(tokens[2]);
int m = Integer.parseInt(tokens[3]);
int d = Integer.parseInt(tokens[4]);
GregorianCalendar calendar = new GregorianCalendar(y, m - 1, d);
hireDay = calendar.getTime();
}
private String name;
private double salary;
private Date hireDay;
}
class Employee{
public Employee() {}
public Employee(String n, double s, int year, int month, int day){
name = n;
salary = s;
GregorianCalendar calendar = new GregorianCalendar(year, month - 1, day);
hireDay = calendar.getTime();
}
Halaman | 21
Pemrograman JAVA
static
void
writeFixedString(String
s,
int
size,
DataOutput
out)
throws
Halaman | 22
Pemrograman JAVA
}
}
Halaman | 23
Pemrograman JAVA
Dalam bagian ini kita akan mempelajari pernyataan-pernyataan yang mengontrol alur
program, yaitu percabangan (pemilihan) dan proses pengulangan.
3.1
Statement Percabangan
Percabangan dalam Java menggunakan dua jenis pernyataan yaitu if dan switch.
3.1.1 Statement if
Format percabangan menggunakan statement if adalah:
if (ekspresi){
statement;
}
else
{
statement lain;
}
Contoh:
import java.util.*;
public class TebakBilangan {
public static void main(String[] args){
int num;
Scanner scan= new Scanner(System.in);
System.out.print("Bilangan:> ");
num=scan.nextInt();
if(num % 2==0)
System.out.println("Tebak:> Genap.");
else
System.out.println("Tebak:> Ganjil.");
}
}
Bilangan:> 8
Tebak:> Genap.
Halaman | 24
Pemrograman JAVA
1
2
3
4
5
6
7
8
9
adalah
adalah
adalah
adalah
adalah
adalah
adalah
adalah
adalah
3.2
satu
dua
tiga
empat
lima atau
lima atau
lima atau
lima atau
lima atau
adalah nol");
adalah satu");
adalah dua");
adalah tiga");
adalah empat");
lebih
lebih
lebih
lebih
lebih
Statement Pengulangan
Beberapa statement pengulangan yang digunakan Java diantaranya dalah for, while dan dowhile.
3.2.1 Statement Loop (for)
Bentuk penyataan pengulangan dengan menggunakan for adalah:
for(initialization; condition; iteration)
{
statement sequence
}
Initialization, biasanya digunakan untuk memberikan nilai awal bagi variabel pengontrol
dalam pengulangan.
Condition, merupakan ekspresi boolean yang menentukan apakah loop akan diulang atau
tidak.
Iteration, adalah ekspresi yang mendefinisikan jumlah dimana pengontrol loop nilainya akan
berubah setiap kali pengulangan.
class SqrRoot {
public static void main(String args[]) {
double num, sroot, rerr;
for(num = 1.0; num < 100.0; num++) {
sroot = Math.sqrt(num);
System.out.println("Akar kuadrat dari " + num +" adalah " + sroot);
// compute rounding error
rerr = num - (sroot * sroot);
Halaman | 25
Pemrograman JAVA
statement dapat berupa pernyataan tunggal atau penyataaan dalam blok. Sedangkan
condition mendefinsikan kondisi yang mengontrol alur pengulangan atau berupa ekspresi
Boolean yaitu pengulangan akan berlanjut selagi kondisi itu benar.
class Power {
public static void main(String args[]) {
int e;
int result;
for(int i=0; i < 10; i++) {
result = 1;
e = i;
while(e > 0) {
result *= 2;
e--;
}
System.out.println("2 pangkat " + i + " adalah " + result);
}
}
}
2
2
2
2
2
2
2
2
2
2
pangkat
pangkat
pangkat
pangkat
pangkat
pangkat
pangkat
pangkat
pangkat
pangkat
0
1
2
3
4
5
6
7
8
9
adalah
adalah
adalah
adalah
adalah
adalah
adalah
adalah
adalah
adalah
1
2
4
8
16
32
64
128
256
512
Halaman | 26
Pemrograman JAVA
Pola alur do-while hampir sama dengan while hanya saja format ini akan melakukan
pengulangan terlebih dahulu baru kemudian memeriksa kondisi apakah harus dialnjutkan
atau tidak.
class GuesK {
public static void main(String args[])
throws java.io.IOException {
char ch, answer = 'K';
do {
System.out.println("Ada huruf antara A dan Z.");
System.out.print("Anda dapat menebaknya: ");
do {
ch = (char) System.in.read();
} while(ch == '\n' | ch == '\r');
if(ch == answer)
System.out.println("** BENAR **");
else {
System.out.print("...Maaf, Salah ");
if(ch < answer)
System.out.println("abjadnya terlalu rendah");
else
System.out.println("abjadnya terlalu tinggi");
System.out.println("Coba lagi!\n");
}
} while(answer != ch);
}
}
Halaman | 27
Pemrograman JAVA
Break dapat juga digunakan sebagai pengganti dari statemen goto yang melompat pada
suatu label, misalnya:
class ContohBreakGoto {
public static void main(String args[]) {
int i;
for(i=1; i<4; i++) {
SATU: {
DUA: {
TIGA: {
System.out.println("\nnilai i adalah " + i);
if(i==1)
break SATU;
if(i==2)
break DUA;
if(i==3)
break TIGA;
System.out.println("tidak akan dicetak");
}
System.out.println("Sesudah blok tiga.");
}
System.out.println("Sesudah blok dua.");
}
System.out.println("Sesudah blok satu.");
}
System.out.println("Sesudah for.");
}
}
nilai i adalah 1
Sesudah blok satu.
nilai i adalah 2
Sesudah blok dua.
Sesudah blok satu.
nilai i
Sesudah
Sesudah
Sesudah
Sesudah
adalah 3
blok tiga.
blok dua.
blok satu.
for.
0
2
4
6
8
10
Halaman | 28
Pemrograman JAVA
3.3
Latihan
Bantuan untuk:
1. if
2. switch
3. for
4. while
5. do-while
Halaman | 29
Pemrograman JAVA
6. break
7. continue
Pilih satu (q utk keluar): 5
G:\DOKUMEN\Adobe
G:\DOKUMEN\Adobe\After Effects CS3
G:\DOKUMEN\Adobe\Premiere Elements
G:\DOKUMEN\Adobe\Premiere Elements\7.0
Halaman | 30
Pemrograman JAVA
}
if (tebak>=min && tebak <=max){
if (tebak==acakAngka)
System.out.println("Wow benar tebakan anda yang ke"+jumTebak+" BENAR SEKALEEE!");
else if(tebak<acakAngka)
System.out.println("Tebak angkanya lebih besar lagi!");
else
System.out.println("Tebak angkanya lebih kecil lagi!");
}
else if(invalid){
System.out.println("Ingat angkanya antara "+min+" hingga "+max+"
!");
}
}while(tebak!=acakAngka);
}
}
Halaman | 31
Pemrograman JAVA
Dalam pemrograman berorientasi objek, class merupakan template definisi untuk struktur
dan pembuatan objek. Jadi objek merupakan instansi dari suatu class, sehingga class
merupakan kumpulan perencanaan yang menspesifikasikan bagaimana cara untuk
membangun suatu objek.
4.1
Informasi-informasi yang saling berkaitan dan menjelaskan suatu objek disebut atribut objek
(object attribute). Atribut ini membolehkan suatu objek mempunyai nilai atributnya yang
berdiri sendiri. Selain atribut objek juga memiliki suatu tindakan yang disebut dengan
method. Sehingga method merupakan kumpulan operasi-operasi dari suatu objek yang
berupa kode instruksi-instruksi.
Format umum pembuatan class adalah sebagai berikut:
class classname {
// declare instance variables
type var1;
type var2;
// ...
type varN;
// declare methods
type method1(parameters) {
// body of method
}
type method2(parameters) {
// body of method
}
// ...
type methodN(parameters) {
// body of method
}
}
Halaman | 32
Pemrograman JAVA
sportscar.penumpang = 2;
sportscar.kapsitas_bb = 14;
sportscar.mpg = 12;
range1 = minivan.kapasitas_bb * minivan.mpg;
range2 = sportscar.kapasitas_bb * sportscar.mpg;
System.out.println("Minivan dapat membawa " + minivan.penumpang +
" orang dengan jangkauan " + range1);
System.out.println("Sportscar dapat membawa " + sportscar.penumpang +
" orang dengan jangkauan " + range2);
}
}
Halaman | 33
Pemrograman JAVA
4.1.4 Constructor
Sebuah constructor merupakan inisialisasi objek ketika dibuat. Nama constructor sama
dengan nama class-nya.
public class Kendaraan {
int penumpang; //jumlah orang dalam kendaaran
int kapasitas_bb; //kapasitas bahan bakar
int mpg; //konsumsi bahan bakar mil per gallon
String nama=new String();
Kendaraan(String nama,int penumpang, int kapasitas, int mpg){
this.nama=nama;
this.penumpang=penumpang;
this.kapasitas_bb=kapasitas;
this.mpg=mpg;
}
int getRange(){
return mpg*kapasitas_bb;
}
double getNumBB(int miles) { //jumlah kebutuhan bahan bakar
return (double) miles / mpg;
}
}
TO BE CONTINUED .
Halaman | 34
Pemrograman JAVA
SUMBER PUSTAKA
Cay S. Horstmann; Gary Cornell. 2000. Core Java 2: Volume IFundamentals. Prentice Hall.
------------------------------------------. 2008. Core Java Volume IIAdvanced Features. 8th edition. Prentice Hall.
nd
Danny Poo, Derek Kiong, Swarnalatha Ashok. 2008. Object-Oriented Programming and Java. 2 edition.
Springer-Verlag. London.
David Flanagan. 2004. Java Examples in a Nutshell. 3rd edition. O'Reilly Media Inc. USA.
Herbert Schildt. 2005. JAVA: A Beginners Guide. 3rd edition. MacGraw Hill. Osborne.
th
H. M. Deitel - Deitel & Associates. 2004. Java How to Program. 6 edition. Prentice Hall. USA.
Joseph P. Rusell. 2001. JAVA Programming for the absolute beginner. Prima Publishing. USA.
Halaman | 35