Uploaded by kelas.jarakjauh

Modul Praktikum OOP (versi 3)

advertisement
BAB 1
PENGENALAN JAVA
Topik pembahasan materi :
 Classpath
 Software
 Compile IDE
 Compile manual (command)
 Struktur java
1.1 Program di dalam JAVA
Dalam bahasa pemrograman terdapat adanya proses kompilasi, yaitu proses
menerjamahkan dari listing code yang biasanya tertulis di text editor menjadi
sebuah file baru, sedangkan interpreter, yaitu sebuah proses menerjemahkan dari
hasil file kompilasi menjadi file yang siap dieksekusi. Hal diatas dapat kami
gambarkan dengan gambar dibawah ini :
helloworld.cpp
helloworld.java
COMPILER
My Program
Hello World
helloworld.exe
helloworld.class
INTERPETER
1.2 Software yang dibutuhkan
Untuk membuat sebuah program java, minimal kita membutuhkan 2 buah
software yaitu :
-
Java 2 SDK, Software Development Kit yang biasa disebut dengan JDK, Java
Development Kit.
-
Text Editor, berfungsi untuk menuliskan code-code program, ada baiknya kita
menggunakan IDE (Integrated Development Environtment), banyak macam
bentuk text editor, seperti Netbeans, JCreator, Gel, Eclipse dan lainya. Untuk
praktikum kali ini kita menggunakan IDE Netbeans.
Lab Pemrograman & Rekayasa Perangkat Lunak
1
Selanjutnya dalam hal instalasi software JDK dan Netbeans, kami sudah
menganggap anda mahir. Mungkin bila anda masih terdapat kesulitan dalam hal ini,
dapat anda menanyakan ke instruktur atau ke teman anda. Kami hanya memberi cara
bagaimana untuk men-setting classpath.
Pengaturan classpath yaitu : Start – Klik Kanan pada My Computer – Properties –
Tab Advanced – Environment Variable - System variable – path – edit
Copykan alamat jdk (C:\Program Files\Java\jdk1.6.0_10\bin ) – ok – ok
Lab Pemrograman & Rekayasa Perangkat Lunak
2
1.3 Compilasi dan Ekseskusi Manual (Command)
Ketikan source code dibawah ini pada notepad bila anda memakai windows
atau di Gedit bila anda menggunakan ubuntu.
Bila anda sudah mengetikkan source code diatas, selanjutnya SAVE file
tersebut dengan nama “first_time.java” dan bertipe “All Files (*.*)”
Selanjutnya compile-lah menggunakan Command Prompt atau Terminal / Konsole,
dengan perintah javac firts_time.javac dan menjalankan hasilnya dengan perintah
java firts_time. Bila berhasil maka akan terlihat pada gambar dibawah ini :
Lab Pemrograman & Rekayasa Perangkat Lunak
3
1.4 Compilasi menggunakan IDE Netbeans
Netbeans merupakan text editor yang biasa digunakan untuk compile dan
running bahasa pemrograman java, dengan Netbeans IDE kita lebih dimudahkan yaitu
salah satunya dengan penggunaan tombol CTRL + SPACE, bila kita tidak hafal atau
ragu dalam penulisan source code program java.
Setelah memasukkan code program java, selanjutnya kita perlu meng-complile
dan menjalankan program java dengan HotKey F9 untuk melakukan compile, dan
HotKey F6 dan Shift+F6 untuk running (menjalankan).
Setelah berhasil dengan apa yang anda praktekan pada kali ini. Cobalah untuk
membuat program dari awal dan compile dengan menggunakan command (manual)
dan yang menggunakan IDE Netbeans. Bila terdapat kesulitan dalam hal membuat
Project, Compile dan Running file java anda dapat menanyanya kepada instruktur.
1.5 Struktur Java
Bahasa pemrograman java merupakan turunan dari bahasa pemrograman C
yang telah kita praktikumkan pada 2 semester kemarin, akan tetapi pada praktikum
kali ini kami meng-orientasikan objek di bahasa pemrogramannya seperti penggunaan
method, class, enkapsulasi.
Lab Pemrograman & Rekayasa Perangkat Lunak
4
BAB 2
TIPE DATA, JAVA IDENTIFIER, CASTING
Topik pembahasan materi :
 Tipe Data
 Java Identifier
 Casting
 Operator
2.1 Tipe Data
Java mendefinisikan delapan tipe data sederhana : byte, short, int, long, char,
float, double, dan boolean. Macam tipe data tersebut sudah tidak asing lagi bagi anda
karena didalam praktikum struktur data dan alogritma sudah dijelaskan dengan baik.
Mungkin dalam bab ini kami akan menjelaskan sedikit yang sering dipakai yaitu :
-
Integer : kelompok tipe data yang terdiri dari tipe data short, byte, int, dan long
yang digunakan untuk mempresentasikan data-data yang bertipe bilangan bulat
seperti : -2,0,90,1 dan sebagainya.
-
Floating-float : kelompok tipe data ini terdiri dari tipe float dan double yang
digunakan untuk mempresentasikan data-data yang bertipe bilangan riil
(mengandung pecahan) seperti : 12.5, -0.32, 20.492 dan sebagainya.
-
Karakter : kelompok tipe data ini terdiri dari tipe char, yang mempresentasikan
dalam bentuk karakter alfanumerik dan symbol seperti : a, *, &, A, dll.
-
Boolean : kelompok tipe data ini digunakan untuk mempresentasikan nilai logika
(true/false)
2.2 Java Identifier
Identifier merupakan nama untuk class, variable, method, interface. Seperti
bahasa pemrograman lainnya, java juga memiliki aturan – aturan yang harus kita
patuhi dalam pemberian indentifier. Beberapa aturan – aturan pemberian identifier
pada java(dalam hal ini sebagai contoh adalah variable)
Penamaan variable pada java yang benar :
Lab Pemrograman & Rekayasa Perangkat Lunak
5
Penamaan variable pada java yang salah :
Identifier pada java bersifat case-sensitive, artinya perintah – perintah didalan java
membedakan huruf kecil dengan huruf besar, mungkin lebih jelasnya bias dicoba
source code dibawah ini :
Selain hal diatas java memilki keywords, sebuah kata variable yang dipakai
oleh java untuk fungsi dan tujuan masing – masing. Sehingga keywords tersebut tidak
boleh sama dengan variable yang akan masuk dalam program kita. Keywords tersebut
yaitu :
2.3 Casting
Ada kalanya dalam kasus – kasus tertentu, kita perlu mengubah tipe data dari
satu tipe tertentu ke tipe lainnya. Bila kedua tipe tersebut compatible, maka java akan
mengkonversi secara otomatis. Contoh : kita sering memasukkan nilai bertipe int ke
Lab Pemrograman & Rekayasa Perangkat Lunak
6
variable yang dideklarasikan dengan tipe long, namun bila keduanya tak compatible,
maka kita perlu melakukan casting tehadap variable yang akan dikonversi tersebut.
ada beberapa syntax lain yang dapat digunakan untuk mengubah String ke tipe data
primitive :
Compile dengan menggunakan TERMINAL…!!!
Ketik source code diatas menggunakan notepad(windows) atau gedit(linux).
Simpanlah
dengan
menggunakan
nama
command
“LuasPersegiPanjang.java”,
setelah
“javac(spasi)LuasPersegiPanjang.java”.
Lab Pemrograman & Rekayasa Perangkat Lunak
itu
compile
Kemudian
7
jalankan
menggunakan
java(spasi)LuasPersegiPanjang(spasi)(inputan1)(spasi)(inputan2)
2.4 Operator
Terdapat beberapa jenis operator, diantaranya operator aritmatika, penaikan dan
penurunan, bitwise, boolean, relasi, pergeseran, penugasan, kombinasi, kondisi serta lainnya.
Namun dalam praktikum kali ini kami hanya akan membahas tentang Operator logika,
aritmatika dan relasional.
2.4.1 Operator Logika
Merupakan salah satu jenis operator yang mengharuskan operannya bertipe
Boolean (true atau false). Terdapat 4 operator logika, yaitu
Operator
Keterangan
!
Operasi NOT
||
Operasi OR
&&
Operasi AND
^
Operasi XOR
Agar lebih mudah memahami operator ini, dapat dilihat tabel kebenaran logika untuk
masing – masing operator.
Table operator ! (NOT) :
Operand
0
1
!
1
0
Table operator && (AND) :
Table operator || (OR) :
Operand 1 Operand 2
0
0
0
1
1
0
1
1
|
0
1
1
1
Lab Pemrograman & Rekayasa Perangkat Lunak
Operand 1
0
0
1
1
Operand 2
0
1
0
1
&
0
0
0
1
Table operator ^ (XOR) :
Operand 1
0
0
1
1
Operand 2
0
1
0
1
^
0
1
1
0
8
Contoh lain :
&&  Jika salah SATU kondisi SALAH, maka hasilnya SALAH
||
 Jika salah SATU kondisi BENAR, maka hasilnya BENAR
Table operator short circuit :
Operator
&&
||
Operand 1
0
1
0
1
Operand 2
1
1
0
0
Operand n
…1
…1
…0
…0
Hasil
0
1
1
0
2.4.2 Operator Aritmatika
Merupakan operator – operator yang digunakan untuk melakukan perhitungan
– perhitungan matematis seperti pernjumlahan, pengurangan, perkalian, dan
pembagian. Table berikut dapat menunjukkan daftar operator yang termasuk ke dalam
kelompok operator aritmatika.
Operator
+
*
/
%
++
--
Keterangan
Penjumlahan
Pengurangan
Perkalian
Pembagian
Modulus (sisa bagi)
Increment (penambahan nilai dengan1)
Decrement (penambahan nilai dengan1)
Operand dari operator aritmatika harus bertipe numeric, sehingga anda tidak
dapat menggunakannya pada tipe data Boolean. Sebagai pengecualian untuk tipe
Char, anda masih dapat menggunakanya operasi tersebut karena sebenarnya, tipe char
merupakan subset dari tipe data int.
2.4.3 Operator Relasional
Merupakan operator yang menyatakan hubungan antara satu operand dengan
operand lainnya yaitu : apakah sama dengan, tidak sama dengan, lebih besar, lebih
kecil. Hasil yang diberikan dari hasil ini akan melibatkan operator relasional akan
bernilai Boolean (true/false). Table berikut ini menunjukkan daftar operator relasional
yang terdapat dalam java.
Operator
==
!=
>
Lab Pemrograman & Rekayasa Perangkat Lunak
Keterangan
Sama dengan
Tidak sama dengan
Lebih besar
9
<
>=
<=
Lebih kecil
Lebih besar sama dengan
Lebih kecil sama dengan
Operator == dan != dapat diterapkan pada tipe data apapun, baik numeric,
karacter ataupun Boolean. Adapun keempat operator lainnya hanya dapat digunakan
untuk lebih besar atau lebih kecil dari operand lainnya. Dari ketiga jenis operator yaitu
Logika, Aritmatika, Relasional, mungkin dapat mudah di pahami dengan mencoba
source code dibawah ini :
Lab Pemrograman & Rekayasa Perangkat Lunak
10
BAB 3
OBJEK, KONSTRUKTOR & ENKAPSULASI
Topik pembahasan materi :
 Rekursi
 Kelas & Object
 Konstruktor
 Method
 Enkapsulasi
3.1 Rekursi
Dalam java, rekursi adalah proses pemanggilan method oleh dirinya sendiri
secara langsung. Rekursi digunakan untuk menyederhanakan algoritma dari sesuatu
proses perulangan untuk menyederhanakan algoritma dari suatu proses perulangan
tertentu sehingga kode programnya akan lebih efisien. Berikut ini contoh program
lengkap yang akan mendemostrasikan cara kerja dari rekursi.
Lab Pemrograman & Rekayasa Perangkat Lunak
11
3.2 Kelas & Object
3.2.1 Kelas
Kelas merupakan prototype/kerangka yang mendefinisikan variable – variable
(data ) dan method – method (perilaku) umum dari suatu object tertentu.
Contoh :
KELAS MOBIL
DATA
 warna, merk, tahun, nomor polisi
METHOD
 system pengereman, persneling
KELAS MANUSIA
DATA ( ciri – ciri )
 tinggi, berat badan, sidik jari
METHOD ( perilaku )  cara berjalan, cara bersuara, cara marah
Class dideklarasikan sebgai berikut :
Class nama_class{
//deklarasi attribute
//deklarasi method
}
Keterangan :

Class merupakan kata kunci yang digunakan untuk mendeklarasikan suatu
kelas

Nama_class merupakan identifier,(tata cara penulisan identifier silahkan baca
kembali modul bab 2

Attribute bisa berjumlah 0 atau lebih

Method bisa berjumlah 0 atau lebih
Lab Pemrograman & Rekayasa Perangkat Lunak
12
3.2.2 Object
Pada saat mendefinisikan suatu kelas, kita hanya membuat tipe data
baru bukan membuat objek baru. Untuk membuat objek baru dari tipe kelas
yang telah didefinisikan, kita perlu melakukan dua tahap yaitu :

Pertama, mendeklarasikan variable yang digunakan sebagai referensi ke
objek dari kelas bersangkutan.

Kedua, kita perlu menginstansiasi kelas dengan menggunakan operator
new dan memasukkan instance-nya ke dalam variable referensi yang baru
saja di deklarasikan.
//medeklarasikan variable ke tipe manusia
manusia tinggi;
// melakukan instansiasi dan memasukkan referensi ke variable tinggi
tinggi = new manusia();
================================================
// cara lain membuat objek
manusia Zakaria = new mahasiswa();
manusia Zakaria_a = new mahasiswa(“54”,”167”);
zakaria dan zakaria_a merupakan objek dari kelas mahasiswa. Kata
kunci new digunakan pemesanan memori yang untuk objek yang dibuat.
Variable zakaria dan zakaria_a merupakan variable reference.
make_object.java
Compile source code diatas…amatilah..dan lihatlah hasilnya..
make_object2.java
Lab Pemrograman & Rekayasa Perangkat Lunak
13
Selanjutnya buatlah file baru bernama make_object2.java dan disimpan ditempat yang
sama. Compile dan running, amati dan lihat hasilnya..
Bila sampai disni anda masih belum memahaminya, tanyakanlah ke instruktur yang
ada. Class, object, method, ini merupakan dasar dari OOP, sehingga bila anda sampai
disini masih belum memahaminya..otomatis anda akan lebih kebingungan di bab –
bab selanjutnya.
3.3 Method
3.3.1 Deklarasi Method
Method adalah sekumpulan statement program yang disatukan menjadi
sebuah subprogram atau fungsi, diawali dengan tanda “{“ diakhiri dengan
tanda “}”.
Deklarasi method dapat dituliskan sebagai berikut:
Contoh :
3.3.2 Method Procedure
Berikut ini merupakan method yang tidak mempunyai nilai balik
Lab Pemrograman & Rekayasa Perangkat Lunak
14
3.3.3 Fungsi
Merupakan method yang mempunyai nilai balik. Tipe adalah
sembarang tipe data, bias tipe primitif ataupun tipe reference. Nilai yang
dikembangkan sebagai hasil fungsi harus bertipe sama dengan tipe fungsi.
Nilai itu sendiri biasa berupa data, ekspresi maupun variabel.
3.4 Konstruktor
Merupakan method khusus yang didefinisikan didalam kelas dan akan
dipanggil secara otomatis setiap kali terjadi instansiasi objek. Konstruktor itu sendiri
berfungsi untuk melakukan inisialisasi nilai terhadap data-data yang terdapat pada
kelas bersangkutan.
Apabila kita tidak mendefinisikan default Konstruktor dalam kelas, maka
secara otomatis java akan membuatkannya default Konstruktor,yaitu yang akan
menginisialisasi semua data yang ada dengan nilai nol.
Hal yang perlu di perhatikan pada saat mendefinisikan suatu Konstruktor kelas
adalah tipe kembailan. Perlu diingat bahwa konstruktor tidak memiliki nilai
kembalian. Selain itu konstruktor haruslah sama persis dengan nama kelas yang
didefinisikan.
Lab Pemrograman & Rekayasa Perangkat Lunak
15
public class Mahasiswa {
private float ip;
private String nama;
private String NIM;
public Siswa(String pNIM,String pNama,float pIP) {
NIM = pNIM;
nama=pNama;
ip = pIP;
}
}
Untuk lebih memahami tentang encapsulation dan konstruktor, coba buat program di
bawah ini :
Lab Pemrograman & Rekayasa Perangkat Lunak
16
3.4.1 Kata Kunci This
Penggunaan kata kunci “this” terdiri dari 2 macam:
•
Untuk mengakses atribut dari dalam class
Contoh:
String nim;
String nama;
void setNim(String nim) {
this.nim = nim;
}
Keterangan:
“this.nim” mengacu pada atribut nim dari class Mahasiswa. Penggunaan
this akan menghilangkan kerancuan antara atribut nim dan parameter nim.
•
Untuk memanggil konstruktor dari konstruktor lain
Contoh:
String nim;
String nama;
String alamat;
Mahasiswa(String nim, String nama) {
this.nim = nim;
this.nama = nama;
}
Mahasiswa(String nim, String nama, String alamat){
this(nim, nama); //memanggil konstruktor pertama
this.alamat = alamat;
}
Lab Pemrograman & Rekayasa Perangkat Lunak
17
Keterangan:
“this(nim, nama)” berarti memanggil konstruktor “Mahasiswa(String nim,
String nama)”. Hal ini sama artinya bila kita tuliskan “this.nim = nim” dan
“this.nama = nama”.
Untuk lebih memahami tentang this, coba buat program di bawah ini:
Lab Pemrograman & Rekayasa Perangkat Lunak
18
3.5 Enkapsulasi
Merupakan hak akses attribut dan/atau method pada class. Hak akses tersebut
yaitu public, private, protected dan default. 3 tipe yang pertama harus dinyatakan
secara eksplisit dengan keyword yang sesuai . Sedangkan yang keempat tanpa
keyword yang merupakan default.
Kemampuan hak akses dapat di jelaskan pada tabel berikut ini :
Lab Pemrograman & Rekayasa Perangkat Lunak
19
BAB 4
FLOW CONTROL
Topik pembahasan materi :
 Kondisi IF
 Kondisi Switch - Case
 Perulangan For
 Perulangan While
 Perulangan Do-While
 Kata kunci Break & Continue
4.1 Kondisi IF…
Sintaks dari pernyataan seleksi kondisi if:
if (condition/boolean exp) {
statement1;
} else if (condition/boolean exp) {
statement2;
} else {
statement3;
}
Keterangan:

Tanda kurung () yang mengapit kondisi/ boolean exp harus dituliskan (wajib)

Statement dieksekusi bila kondisi bernilai true

Bila statement lebih dari satu, maka semua statement ditulis dalam tanda {}
4.2 Kondisi Switch – Case
switch (switch_expression) {
case case_selector1:
statement1;
statement2; //block 1
. . .
break;
case case_selector2:
statement1;
statement2; //block 2
. . .
break;
default:
statement1;
statement2; //block n
. . .
break;
}
Lab Pemrograman & Rekayasa Perangkat Lunak
20
Keterangan:

Switch_expression dapat berupa tipe byte, short, int, char

Case_selector merupakan literal yang bertipe sama dengan switch_expression

Break merupakan pernyataan untuk keluar dari blok switch dan melanjutkan
eksekusi berikutnya

Statement pada blok default dieksekusi bila semua case_selector tidak ada
yang memenuhi nilai switch_expression
4.3 Perulangan For
for (inisialisasi; kondisi; iterasi) {
statement1;
statement2;
. . .
}
Keterangan:

Inisialisasi merupakan inisialisasi nilai variabel yg digunakan untuk membuat
perulangan. Inisialisasi dieksekusi hanya satu kali.

Kondisi merupakan ekpresi boolean. Selama kondisi bernilai true maka statement
dieksekusi. Pernyataan kondisi dieksekusi sebelum statement dieksekusi.

Iterasi merupakan perubahan nilai variabel yang suatu saat harus menyebabkan
kondisi bernilai false, sehingga perulangan berhenti. Iterasi dieksekusi setelah
statement dieksekusi
4.4 Perulangan While
while (condition) {
statement1;
statement2;
. . .
}
Keterangan:

Kondisi merupakan ekspresi boolean

Selama kondisi bernilai true, maka statement dieksekusi

Harus ada statement yang suatu saat menyebabkan kondisi bernilai false sehingga
perulangan berhenti
Lab Pemrograman & Rekayasa Perangkat Lunak
21
4.5 Perulangan Do-While
do {
statement1;
statement2;
. . .
} while (condition);
Keterangan:

Statement dalam blok do‐while dieksekusi terlebih dahulu

Bila kondisi bernilai true maka statement akan dieksekusi kembali hingga kondisi
bernilai false

Tanda “;” setelah kondisi harus dituliskan
4.6 Kata kunci Break & Continue
Pernyataan break memiliki dua macam bentuk yaitu break tanpa label dan
break berlabel. Break digunakan untuk keluar dari blok tempat ia berada atau keluar
dari blok yang diberi label.
Pernyataan continue juga memiliki dua macam bentuk yaitu continue tanpa
label dan continue berlabel. continue digunakan untuk meneruskan statement dari awal
perulangan serta mengabaikan statement antara continue dan akhir perulangan atau
meneruskan statement pada blok yang diberi label. Untuk lebih memahami flow
control di java, coba buat program di bawah ini:
***Tambahkan code berikut ini di atas nama class
import java.io.IOException
Lab Pemrograman & Rekayasa Perangkat Lunak
22
class IfElseName {
public static void main (String args[]) throws IOException{
char firstInitial;
System.out.print("Masukkan huruf awal nama Anda! : ");
firstInitial = (char)System.in.read(); //baca inputan dari keyboard
if ((firstInitial == 'a')||(firstInitial == 'A')){
System.out.println("Halo Asep....");
}else if ((firstInitial == 'b')||(firstInitial == 'B')){
System.out.println("Hai Budi!");
}else if ((firstInitial == 'c')||(firstInitial == 'C')){
System.out.println("Apa kabar Ciput?? :D ");
}else{
System.out.println("Anda belum teridentifikasi ^_^)w");
}
}
}
class SwitchName {
public static void main (String args[]) throws IOException{
char firstInitial;
System.out.println("Masukkan huruf awal nama anda: ");
firstInitial = (char)System.in.read(); //baca inputan dari keyboard
switch (firstInitial) {
case 'a':
System.out.println("Halo Asep");
case 'b':
System.out.println("Hai Budi");
case 'c':
System.out.println("Apa kabar Ciput???");
default:
System.out.println("Anda belum teridentifikasi ^.^)w");
}
}
Jalankan program dan lihat hasilnya!!
Coba tambahkan break; di setiap case!!
***Coba ganti code switch tersebut menjadi
Lab Pemrograman & Rekayasa Perangkat Lunak
23
labelnya:
while(firstInitial!='0') {
switch (firstInitial) {
case 'a':
System.out.println("Halo Asep");
continue labelnya;
case 'b':
System.out.println("Hai Budi");
break labelnya;
case 'c':
System.out.println("Apa kabar Ciput????");
continue;
default:
System.out.println("Anda belum teridentifikasi ^.^)w");
break;
}
}
Jalankan dan amati hasilnya!!
Lab Pemrograman & Rekayasa Perangkat Lunak
24
BAB 5
PEMROGGRAMAN OBJEK
Topik pembahasan materi :
 Overloading
 Inharitance
 Overridding
 Abstract
 Interface
5.1 Overloading
Sepintas terdapat kemiripan antar overloading dengan overriding, namun kedua
hal tersebut merupakan hal yang sangat berbeda. Override merupakan pendefinisan
suatu method dalam kelas turunan yang memiliki nama dan parameter yang sama
persis pada kelas induk. Akan tetapi pada kasus tertentu ada kalanya kita
mendefinisikan sebuah method didalam kelas turunan yang namanya sama dengan
nama method yang terdapat di kelas induknya, tapi parameternya berbeda. Hal inilah
yang disebut dengan overload. Mungkin akan lebih jelas pada source code berikut ini :
Lab Pemrograman & Rekayasa Perangkat Lunak
25
5.2 Inharitance
Java mengizinkan kita untuk mendefinisikan suatu kelas yang bersifat generic.
Selanjutnya, kelas tersebut dapat diturunkan lagi menjadi generic, kelas tersebut dapat
diturunkan lagi menjadi kelas baru dengan sifat yang lebih spesifik. Kelas induk yang
diturunkan disebut dengan superclass.
BINATANG
HERBIVORA
KAMBING
KERBAU
CARNIVORA
HARIMAU
SINGA
kelas binatang adalah superclass. Dari kelas Herbivora & Carnivora. Herbivora &
Carnivora sendiri berperan sebagai subclass. Namun Herbivora dapat menjadi
superclass dari subclass kambing & kerbau. Dan Carnivora dapat menjadi superclass
dari subclass harimau & singa.
Suatu superclass dapat tidak mewariskan sebagian member-nya kepada
subclass-nya. Sejauh mana suatu member dapat diwariskan ke class lain,ataupun suatu
member dapat diakses dari class lain, sangat berhubungan dengan access control
(kontrol pengaksesan).
Penciptaan class turunan(subclass)
Untuk melakukan proses penurunan suatu kelas, diperlukan kata kunci extends Bentuk umum
dari penggunaan kata kunci tersebut sebagai berikut:
Lab Pemrograman & Rekayasa Perangkat Lunak
26
Kata kunci super
Kata kunci super dipakai untuk merujuk pada member dari parent class, sebagaimana kata
kunci this yang dipakai untuk merujuk pada member dari class itu sendiri. Adapun format
penulisannya adalah sebagai berikut:
super.x
merujuk pada data member pada parent class
super.tampilkanNilai( )
merujuk pada function member pada parent class
super()
merujuk pada konstruktor pada parent class
Untuk lebih memahami kata kunci super, coba buat program di bawah ini :
Lab Pemrograman & Rekayasa Perangkat Lunak
27
5.3 Overidding
Mendefinisikan suatu method di dalam kelas turunan yang nama dan daftar
parameternya sama persis dengan yang terdapat pada kelas induk, maka hal tersbut
dikatakan telah melakukan override (mengesampingkan) method yang tersimpan dalam
kelas induk. Bila kita melakukan pemanggilan method yang telah di-override melalui
objek dari kelas turunan,maka yang di eksekusi adalah method yang terdapat di kelas
turunan, BUKAN yang terdapat di kelas induk. dengan kata lain bila kita melakukan
override terhadap method pada kelas induk, maka didalam kelas turunan method tersebut
akan disembunyikan keberadaannya. Seperti pada source code dbawah ini :
5.4 Abstract
Ada kalanya, pada kasus – kasus pemrograman tertentu, kita ingin
medefinisikan sebuah kelas induk yang didalamnya terdapat deklarasi method yang
tidak memerlukan implementasi sama sekali. Method-method tersebut selanjutnya
baru akan diimplementasi oleh kelas – kelas turunannya. Method semacam ini
dinamakan dengan method abstrak. Untuk mendeklarasikan suatu method menjadi
method abstrak, kita perlu menambahkan kata kunci abstract didepan deklarasi method
bersangkutan.berikut ini bentuk umum penulisan kodenya.
Lab Pemrograman & Rekayasa Perangkat Lunak
28
Abstract tipe namaMethod(daftar-parameter);
Kelas abstract tidak dapat diinstansiasi, dengan kata lain kita tidak diizinkan untuk
membentuk objek dari suatu kelas abstract, apabila anda berusaha untuk memlakukan
hal itu, maka akan terjadi kesalahan pada saat proses kompilasi program.
5.5 Interface
Interface merupakan wadah dari sekumpulan method yang bersifat abstrak,
atau tidak memiliki implementasi sama sekali. Dengan kata lain, semua method yang
didefinisikan di dalam interface adalah method abstrak, method-method yang
didefinisikan didalam interface tersebut baru akan diimplementasi oleh kelas-kelas
yang mengimplementasikan interface bersangkutan. Jadi sebenarnya interface
merupakan bentuk perluasan dari kelas abstrak.
Lab Pemrograman & Rekayasa Perangkat Lunak
29
Lab Pemrograman & Rekayasa Perangkat Lunak
30
5.6 Polimorfisme
Setelah mengetahui konsep override, mungkin anda akan bertanya, ”Apa
kegunaan overriding ?”, jawabanya yaitu karena proses overriding dibentuk agar java
dapat mendukung konsep polimorfisme. Lalu Apa itu polimorfisme..?, jawabnya
polimorfisme adalah kemampuan suatu objek untuk mengungkap banyak hal melalui
satu cara yang sama.
Polimorfisme merupakan salah satu hal yang penting dalam konsep pemrograman
berorientasi pada objek, sehingga polimorfisme mengizinkan kelas induk untuk
mendefinisikan sebuah method yang umum untuk semua kelas turunannya dan
selanjutnya kelas-kelas turunan dapat memperbarui implementasi dari method tersebut
secara lebih spesifik sesuai dengan karakteristiknya masing – masing.
Lab Pemrograman & Rekayasa Perangkat Lunak
31
Lab Pemrograman & Rekayasa Perangkat Lunak
32
BAB 6
Exception & Grahpical User Interface
Topik pembahasan materi :
 Exception
 GUI
6.1 Exception
Hal terburuk dan paling dihindari dalam dunia pemrograman adalah bug(kesalahan)
pada saat eksekusi. Kesalahan tersebut disebut juga dengan eksepsi. Untuk mengatasi
kesalahan tersebut, java menyediakan sebuah mekanisme penanganan kesalahan yang biasa
disebut dengan exception-handling. Eksepsi yang disediakan oleh java yaitu : try, catch,
throw, throws, dan finaly.
6.1.1 Try-Catch
Pencegahan eksepsi bias ditanggulangi oelh kita sendiri, sebagai programmer.
Untuk melakukan hal itu, kita perlukan mendefinisikan blok try-catch. Berikut ini
adalah contoh penggunaan try-catch
Lab Pemrograman & Rekayasa Perangkat Lunak
33
6.1.2 Throw
Kita dapat membangkitkan eksepsi secara manual dengan cara menggunakan
kata kunci throw. Berikut adalah contoh penggnaan throw
Lab Pemrograman & Rekayasa Perangkat Lunak
34
6.1.3 Throws
Jika sebuah method dapat menyebabkan sebuah exception namun tidak
menangkapnya, maka digunakan keyword throws.
6.1.4 Finaly
Pada kasus tertentu terkadang kita menggunakan hal semacam ini untuk memfinalisasi dengan menggunakan kata kunci finally. Untuk mengetahui cara kerjanya
bisa dicoba source code dibawah ini.
Lab Pemrograman & Rekayasa Perangkat Lunak
35
6.2 GUI – DB
Sebuah aplikasi yang dibuat biasanya digunakan untuk memyimpan sebuah
data penting. Hal itu dikarenakan bila pemakaian aplikasi tersebut menggunakan
database untuk penyimpanannya. Banyak sekali software yang digunakan untuk
menyimpan data / informasi seperti : MySQL, Oracle, Ms.SQL, dll
Pada praktikum kali ini kita akam melakukan penyimpanan pada database
MySQL dengan bantuan PhpMyAdmin yang semuanya terdapat pada software
XAMPP. Untuk pengakses databasenya bisa dibuka Browsernya seperti Mozilla
Firefox ataupun Internet Explorer ; pada Address Bar : http://localhost/phpmyadmin/
sehingga akan tampak seperti gambar dibawah ini.
6.2.1 Database
1. Buatlah Database dengan nama “db_login”
2. Buatlah tabel database dengan nama “ t_login”
3. Isilah attribut t_login dengan
ID -> int (3)
User -> varchar(10)
Passwd->varchar(10)
Lab Pemrograman & Rekayasa Perangkat Lunak
36
4. Untuk mencoba hasil table yang telah dibuat, masuklah pada tab Insert. Dengan
value yang sesuai seperti contoh dibawah ini :
Setelah membuat database beserta tablenya, selanjutnya kita buat aplikasi
pendaataan login dengan Netbeans menggunakan JFrame Form.
6.2.2 GUI-project
1. klik file->New Project->
2. Selanjutnya kita buat file java yang berjenis JFrame Form
Klik kanan pada source package-> new->JFrame Form
Lab Pemrograman & Rekayasa Perangkat Lunak
37
3. Isilah class name untuk nama file java pada JFrame Form nya
4. Selanjutnya kita masukkan library koneksi java dengan mysql yang telah
disediakan.
Klik kanan pada library -> Add JAR/Folder
Lab Pemrograman & Rekayasa Perangkat Lunak
38
5. Desain GUI seperti gambar dibawah ini :
OBJEK
PROPERTI
NILAI
JLabel1
Text
PENDATAAN LOGIN
JLabel2
Text
ID
JLabel3
Text
USER
JLabel4
Text
PASSWORD
jButton1
Text
OK
jButton1
Text
Reset
JTextField1
Text
Variable
JTextField2
Text
Variable
JTextField3
TF_ID
TF_USER
Text
Variable
TF_PASSWORD
6. Design : Pengaturan GUI pada Program
Source : Pengaturan Source Code Program
7. Klik pada source dan masukkan Method simpan_data() pada akhir source code
akan tetapi sebelum kurung kurawal ( } ).
Lab Pemrograman & Rekayasa Perangkat Lunak
39
8. Tambahkan juga method koneksi() dan reset() ,dibawah method simpan data()
9. Tambahkan lagi beberapa script sehingga menjadi seperti script dibawah ini, lalu TEST
(SHIFT + F6 )
Lab Pemrograman & Rekayasa Perangkat Lunak
40
TUGAS 1
1. Apa yang dimaksud dengan “ Casting” dalam OOP ?
2. Apa saja perbedaan “Pemrograman Terstruktur” dengan “Pemrograman Objek” ?
TUGAS 2
1. Apa yang Anda dapat selain cara lain dalam konversi String ke numerik?
2. Apa fungsi variabel args itu menurut Anda?
3. Buatlah sebuah program yang dapat menerima 3 buah argumen parameter, yang
masing-masing menunjukkan nilai untuk nama, nim dan no_hp. tampilkan sebagai
contoh berikut :
TUGAS 3
1. Apa itu “Garbage Collection “ pada JAVA ?
2. Apa fungsi dari “Konstruktor” ?
TUGAS 4
Buatlah Program menghitung luas lingkaran dan keliling, dengan ketentuan :
•
dimana jari-jari didapat dari inputan argumen
•
Jari-jari bertipe data float dan.
•
Objek lingkaran didapat dari class lingkaran
•
Class lingkaran memiliki atribut jari-jari dan method getJari, Luas, Keliling,setJari
•
Atur pula agar variabel jari-jari tidak bisa diakses di luar kelas lingkaran.
TUGAS 5
-
Cari tahu tentang cara menyimpan sebuah inputan bertipe string ke sebuah file.txt,
bagaimanakah konsepnya..??
-
Source code menggunakan GUI..??
TUGAS 6
TUGAS 7
Lab Pemrograman & Rekayasa Perangkat Lunak
41
TUGAS 8
Ada baiknya ada sebuah QUIS, karena bila di beri sebuah tugas…pasti tidak ada yg
mengumpulkan..karena merupakan pertemuan terakhir…
Lab Pemrograman & Rekayasa Perangkat Lunak
42
Download