• Tidak ada hasil yang ditemukan

PEMOGRAMAN APLIKASI BERGERAK (Java ME)

N/A
N/A
Protected

Academic year: 2021

Membagikan "PEMOGRAMAN APLIKASI BERGERAK (Java ME)"

Copied!
138
0
0

Teks penuh

(1)

Company

LOGO

PEMOGRAMAN APLIKASI

BERGERAK (Java ME)

Konsep Java dan OOP

“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)”

(2)

Author : Yoannita STMIK GI MDP PALEMBANG

SEKILAS

JAVA

(3)

Author : Yoannita STMIK GI MDP PALEMBANG

Pengenalan Java

™ Java dikembangkan oleh Sun Microsystem

™ Ditujukan untuk mengatasi perbedaan pada aneka platform yang ada saat ini.

™ Slogan java :

™ Teknologi Java adalah sebuah bahasa

pemrograman dan juga merupakan sebuah

platform.

Mengapa dinamakan Java?

“Write once, run anywhere.”

(4)

Author : Yoannita STMIK GI MDP PALEMBANG

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).

(5)

Author : Yoannita STMIK GI MDP PALEMBANG

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

(6)

Author : Yoannita STMIK GI MDP PALEMBANG

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

(7)

Author : Yoannita STMIK GI MDP PALEMBANG

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.

(8)

Author : Yoannita STMIK GI MDP PALEMBANG

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)

Author : Yoannita STMIK GI MDP PALEMBANG

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 9

(10)

Author : Yoannita STMIK GI MDP PALEMBANG

Penamaan Java oleh Sun Microsystem

(11)

Author : Yoannita STMIK GI MDP PALEMBANG

JAVA

(12)

Author : Yoannita STMIK GI MDP PALEMBANG

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.

(13)

Author : Yoannita STMIK GI MDP PALEMBANG

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.

(14)

Author : Yoannita STMIK GI MDP PALEMBANG

J2ME

™Dalam J2ME terdapat 2 buah istilah yaitu

configuration dan profile.

™Configuration hanyalah mengatur hal-hal

tentang kesamaan sehingga dapat dijadikan

ukuran kesesuaian antardevice

} Misalnya sebuah lampu dirancang sedemikian rupa

sehingga dapat digunakan oleh berjenis-jenis sepeda.

™Profile membahas sesuatu yang spesifik untuk

sebuah perangkat.

} Misalnya sebuah sepeda dengan merk tertentu

tentunya mempunyai ciri yang spesifik dengan sepeda lain

(15)

Author : Yoannita STMIK GI MDP PALEMBANG

Configuration

™Ada 2 kategori configuration, yaitu :

} CLDC (Connected Limited Device Configuration)

}

CDC (Connected Device Configuration)

}

CLDC (Connected Limited Device

Configuration)

ƒ Low-end Consumer device

ƒ Memiliki sumber daya yang sangat kecil

ƒ Digunakan pada aplikasi java pada handphone.

ƒ Umumnya, perangkat-perangkat tersebut hanya memiliki ukuran memory 32-512 Kilobytes.

(16)

Author : Yoannita STMIK GI MDP PALEMBANG

Configuration

}

CDC (Connected Device Configuration)

ƒ

High-end consumer device

ƒ

Memiliki sumber daya yang cukup besar,

hampir menyamai komputer dalam hal

sumber daya listrik, memori, maupun

kemampuan pemrosesan.

ƒ

Umumnya digunakan pada aplikasi java

pada perangkat-perangkat dengan ukuran

memory 1MB- 10MB.

(17)

Author : Yoannita STMIK GI MDP PALEMBANG

Profile

™Jika configuration menyediakan library-library java

untuk implementasi fitur standard dari device,

profile menyediakan implementasi tambahan yang

sangat spesifik dari sebuah device.

™Kategori J2ME profile :

} Mobile Information Device Profile (MIDP) } Foundation Profile (FP)

} Personal Profile

(18)

Author : Yoannita STMIK GI MDP PALEMBANG

MIDlet

™Suatu aplikasi MIDP disebut MIDlet. Perangkat

Application Management Software (AMS)

berinteraksi langsung dengan MIDlet dengan

method MIDlet create, start, pause, dan destroy.

™MIDlet adalah bagian dari package

javax.microedition.midlet.

™Sebuah MIDlet harus di-extend dengan class

MIDlet. Dan dapat meminta parameter dari AMS

seperti dirumuskan dalam application descriptor

(JAD).

(19)

Author : Yoannita STMIK GI MDP PALEMBANG

MIDlet

™Suatu MIDlet tidak harus memiliki (dan

memang harus tidak mempunyai) sebuah

method public static void main(String[]

argv).

™Method tersebut tidak akan dikenal lagi

oleh AMS sebagai titik awal sebuah

(20)

Author : Yoannita STMIK GI MDP PALEMBANG

JAVA SE

(Desktop

Application)

(21)

Author : Yoannita STMIK GI MDP PALEMBANG

Memulai program JAVA SE

menggunakan editor Eclipse (i)

Pilih File Æ New Æ Java Project

(22)

Author : Yoannita STMIK GI MDP PALEMBANG

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)

(23)

Author : Yoannita STMIK GI MDP PALEMBANG

Memulai program JAVA SE (iii)

™ expand project yang baru saja dibuat dan klik kanan src ™ Pilih newÆclass, akan muncul jendela baru 23

(24)

Author : Yoannita STMIK GI MDP PALEMBANG

Memulai program JAVA SE (iv)

™ Isi nama class dengan nama Contoh01 ™ (optional) Centang public static void main(String[] args) 24

(25)

Author : Yoannita STMIK GI MDP PALEMBANG

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

(26)

Author : Yoannita STMIK GI MDP PALEMBANG

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. 26

(27)

Author : Yoannita STMIK GI MDP PALEMBANG

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.

(28)

Author : Yoannita STMIK GI MDP PALEMBANG

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

(29)

public static void main (String[] args)

static

™ 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.

void

™ Keyword void berarti bahwa method main() tidak

mengembalikan nilai apapun setelah dipanggil/dieksekusi.

args

ƒ Argument args (String[] args)

adalah array objek string argument baris-baris perintah. ƒ variabel args bertipe array dari

String

(30)

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.

(31)

Author : Yoannita STMIK GI MDP PALEMBANG

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)

(32)

Author : Yoannita STMIK GI MDP PALEMBANG

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 */

(33)

Company

LOGO

„ Petunjuk Penulisan Program

„ Token

„ Aturan Penamaan Identifier

„ Lingkungan /Scope dari variabel

„ Tipe Data

Yoannita

(34)

Author : Yoannita STMIK GI MDP PALEMBANG

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"); }

(35)

Author : Yoannita STMIK GI MDP PALEMBANG

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.

(36)

Token

™ Token merupakan elemen

terkecil di program yang mempunyai arti bagi kompilator.

™ Token Java dibagi 5, yaitu:

} Identifier } Keyword } Literal } Operator } Separator

™Token : Identifier

} 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).

(37)

Ketentuan Identifier

™ Identifier harus

dimulai/diawali dengan

huruf, underscore (_) atau tanda dollar ($). ™ Untuk selebihnya ™ dpt menggunakan karakter apapun, kecuali karakter yang digunakan sebagai operator oleh java.

ƒ Identifier adalah case sensitive

(membedakan huruf besar/  kecil) dan tidak ada batas maksimum.

ƒ Bukan merupakan keywords 

yang dikenal Java :

(38)

Author : Yoannita STMIK GI MDP PALEMBANG

Valid Identifier

™Valid

} No } Kd_barang } kodeBarang „ Invalid

… 1_harga - tidak boleh diawali dengan angka

… %barang - simbol % tidak boleh digunakan

… Nama pelanggan - tidak boleh menggunakan spasi

… Kd+barang - tidak boleh menggunakan tanda operator

Contoh invalid: int 1_harga; int super; double void; class throws

} $barang

} bahASA_PEmogramaN_JaVa } Contoh valid : 

int kd_barang;  String $barang;  class Bebek { }

(39)

Author : Yoannita STMIK GI MDP PALEMBANG

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

(40)

Token : Literal

Token : Literal

™ Penulisan besaran untuk

variabel.

™ 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.

Token : Operator

„ Operator menspesifikasikan

evaluasi atau komputasi

terhadap objek.

„ Operand yang dioperasikan

dapat berupa literal, variabel, atau nilai yang dikirim oleh metode atau fungsi.

(41)

Author : Yoannita STMIK GI MDP PALEMBANG

Token : Separator

™ Separator digunakan untuk menginformasikan ke kompilator Java mengenai adanya pengelompokkan di kode program.

Simbol Nama Penggunaan

( ) Kurung

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)

{ } KurawalKurung

Untuk menghimpun nilai yang otomatis dimasukkan ke dalam array, digunakan juga untuk mendefinisikan blok program, untuk cakupan class, method, dan lokal.

[ ] Kurung Siku Untuk menyatakan tipe array dan untuk membedakan nilai array.

; KomaTitik Pemisah Pernyataan.

, Koma Pemisah urutan identifier dalam deklarasi variabel.

. Titik Untuk memisahkan nama paket dari sub-paket dan class dan untuk memisahkan variabel atau method dari variabel referensi.

(42)

Author : Yoannita STMIK GI MDP PALEMBANG

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); }

(43)

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.

Variabel :

} menampung suatu nilai

} Pasti memiliki tipe data

} Harus didefinisikan terlebih

dahulu sebelum digunakan

™Tipe Data Primitif

} Integer

} Floating – Point } Karakter

} Boolean } ….

™ Tipe Data Referensi

(44)

Author : Yoannita STMIK GI MDP PALEMBANG

Tipe Data

Tipe Data Real/ Floating Point (Bilangan Pecahan)

Tipe Data Boolean

Nilai : true atau false

Tipe Data Integer (Bilangan Bulat)

(45)

Author : Yoannita STMIK GI MDP PALEMBANG

class SalahCharString {

public static void main(String args[]) {

char c1 = 'A';

char s1 = "Belajar Java menyenangkan"; }

}

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

Tipe Data

™ char : } hanya dapat menampung satu karakter saja, } Menggunakan

tanda petik satu

™ String :

} dapat menampung

kalimat.

} Menggunakan

tanda petik dua

Tipe Data Karakter

Seharusnya String

(46)

Author : Yoannita STMIK GI MDP PALEMBANG

Contoh kode program

// 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); }

}

Program dengan Variabel

(47)

Author : Yoannita STMIK GI MDP PALEMBANG

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:

final int nilai = 20; // nama file : konstanta2.java

// 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.

(48)

Author : Yoannita STMIK GI MDP PALEMBANG

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?

(49)

Author : Yoannita STMIK GI MDP PALEMBANG

Latihan

™ avanZA ™ from-to ™ $camry ™ v10s ™ _avaLoN ™ Roger7 ™ Good/bad ™ 4ever ™ NiCKnAMe% ™ A valid one ™ Valid? ™ (yes) ™ pemrogramanBerorientasi Objek ™ netto|bruto ™ NAMA ™ PT-1 ™ #brg ™ Nama barang ™ 2semester 49

Berikan keterangan apakah identifier berikut ini valid atau tidak valid :

(50)

Company

LOGO

OPERATOR

Special thanks : Some slides are from Josephine Petrina K & Gasim Alkaff “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)

(51)

Author : Yoannita STMIK GI MDP PALEMBANG

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

(52)

Author : Yoannita STMIK GI MDP PALEMBANG

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); //atau : System.out.println (“ a + b = “ + (a + b)); System.out.println (“ a - b = “ + kurang); System.out.println (“ a * b = “ + kali); System.out.println (“ a / b = “ + bagi); System.out.println (“ a % b = “ + sisa); } } 52

(53)

Author : Yoannita STMIK GI MDP PALEMBANG

Assignment Operator

Opr Fungsi Contoh Deskripsi

= Sama dengan a = b a akan bernilai

sama dengan b

+= Penjumlahan & sama dengan

a += b a = a + b

-= Pengurangan & sama dengan

a –= b a = a - b

*= Perkalian & sama dengan a *= b a = a * b

/= Pembagian & sama dengan a /= b a = a / b

%= Modulus & sama dengan a %= b a = a % b

(54)

Author : Yoannita STMIK GI MDP PALEMBANG

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); } } 54

(55)

Author : Yoannita STMIK GI MDP PALEMBANG

Increment / Decrement Operator

Opr Fungsi Contoh Deskripsi ++ Increment

Operator

nilai++ Nilai ditambah satu setelah dioperasikan

++nilai Nilai ditambah satu sebelum nilai dioperasikan

-- Decrement Operator

nilai-- Nilai berkurang satu setelah dioperasikan

--nilai Nilai berkurang satu sebelum nilai dioperasikan

(56)

Author : Yoannita STMIK GI MDP PALEMBANG

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

(57)

Author : Yoannita STMIK GI MDP PALEMBANG

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); }

}

(58)

Author : Yoannita STMIK GI MDP PALEMBANG

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

(59)

Author : Yoannita STMIK GI MDP PALEMBANG

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 */ 59

(60)

Author : Yoannita STMIK GI MDP PALEMBANG

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

(61)

Author : Yoannita STMIK GI MDP PALEMBANG

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 = " + 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)); } } Hasil :

true && true = true false && true = false false && false = false true || false = true true || true = true false || false = false

(62)

Author : Yoannita STMIK GI MDP PALEMBANG

Ternary if-then-else operators

Expression ? statement1 : statement2

™expression menyatakan besaran boolean yang

akan diperiksa.

™Jika

expression bernilai benar (

true

) maka

statement

1

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

(63)

Author : Yoannita STMIK GI MDP PALEMBANG

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 */ 63

(64)

Author : Yoannita STMIK GI MDP PALEMBANG

Latihan

int a = 3;

int b = 7;

int c = 12;

a=a+2;

b-=a;

c--;

64

™Apakah isi dari

variabel a, b dan c

sekarang?

a =

b =

c =

(65)

Company

LOGO

KONDISI

IF-ELSE

SWITCH-CASE

“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)”

(66)

Author : Yoannita STMIK GI MDP PALEMBANG 66

Kontrol Alur Program (Seleksi)

™ If

} Merupakan pernyataan

untuk memeriksa nilai boolean dari ekspresi logika yang mengikutinya

} Bentuk dasar dari if

adalah:

If … else

− Untuk menentukan

alternatif pilihan selain pilihan pertama.

− Bentuk dasar dari if … else, adalah: if ( ekspresi logika ) statement 1; statement 2; } if ( ekspresi logika ) { statement 1; statement 2;

} else if ( ekspresi logika ) { statement 3;

statement 4; } else {

statement 5; }

(67)

Author : Yoannita STMIK GI MDP PALEMBANG 67

Kontrol Alur Program (Seleksi)

Contoh Program

// 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”); } } }

// nama file: jika2.java 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”); } } }

(68)

Author : Yoannita STMIK GI MDP PALEMBANG 68

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

(69)

Author : Yoannita STMIK GI MDP PALEMBANG 69

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;

} }

(70)

Author : Yoannita STMIK GI MDP PALEMBANG

Latihan (ii)

™Dengan menggunakan struktur kondisi

IF-ELSE, buatlah program sederhana yang

menampilkan nama bulan (Januari,

Februari, …, atau Desember) berdasarkan

kode bulannya (1-12)!

(71)

Author : Yoannita STMIK GI MDP PALEMBANG

Latihan (iii)

™Dengan menggunakan struktur kondisi

SWITCH-CASE, buatlah program

sederhana yang menampilkan nama bulan

(Januari, Februari, …, atau Desember)

berdasarkan kode bulannya (1-12)!

(72)

Author : Yoannita STMIK GI MDP PALEMBANG

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.

(73)

Author : Yoannita STMIK GI MDP PALEMBANG

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 } 73

• 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

(74)

Company

LOGO

74

“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)

Pengulangan

(FOR, While, Do WHile)

(75)

Author : Yoannita STMIK GI MDP PALEMBANG

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) }

(76)

Author : Yoannita STMIK GI MDP PALEMBANG

Pengulangan For

class UlangFor {

public static void main (String[] args) { int a;

for (a=0; a<10; a++) {

System.out.println (a); }

} }

(77)

Author : Yoannita STMIK GI MDP PALEMBANG 77

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); }

}

}

Pengulangan: For

(78)

Author : Yoannita STMIK GI MDP PALEMBANG 78

class ulangFor{

public static void main (String [ ] args) {

for (char x = 'a'; x <= 'e'; x++)

{

System.out.print(x);

}

}

}

Pengulangan: For

(79)

Author : Yoannita STMIK GI MDP PALEMBANG

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

bersama-sama dengan pernyataan kondisi (if)

(80)

Author : Yoannita STMIK GI MDP PALEMBANG

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

(81)

Author : Yoannita STMIK GI MDP PALEMBANG

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

(82)

Author : Yoannita STMIK GI MDP PALEMBANG 82

class ulangWhile {

public static void main (String [ ] args) { int a = 18;

while (a >= 5) {

System.out.println (“lakukan pengurangan “ + a); a--; } } }

Pengulangan: While

Contoh Program

(83)

Author : Yoannita STMIK GI MDP PALEMBANG

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.

(84)

Company

LOGO

84

String Function

equals dan equalsIgnoreCase

“Too often we give children answers to remember rather than problems to solve.” ~Roger Lewin

(85)

Author : Yoannita STMIK GI MDP PALEMBANG 85

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()

(86)

Author : Yoannita STMIK GI MDP PALEMBANG

String Function

™Membandingkan karakter : equals()

™Membandingkan karakter dengan

mengabaikan huruf besar dan kecil :

equalsIgnoreCase()

(87)

Author : Yoannita STMIK GI MDP PALEMBANG 87

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("======================");

} }

(88)

Author : Yoannita STMIK GI MDP PALEMBANG

Membandingkan String

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")) {

System.out.println ("teks berisi huruf HaLLo"); }

equals dan equalsIgnoreCase

SEBAIKNYA JANGAN DIGUNAKAN!

(89)

Author : Yoannita STMIK GI MDP PALEMBANG

Membandingkan Char

char nilai = 'A'; if (nilai == 'A') {

System.out.println("Memuaskan"); }

// char tidak memiliki fungsi equals

if (nilai.equals('A')) { System.out.println("Memuaskan"); } …

Pesan Error :

penggunaanif.java:43: char cannot be dereferenced

if (nilai.equals('A')) ^

(90)

Company

LOGO

Konsep Pemrograman Berorientasi

Objek

“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)

(91)

Author : Yoannita STMIK GI MDP PALEMBANG

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

(92)

Author : Yoannita STMIK GI MDP PALEMBANG

Konsep Pemograman Berorientasi Objek

Class

(93)

Author : Yoannita STMIK GI MDP PALEMBANG

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.

(94)

Author : Yoannita STMIK GI MDP PALEMBANG

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.

(95)

Author : Yoannita STMIK GI MDP PALEMBANG

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.

(96)

Author : Yoannita STMIK GI MDP PALEMBANG

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

(97)

Author : Yoannita STMIK GI MDP PALEMBANG

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 }

(98)

Company

LOGO

Class & Method sederhana

“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)

(99)

Author : Yoannita STMIK GI MDP PALEMBANG

Method

Karakteristik dari method :

1. dapat mengembalikan satu nilai atau tidak

sama sekali

2. dapat diterima beberapa parameter yang

dibutuhkan atau tidak ada parameter sama

sekali. Parameter bisa juga disebut sebagai

argumen dari fungsi

3. setelah method telah selesai dieksekusi, dia

akan kembali pada method yang

(100)

Author : Yoannita STMIK GI MDP PALEMBANG

mengapa kita butuh untuk membuat banyak method?

Mengapa kita tidak menuliskan semua kode pada

sebuah method?

™Hal ini karena penyelesaian masalah yang sangat

efektif adalah memecah masalah-masalah tersebut

menjadi beberapa bagian. Kita juga dapat melakukan

hal ini di bahasa pemrograman dengan membuat

method untuk mengatasi bagian tertentu dari masalah.

™Sebuah permasalahan dapat dipecah-pecah menjadi

beberapa bagian kecil. Hal ini sangat baik sekali ketika

membuat program yang sangat besar.

(101)

Author : Yoannita STMIK GI MDP PALEMBANG

Contoh Method

//namafile : contohmethodsederhana.java

class ContohMethodSederhana

{

public static void main(String[] args) {

DemoMethod dm = new DemoMethod();

dm.cetakUcapan(); } } class DemoMethod { void cetakUcapan() {

System.out.println ("Selamat Datang"); }

}

Memanggil method cetakUcapan yang dipunyai class DemoMethod

(102)

Author : Yoannita STMIK GI MDP PALEMBANG

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); }

(103)

Author : Yoannita STMIK GI MDP PALEMBANG

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 ); } } class DemoMethod {

void cetakParameter(String teks, int angka) {

System.out.println("nama: “ + teks + " umur: " + angka);

} }

(104)

Author : Yoannita STMIK GI MDP PALEMBANG

RETURN

™digunakan dalam method (subroutine),

Dengan menggunakan pernyataan return,

maka eksekusi program akan kembali ke

baris program yang memanggil method

(subroutine) tersebut.

(105)

Author : Yoannita STMIK GI MDP PALEMBANG

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));

}

}

(106)

Author : Yoannita STMIK GI MDP PALEMBANG

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);

}

(107)

Author : Yoannita STMIK GI MDP PALEMBANG

Contoh program : Return

class Return3{

boolean menang (int score) { if (score == 100) { return true; }else { return false; } } } public class a{

public static void main(String[]args) { Return3 contoh = new Return3();

int nilaiGrupA = 60;

System.out.println("Kondisi menang : " + contoh.menang(nilaiGrupA));

} }

Hasil :

(108)

Company

LOGO

(109)

Author : Yoannita STMIK GI MDP PALEMBANG

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.

(110)

Author : Yoannita STMIK GI MDP PALEMBANG

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

(111)

Author : Yoannita STMIK GI MDP PALEMBANG

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); } }

(112)

Author : Yoannita STMIK GI MDP PALEMBANG

Keyword this

class Ordinat { int x;

int y;

void Inisial(int x, int y){

this.x = x; this.y = y;

} }

(113)

Author : Yoannita STMIK GI MDP PALEMBANG

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

(114)

Author : Yoannita STMIK GI MDP PALEMBANG

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 */ }

(115)

Author : Yoannita STMIK GI MDP PALEMBANG

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); //this.data } void method2() { method(); //this.method(); }

(116)

Author : Yoannita STMIK GI MDP PALEMBANG

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; } }

(117)

Company

LOGO

Overriding Method

Overloading Method

(118)

Author : Yoannita STMIK GI MDP PALEMBANG

Method overriding

class A

{

void tampil() {

System.out.println("ini method class A"); }

}

class B extends A {

void tampil() {

System.out.println("ini method class B"); }

}

class overriding {

public static void main(String args[]) {

B orang = new B(); orang.tampil();

} }

y Untuk beberapa pertimbangan, terkadang class asal perlu

mempunyai implementasi berbeda dari method yang khusus dari

superclass tersebut.

y Oleh karena itulah, method overriding digunakan. Subclass dapat mengesampingkan method yang didefinisikan dalam

superclass dengan menyediakan

implementasi baru dari method tersebut. (subclass dapat meng-override fungsi yang didapat dari superclass)

(119)

Author : Yoannita STMIK GI MDP PALEMBANG

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.

(120)

Author : Yoannita STMIK GI MDP PALEMBANG

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) {

} }

(121)

Author : Yoannita STMIK GI MDP PALEMBANG

(122)

Author : Yoannita STMIK GI MDP PALEMBANG

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); System.out.println("Jabatan : " + jabatan); System.out.println(); }

void tampil(String nip, String nama) { System.out.println("Tampil 2 variabel"); System.out.println("---"); System.out.println("NIP : " + nip); System.out.println("Nama : " + jabatan); System.out.println(); }

void tampil(String nip) {

System.out.println("Tampil 1 variabel"); System.out.println("---"); System.out.println("NIP : " + nip); System.out.println(); } } class overloading {

public static void main(String args[]) { pegawai pgw1, pgw2,pgw3; pgw1 = new pegawai(); pgw2 = new pegawai(); pgw3 = new pegawai(); pgw1.tampil("101","Budi","Direktur"); pgw2.tampil("102"); pgw3.tampil("103","Desi"); } } Gasim Alkaff

(123)

Company

LOGO

[Superclass and subclass]

Some materials from Gasim Alkaff

“Education is learning what you didn't even know you didn't know. ” ~Daniel J. Boorstin, Democracy and Its Discontents

(124)

Author : Yoannita STMIK GI MDP PALEMBANG

Pewarisan : [konsep]

Superclass dan Subclass

™ SuperHero adalah superclass dari class FlyingSuperHero dan

UnderwaterSuperHero.

™ Catatan bahwa FlyingSuperHero “is-a” SuperHero.

(125)

Author : Yoannita STMIK GI MDP PALEMBANG

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 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(); }

}

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); } }

extends merupakan kata kunci yang

menyatakan bahwa class ini merupakan

Referensi

Dokumen terkait

Data pada tabel tersebut menunjukkan bahwa bobot lahir akan semakin tinggi pada periode ke lima sampai denga ke tujuh, kemungkinan besar yang terjadi pada bobot lahir adalah

Kegempaan masa lampau terjadi pada Miosen Akhir – Pliosen Awal dengan ditandai adanya sand boil dan karbon di sekitar sesar naik serta adanya zona fracture

Penelitian yang dilakukan oleh Raifana Faras, tentang pengaruh pengetahuan tentang Riba terhadap minat mahasiswa Universitas Islam Indonesia untuk menjadi nasabah di

REFORMASI BIROKRASI REFORMASI BIROKRASI MELALUI PERUNDANGAN MELALUI PERUNDANGAN REFORMASI REFORMASI BIROKRASI BIROKRASI REFORMASI REFORMASI BIROKRASI BIROKRASI PELAYANAN UU

Koherensi intrinsik antara plot dengan tema yaitu, teks Tattwa Jñàna yang merupakan plot lurus sehingga adanya hubungan sebab akibat di dalam teks Tattwa Jñàna, yaitu

Dengan mengamati guru bernyanyi, siswa dapat mengidentifikasi bentuk pola irama sederhana dalam lagu dengan tepat.. Setelah mengidentifikasi pola irama sederhana,

Ketiga jenis makanan tradisional tersebut memiliki bahan baku yang sebagian besar berupa tumbuhan, dengan jenis dan bagian tubuh tumbuhan cukup relevan dan potensial sebagai

Bagi peserta KTI online yang dapat menyelesaikan karya tulis ilmiah akan mendapatkan surat pengesahan yang ditandatangani oleh Kepala PPPPTK TK dan PLB,