I.
II.
III.
IV.
Tujuan
-
Memperkenalkan java
Jdk1.5
Notepad
Teori
1. Tipe Data
Apabila anda mendeklarasikan variabel pada Java, anda harus menentukan tipe
datanya. Tipe data ini menentukan nilai yang dapat disimpan oleh variable tersebut
dan operator operator yang dapat dikenakan padanya. Java memiliki tipe data yang
dapat dikategorikan menjadi dua
kelompok, yaitu tipe data primitif dan referensi.
1.
Ukuran Minimum
Maksimum
byte
8-bit
-127
128
short
16-bit
-32768
32767
int
32-bit
-2147483648
2147483647
long
64-bit
-9223372036854775808
9223372036854775807
Ukuran
Minimum
Maksimum
float
32-bit
1.40129846432481707e-45
3.40282346638528860e+38
double
64-bit
4.94065645841246544e-324
1.79769313486231570e+308
c. Char (Karakter)
Char adalah Char adalah karakter tunggal yang didefinisikan dengan diawali
dan diakhiri dengan tanda ( petik tunggal ). Tipe ini memiliki ukuran 16
bit. Tipe char mengikuti aturan unicode, sehingga dapat menggunakan kode
/u kemudian diikuti bilangan dari 0 sampai 65535, tetapi yang biasa
digunakan adalah bilangan heksadesimal dari 0000 sampai FFFF.
d. Boolean
Boolean adalah tipe data yang hanya mempunyai dua kemungkinan, yaitu
true dan false. Biasanya tipe data ini digunakan untuk perbandingan.
Boolean sangat penting dalam mengevaluasi suatu kondisi, dan sering
digunakan untuk menentukan alur program.
2. Percabangan
Dalam Java, disediakan dua buah struktur percabangan :
1. Struktur IF ELSE
Sintaks penggunaannya adalah :
if (kondisi)
{statement yang dijalankan jika kondisi bernilai benar}
atau :
if (kondisi)
{ statement1, yang dijalankan jika kondisi bernilai benar }
else
{ statement2, yang dijalankan jika kondisi bernilai salah }
atau :
if (kondisi1)
{ statement1, yang dijalankan jika kondisi1 bernilai benar }
else if (kondisi2)
{ statement2, yang dijalankan jika kondisi1 bernilai salah dan kondisi 2
bernilai benar }
else if (kondisi3)
{ statement3, yang dijalankan jika kondisi1 dan kondisi 2 bernilai salah,
kondisi 3 bernilai benar}
else if (kondisi4)
{ statement4, yang dijalankan jika kondisi1, kondisi2, kondisi 3 bernilai
salah dan kondisi 4 bernilai benar }
switch <variabel> of {
case nilai1 : statement1; break;
case nilai2 : statement2; break;
case nilai3 : statement3; break;
case nilai4 : statement4; break;
.
default : statement_default;
3. Perulangan
Dalam Java, disediakan tiga buah struktur perulangan :
1. For
Sintaks penggunaannya adalah :
For (inisialisasi ; kondisi; step)
{statement yang dijalankan secara berulang selama kondisi bernilai benar}
2. While
Sintaks penggunaannya adalah :
while (kondisi)
{statement yang dijalankan secara berulang selama kondisi bernilai benar}
3. Do-while
Sintaks penggunaannya adalah :
do
{statement yang dijalankan secara berulang selama kondisi bernilai benar}
while (kondisi);
V.
Kegiatan / Aktivitas
1. Program Sederhana
Dalam pembuatan program dengan bahasa Java, kita harus tahu dimana akan
menuliskan code program, bagaimana meng-compile code tersebut dan bagaimana
cara menjalankannya.
Langkah-langkah pembuatan program sederhana
1.
2.
3. klik tombol start dan kemudian pilih Run. Setelah itu akan muncul kotak
dialog Run seperti ditunjukkan pada gambar 1.1. Dalam kotak dialog Run,
ketikkan cmd kemudian klik tombol OK.
4. Ketika prompt DOS muncul, maka berikan perintah untuk masuk menuju tempat
file SelamatBelajar.java berada, seperti ditunjukkan gambar 1.2
5. Kemudian anda lakukan proses kompile. Dalam hal ini, kompiler javac akan
menghasilkan berkas bernama SelamatBelajar.class. Berkas inilah yang
dimaksud berkas bytecode. Jika tidak ada kesalahan, anda akan menjumpai pesan
seperti ditunjukkan pada gambar 1.3.
Jika anda menjumpai kesalahan (akan muncul pesan kesalahan pada layar) maka
bukalah kembali program SelamatBelajar.java dengan menggunakan editor yang
anda sukai dan kemudian betulkan serta simpanlah. Selanjutnya kompilasi
kembali sampai tidak ada kesalahan.
Latihan
-
Buatlah program untuk menghitung volume balok dengan panjang = 58, lebar =
88 dan tinggi =7.
Buatlah program untuk menghitung luas segitiga dengan panjang alas = 98 dan
tinggi 57. (gunakan tipe data yang tepat, lihat daftar tipe data pada bagian teori
bab ini).
3. Penggunaan percabangan
Cermatilah contoh kasus berikut dan program untuk menyelesaikan kasus tersebut :
Jika pembeli berbelanja lebih dari 100.000, maka mendapat diskon 10%, jika
pembeli berbelanja antara 75.001 dan 100.000, maka maka mendapat diskon 8%, jika
pembeli berbelanja antara 50.001 dan 75.000, maka maka mendapat diskon 5%, jika
pembeli berbelanja antara 25.001 dan 50.000, maka maka mendapat diskon 3%, jika
pembeli berbelanja kurang dari atau sama dengan 25.000 maka pembeli
tidak
mendapatkan diskon
Penyelesaian programnya :
public class ContohIfBersarang
{
public static void main (String [] args)
{
int belanja = 90000;
int diskon = 0;
if ( belanja >100000)
{diskon = belanja/10;}
else if ( belanja >75000)
{diskon = belanja*8/100;}
else if ( belanja >50000)
{diskon = belanja*5/100;}
else if ( belanja >25000)
{diskon = belanja*3/100;}
else
{diskon = 0;}
System.out.println("diskon = "+diskon);
}
}
Nilai
A
B
C
D
E
4. Penggunaan perulangan
Cermatilah contoh kasus berikut dan program untuk menyelesaikan kasus tersebut :
Kasus :
Mengetahui hasil factorial dari suatu nilai, misalkan 5.
Program penyelesaiannya :
Dengan Menggunakan perulangan For
public class faktorialFor
{
public static void main (String [] args)
{
int nilai = 5;
long hasil=1;
for ( int i=1; i<= nilai; i++)
{
hasil = hasil * i;
}
System.out.println (nilai+" faktorial adalah "+hasil);
}
}
{
int nilai = 5;
long hasil=1;
int i = 1;
do {
hasil = hasil * i;
i += 1;
} while (i <= nilai);
System.out.println (nilai+" faktorial adalah "+hasil);
}
}
Latihan :
Dari contoh kasus diatas, buatlah program, Buat program perpangkatan dengan
menggunakan perulangan for, while dan do..while.
10
BAB II
PENGGUNAAN NETBEANS ( JAVA )
I.
II.
Tujuan
-
Memperkenalkan Netbeans
III.
IV.
V.
netbeans
Teori
Aktivitas / Kegiatan
1. Memulai menggunakan Netbeans
Langkah-langkah :
1.1.Membuka Netbeans
Untuk membuka Netbeans, silahkan anda mencari shortcut Netbeans yang ada
pada computer anda.
11
1.2.2. Pilih General pada Categories dan Java application pada Project, kemudian
pilih tombol next, sehingga muncul kotak dialog seperti pada gambar 2.2.
Gambar 2.2
1.2.3. Isi Project Name sesuai dengan kebutuhan, misalkan kita isi dengan
latihan_pertama (tidak diperbolehkan menggunakan spasi atau karakter
simbul lain selain garis bawah ( _ ).
1.2.4. Klik Finish, maka akan muncul halaman seperti pada gambar 2.3.
12
1.3.Menuliskan program
Penulisan program bisa dilakukan ditempat yang sudah disediakan, seperti
ditunjukkan pada gambar 2.4.
13
Latihan :
Coba anda buat program penjumlahan dan tulis pada bagian tersebut :
1.4.Meng-compile
Setelah selesai menulis program, cara meng-compilenya adalah sebagai berikut :
Klik kanan pada nama class, kemudian pilih compile seperti ditunjukkan pada
gambar 2.5.
Bila compile sukses dijalankan, makan akan muncul pesan seperti pada gambar
2.6.
14
15
1.5.Menjalankan program
Untuk menjalankan program, caranya hampir sama dengan cara meng-compile,
perbedaannya adalah, setelah klik kanan pada nama klas, kemudian pilih run.
2.2.Pilih Java Classes pada Categories dan Java Class pada Project, kemudian pilih
tombol next, sehingga muncul kotak dialog seperti pada gambar 2.8.
16
2.3.Isi Class Name sesuai dengan kebutuhan, misalkan kita isi dengan class_pertama
(tidak diperbolehkan menggunakan spasi atau karakter simbul lain selain garis
bawah ( _ ).
2.4.Klik Finish, maka akan muncul halaman seperti pada gambar 2.9. Class sudah
terbentuk
17
BAB III
CLASS ( JAVA )
I.
II.
Tujuan
-
Memperkenalkan class
III.
IV.
Netbeans
Teori
Class merupakan konsep pokok di bahasa pemrograman berorientasi objek. Class
merupakan bentukan yang menjadi landasan bangun seluruh bahasa berorientasi objek.
Class mendefinisikan bentuk dan perilaku objek. (Objek adalah entitas dalam system
yang mewakili suatu entitas dalam dunia nyata).
Penggunaan terpenting class adalah dalam pendefinisian type baru, class adalah
template/protototype yang mendefinisikan type objek. Class merupakan sarana
pengkapsulan kumpulan data dan method-method yang beroperasi pada kumpulan data.
Data dan method digunakan untuk mendefinisikan isi dan kemampuan objek. Dalam kata
lain, class adalah cetakan objek. Objek-objek dari class yang sama mempunyai data
sendiri namun berbagi implementasi method dengan objek-objek lain di satu class.
Class tersusun atas attribute dan method. Attribut merupakan pembeda antara objek satu
dengan objek yang lain pada class yang sama, sedangkan method merupakan prilaku
yang dapat dilakukan oleh setiap objek.
18
V.
Kegiatan / Aktivitas
Kegiatan/Aktifitas di bawah ini akan dilakukan berdasar studi kasus berikut ini:
Studi kasus :
Buatlah program untuk menghitung luas dan keliling lingkaran bila diketahui jari-jarinya!
Gunakan konsep Pemrograman Berorientasi Objek!
1. Membuat Class
Dalam sebuah class, kata kunci class harus selalu digunakan, baru kemudian diikuti
oleh nama class. Nama class tidak boleh menggunakan spasi. Sebagai pengganti
spasi, bisa digunakan huruf besar untuk mengawali setiap kata atau menggantinya
dengan menggunakan garis bawah ( _ ).
terdapat
suatu
permasalahan,
jangan
terburu-buru
berfikir
untuk
5. Coding
a. Membuat class baru bernama sama dengan nama objek, yaitu class
Lingkaran.
b. Deklarasikan atribut-atribut milik Lingkaran. Karena Lingkaran hanya
memiliki satu atribut yaitu jari-jari yang memiliki tipe double, maka
syntax berikut ini digunakan untuk mendeklarasikan atribut milik
Lingkaran.
double jari2;
c. Membuat constructor
Constructor adalah method yang dipanggil saat sebuah instance class
diciptakan. Nama constructor harus sama dengan nama class. Constructor
bisa memiliki parameter input (berupa atribut objek yang harus
dimasukkan ketika membuat instance baru), bisa tidak memiliki parameter
input, bisa keduanya. Hal itu dimungkinkan karena dalam satu class bisa
memiliki lebih dari 1 constructor, asalkan tiap constructor memiliki
parameter input yang berbeda-beda.
Dari studi kasus ini, constructor yang akan dibuat memiliki 1 buah
parameter input yaitu jari2 yang bertipe double. Oleh karena itu, dibuatlah
syntax pembuatan constructor seperti di bawah ini.
public lingkaran (double jari2){
this.jari2 = jari2;
}
20
d. Membuat method
Method getKeliling dan getLuas merupakan method yang melakukan
penghitungan keliling dan luas lingkaran. Hasil dari penghitungan tersebut
dijadikan nilai return. Maka dibuatlah method getKeliling dan getLuas
sebagai berikut.
public double getKeliling(){
return 2 * 3.14 * jari2;
}
public double getLuas(){
return 3.14 * jari2 * jari2;
}
21
Syntax di atas berarti, kita membuat instance dari class Lingkaran bernama L1
dengan jari-jari 4.
Syntax di atas secara otomatis memanggil method toString yang sudah dioverride
oleh class Lingkaran. Jadi jika method toString belum dibuat, syntax tersebut tidak
akan berjalan dengan baik. Sebagai penggantinya, dapat digunakan syntax seperti di
bawah ini.
System.out.println(lingkaran L1 memiliki:);
System.out.println(jari-jari: L1.jari2);
System.out.println(keliling: L1.getKeliling());
System.out.println(luas: L1.getLuas());
22
Perintah di atas secara langsung memanggil atribut jari2 milik Lingkaran. Walaupun
secara syntax itu benar, tapi secara konsep itu tidak benar karena beresiko terhadap
keamanan data (dalam hal ini data jari2 lingkaran). Untuk lebih jelasnya akan
dijelaskan pada bab encapsulation.
Latihan : buatlah class untuk persegi panjang, segitiga, balok dan tabung.
23
BAB IV
ENCAPSULATION
I.
Tujuan
-
II.
III.
Netbeans
IV.
Teori
Encapsulation adalah proses pemaketan data bersama metode-metodenya. Manfaat
utama encapsulation adalam menyembunyikan rincian-rincian implementasi dari
pemakai. Penyusunan seperti ini menjaga bagian internal objek dari pengaksesan
eksternal yang tidak diinginkan.
Encapsulation memiliki 2 manfaat utama, antara lain
1. Penyembunyian informasi (information hiding)
Penyembunyian implementasi mengacu pada perlindungan implementasi
internal objek. Objek disusun dari antarmuka public dan bagian private yang
merupakan kombinasi data dan metode internal. Hal ini memungkinkan bagian
internal dapat berubah tanpa mempengaruhi bagian-bagian program lain.
2. Modularitas (modularity)
Modularitas berarti objek dapat dikelola secara independen. Karena kode sumber
bagian internal objek dikelola secara terpisah dari antarmuka, maka modifikasi
24
Kegiatan
Kegiatan/Aktifitas di bawah ini akan dilakukan berdasar studi kasus pada bab class
(pembuatan class Lingkaran).
1. Melindungi atribut dari pengaksesan di luar kelas dengan menggunakan modifier.
Cobalah tulis syntax berikut pada Main.java kemudian jalankan Main.java.
L1.jari2 += 5;
System.out.println(jari-jari L1 menjadi + L1.jari2);
Yang baru saja dilakukan oleh syntax di atas adalah merubah data jari-jari milik
objek lingkaran. Bagaimana bila data tersebut adalah data penting yang bila terjadi
perubahan nilai sedikit saja bisa merusak jalannya system? Dari situlah pentingnya
ada perlindungan data. Salah satu cara untuk melindungi data (dalam hal ini atribut
milik objek) dari pengaksesan di luar kelas adalah dengan memberikan modifier
private pada atribut tersebut. Dengan modifier private, hanya class tempat atribut itu
berada lah yang dapat mengakses atribut tersebut. Modifier private dapat dituliskan
pada saat deklarasi variabel pada class seperti pada syntax berikut ini.
private double jari2;
setelah atribut diberi modifier seperti di atas, cobalah kembali mengakses atribut
tersebut dari Main.java dengan perintah berikut ini.
L1.jari2 += 5;
System.out.println(jari-jari L1 menjadi + L1.jari2);
Dengan adanya method di atas, jika ada class lain yang ingin sebatas menampilkan
data saja bisa dilakukan dengan syntax sebagai berikut.
System.out.println(lingkaran L1 memiliki:);
System.out.println(jari-jari: L1.getJari2);
Dengan demikian, class di luar class Lingkaran masih memungkinkan melihat data
jari2 miiik objek Lingkaran namun tetap terbatas hanya melihat, tidak dapat
melakukan perubahan data, sehingga keamanan data terhadap perubahan yang tidak
diinginkan dapat terjaga.
26
BAB V
PEWARISAN
I.
II.
Tujuan
-
III.
IV.
Notepad
Teori
Inheritance merupakan pewarisan attribut dan method pada sebuah class yang
diperoleh dari superclass-nya. Setiap subclass akan mewarisi atribut dan behaviour (
method-method) dari superclass-nya. Subclass kemudian dapat menambahkan attribute
dan behaviour baru yang spesifik dan dapat pula memodifikasi ( override ) attribute dan
behaviour yang diturunkan oleh superclass-nya.
Dalam hirarki kelas, jika kelas C merupakan turunan kelas B, dan kelas B
merupakan turunan kelas A, maka otomatis attribute dan method kelas A juga diwariskan
kelas C.
Bentukpewarisan :
[modifier] class namaSubKelas extends namaKelasSuper {
// classBody
}
27
Manfaat pewarisan
Subclass menyediakan attribute/behaviour yang spesifik yang membedakannya dengan
superclass, hal ini akan memungkinkan programmer Java untuk menggunakan ulang
source code dari superclass yang telah ada. Programmer Java dapat mendefinisikan
superclass khusus yang bersifat generik, yang disebut abstract class, untuk
mendefinisikan class dengan behaviour dan attribute secara umum.
Methode Overriding
Pendefinisian ulang method yang sama pada subclass. Dalam inheritance, method
overriding berbeda dengan method overloading. Overriding adalah mendefinisikan
28
kembali method yang sama, baik nama method maupun signature atau parameter yang
diperlukan dalam subclass, sedangkan overloading adalah mendefinisikan method yang
memiliki nama yang sama, tetapi dengan signature yang berbeda dalam definisi class
yang sama.
V.
Kegiatan
1. Mengimplementasikan pewarisan
Buatlah class Lingkaran, yang memiliki attribute jari-jari method getLuas() dan
getKeliling(). Kemudian dari class tersebut akan dibuat class Tabung yang
merupakan turunan dari class Lingkarang dengan attribute jari-jari, tinggi, dan
method getVolume.
Pertama anda harus membuat class Lingkaran yang menjadi superclass. Kode class
Lingkaran seperti dibawah ini
public class Lingkaran{
private int jari;
Selanjutnya buatlah class Tabung. Kode untuk class Tabung seperti berikut.
public class Tabung extends Lingkaran{
29
Selanjutnya buatlah program utama, untuk mencoba class Tabung dan class
Lingkarang yang telah dibuat sebelumnya. Misal kita namakan class Driver, berikut
kodenya.
Apabila kode diatas dijalankan apakah yang akan tercetak pada layar?
VI.
Latihan
1.
Keuntungan apa yang diperoleh dengan melakukan pewarisan dan kapan digunakan ?
2.
30
BAB VI
POLIMORFISME
I.
Tujuan
II.
III.
IV.
Netbeans
Teori
Kata polimorfisme yang berarti satu objek dengan banyak bentuk yang berbeda, adalah
konsep sederhana dalam bahasa pemrograman berorientasi objek yang berarti
kemampuan dari suatu variabel referensi objek untuk memiliki aksi berbeda bila method
yang sama dipanggil, dimana aksi method tergantung dari tipe objeknya.
V.
Kegiatan
1. Mengimplementasikan Polimorfisme
Kita akan membuat program ekspresi wajah, dimana class EkspresiWajah sebagai
superclass nya. Berikut kode dari class Ekspresi wajah.
31
Sebagai subclass nya adalah class Sedih, Marah dan Gembira. Berikut adalah kode
dari masing-masing subclass.
Selain superclass dan subclass masih terdapat satu class lagi, yaitu class
MainEkspresiWajah yang berperan sebagai class client untuk mencoba program
ekspresi wajah yang kita buat.
32
Apabila kode diatas dijalankan apakah yang akan tercetak pada layar?
VI.
Latihan
1. Berikan contoh program yang dapat mewakili penjelasan tentang Polimorfisme dan
jelaskan program tersebut ?
33
BAB VII
KELAS ABSTRACT DAN INTERFACE
I.
Tujuan
II.
III.
IV.
Netbeans
Teori
Kelas abstract adalah kelas murni yang tidak boleh memiliki objek, dan satu/lebih
method-methodnya yang abstract harus diimplementasikan (override) oleh kelas
turunannya.
Bentuk umum :
[modifier] abstract class NamaKelas {
// deklarasi attribute
// definisi/prototype method
}
34
Pada Java juga dikenal konsep interface, yang merupakan device yang digunakan untuk
komunikasi antar objek berbeda yang tidak memiliki hubungan apapun. Interface bisa
dikatakan sebagai protokol komunikasi antar objek tersebut.
interface
abstract class
attribute
method
berupa deklarasi
boleh
deklarasi,
sebagian abstract
deklarasi)
V.
Kegiatan
1. Penggunaan kelas abstract
35
Abstract class merupakan class yang memiliki minimal satu method abstract. Contoh
kasusnya adalah class Hewan. Class Hewan memiliki method abstract bersuara ,
Method bersuara dibuat sebagai method abstract karena method bersuara ini tidak
dapat ditentukan oleh class Hewan, dikarenakan bersuara Hewan tergantung dari jenis
hewannya. Tentunya bersuaranya sapi tidak sama dengan bersuaranya perkutut
bukan.
Untuk lebih jelasnya ikutilah langkah-langkah berikut ini. Pertama kita buat dulu
class Hewan sebagai abstract class nya. Berikut adalah kode dari class Hewan.
Perhatikan class Hewan diatas, terdapat abstract void bersuara yang tidak ada isinya.
Method bersuara inilah yang dikenal dengan absctract method. Method bersuara ini
wajib di implementasikan oleh turunan dari class Hewan. Contoh kita akan membuat
class Perkutut, maka class Perkutut harus mengimplementasikan method bersuara.
Tulis dan perhatikan class Perkutut dibawah ini.
36
Selain class Perkutut sebagai turunan class Hewan, misal kita akan membuat satu
turunan dari class Hewan lagi. Yaitu class Sapi. Seperti halnya class Perkutut class
Sapi juga harus mengimplementasikan method bersuara, dan tentunya implementasi
method bersuara pada class Perkutut dan class Sapi tidak sama. Berikut adalah class
Sapi.
Untuk mencoba dari class-class yang telah kita buat. Maka kita harus membuat
sebuah program utama sebagai tester. Misal class Utama nya sebagai berikut ini
37
Apabila program diatas dijalankan, apakah keluaran yang tercetak pada layar?
2. Penggunaan interface
Interface merupakan abstract class yang paling abstract, karena dia tidak boleh
memiliki attribute selain konstanta dan tidak boleh memiliki method yang memiliki
implementasi. Dengan kata lain semua method yang terdapat pada interface adalah
abstract.
Pada kasus ini, misal kita akan membuat interface manusia dimana manusia memiliki
abstract method menyanyi dan ketawa. Berikut adalah contoh interface manusia.
Selanjutnya kita buat class SpongeBob yang merupakan implements dari interface
Manusia. Class SpongeBob harus mengimplementasikan semua abstract method yang
ada pada interface manusia. Pada kasus ini adalah method menyanyi dan ketawa.
Berikut adalah contoh kode dari class SpongeBob.
38
Setelah class SpongeBob selesai kita harus membuat program utama yang digunakan
untuk mengetes dari interface Manusia dan class SpongeBob yang merupakan
implements dari class manusia. Berikut adalah contoh kode dari class Utama .
Class utama diatas hanya membuat object SpongeBob, kemudian hanya menjalankan
abstract method yang telah diimplementasikan oleh class SpongeBob. Apabila program
diatas dijalankan, apakah keluaran yang tercetak pada layar?
Latihan
1. Berikan contoh sebuah program yang mengimplementasikan kelas abstract
dan
interface ?
2. Apakah sebuah class dimungkinkan untuk menjadi implements lebih dari 1 interface?
Jika mungkin, maka buatlah sebuah program yang mengimplementasikan hal
tersebut.
39