If … else - Simponi MDP

advertisement
PEMOGRAMAN APLIKASI
BERGERAK (Java ME)
Mata Kuliah Pilihan
Company
LOGO
SEKILAS
JAVA
Pengenalan Java
™ Java dikembangkan oleh Sun Microsystem
™ Ditujukan untuk mengatasi perbedaan pada aneka
platform yang ada saat ini.
™ Slogan java :
“Write once, run anywhere.”
™ Teknologi Java adalah
sebuah bahasa
pemrograman dan juga
merupakan sebuah
platform.
Mengapa dinamakan Java?
3
Sejarah Singkat Java (i)
™ Pada 1991, sekelompok insinyur Sun dipimpin oleh Patrick
Naughton dan James Gosling ingin merancang bahasa
komputer untuk perangkat konsumer seperti cable TV Box.
Dikarenakan perangkat tersebut tidak memiliki banyak
memori, bahasa harus berukuran kecil dan mengandung kode
yang liat. Juga karena manufaktur-manufaktur berbeda
memilih processor yang berbeda pula, maka bahasa harus
bebas dari manufaktur manapun.
™ Proyek diberi nama kode ”Green”.
™ Kebutuhan untuk fleksibilitas, kecil, liat dan kode yang netral
terhadap platform mengantar tim mempelajari implementasi
Pascal yang pernah dicoba. Niklaus Wirth, pencipta bahasa
Pascal telah merancang bahasa portabel yang menghasilkan
intermediate code untuk mesin hipotesis. Mesin ini sering
disebut dengan mesin maya (virtual machine).
4
Sejarah Singkat Java (ii)
™ Kode ini kemudian dapat digunakan di sembarang mesin yang
memiliki interpreter. Proyek Green menggunakan mesin maya untuk
mengatasi isu utama tentang netral terhadap arsitektur mesin.
™ Karena orang–orang di proyek Green berbasis C++ dan bukan
Pascal maka kebanyakan sintaks diambil dari C++, serta
mengadopsi orientasi objek dan bukan prosedural. Mulanya bahasa
yang diciptakan diberi nama ”Oak” oleh James Gosling yang
mendapat inspirasi dari sebuah pohon yang berada pada seberang
kantornya, namun dikarenakan nama Oak sendiri merupakan nama
bahasa pemrograman yang telah ada sebelumnya, kemudian SUN
menggantinya dengan JAVA.
™ Nama JAVA sendiri terinspirasi pada saat mereka sedang
menikmati secangkir kopi di sebuah kedai kopi yang kemudian
dengan tidak sengaja salah satu dari mereka menyebutkan kata
JAVA yang mengandung arti asal bijih kopi. Akhirnya mereka
sepakat untuk memberikan nama bahasa pemrograman tersebut
dengan nama Java.
5
Cross-platform
™ Java berdiri di atas sebuah mesin interpreter yang diberi
nama Java Virtual Machine (JVM). JVM (Java Virtual
Machine) adalah mesin untuk menjalankan bytecode
pada file kelas Java pada mikroprosesor, baik yang
berada pada komputer atau pada piranti elektronik
lainnya.
™ Bahasa java disebut sebagai bahasa yang portable (
write once run anywhere ) karena dapat dijalankan pada
berbagai Sistem Operasi, asalkan pada sistem tersebut
terdapat JVM.
“Write once, run anywhere.”
cross-platform benefits of
the Java language
6
Cross-platform
Apa yang membuat Java begitu menarik?
Jawabnya terletak pada kemampuannya untuk
menghasilkan program yang mampu berjalan di
atas segala jenis platform. Sekali kita menulis
program dalam bahasa Java, maka ia akan siap
bekerja di segala jenis platform tanpa perlu
modifikasi kode.
7
JAVA
8
Penamaan Java oleh Sun Microsystem
™ 2 versi penamaan : penamaan versi dari divisi engineer dan versi
dari divisi marketing.
™ versi 1.0 hingga 1.4 ini penamaan dari sisi engineer, namun saat
versi berikutnya SUN lebih memilih penamaan divisi marketing yaitu
cukup dengan menyebutkan jdk lalu diikuti versi releasenya seperti
jdk 5.0.
™ Ketika Java 2 diperkenalkan tahun 1999, platform Java terbagi
menjadi 3 variant :
}
Java 2 Standard Edition (J2SE),
}
Java 2 Micro Edition (J2ME),
}
Java 2 Enterprise Edition (J2EE).
™ angka 2 setelah huruf J (J2SE, J2EE, J2ME) bukanlah merupakan
no versi releasenya akan tetapi merupakan trademark dari SUN
untuk memberitahukan bahwa setelah java berada di versi 1.2, java
telah mengalami perubahan dan peningkatan besar-besaran.
9
Penamaan Java oleh Sun Microsystem
™ Tahun 2005, Dari java versi 6 yang sedang
dikembangkan saat itu, SUN telah menghilangkan istilah
J2SE, J2EE, dan J2ME tsb, dengan menyebutkan java
dengan Java SE, Java EE, dan Java ME diikuti nomor
releasenya dari penamaan divisi marketing.
}
Java Standard Edition (Java SE)
}
Java Micro Edition (Java ME)
}
Java Enterprise Edition (Java EE)
JDK
J2SE
J2ME
J2EE
Java SE
Java ME
Java EE
Penamaan Java
10
Penamaan Java oleh Sun Microsystem
11
JAVA
™ Java Standard Edition (Java SE)
}
“desktop Java”
™ Java Micro Edition (Java ME)
}
“wireless Java”
™ Java Enterprise Edition (Java EE)
}
“server-side Java”
™ Java Card
}
}
difokuskan ke aplikasi smart card.
Java Card khusus dikembangkan
untuk membuat aplikasi-aplikasi pada
smart card, misalnya aplikasi kartu
telepon CHIP, kartu VISA, kartu SIM
pada ponsel dan aplikasi mobile
banking BCA yang saat ini sudah
umum digunakan.
¾Java ME adalah bagian
dari Java SE, karena itu
tidak semua library yang
ada pada Java SE
digunakan pada Java ME
¾Java ME biasanya
digunakan pada telepon
selular, pager, personal
digital assistant (PDA),
dst.
12
Java ME
™Teknologi Java ME juga memiliki beberapa
keterbatasan, terutama jika diaplikasikan pada
ponsel.
}
}
}
}
Java ME sangat tergantung pada perangkat (device)
yang digunakan, bisa dari segi merk ponsel, maupun
kemampuan ponsel dan dukungannya terhadap
teknologi Java ME.
Misalnya jika sebuah ponsel tidak memiliki kamera
maka jelas Java ME pada ponsel tersebut tidak dapat
mengakses kamera.
Ukuran aplikasi Æ memory pada ponsel sangat
terbatas
Sebagian ponsel tidak mengizinkan aplikasi Java ME
menulis pada file karena alasan keamanan.
13
JAVA SE
(Desktop
Application)
Memulai program JAVA SE
menggunakan editor Eclipse (i)
Pilih File Æ New Æ Java Project
15
Memulai program JAVA SE (ii)
™ Isi project name
dengan nama
LatihanJAVA,
™ Nama project secara
otomatis akan menjadi
nama folder tempat
kita menyimpan kode
program
™ Ingatlah directory yang
digunakan (dapat
berbeda-beda)
16
Memulai program JAVA SE (iii)
™ expand project
yang baru saja
dibuat dan klik
kanan src
™ Pilih
newÆclass,
akan muncul
jendela baru
17
Memulai program JAVA SE (iv)
™ Isi nama class
dengan nama
Contoh01
™ (optional)
Centang public
static void
main(String[]
args)
18
Program Java Sederhana
class Sederhana {
public static void main (String[] args) {
System.out.println (“Hello java…”);
}
}
™ class (nama class: Sederhana)
Î sekumpulan data attributes dan method
™ Method : main()
Î sekumpulan statement
19
Method Utama
™
public static void main (String args [ ]) {
…
}
™ Baris kode di atas mendeklarasikan suatu method dengan nama main.
main
ƒ Merupakan tempat dimulainya program dieksekusi. Jika tidak ada method ini maka akan keluar pesan kesalahan:
Exception in thread “main”.java.lang.NoSuchMethodError: main
ƒ Nama main di sini merupakan suatu keharusan dalam Java karena Java akan mencari method yang bernama main ini sebagai titik awal eksekusi program.
20
public static void main (String[] args)
Public
™ Keyword public merupakan access specifier yang
menentukan visibility level dari method ini.
™ Public berarti method ini dapat diakses/dipanggil dari luar
class dimana ia dideklarasikan.
™ selain public, jenis access specifier yang lain adalah
private, protected, dan default.
™ Method main() akan dipanggil dari luar oleh run-time Java
saat program akan dieksekusi sehingga access specifier
yang dimiliki haruslah public.
21
Sekilas public & private
™Public : siapa saja bisa mengakses
member ini :
}
}
kode yang ada dalam class itu sendiri
atau yang berada di luar class
™Private : hanya dapat digunakan oleh
internal member dari class tersebut saja
}
tidak ada kode satupun dari luar class
tersebut yang diizinkan mengakses /
mengubah nilai dari member tersebut
22
public static void main (String[] args)
static
void
™ Keyword static memungkinkan
method main() dipanggil tanpa
harus terlebih dahulu membuat
instance dari class file1
™ Ini diperlukan karena method
main() akan dieksekusi
sebelum objek dari class file1
dibuat di memori.
args
™ Keyword void berarti bahwa
method main() tidak
mengembalikan nilai apapun
setelah dipanggil/dieksekusi.
ƒ Argument args (String[] args)
adalah array objek string
argument baris-baris perintah.
ƒ variabel args bertipe array dari
String
23
System.out.println (“Hello java…”);
System : class
™ nama dari salah satu class standar
yang dimiliki oleh java.
Out : objek
™ anggota dari class System dan juga
merupakan objek tersendiri, out
merupakan objek yang mewakili
standard output stream yang dalam
hal ini adalah layar komputer.
™ Seperti halnya method main(), objek
out ini dideklarasikan menggunakan
keyword static di dalam classnya
sehingga dapat langsung dipanggil
tanpa perlu terlebih dahulu membuat
instance dari class System.
println : method
™ Method yang terdapat pada
objek out. Berfungsi untuk
mencetak keluaran ke standard
output. Method ini juga mencetak
karakter pindah baris.
}
println vs print
“Hello java…” : paramenter
™ Parameter dari method println()
yang diterima oleh internal
method ini dan dicetak ke
standard output(layar komputer).
Tanda ;
™ Menandakan akhir suatu
statement/pernyataan/ perintah.
24
Penulisan Komentar
// contoh program java sederhana
// simpan dalam file bernama sederhana.java
/* contoh program java sederhana
Simpan dalam file bernama
sederhana.java
*/
™ Tanda // digunakan untuk penulisan komentar
per baris
™ Tanda /* dan */ digunakan untuk penulisan
komentar tersarang (nested comments)
Contoh kode program
Menampilkan lebih dari satu baris
//
//
//
//
nama file: DataDiri.java
deskripsi: program menampilkan beberapa kalimat
kompilasi: javac DataDiri.java
eksekusi: java DataDiri
class DataDiri {
public static void main (String[] args) {
System.out.println (“Nama: MDP”);
System.out.println (“Alamat: Jln. Rajawali 14”);
System.out.println (“Tlp:376400\nfax:376360\nwebsite:www.stmik-mdp.net”);
}
}
/*
\n : newline, juga berfungsi untuk pindah baris
*/
26
„ Petunjuk Penulisan Program
„ Token
„ Aturan Penamaan Identifier
„ Lingkungan /Scope dari variabel
„ Tipe Data
Company
LOGO
Education is not the filling of a pail, but the lighting of a fire. “ (William Butler Yeats)
Yoannita
Petunjuk Penulisan Program (i)
1. Pada saat pembuatan blok, Anda dapat meletakkan kurung kurawal
buka pada baris dengan pernyataan seperti contoh sebagai berikut ,
public static void main( String[] args ){
atau Anda dapat meletakkan kurung kurawal pada baris selanjutnya,
seperti,
public static void main( String[] args )
{
2. Anda harus memberi jarak (indent) pernyataan selanjutnya setelah
awal dari blok , seperti contoh berikut,
public static void main( String[] args ){
System.out.println("Hello");
System.out.println("world");
}
28
Petunjuk Penulisan Program (ii)
1. Untuk pemberian nama dari class Java,
diberikan huruf kapital untuk huruf pertama pada nama class.
Untuk nama method dan variabel, huruf pertama dari kata harus dimulai
dengan huruf kecil.
Sebagi contoh:
ThisIsAnExampleOfClassName
thisIsAnExampleOfMethodName
class BinatangAir
String ikanAirTawar
void membacaKoran()
2. Pada kasus untuk identifier lebih dari satu kata, gunakan huruf kapital
untuk mengindikasikan awal dari kata kecuali kata pertama.
Sebagai contoh charArray, fileNumber, ClassName.
3. Sebaiknya hindari menggunakan underscores pada awal identifier seperti
_read atau _write.
29
Token
™ Token merupakan elemen
terkecil di program yang
mempunyai
arti
bagi
kompilator.
™Token : Identifier
}
}
™ Token Java dibagi 5, yaitu:
} Identifier
} Keyword
} Literal
} Operator
} Separator
Identifier adalah token yang
merepresentasikan nama.
Dalam Java, identifier adalah
nama yang diberikan untuk
variable, class, atau method.
™Token : Reserved
words/Keywords
}
}
Kata-kata yang dikenal oleh
Java dan mempunyai arti
khusus dlm program.
tidak boleh digunakan
sebagai identifier (nama
variabel, kelas, method, dll).
30
http://eecchhoo.wordpress.com/2007/11/26/mengenal-java-tutorial-awal-java/
Ketentuan Identifier
™ Identifier harus dimulai/diawali
dengan huruf, underscore (_)
atau tanda dollar ($).
ƒ Identifier adalah case sensitive
(membedakan huruf besar/ kecil) dan
tidak ada batas maksimum.
ƒ Bukan merupakan keywords yang dikenal Java :
™ Untuk selebihnya dapat
menggunakan
karakter apapun,
kecuali karakter
yang digunakan
sebagai operator
oleh java.
31
Valid Identifier
™Valid
}
}
}
No
Kd_barang
kodeBarang
}
}
}
$barang
bahASA_PEmogramaN_JaVa
Contoh valid : int kd_barang; String $barang; class Bebek { }
„
Invalid
…
1_harga
… %barang
… Nama pelanggan
… Kd+barang
- tidak boleh diawali dengan angka
- simbol % tidak boleh digunakan
- tidak boleh menggunakan spasi
- tidak boleh menggunakan tanda operator
Contoh invalid: int 1_harga; int super; double void; class throws
32
Valid Identifier
™Sebagai pengganti bentuk penulisan tradisional
untuk identifier, yang menggunakan huruf kecil
dengan garis-bawah sebagai pemisah kata
}
}
nama_karyawan
Nama_Karyawan
™Beberapa identifier dituliskan dengan huruf
kapital pada awal kata, seperti :
}
string namaKaryawan atau
class NamaKaryawan
33
Token : Literal
Token : Literal
™ Penulisan
variabel.
besaran
Token : Operator
untuk
™ Literal Java terdiri dari angka,
karakter, dan string. Angka
terdiri dari bilangan bulat
(integer),
bilangan
mengambang (floating point),
dan boolean.
™ Nilai boolean untuk true dan
false
direpresentasikan
sebagai 1 dan 0.
„
„
Operator menspesifikasikan
evaluasi atau komputasi
terhadap objek.
Operand yang dioperasikan
dapat berupa literal, variabel,
atau nilai yang dikirim oleh
metode atau fungsi.
34
Token : Separator
™ Separator digunakan untuk menginformasikan ke kompilator
Java mengenai adanya pengelompokkan di kode program.
Simbol
Nama
Penggunaan
Untuk menghimpun parameter dalam definisi dan pemanggilan
method, juga digunakan untuk menyatakan tingkat pernyataan,
menghimpun pernyataan, untuk pengaturan alur program, dan untuk
menyatakan tipe cast (cast types)
()
Kurung
{}
Untuk menghimpun nilai yang otomatis dimasukkan ke dalam array,
Kurung
digunakan juga untuk mendefinisikan blok program, untuk cakupan
Kurawal
class, method, dan lokal.
[]
Kurung
Siku
;
Titik
Koma
Pemisah Pernyataan.
,
Koma
Pemisah urutan identifier dalam deklarasi variabel.
.
Titik
Untuk menyatakan tipe array dan untuk membedakan nilai array.
Untuk memisahkan nama paket dari sub-paket dan class dan untuk
memisahkan variabel atau method dari variabel referensi.
35
Pendeklarasian Variabel
class variabel
{
public static void main (String[] args )
{
System.out.println("Hello world");
// cara pendeklarasian 1 :
String namaDepan = "John";
String namaBelakang = "Maxwell";
System.out.println(namaDepan + " " + namaBelakang);
// cara pendeklarasian 2 :
String nickName;
// deklarasi
nickName = "Jon";
// pemberian nilai
System.out.println("Nickname : " + nickName);
char kar;
kar = 'A';
// memberikan nilai 'A' ke variabel, memakai tanda kutip satu '
System.out.println ("karakter adalah = " + kar);
kar = 70;
// memberikan nilai ASCII ke variabel
System.out.println ("karakter adalah = " + kar);
}
}
Tipe Data
Tipe data diperlukan
agar kompiler tahu
operasi apa yang valid dan
seberapa banyak memory
yang diperlukan oleh
sebuah nilai yang
akan disimpan atau
dioperasikan.
™ Tipe Data Primitif
}
}
}
}
}
Integer
Floating – Point
Karakter
Boolean
….
™ Tipe Data Referensi
Variabel :
}
}
}
menampung suatu nilai
Pasti memiliki tipe data
Harus didefinisikan terlebih
dahulu sebelum digunakan
37
Tipe Data
Tipe Data Integer (Bilangan Bulat)
Tipe Data Boolean
Nilai : true atau false
Tipe Data Real/ Floating Point (Bilangan Pecahan)
38
Tipe Data
Tipe Data Karakter
™ char :
}
}
hanya dapat
menampung satu
karakter saja,
Menggunakan
tanda petik satu
™ String :
}
}
dapat menampung
kalimat.
Menggunakan
tanda petik dua
class SalahCharString
{
public static void main(String args[])
{
char c1 = 'A';
char s1 = "Belajar Java menyenangkan";
}
}
Seharusnya String
Berikut pesan kesalahan saat kompilasi :
SalahCharString.java [11:1] incompatible types
found : java.lang.String
required: char
char s1 = "Belajar Java menyenangkan";
^
1 error
Errors compiling SalahCharString
39
Contoh kode program
Program dengan Variabel
// nama file: data1.java
// deskripsi: program menampilkan nilai
// kompilasi: javac data1.java
// eksekusi: java data1
class data1 {
public static void main (String [ ] args) {
double nilai1 = 13.14;
char nilai2;
nilai2 = ‘B’;
System.out.println (“tipe data double : “ + nilai1);
System.out.println (“tipe data char : “ + nilai2);
}
}
40
Konstanta
™ Merupakan variabel yang memiliki nilai tetap dan tidak dapat diubah saat
program sedang berjalan. Untuk menjadikan sebagai variabel konstanta, cukup
menambahkan kata tercadang final
™ Contoh:
// nama file : konstanta2.java
final int nilai = 20;
// deskripsi : perubahan konstanta
// kompilasi : javac konstanta2.java
// eksekusi : java konstanta2
class konstanta2
{
public static void main(String args[])
{
final int hrg = 3500;
int jlh = 10;
System.out.println("total = " + (jlh * hrg));
hrg = 250;
System.out.println("total = " + (jlh * hrg));
}
}
contoh usaha untuk
mengubah nilai konstanta :
Berikut ini tampilan saat kompilasi
konstanta2.java [13:1] cannot assign a value to final
variable hrg
hrg = 250;
^
1 error
Errors compiling konstanta2.
Terjadi kesalahan saat kompilasi, yaitu pada baris 13
terjadi usaha untuk mengubah nilai variabel hrg.
41
Case Sensitive
™ Huruf kecil dan huruf kapital pada identifier tidak dianggap sama
™ Identifier alamat, Alamat, dan ALAMAT menyatakan tiga identifier yang
berbeda.
class CaseSensitive1
{
public static void main (String[] args )
{
String nama = “Evi";
String Nama = “Eva";
String NAMA = “Evo";
System.out.println("String yang dicetak : " + Nama);
}
™ Apakah hasil output program di atas?
42
OPERATOR
Company
LOGO
“Treat people as if they were what they ought to be
and you help them to become what they are
capable of being.“(Johann Wolfgang Von Goethe)
Special thanks : Some slides are from Josephine Petrina K & Gasim Alkaff
Operator Aritmatika
™Merupakan tanda untuk operasi
aritmatika antara dua nilai
Opr Fungsi
Contoh
Deskripsi
+
Penjumlahan a + b
Penjumlahan a dan b
-
Pengurangan a – b
Pengurangan a dan b
*
Perkalian
a*b
Perkalian a dan b
/
Pembagian
a/b
Pembagian a dan b
Modulus
a%b
Sisa pembagian a dan b
%
44
Operator Aritmatika
Contoh Program
// nama file : arOp.java
class arOp {
public static void main (String [ ] args) {
double a = 5.0;
double b = 2.0;
double tambah = a+ b;
double kurang = a – b;
double kali
= a * b;
double bagi
= a / b;
double sisa
= a % b;
System.out.println (“ a + b = “ + tambah);
System.out.println (“ a + b = “ + (a + b));
//atau :
System.out.println (“ a - b = “ + kurang);
System.out.println (“ a * b = “ + kali);
System.out.println (“ a / b = “ + bagi);
System.out.println (“ a % b = “ + sisa);
}
}
45
Assignment Operator
Opr Fungsi
Contoh Deskripsi
=
Sama dengan
a=b
+=
a += b
a –= b
a=a-b
*=
Penjumlahan & sama
dengan
Pengurangan & sama
dengan
Perkalian & sama dengan
a akan bernilai
sama dengan b
a=a+b
a *= b
a=a*b
/=
Pembagian & sama dengan a /= b
a=a/b
-=
%= Modulus & sama dengan
a %= b a = a % b
46
Assignment Operator Contoh
Program
// nama file : arOp.java
class asOp {
public static void main (String [ ] args) {
int a = 4;
int b = 3;
int c = 2;
System.out.println (“a = “ + a + “b = “ + b + “c = “ + c);
c += b; // c = c + b
System.out.println (“c += b hasilnya c = “ + c);
c -= a;
// c = c - a
System.out.println (“c -= a hasilnya c = “ + c);
c *= b; // c = c * b
System.out.println (“c *= b hasilnya c = “ + c);
}
}
47
Increment / Decrement Operator
Opr Fungsi
Contoh
Deskripsi
++
nilai++
Nilai ditambah satu setelah
dioperasikan
Nilai ditambah satu sebelum
nilai dioperasikan
Nilai berkurang satu setelah
dioperasikan
Increment
Operator
++nilai
--
Decrement
Operator
nilai---nilai
Nilai berkurang satu sebelum
nilai dioperasikan
48
Increment / Decrement Operator
™ Penulisan operator sebagai akhiran
(y = x++ atau y = x--) menunjukkan
bahwa y memperoleh nilai x sebelum x
berubah
„
Jika operator ditulis sebagai awalan
(y = ++x atau y = --x), nilai x diberikan
ke y setelah terjadinya perubahan
49
class PenambahanAwalAkhir{
public static void main (String[] args) {
int x = 0;
int y = 0;
System.out.println("x dan y bernilai " + x + " dan " + y);
x++;
System.out.println("x++ menghasilkan "+ x);
++x;
System.out.println("++x menghasilkan "+ x);
System.out.println("\nx dinolkan lagi!\n");
x = 0;
y = x++;
System.out.println("y = x++ (akhiran) menghasilkan : ");
System.out.println("x is " + x);
System.out.println("y is " + y);
y = ++x;
System.out.println("y = ++x (awalan) menghasilkan : ");
System.out.println("x is " + x);
System.out.println("y is " + y);
}
}
50
Comparison Operator
Bernilai True atau False
Opr Fungsi
Contoh
Deskripsi
==
Equality operator
a == b
Bernilai true jika a sama
dengan b
!=
Inequality operator
a != b
Bernilai true jika a tidak
sama dengan b
<
Less than operator
a<b
Bernilai true jika a lebih
kecil dari b
>
Greater than operator
a>b
Bernilai true jika a lebih
besar b
<=
Less than or equal
operator
a <= b
Bernilai true jika a lebih
kecil atau sama dengan b
>=
Greater than or equal
operator
a >= b
Bernilai true jika a lebih
kecil atau sama dengan b
51
Comparison Operator
Contoh Program
// nama file : classComp.java
class classComp {
public static void main (String [ ] args) {
int a = 3;
int b = 4;
double c = 5.0;
boolean d;
d = (a == b);
System.out.println (“a = b? “ + d);
}
}
/*
Hasil :
false
*/
52
Operator Relasional
Opr Fungsi
Contoh Deskripsi
&&
Logical AND
operator
a && b
Bernilai true jika kedua nilai
benar
||
Logical OR
operator
a || b
Bernilai true jika salah satu
dari keduanya benar
!
Logical NOT
operator
!b
Bernilai true jika nilai b
adalah false
53
Operator Relasional
Contoh Program
class LoCom
{
public static void main(String args[])
{
boolean a = true;
boolean b = true;
boolean c = false;
boolean e = false;
boolean d; boolean k;
d = a && b;
System.out.println("true && true
Hasil :
true && true = true
false && true = false
false && false = false
true || false = true
true || true = true
false || false = false
= " + d);
k = c && b;
System.out.println("false && true = " + k);
System.out.println("false && false = " + (k && c));
System.out.println("true || false
= " + (a || c));
System.out.println("true || true
= " + (a || b));
System.out.println("false || false = " + (e || c));
}
}
54
Ternary if-then-else operators
Expression ? statement1 : statement2
™expression menyatakan besaran boolean yang
akan diperiksa.
™Jika expression bernilai benar (true) maka
statement1 dieksekusi atau dijalankan,
™sedangkan statement2 dijalankan jika
expression bernilai salah (false).
™Selain itu kedua statement harus memiliki tipe
yang sama.
™Ternary operator dapat diistilahkan :
If Expression ? Then statement1 else : statement2
55
Expression ? statement1 : statement2
// nama file : ternary.java
// deskripsi : Ternary Operator
// kompilasi : javac ternary.java
// eksekusi : java ternary
class ternary
{
public static void main(String args[])
{
int a = 10;
int b = 20;
int c = (b > 0) ? (a * 10) : (a - b);
System.out.println("hasil = " + c);
}
}
/*
hasil = 100
*/
56
Latihan (i)
Luas dan keliling persegi panjang
™Buatlah program java untuk menghitung
luas dan keliling persegi panjang
berukuran 7 x 5 meter
57
KONDISI
IF-ELSE
SWITCH-CASE
Company
LOGO
“Parents can only give good advice or put them on the right paths, but the final forming of a person's character lies in their own hands (Anne Frank)”
Kontrol Alur Program (Seleksi)
• If … else
™ If
}
}
Merupakan pernyataan
untuk memeriksa nilai
boolean dari ekspresi
logika yang mengikutinya
Bentuk dasar dari if
adalah:
if ( ekspresi logika )
statement 1;
statement 2;
}
− Untuk menentukan
alternatif pilihan selain
pilihan pertama.
− Bentuk dasar dari if …
else, adalah:
if ( ekspresi logika ) {
statement 1;
statement 2;
} else if ( ekspresi logika ) {
statement 3;
statement 4;
} else {
statement 5;
}
59
Kontrol Alur Program (Seleksi)
Contoh Program
// nama file: jika2.java
// nama file: jika1.java
class jika2 {
public static void main (String [ ] args) {
int umur = 17;
if (umur > 17) {
System.out.print(“Silakan masuk”);
} else {
System.out.print(“Dilarang masuk”);
}
}
}
class jika3 {
public static void main (String [ ] args) {
char nilai = ‘C’;
if (nilai == ‘A’) {
System.out.print(“Memuaskan”);
} else if (nilai == ‘B’) {
System.out.print(“Baik”);
} else if (nilai == ‘C’) {
System.out.print(“Cukup”);
} else {
System.out.print(“Jelek”);
}
}
}
60
Switch
™Merupakan pernyataan untuk menentukan satu
dari banyak kemungkinan
™Alternatif dari if
™Jika sebuah kondisi memenuhi, maka
pernyataan-pernyataan pada kondisi tsb akan
dieksekusi, dan dilanjutkan dengan pernyataan
break, yg berfungsi menghentikan switch
™Jika semua kemungkinan tidak ada yang
memenuhi maka pernyataan default akan
dilaksanakan
61
Switch
Contoh Program
// nama file: case1.java
class case1 {
public static void main (String [ ] args) {
int nilai = 2;
switch (nilai) {
case 1:
System.out.print(“OK”);
break;
case 2:
System.out.print(“Cukup”);
break;
default:
System.out.print(“Nilai tidak ada”);
break;
}
}
}
62
Latihan (ii)
™Dengan menggunakan struktur kondisi IFELSE, buatlah program sederhana yang
menampilkan nama bulan (Januari,
Februari, …, atau Desember) berdasarkan
kode bulannya (1-12)!
63
Latihan (iii)
™Dengan menggunakan struktur kondisi
SWITCH-CASE, buatlah program
sederhana yang menampilkan nama bulan
(Januari, Februari, …, atau Desember)
berdasarkan kode bulannya (1-12)!
64
Kesalahan umum ketika menggunakan
statement if-else(i)
1. Kondisi pada statement if tidak mengevaluasi nilai logika
boolean. Contohnya :
//SALAH
int number = 0;
if( number ){
//some statements here
}
Variabel number tidak memiliki nilai Boolean.
65
Kesalahan umum ketika menggunakan
statement if-else(ii)
2. Menggunakan operator = sebagai operator perbandingan yang
seharusnya adalah operator == . Contohnya,
//SALAH
int number = 0;
if( number = 0 ){
//Beberapa pernyataan
}
•
Seharusnya kode tersebut ditulis,
//BENAR
int number = 0;
if( number == 0 ){
//beberapa pernyataan
}
Harap diperhatikan bahwa
Tanda = digunakan untuk memberikan nilai, sedangkan
Tanda == digunakan untuk membandingkan nilai
66
•Pengulangan
(FOR, While, Do WHile)
•Loncatan
Company
LOGO
“The whole art of teaching is only the art of awakening
the natural curiosity of young minds for the purpose of
satisfying it afterwards.” (Anatole France)
67
Pengulangan WHILE & Do..While
class ulangWhile{
public static void main (String[] args){
int a = 18;
while (a>=15) {
System.out.print(“lakukan pengurangan ” + a);
a--;
}
}
}
class ulangDoWhile {
public static void main (String[] args){
int a = 18;
do {
System.out.print(“lakukan pengurangan ” + a);
a--;
} while (a>=15)
}
}
Pengulangan For
class UlangFor {
public static void main (String[] args) {
int a;
for (a=0; a<10; a++) {
System.out.println (a);
}
}
}
Pengulangan: For
Contoh Program (i)
class ulangFor{
public static void main (String [ ]
args) {
int a;
for (a = 0; a < 10; a++) {
System.out.println (a);
}
//atau
for (int a = 0; a < 10; a++) {
}
}
}
System.out.println (a);
70
Pengulangan: For
Contoh Program (i)
class ulangFor{
public static void main (String [ ] args) {
}
}
for (char x = 'a'; x <= 'e'; x++)
{
System.out.print(x);
}
71
Loncatan
BREAK
™ digunakan untuk menghentikan
eksekusi dari suatu blok dan
keluar dari blok yang sedang
dieksekusi tersebut.
™ sering digunakan dalam blok
perulangan (while, do…while)
dan blok kondisi (switch…case).
CONTINUE
•
sering digunakan dalam
perulangan, berfungsi untuk
melanjutkan perulangan tanpa
mengeksekusi baris-baris
pernyataan setelah pernyataan
continue. Pemakaian pernyataan
continue biasanya bersamasama dengan pernyataan
kondisi (if)
Contoh Penggunaan Break
// nama file : break1.java
class break1{
public static void main(String[] args){
char na = ‘A’;
switch (na){
case ‘A’ :
System.out.println("Memuaskan");
break;
case ‘B’ : System.out.println("Baik");
break;
case ‘D’ : System.out.println("Cukup");
break;
case ‘E’ : System.out.println("Jelek");
break;
default :
System.out.println("Nilai
tidak
ada");
}
}
}
// nama file : break2.java
class break2 {
public static void main(String[]
args){
for (int a=5; a>0; a--){
System.out.println("a = " + a );
if (a==3)
break;
}
}
}
berikut hasil dari program di atas.
a=5
a=4
a=3
Contoh Penggunaan Continue
// nama file : continue1.java
class continue1{
public static void main(String[] args) {
for (int a=0 ; a < 10 ; a++){
if (a % 3==0) {
continue;
}
System.out.println("a = " + a );
}
}
}
berikut hasil dari program
a=1
a=2
a=4
a=5
a=7
a=8
Pengulangan: While
Contoh Program
class ulangWhile {
public static void main (String [ ] args) {
int a = 18;
while (a >= 5) {
System.out.println (“lakukan pengurangan “ + a);
a--;
}
}
}
75
Panduan pemrograman:
1. Kesalahan pemrograman yang biasa terjadi ketika
menggunakan do-while loop adalah lupa untuk menulis
titik koma (;) setelah ekspresi while.
do{
...
}while(boolean_expression)
// salah>tidak ada titik koma(;)
2. Seperti pada while loop, pastikan do-while loop anda
berhenti pada suatu kondisi.
76
String Function
equals dan equalsIgnoreCase
Company
LOGO
“Too often we give children answers to
remember rather than problems to
solve.” ~Roger Lewin
77
String Function
™Menghapus karakter spasi dalam string:
str.Trim()
™konversi ke huruf kecil : str1.toLowerCase()
™konversi ke huruf besar : str1.toUpperCase()
™Banyaknya karakter suatu string : str.length()
atau str.size()
™Index awal dari suatu kata atau karakter :
str.indexOf()
78
String Function
™Membandingkan karakter : equals()
™Membandingkan karakter dengan
mengabaikan huruf besar dan kecil :
equalsIgnoreCase()
79
String Function : Example
class UjiString
{
public static void main (String args[])
{
String str = "sedang belajar pemograman Java";
System.out.println("======================");
System.out.println("String yang disimpan adalah "+ str);
System.out.println("Panjang string : " + str.length());
System.out.println("Karakter pada posisi kelima adalah " + str.charAt(5) );
System.out.println("Substring dari 15 sampai 20 :" + str.substring(15,20));
System.out.println("Index karakter d adalah " + str.indexOf('d'));
System.out.print("index awal dari ");
System.out.println("substring \" Java\" : "+ str.indexOf("Java"));
System.out.println("String dalam huruf kapital "+ str.toUpperCase());
System.out.println("======================");
}
}
80
Membandingkan String
equals dan equalsIgnoreCase
Contoh (potongan) kode program
…
if (teks.equals(“HaLLo"))
{
System.out.println (“teks berisi huruf HaLLo");
}
…
if (teks.equalsIgnoreCase(“HaLLo"))
{
System.out.println (“teks berisi huruf hallo (huruf besar maupun kecil)");
}
…
if (teks ==("HaLLo")) SEBAIKNYA JANGAN
{
DIGUNAKAN!
System.out.println ("teks berisi huruf HaLLo");
}
Membandingkan Char
…
char nilai = 'A';
if (nilai == 'A')
{
System.out.println("Memuaskan");
}
Pesan Error :
// char tidak memiliki fungsi equals
if (nilai.equals('A'))
{
System.out.println("Memuaskan");
}
…
penggunaanif.java:43: char cannot
be dereferenced
if (nilai.equals('A'))
^
1 error
Konsep Pemrograman Berorientasi
Objek
Company
LOGO
“We have a hunger of the mind which asks for knowledge of
all around us, and the more we gain, the more is our desire;
the more we see, the more we are capable of seeing.”
(Maria Mitchell)
Konsep Pemograman Berorientasi Objek
™Class adalah blueprint atau prototype dari
objek-objek tertentu yang memiliki
kesamaan variable dan method.
™Class merupakan template untuk
sekumpulan objek dengan fitur yang
sama.
™Object atau instance of class merupakan
representasi nyata dari class.
Konsep Pemograman Berorientasi Objek
Class
Object
Konsep Pemograman Berorientasi Objek
™ Class pohon Æ mendeskripsikan fitur yang dimiliki oleh
semua pohon (memiliki akar, daun, tumbuh, dst)
™ Class pohon berfungsi sebagai model abstrak tentang
konsep pohon.
™ Dari Class pohon tsb, anda dapat membuat berbagai
pohon yang masing-masing bisa memiliki fitur berbeda
(pendek, tinggi, berdaun lebat, dst) tetapi tetap dikenali
sebagai pohon.
™ Instance dari suatu class adalah kata lain dari objek
aktual.
™ Instance adalah representasi kongkrit dan spesifik dari
kelas.
™ Objek dan instance adalah sama.
Konsep Pemograman Berorientasi Objek
™Class Tombol
™Fitur tombol Æ label, ukuran, tampilannya,
™Perilaku Æ klik, doubleklik, warna berubah,
™Dengan membuat kelas Tombol, anda tidak
perlu menulis ulang kode untuk tiap-tiap tombol
yang anda pakai dalam program. Anda juga
dapat menggunakan kembali kelas tombol
untuk membuat jenis tombol yang lain untuk
program yang sama maupun program lain.
Konsep Pemograman Berorientasi Objek
Object Oriented Programming
™ Istilah-istilah pada OOP :
}
}
}
}
State and behaviour
Encapsulation
Inheritance (Pewarisan)
Polymorphysm
™ Saat sebuah objek dianalisa dan dikelompokkan, maka
muncullah dua komponen utama dari sebuah objek, yaitu
state dan behaviour. Serta tiga sifat utama yaitu
enkapsulasi, pewarisan, dan polymorphism
™ Pemrograman berorientasi objek menggunakan model
pembentukan sistem dimana komponen sistem (objek)
seringkali terbentuk dari objek-objek lain yang lebih kecil.
State and behaviour
ÎSetiap objek memiliki suatu keadaan (state) dan
behaviour yang dapat mengubah state tersebut
™State merupakan suatu identitas dari objek
}
}
Setiap barang memiliki nama, harga, jenis, dst
Diimplementasikan sbg variabel atau field
™Behaviour dapat diartikan sebagai kegiatan dari
objek.
}
Diimplementasikan dalam program sebagai
proses/method
™State = kata benda, behaviour = kata kerja
™Contoh :
}
Manusia
ƒ State : umur, tinggi, berat badan
ƒ Behaviour : makan, tidur, bekerja
Inheritance (Pewarisan)
™Apa yang terdapat pada super-class akan dimiliki
juga oleh sub-class.
class MountainBike extends Bicycle {
// new fields and methods defining a mountain bike would go here
}
Class & Method sederhana
Company
LOGO
“We have a hunger of the mind which asks for knowledge of
all around us, and the more we gain, the more is our desire;
the more we see, the more we are capable of seeing.”
(Maria Mitchell)
Contoh program
//namafile : contohmethodsederhana.java
class ContohMethodSederhana
{
public static void main(String[] args)
{
DemoMethod dm = new DemoMethod();
dm.cetakUcapan();
}
Memanggil method cetakUcapan
yang dipunyai class DemoMethod
}
class DemoMethod
{
void cetakUcapan()
{
System.out.println ("Selamat Datang");
}
}
Contoh program
//namafile : ContohMethodParameter.java
class ContohMethodParameter
{
public static void main(String[] args)
{
System.out.println("Contoh penggunaan method");
DemoMethod dm = new DemoMethod();
dm.cetakParameter("tolong cetak tulisan ini");
String tulis = "aplikasi";
dm.cetakParameter(tulis);
}
}
class DemoMethod
{
void cetakParameter(String teks)
{
System.out.println(teks);
}
}
Contoh program dengan 2 parameter
//namafile : ContohMethodParameter.java
class ContohMethodParameter
{
public static void main(String[] args)
{
System.out.println("Contoh penggunaan method");
DemoMethod dm = new DemoMethod();
String nama = “June";
String umur = 19;
dm.cetakParameter(nama, umur );
}
}
Urutan parameter harus sama
class DemoMethod
{
void cetakParameter(String teks, int angka)
{
System.out.println("nama: “ + teks + " umur: " + angka);
}
}
RETURN
™digunakan dalam method (subroutine),
Dengan menggunakan pernyataan return,
maka eksekusi program akan kembali ke
baris program yang memanggil method
(subroutine) tersebut.
Contoh program : Return
// nama file : return1.java
class return1{
public static int hitung(int a){
return(a*a);
}
public static void main (String args[]){
int b = hitung(3);
System.out.println("cara satu = " + b);
System.out.println("cara dua = " + hitung(5));
}
}
Contoh program : Return
// nama file : return2.java
class return1{
public static String tampil(String a){
return (a+" to Java Programming");
}
}
public static void main (String args[]){
String a = tampil("Welcome");
System.out.println(a);
}
}
RETURN
™digunakan dalam method (subroutine),
Dengan menggunakan pernyataan return,
maka eksekusi program akan kembali ke
baris program yang memanggil method
(subroutine) tersebut.
Contoh program : Return
// nama file : return1.java
class return1{
public static int hitungKuadrat(int a){
return(a*a);
}
public static void main (String args[]){
int b = hitungKuadrat(3);
System.out.println("cara satu = " + b);
System.out.println("cara dua = " +
hitungKuadrat(5));
}
}
Contoh program : Return
// nama file : return2.java
class return1{
public static String tampil(String a){
return (a+" to Java Programming");
}
}
public static void main (String args[]){
String a = tampil("Welcome");
System.out.println(a);
}
}
Contoh program : Return
class Return3{
boolean menang (int score) {
if (score == 100) {
return true;
}else {
return false;
}
}
}
public class a{
Hasil :
public static void main(String[]args) {
Kondisi menang : false
Return3 contoh = new Return3();
int nilaiGrupA = 60;
System.out.println("Kondisi menang : " + contoh.menang(nilaiGrupA));
}
}
CLASS
Company
LOGO
Constructor
™ Constructor merupakan method khusus yang
berfungsi untuk inisialisi atau menciptakan suatu
object dari class
ÎConstructor tidak mengembalikan nilai
ÎConstructor mempunyai nama sama dengan
nama class.
™Jika constructor tidak didefinisikan, Java
memberikan constructor dengan nama
constructor_default.
Constructor
™Constructor default tidak melakukan apa-apa,
namun semua variabel yang tidak diinisialisasi
dianggap sebagai berikut :
9Variabel numerik diset ke 0
9String diset ke null
9Variabel bolean diset ke false
ÎConstructor tidak memiliki tipe hasil,
walaupun constructor bisa public, private atau
protected. Sebagian constructor bersifat public
Keyword this
™Keyword this
digunakan untuk
menyatakan
bahwa yang
sedang diakses
adalah variabel
instans dari
class dan bukan
parameter suatu
method.
class ordinat {
int x;
int y;
void inisial(int x, int y){
this.x = x;
this.y = y;
}
}
class dmThis{
public static void main(String arg[]){
ordinat t1;
ordinat t2;
t1 = new ordinat();
t2 = new ordinat();
t1.inisial(12,5);
t2.inisial(20,15);
System.out.println("nilai x t1 = " + t1.x);
System.out.println("nilai x t2 = " + t2.x);
}
}
Keyword this
class Ordinat {
int x;
int y;
void Inisial(int x, int y){
this.x = x;
this.y = y;
}
}
Keyword this
Kata kunci this dapat digunakan untuk
beberapa alasan berikut:
1. Adanya ambigu pada atribut lokal dari
variabel lokal
} 2. Menunjuk pada object yang meminta
method non-static
} 3. Menunjuk pada constructor lain.
}
Keyword this (i)
™ Sebagai contoh pada maksud pertama, perhatikan kode
berikut dimana variabel data disediakan sebagai sebuah
atribut dan parameter lokal pada saat yang sama.
class ThisDemo1 {
int data;
void method(int data) {
this.data = data;
/* this.data menunjuk ke atribut
sementara data menunjuk ke variabel lokal */
}
}
Keyword this (ii)
™Contoh berikut menunjukkan bagaimana
object this secara mutlak menunjuk ketika
anggota non static dipanggil.
class ThisDemo2 {
int data;
void method() {
System.out.println(data);
}
void method2() {
method();
}
//this.data
//this.method();
Keyword this (iii)
™ Contoh selanjutnya memiliki constructor overloaded dan
referensi this yang dapat digunakan untuk menunjuk
versi lain dari constructor.
class ThisDemo3 {
int data;
ThisDemo3() {
this(100);
}
ThisDemo3(int data) {
this.data = data;
}
}
Overriding Method
Overloading Method
Company
LOGO
Some materials from Gasim Alkaff
Method overriding
class A
{
void tampil() {
System.out.println("ini method class A");
}
}
y Untuk beberapa pertimbangan,
class B extends A
{
void tampil() {
System.out.println("ini method class B");
}
}
y Oleh karena itulah, method
class overriding
{
public static void main(String args[])
{
B orang = new B();
orang.tampil();
}
}
terkadang class asal perlu
mempunyai implementasi berbeda
dari method yang khusus dari
superclass tersebut.
overriding digunakan. Subclass
dapat mengesampingkan method
yang didefinisikan dalam
superclass dengan menyediakan
implementasi baru dari method
tersebut. (subclass dapat mengoverride fungsi yang didapat dari
superclass)
Method overloading
™ Dalam class yang kita buat, kadangkala kita menginginkan
untuk membuat method dengan nama yang sama namun
mempunyai fungsi yang berbeda menurut parameter
yang digunakan. Kemampuan ini dimungkinkan dalam
pemrograman Java, dan dikenal sebagai overloading method.
™ Overloading method mengijinkan sebuah method dengan
nama yang sama namun memiliki parameter yang berbeda
sehingga mempunyai implementasi dan return value yang
berbeda pula. Daripada memberikan nama yang berbeda
pada setiap pembuatan method, overloading method dapat
digunakan pada operasi yang sama namun berbeda dalam
implementasinya.
Method overloading : Contoh
public class Bentuk {
…
public void Gambar(int t1) {
…
}
public void Gambar(int t1, int t2) {
…
}
public void Gambar(int t1, int t2, int t3) {
…
}
public void Gambar(int t1, int t2, int t3, int t4) {
…
}
}
Method overloading
Method overloading
class pegawai
{
void tampil(String nip, String nama, String jabatan)
{
System.out.println("Tampil 3 variabel");
System.out.println("-----------------");
System.out.println("NIP : " + nip);
System.out.println("Nama : " + jabatan);
class overloading {
System.out.println("Jabatan : " + jabatan);
public static void main(String args[]) {
System.out.println();
pegawai pgw1, pgw2,pgw3;
}
pgw1 = new pegawai();
void tampil(String nip, String nama) {
pgw2 = new pegawai();
System.out.println("Tampil 2 variabel");
pgw3 = new pegawai();
System.out.println("-----------------");
System.out.println("NIP : " + nip);
pgw1.tampil("101","Budi","Direktur");
System.out.println("Nama : " + jabatan);
pgw2.tampil("102");
System.out.println();
pgw3.tampil("103","Desi");
}
}
void tampil(String nip) {
}
System.out.println("Tampil 1 variabel");
System.out.println("-----------------");
System.out.println("NIP : " + nip);
System.out.println();
}
Gasim Alkaff
}
[Superclass and subclass]
Company
LOGO
“Education is learning what you didn't even know you didn't
know. ” ~Daniel J. Boorstin, Democracy and Its Discontents
Some materials from Gasim Alkaff
Pewarisan : [konsep]
Superclass dan Subclass
™ SuperHero adalah superclass dari class FlyingSuperHero dan
UnderwaterSuperHero.
™ Catatan bahwa FlyingSuperHero “is-a” SuperHero.
™ Sebagaimana juga UnderwaterSuperHero “is-a”SuperHero
Superclass dan Subclass
class orang {
String nama, alamat;
orang(String nama, String alamat){
this.nama = nama;
this.alamat = alamat;
}
orang(){
}
void tampil(){
System.out.println("Nama : " + nama);
System.out.println("Alamat : " + alamat);
System.out.println("-------------------------");
}
}
class pegawai extends orang{
String NIP;
String kantor;
pegawai(String NIP, String nama, String alamat,
String kantor){
this.NIP = NIP;
this.nama = nama;
this.alamat=alamat;
this.kantor = kantor;
}
void tampil(){
System.out.println("NIP : " + NIP);
System.out.println("Nama : " + nama);
System.out.println("Alamat : " + alamat);
System.out.println("Kantor : " + kantor);
}
}
class dmInherit{
public static void main(String arg[]){
pegawai gasim = new pegawai("021013","Gasim AlKaff", "Palembang", "STMIK MDP");
orang ima = new orang("Fathimah Azzahra", "Palembang");
gasim.tampil();
ima.tampil();
extends merupakan kata kunci yang
}
menyatakan bahwa class ini merupakan
}
subclass dari superclassname.
Superclass dan Subclass :
Contoh 2
public class Bicycle {
// the Bicycle class has three fields
public int cadence;
public int gear;
public int speed;
// the Bicycle class has one constructor
public Bicycle(int startCadence, int startSpeed, int startGear) {
gear = startGear; cadence = startCadence; speed = startSpeed;
}
// the Bicycle class has four methods
public void setCadence(int newValue) { cadence = newValue; }
public void setGear(int newValue) { gear = newValue; }
public void applyBrake(int decrement) { speed -= decrement; }
public void speedUp(int increment) { speed += increment; }
}
http://java.sun.com
Superclass dan Subclass:
Contoh 2
™ Deklarasi class untuk SepedaGunung yang merupakan
subclass dari Sepeda mungkin akan terlihat seperti ini :
public class MountainBike extends Bicycle {
// the MountainBike subclass adds one field
public int seatHeight;
// the MountainBike subclass has one constructor
public MountainBike(int startHeight, int startCadence, int startSpeed, int startGear) {
super(startCadence, startSpeed, startGear); //* keyword super
seatHeight = startHeight;
}
// the MountainBike subclass adds one method
public void setHeight(int newValue) {
seatHeight = newValue;
}
}
http://java.sun.com
Class [Keyword Super]
Company
LOGO
Some materials from Gasim Alkaff
Keyword super
™Penggunaan kata kunci super
berhubungan dengan pewarisan.
™Keyword super digunakan untuk meminta
™constructor superclass (memanggil
construktor dan method yang ada pada
super-class).
™Super juga dapat digunakan seperti kata
kunci this untuk menunjuk pada anggota
dari superclass.
Keyword super
™ Ada beberapa hal yang harus diingat ketika
menggunakan pemanggil constuktor super:
1.
2.
3.
Pemanggil super() HARUS DIJADIKAN
PERNYATAAN PERTAMA DALAM constructor.
Pemanggil super() hanya dapat digunakan dalam
definisi constructor.
Termasuk constructor this() dan pemanggil super()
TIDAK BOLEH TERJADI DALAM constructor YANG
SAMA.
Keyword super
™Pemakaian lain dari super adalah untuk
menunjuk anggota dari superclass(seperti
reference this).
™Sebagai contoh,
public class Student extends Person
{
public Student()
// constructor
{
super.name = “somename”;
super.address = “some address”;
}
// some code here
}
memanggil variabel
name dari class Person
Contoh Keyword super dalam
Subclass
class pegawai extends orang{
String NIP;
String kantor;
pegawai(String NIP, String nama, String alamat, String kantor){
super(nama, alamat);
class orang {
this.NIP = NIP;
this.kantor = kantor;
String nama, alamat;
}
orang(String nama, String alamat){
void tampil(){
this.nama = nama;
System.out.println("NIP : " + NIP);
this.alamat = alamat;
System.out.println("Nama : " + nama);
}
System.out.println("Alamat : " + alamat);
orang(){
System.out.println("Kantor : " + kantor);
}
}
}
}
class dmInherit{
public static void main(String arg[]) {
pegawai gasim = new pegawai("021013","Gasim AlKaff", "Palembang", "STMIK MDP");
gasim.tampil();
}
}
Gasim Alkaff
Contoh Keyword super dalam Subclass(ii)
public class Superclass {
public void printMethod() {
System.out.println("Printed in Superclass.");
}
}
public class Subclass extends Superclass {
public void printMethod() { //overrides printMethod in
Superclass
super.printMethod();
System.out.println("Printed in Subclass");
}
public static void main(String[] args) {
Subclass s = new Subclass();
Hasil :
Printed in Superclass.
s.printMethod();
Printed in Subclass
}
}
Keyword ‘super’ dalam Overriding Method (iii)
class Y {
void tampil() {
System.out.println("ini method class Y");
}
}
class X extends Y {
void tampil() {
super.tampil();
System.out.println("ini method class X");
}
}
class SuperDalamOM {
public static void main(String arg[]) {
X orang = new X();
orang.tampil();
}
}
™ Hasil program ini adalah.
ini method class Y
ini method class X
[constructor overloading]
class
Company
LOGO
Constructor Overloading
Constructor Overloading
Memanggil parent class construktor
Download