SlideShare une entreprise Scribd logo
1  sur  108
Versi : Oktober 2011

PEMROGRAMAN
BERORIENTASI

OBJEK

M. Anif, M.Kom
muhammad.anif@budi luhur.ac.id
PENDAHULUAN
1. MATA KULIAH
Nama : Pemrograman Berorientasi Objek
SKS
: 3 SKS
Jenis : MKM (Mata kuliah Kendai Mutu)

2. ATURAN PERKULIAHAN
1.
2.
3.
4.

Hadir Tepat Waktu
Tidak Membuat Keributan
Tidak Membuat Dosen Dan Peserta Lain Resah
(Berpakaian Yang Sopan)
Pengumpulan Tugas Tepat Waktu.

3. ATURAN PENILAIAN
1.
2.
3.
4.

Kehadiran
Tugas
UTS
UAS
Total

: 10%
: 20%
: 30%
: 40%
: 100%

A : 85 s/d 100
B : 75 s/d 84.9
C : 60 s/d 74.9
D : 30 s/d 59.9
E : 0 s/d 29.9
PERTEMUAN - 1
Pertemuan 1
Pertemuan 2
Pertemuan 3
Pertemuan 4
Pertemuan 5
Pertemuan 6
Pertemuan 7
Pertemuan 8
Pertemuan 9
Pertemuan 10
Pertemuan 11
Pertemuan 12
Pertemuan 13
Pertemuan 14
Pertemuan 15

PENGANTAR BAHASA PEMROGRAMAN JAVA
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.

Konsep Pemrograman Berorientasi OBJEK
Sejarah Java
Keunggulan Java
Kompiler dan Interpreter
Editor
Instalasi JAVA dan Editor
Konfigurasi Editor dengan JAVA.
Fase Pemrograman JAVA
Contoh Program Pertama dengan JAVA
Penamaan Class, Method, Variabel, dan
Konstanta
PERTEMUAN - 2
Pertemuan 1
Pertemuan 2
Pertemuan 3
Pertemuan 4
Pertemuan 5
Pertemuan 6
Pertemuan 7
Pertemuan 8
Pertemuan 9
Pertemuan 10
Pertemuan 11
Pertemuan 12
Pertemuan 13
Pertemuan 14
Pertemuan 15

OBJECT ORIENTED PROGRAMMING (OOP)
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.

Objek, Kelas, dan Instance (Instans)
Data/Variabel/Property
Method/Prosedur atau Fungsi/Behaviour
Hierarki Kelas
Object Oriented Programming
Hubungan antara Kelas, Objek, Data, dan Method
Kerangka Program OOP
Membuat Objek dari Sebuah Kelas
Mengakses Data dan Method dari Suatu Kelas
Menampilkan Hasil di Layar Monitor
Membaca Data Input Dari Keyboard
Keyword dalam Java
PERTEMUAN - 3
Pertemuan 1
Pertemuan 2
Pertemuan 3

TIPE DATA, VARIABEL dan OPERATOR

Pertemuan 5

1. Tipe Data
2. Variabel

Pertemuan 6

3.

Pertemuan 4

Pertemuan 7
Pertemuan 8
Pertemuan 9
Pertemuan 10
Pertemuan 11
Pertemuan 12
Pertemuan 13
Pertemuan 14
Pertemuan 15

Operator
PERTEMUAN - 4
Pertemuan 1
Pertemuan 2
Pertemuan 3

STRUKTUR PEMILIHAN
1.

Pemilihan Kondisi if

Pertemuan 5

2.

Bentuk if ….. Else

Pertemuan 6

3.

Bentuk if atau if ….. else Bersarang

Pertemuan 7

4.

Pemilihan Bentuk switch

Pertemuan 4

Pertemuan 8
Pertemuan 9
Pertemuan 10
Pertemuan 11
Pertemuan 12
Pertemuan 13
Pertemuan 14
Pertemuan 15
PERTEMUAN - 5
Pertemuan 1
Pertemuan 2
Pertemuan 3

STRUKTUR PENGULANGAN
1.

Pengulangan for

Pertemuan 5

2.

Pengulangan while

Pertemuan 6

3.

Pengulangan do ….. While

Pertemuan 7

4.

Perintah break dan continue

Pertemuan 4

Pertemuan 8
Pertemuan 9
Pertemuan 10
Pertemuan 11
Pertemuan 12
Pertemuan 13
Pertemuan 14
Pertemuan 15
PERTEMUAN - 6
Pertemuan 1
Pertemuan 2
Pertemuan 3
Pertemuan 4
Pertemuan 5
Pertemuan 6
Pertemuan 7
Pertemuan 8
Pertemuan 9
Pertemuan 10
Pertemuan 11
Pertemuan 12
Pertemuan 13
Pertemuan 14
Pertemuan 15

STRING, STRINGBUFFER dan CHARACTER
1.
2.
3.
4.
3.
6.

Kelas String
Operasi-Operasi pada Kelas String
Kelas StringBuffer
Operasi-Operasi pada Kelas StringBuffer
Kelas Character
Operasi-Operasi pada Kelas Character
PERTEMUAN - 7
Pertemuan 1
Pertemuan 2
Pertemuan 3
Pertemuan 4
Pertemuan 5
Pertemuan 6
Pertemuan 7
Pertemuan 8
Pertemuan 9
Pertemuan 10
Pertemuan 11
Pertemuan 12
Pertemuan 13
Pertemuan 14
Pertemuan 15

ARRAY
1.

Defenisi Array

2.
3.
4.
5.
6.

Mendeklarasikan Array
Contoh Deklarasi dan Inisialisasi Array
Melewatkan Array ke Method
Array Multidimensi
Sorting dan Searching Elemen Array
PERTEMUAN - 8
Pertemuan 1
Pertemuan 2
Pertemuan 3
Pertemuan 4
Pertemuan 5
Pertemuan 6

UTS
1.
2.

Pertemuan 7
Pertemuan 8
Pertemuan 9
Pertemuan 10
Pertemuan 11
Pertemuan 12
Pertemuan 13
Pertemuan 14
Pertemuan 15

3.

Bentuk Soal UTS (Pilihan Ganda dan Essay)
Soal di buat berdasarkan materi setiap pertemuan
(Pertemuan 1 s/d 7)
Aturan UTS
a. Tidak bekerjasama sesama peserta ujian
b. Tidak melakukan keributan selama ujian
berlangsung.
PERTEMUAN - 9
Pertemuan 1
Pertemuan 2
Pertemuan 3
Pertemuan 4
Pertemuan 5
Pertemuan 6
Pertemuan 7
Pertemuan 8
Pertemuan 9
Pertemuan 10
Pertemuan 11
Pertemuan 12
Pertemuan 13
Pertemuan 14
Pertemuan 15

KELAS dan METHOD
1.
2.
3.
4.
5.
6.
7.
8.

Kelas dan Method Standar dan UDF
Deklarasi Kelas
Modifier pada kelas
Scope / Blok
Mengakses Anggota Scope
Static dan Instance
Operator new
Keyword this
PERTEMUAN - 10
Pertemuan 1
Pertemuan 2
Pertemuan 3
Pertemuan 4
Pertemuan 5
Pertemuan 6
Pertemuan 7
Pertemuan 8
Pertemuan 9
Pertemuan 10
Pertemuan 11
Pertemuan 12
Pertemuan 13
Pertemuan 14
Pertemuan 15

KELAS dan METHOD
9.
10.
11.
12.
13.
14.
15.

Deklarasi Method
Memanggil Method
Melewatkan Argument ke Method
Overloading Method
Method Konstruktor
Method Finalizer
Method Main
PERTEMUAN - 11
Pertemuan 1
Pertemuan 2
Pertemuan 3
Pertemuan 4
Pertemuan 5
Pertemuan 6
Pertemuan 7
Pertemuan 8
Pertemuan 9
Pertemuan 10
Pertemuan 11
Pertemuan 12
Pertemuan 13
Pertemuan 14
Pertemuan 15

PACKAGE dan MODIFIER
1.
2.
3.
4.

Package
Membuat Package
Memanggil Kelas dari Suatu Package
Modifier
PERTEMUAN - 12
Pertemuan 1
Pertemuan 2
Pertemuan 3
Pertemuan 4
Pertemuan 5
Pertemuan 6
Pertemuan 7
Pertemuan 8
Pertemuan 9
Pertemuan 10
Pertemuan 11
Pertemuan 12
Pertemuan 13
Pertemuan 14
Pertemuan 15

TIGA PILAR OOP (Inheritance, Encapsulation dan
Polymorphism)
1.
2.
3.
4.

Inheritace (Pewarisan) ?
Overriding Data dan Method
Keyword extends
Keyword Super
PERTEMUAN - 13
Pertemuan 1
Pertemuan 2
Pertemuan 3

TIGA PILAR OOP (Inheritance, Encapsulation dan
Polymorphism)

Pertemuan 4
Pertemuan 5
Pertemuan 6
Pertemuan 7
Pertemuan 8
Pertemuan 9
Pertemuan 10
Pertemuan 11
Pertemuan 12
Pertemuan 13
Pertemuan 14
Pertemuan 15

5.
6.
7.

Encapsulation (Enkapsulasi)
Mengapa Enkapsulasi?
Polymorphism
PERTEMUAN - 14
Pertemuan 1
Pertemuan 2
Pertemuan 3
Pertemuan 4
Pertemuan 5
Pertemuan 6
Pertemuan 7
Pertemuan 8
Pertemuan 9
Pertemuan 10
Pertemuan 11
Pertemuan 12
Pertemuan 13
Pertemuan 14
Pertemuan 15

KELAS INNER, KELAS ABSTRAK, dan INTERFACE
1.
2.
3.
4.
5.

Kelas Inner
Menggunakan Kelas Inner
Kelas Abstrak
Interface
Apakah Interface = Kelas Abstrak
PERTEMUAN - 15
Pertemuan 1
Pertemuan 2
Pertemuan 3
Pertemuan 4

REVIEW PERSIAPAN

UAS

Pertemuan 5
Pertemuan 6
Pertemuan 7
Pertemuan 8
Pertemuan 9
Pertemuan 10
Pertemuan 11
Pertemuan 12
Pertemuan 13
Pertemuan 14
Pertemuan 15

1.
2.

Review Materi Pertemuan 1 s/d 14
Sifat Review : Tanya Jawab atau Pembahasan
Soal-soal.
SEKIAN

TERIMA KASIH
1
PERTEMUAN – 1
PENGANTAR BAHASA PEMROGRAMAN JAVA
1.

Konsep Pemrograman Berorientasi OBJEK
Objek adalah kesatuan Entitas yang memiliki sifat dan tingkah
laku. Dalam kehidupan sehari, objek adalah benda, baik benda
berwujud nyata maupun benda tidak berwujud nyata atau konsep.
Contoh benda berwujud nyata : Manusia, mobil, komputer, dll
Contoh benda yang tidak nyata atau konsep : Tabungan bank,
sistem antrian, sistem internet bangking

Objek Oriented Programming (OOP)
Konsep yang membagi program menjadi objek-objek yang
saling berinteraksi satu sama lainnya.
Keuntungan OOP
Alami (Natural), Dapat dikendalikan(Reliable), Dapat
digunakan kembali (Reusable), Mudah untuk dipelihara
(Maintainable), Dapat diperluas (Extendable) dan Efisiensi waktu.
PERTEMUAN – 1
PENGANTAR BAHASA PEMROGRAMAN JAVA
2.

Sejarah Java
1991, Sun Micro-system memulai green project, yaitu
penelitian untuk membuat bahasa yang akan digunakan pada chipchip embendded untuk device intelligent consumer electronic.
Bahasa itu haruslah bersifat multi platform, yang tidak tergantung
pada vendor yang membuat chip tersebut.
Pemberian nama dimulai dari Star-7, kemudian Oak dan
belakangan dikenal dengan JAVA. Awalnya ditujukan untuk
pemrograman device kecil, sehingga java memiliki karakteristik
berukuran kecil, efisien, dan portable untuk berbagai hardware.
Karena project ini sempat terancam terhenti karena dalam
pengembangannya device ini belum memiliki pasar yang kuat.
Kemudian berkembang menjadi pemrograman internet, desktop,
mobile dan enterprice atau dikelompokan kedalam J2SE, J2ME,
J2SE.
PERTEMUAN – 1
PENGANTAR BAHASA PEMROGRAMAN JAVA
3.

Keunggulan Java
Beberapa keunggulan bila dibandingkan dengan bahasa
pemrograman lainnya adalah :
1. Java bersifat sederhana dan relatif mudah
Semudah c, seampuh c++, mengurangi kompleksitas yang
dimiliki c++, sehingga pemrograman cenderung lebih mudah.
2. Java berorientasi pada objek
Karena java membagi program menjadi objek-objek, kemudian
memodelkan sifat dan tingkah laku masing-masing.
Menetukan dan mengatur interaksi antara objek yang satu
dengan lainnya.
3. Java bersifat terdistribusi
Sudah berkembang ke pemrograman mulai dari client, server,
database server, web server, proxy server, dan sebagainya.
4. Java bersifat multiplatform
Dapat berjalan di banyak platform sistem operasi.
5. Java bersifat multiThread
Dapat mengerjakan beberapa proses dalam waktu yang
hampir bersamaan.
PERTEMUAN – 1
PENGANTAR BAHASA PEMROGRAMAN JAVA
4.

Kompiler dan Interpreter
Banyak tersedia kompiler dan interpreter dari berbagai vendor
diantaranya :
1. J2SDK (Java 2 Software Development Kit) : seperangkat tool
yang berisi kompiler dan interpreter java yang direlease oleh
Sun
dan
bersifat
free.
(download
pada
situs
http://www.sun.com, yang kita gunakan dikelas ini.
2. JBuilder : Development software java yang dibuat oleh
Borland Inc. bekerja dilingkungan windows dan memiliki
tampilan GUI.
3. Visual J : Produk Microsoft, sebuah compiler sekaligus
interpreter, berbasis GUI.
Selain ketiga kompiler dan interpreter diatas, masih terdapat
beberapa development tool yang dapat digunakan untuk membuat
program java, yaitu : Symantec Visual Café, IBM Visual Age for
Java, dan Sun Fort for Java.
PERTEMUAN – 1
PENGANTAR BAHASA PEMROGRAMAN JAVA
5.

Editor
Editor, merupakan sebuah sarana bagi pengembang aplikasi
untuk menuliskan program yang mereka buat, editor yang kita
gunakan merupakan editor yang berbasis teks. Baik editor yang sudah
IDE maupun tidak, diantaranya :
•
•
•
•
•
•
•
•

Edit atau EditPlus
NotePad
WordPad
JCreator
JBuilder
VisualJ
NetBeans
…

Editor
Yang Kita Gunakan
di Kelas ini

Banyak lagi editor yang dapat digunakan untuk pengembangan
aplikasi dengan bahasa pemrograman java ini.
PERTEMUAN – 1
PENGANTAR BAHASA PEMROGRAMAN JAVA
6.

Instalasi JAVA dan Editor
1.

Instalasi J2SDK (Java 2 Software Development Kit) : setelah di
download pada situs http://www.sun.com, versi manapun .
Contoh : jdk-1_5_0_04-windows-i586-p.exe, lakukan dengan
double click pada file tersebut, ikuti petunjuk dan tekan
tombol next hingga selesai.

2.

Editor JCreator : download JCreator Pro 3.0, serta nomor
serinya kemudian . Lakukan instalasi dengan mengikuti
petunjuk yang ada, tekan tombol next hingga selesai.

Setelah kedua software terinstall, lakukan konfigurasi editor
tersebut dengan Java, sehingga kedua software tersebut terhubung
saat dilakukan kompilasi.
PERTEMUAN – 1
PENGANTAR BAHASA PEMROGRAMAN JAVA
7.

Konfigurasi Editor dengan JAVA.
Langkah-langkah konfigurasi Editor JCreator dengan J2SDK
adalah sbb :
1.
2.
3.
4.
5.
6.

Pilih menu configure pada editor Jcreator
Kemudian pilih menu option
Click JDK Profile
Jika Profile belum tersedia, pilih tombol new
Pilih folder j2sdk berada, Contoh : cari pada folder berikut :
C:Program FilesJavajdk1.6.0_22
Kemudian tekan tombol OK sampai selesai.
PERTEMUAN – 1
PENGANTAR BAHASA PEMROGRAMAN JAVA
8.

Fase Pemrograman JAVA
PERTEMUAN – 1
PENGANTAR BAHASA PEMROGRAMAN JAVA
9.

Contoh Program Pertama dengan JAVA

1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.

/**
* My first java program
*/
public class Hello
{
public static void main(String[] args) {
//Menampilkan kata "Hello world" dilayar
System.out.println("Hello world!");
}
}
PERTEMUAN – 1
PENGANTAR BAHASA PEMROGRAMAN JAVA
10. Penamaan Class, Method, Variabel, dan Konstanta
1.
2.
3.
4.

5.

Aturan Penamaan :
Case-sensitive,
Tidak menggunakan reserved word atau Keyword JAVA,
Tidak menggunakan simbol-simbol operator.
Dimulai dengan huruf abjad (a, b, c, ….), atau underscore (_),
tanda dolar ( $ ),
Tidak dibolehkan diawali dengan bilangan (0, 1, 2, …).
2
PERTEMUAN – 2
OBJECT ORIENTED PROGRAMMING (OOP)
1.

Objek, Kelas, dan Instance (Instans)
a.

Objek adalah kesatuan entitas (benda), baik yang
berwujud nyata maupun yang tidak nyata seperti sistem
atau konsep yang memiliki sifat karakteristik dan fungsi.

Contoh : kue, spidol, mobil, telepon, dan lain-lain
b.

Kelas adalah pemodelan dari objek yang berisi informasi
(aturan) tentang sifat karakteristik (data) dan tingkah laku
(metode) yang dimiliki oleh objek tersebut.
Contoh : resep kue, material spidol, dan lain-lain

c.

Instance adalah perwujudan, dimana dalam istilah
pemrograman, objek merupakan instans (perwujudan)
dari suatu kelas. Instansiasi adalah : proses perwujudan
kelas menjadi objek. Biasanya didalam pemrograman java
menggunakan perintah new.
PERTEMUAN – 2
OBJECT ORIENTED PROGRAMMING (OOP)
2.

Data/Variabel/Property
Data adalah sifat karakteristik atau kondisi yang dimiliki
oleh suatu objek, istilah data/variabel/property memiliki
pengertian yang sama, dan dapat digunakan atau dianalogikan
secara bergantian untuk lebih memperjelas suatu konsep. Atau
beberapa buku menggunakan istilah lain seperti atribut.

3.

Method/Prosedur atau Fungsi/Behaviour
Method adalah adalah Prosedur atau fungsi yang dimiliki
oleh suatu objek. Karena pada dasarnya merupakan
prosedur/fungsi, maka method ini akan mengolah atau
mengubah data/variabel yang ada didalamnya sesuai dengan
operasi yang telah ditentukan. Dari proses diatas akan terjadi 3
kemungkinan, yaitu :
a. Mengembalikan suatu nilai akhir.
b. Mengembalikan nilai yang bersifat sementara untuk
kemudian diumpankan me method lain.
c. Tidak mengembalikan nilai sama sekali.
PERTEMUAN – 2
OBJECT ORIENTED PROGRAMMING (OOP)
4.

Hierarki Kelas
Suatu kelas dapat dibuat sebagai kelas yang benar-benar
baru atau dapat dibentuk dari kelas yang sudah ada. Proses
pembentukan kelas baru dari sebuah kelas yang sudah ada
disebut sebagai pewarisan (inheritance). Kelas yang menjadi
basis bagi pembentukan kelas lainnya disebut kelas super.
Sedangkan kelas yang terbentuk dinamakan kelas sub.

Proses pewarisan inilah yang akan membentuk hirarki
kelas. Kelas yang terletak pada puncak hirarki disebut sebagai
kelas abstrak. Dimana sifat dari kelas abstrak hanya berisi
deskripsi data dan method yang sangat umum. Sehingga tidak
mungkin diimplementasikan secara terperinci. Oleh karena itu
kelas abstrak ini tidak dapat langsung di instansiasi menjadi
objek.
PERTEMUAN – 2
OBJECT ORIENTED PROGRAMMING (OOP)
5.

Object Oriented Programming
OOP adalah pemrograman yang difokuskan pada penciptaan
kelas yang merupakan abstraksi/blueprint/prototype dari
suatu objek. Kelas ini harus mengandung sifat (data) dan
tingkah laku (method) umum yang dimiliki oleh objek-objek
yang kelak akan dibuat (diinstansiasi). Data dan method
merupakan anggota (member) dari suatu kelas.
PERTEMUAN – 2
OBJECT ORIENTED PROGRAMMING (OOP)
6.

Hubungan antara Kelas, Objek, Data, dan Method

Dalam konsep OOP, objek diciptakan atau diinstansiasi
dari kelas dengan mengisikan nilai parameter data dan
memanfaatkan method yang telah dideskripsikan oleh kelas
itu.
Dengan
demikian
kelas
juga
merupakan
template/prototype dari suatu objek.
Objke-objek yang berasal dari kelas yang sama akan
memiliki tipe data yang sama (meskipun dengan nilai yang
berbeda) dan fungsi yang sama. Objek dikatakan sebagai
instans dari suatu kelas.
PERTEMUAN – 2
OBJECT ORIENTED PROGRAMMING (OOP)
7.

Kerangka Program OOP
NamaFile.java
Komentar Program
Deskripsi Program dan Import
Kelas A
Badan Kelas
Deklarasi Data
Main Method
Deklarasi dan Implementasi Method
Kelas B
Badan Kelas
Deklarasi Data
Deklarasi dan Implementasi Method
PERTEMUAN – 2
OBJECT ORIENTED PROGRAMMING (OOP)
8.

Membuat Objek dari Sebuah Kelas
Untuk membuat sebuah objek dibutuhkan Operator new.
Adapun bentuk umumnya sebagai berikut :
namaKelas namaObjek = new namaKelas();

Contoh :
Mahasiswa objMahasiswa = new Mahasiswa();
PERTEMUAN – 2
OBJECT ORIENTED PROGRAMMING (OOP)
9.

Mengakses Data dan Method dari Suatu Kelas
Untuk mengakses data dan method pada sebuah objek
dapat dilakukan dengan cara sebagai berikut :
namaObjek.namaVariabel;
namaObjek.namaMethod();
Yang perlu diperhatikan dalam mengakses data dan method
adalah bagaimana mengatur tingkat aksesibilitas (accesibility
level) kedua unsur tersebut terhadap kelas yang mengakses,
apakah bersifat default, public, private, atau protected.
Contoh :
objMahasiswa.NIM;
objMahasiswa.bayarKuliah();
PERTEMUAN – 2
OBJECT ORIENTED PROGRAMMING (OOP)
10. Menampilkan Hasil di Layar Monitor
Untuk menampilkan hasil ke layar monitor dapat
dilakukan dengan beberapa perintah, diantaranya :
a.

Dilingkungan Console
menggunakan method print() atau println() dalam kelas
System dalam struktur package java.lang. package ini
merupakan default package bagi semua aplikasi java,
sehingga tidak perlu di import kedalam program.

b.

Menggunakan komponen GUI
menggunakan kelas JOptionPane yang merupakan
komponen dari package javax.swing. Baik sebagai output
maupun sebagai input (showMesageDialog() atau
showInputDialog()).
PERTEMUAN – 2
OBJECT ORIENTED PROGRAMMING (OOP)
11. Membaca Data Input Dari Keyboard
Proses pembacaan data input yang diketikkan oleh user
melalui keyboard dilihat dengan dua cara, yaitu :
a.

Dalam lingkungan Console (DOS)
menggunakan
kelas
BufferedReader(),
InputStreamReader(), dimana kelas diinstansiasikan
menjadi sebuah objek. Dan kemudian objek yang
terbentuk memiliki sebuah metode readLine() yang
digunakan untuk menangkap inputan dari keyboard.

b.

Dalam lingkungan GUI
menggunakan kelas/komponen
method showInputDialog().

InputDariKeyboard1.java

JOptionPane

dengan

InputDariKeyboard2.java
PERTEMUAN – 2
OBJECT ORIENTED PROGRAMMING (OOP)
12. Keyword dalam Java
3
PERTEMUAN – 3
TIPE DATA, VARIABEL DAN OPERATOR
1.

Tipe Data
a. Primitif
Jenis-jenis nya sbb :

b. Reference
Tipe data berupa class, dimana class ini memiliki berbagai fungsi
yang bisa digunakan untuk kebutuhan pemrograman.
Jenis-jenis nya antara lain :
Byte, Short, Integer, Long, Float, Double, Boolean, Character,
String dan lain sebagainya.
PERTEMUAN – 3
TIPE DATA, VARIABEL DAN OPERATOR
2.

Variabel
Variabel merupakan sebuah tempat dimemori yang dialokasikan
untuk menampung data yang memiliki sifat sementara, yang
digunakan hanya pada saat program masih berjalan dan
dihilangkan/dihapus dari memori setelah program berakhir.
Format Deklarasi :
TipeData namaVariabel [= inisialisasiNilaiAwal];
Contoh :
int nilaiAbsen;
int nilaiTugas, nilaiUTS, nilaiUAS;
String namaDepan = “Tariq”
String namaTengah=“Athar”, namaBelakang=“Kisan”;
char nilaiHuruf=‘A’;

Link ke program :
Variabel1.java

Variabel2.java

Variabel3.java

Variabel4.java
PERTEMUAN – 3
TIPE DATA, VARIABEL DAN OPERATOR
3.

OPERATOR
1. Operator Aritmatika
Memiliki beberapa jenis simbol yaitu : *, /, %, +, 2. Operator Increment dan Decrement
Memiliki beberapa jenis simbol yaitu : ++, --

Operator1.java

Operator2.java

3. Operator Relasi
Memiliki beberapa jenis simbol yaitu : <, <=, >, >=, ==, !=
Operator3.java

4. Operator Logika
Memiliki beberapa jenis simbol yaitu : &, &&, |, ||, ^, !
Operator4.java

5. Operator Kondisi(?:) atau Ternary
Memiliki bentuk sbb : exp1?exp2:exp3
Operator5.java
4
PERTEMUAN – 4
STRUKTUR PEMILIHAN
1.

Pemilihan Kondisi if
Struktur if menentukan sebuah statement (atau blok statement) yang
akan dieksekusi jika dan hanya jika persyaratan boolean (boolean
statement) bernilai true.
Bentuk if dengan 1 baris statement,
if( boolean_expression )
statement;
StrukturPemilihan1.java

Bentuk if lebih dari 1 baris statement,
StrukturPemilihan2.java

if( boolean_expression ){
statement1;
statement2;
}
PERTEMUAN – 4
STRUKTUR PEMILIHAN
2.

Bentu if - else
Struktu if-else digunakan apabila kita ingin mengeksekusi sebuah
statement dengan kondisi true dan statement yang lain dengan
kondisi false.
Bentuk dari if-else,
if( boolean_expression )
statement;
else
statement;

StrukturPemilihan3.java

Untuk Lebih dari 1 baris,
StrukturPemilihan4.java
if( boolean_expression ){
statement1;
…………………;
}
else{
statement1;
…………………;
}
PERTEMUAN – 4
STRUKTUR PEMILIHAN
3.

Bentuk if atau if ….. else Bersarang
Statement pada bagian else dari blok if-else dapat menjadi struktur if
else yang lain. Struktur seperti ini mengijinkan kita untuk membuat
seleksi persyaratan yang lebih kompleks.
Bentuk if-else if,
if( boolean_expression1 )
statement1;
else if( boolean_expression2 )
statement2;
else
statement3;

StrukturPemilihan5.java
StrukturPemilihan6.java
StrukturPemilihan7.java
PERTEMUAN – 4
STRUKTUR PEMILIHAN
4.

Bentuk switch … case
Cara lain untuk membuat percabangan adalah dengan menggunakan
kata kunci switch. Dengan menggunakan switch kita bisa melakukan
percabangan dengan persyaratan yang beragam.
Bentuk switch,
switch( switch_expression ){
case case_selection1:
statement1; //block 1
break;
case case_selection2:
statement1; //block 2
break;
default:
statement1; //block n
break;
}
StrukturPemilihan8.java
PERTEMUAN – 4
STRUKTUR PEMILIHAN
4.

Bentuk switch … case
Cara lain untuk membuat percabangan adalah dengan menggunakan
kata kunci switch. Dengan menggunakan switch kita bisa melakukan
percabangan dengan persyaratan yang beragam.
Bentuk switch,
switch( switch_expression ){
case case_selection1:
statement1; //block 1
break;
case case_selection2:
statement1; //block 2
break;
default:
statement1; //block n
break;
}
StrukturPemilihan8.java
5
PERTEMUAN – 5
STRUKTUR PENGULANGAN
1.

Pengulangan for
Seperti pada struktur pengulangan sebelumnya yaitu melakukan
pengulangan eksekusi code beberapa kali.
Bentuk dari for loop,
for (InitExpression; LoopCondition;StepExpression){
statement1;
statement2;
...
}
StrukturPengulangan1.java

Keterangan ,
1. InitExpression – inisialisasi dari variabel loop.
2. LoopCondition - membandingkan variabel loop pada nilai
batas.
3. StepExpression - melakukan update pada variabel loop.
PERTEMUAN – 5
STRUKTUR PENGULANGAN
2.

Pengulangan While
Statement while loop adalah statement atau blok statement yang
diulang-ulang sampai mencapai kondisi yang cocok.
Bentuk dari while,
while( boolean_expression ){
statement1;
statement2;
...
}
StrukturPengulangan2.java
PERTEMUAN – 5
STRUKTUR PENGULANGAN
3.

Pengulangan do … while
Do-while loop mirip dengan while-loop. Statement di dalam do-while
loop akan dieksekusi beberapa kali selama kondisi bernilai true.
Perbedaan antara while dan do-while loop adalah dimana statement
di dalam do-while loop dieksekusi sedikitnya satu kali.
Bentuk dari do-while,
do{
statement1;
statement2;
...
}while( boolean_expression );
StrukturPengulangan3.java
PERTEMUAN – 5
STRUKTUR PENGULANGAN
4.

Perintah break dan continue
break adalah perintah yang digunakan untuk menghentikan kegiatan
pengulangan
break label dengan menambahkan label pada awal for terluar dapat
menjadikan perintah break … label menghentikan semua
pengulangan.
Continue adalah perintah yang digunakan untuk melewati kegiatan
yang ada dibawah perintah tersebut dan melanjutkan pengulangan

StrukturPengulangan4.java
6
PERTEMUAN – 6
STRING, STRING BUFFER dan CHARACTER
1.

Kelas String
Model ini mengadopsi konsep Array-of-char dari bahasa
C/C++. Dimana Array-of-char : memandang data string
sebagai sederetan karakter yang membentuk array, jumlah
element array sudah pasti dan tidak mungkin berubah.
Sebuah kelas yang digunakan untuk mengoperasikan data
String, deklarasi kelas ini sebagai berikut :
1.

Inisialisasi 1 :
String abc = new String(“Contoh inisialisasi 1”);

2.

Inisialisasi 2 :
String abc;
abc = new String(“Contoh inisialisasi 2”);

3.

Inisialisasi 3 :
String abc;
abc = “Contoh inisialisasi 3”;
PERTEMUAN – 6
STRING, STRING BUFFER dan CHARACTER
2.

Operasi – Operasi pada Kelas Sring
Berikut beberapa metode yang disediakan oleh class String
untuk memanipulasi data string (metode lengkap dapat dilihat
di Java.sun.com) :
1.
2.
3.
4.

Panjang data string
Penggabungan data string
Pembandingan data string
Pengantian data string

5.

Kapitalisasi data string

6.

Sub-string

7.

Operasi charakter

8.

Konversi

: namaObjek.length();
: namaObjek.concat(String);
: namaObjek.equal (String);
: namaObjek.replace(char, char);
namaObjek.replaceAll(String, String);
namaObjek.replaceFirst(String, String);
: namaObjek.toLowerCase();
namaObjek.toUpperCase();
: namaObjek.substring(int);
namaObjek.substring(int, int);
: namaObjek.charAt(int);
namaObjek.toCharArray();
: String.valueOf(variabel):
namaObjek.toString():

String1.java
PERTEMUAN – 6
STRING, STRING BUFFER dan CHARACTER
3.

Kelas StringBuffer
Model kedua ini mengadopsi konsep pointer-of-char dari
bahasa C/C++. Dimana tipe data pointer adalah
implementasi dari dynamic-allocation yang mengijinkan
penggunaan variabel dalam jumlah besar jika diperlukan dan
penghapusan variabel tersebut jika sudah tidak diperlukan
lagi pada saat run-time. Fleksibelitas ini yang menyebabkan
suatu data string bisa mengalami perubahan ukuran:
bertambah atau berkurang.
Berbeda dengan class string, bahwa data StringBuffer hanya
bisa diinisialisasi melalui construktornya yaitu dengan
menggunakan perintah new. Sbb:
StringBuffer namaObjek = new StringBuffer(string);
PERTEMUAN – 6
STRING, STRING BUFFER dan CHARACTER
4.

Operasi – Operasi pada Kelas SringBuffer
Berikut beberapa metode yang disediakan oleh class
StringBuffer untuk memanipulasi data stringBuffer, dimana
tidak berbeda jauh dengan Class String.
1.
2.
3.
4.
5.
6.
7.

8.

9.

Panjang data StringBuffer

: namaObjek.length();
namaObjek.setLength(int);
Penambahan data StringBuffer : namaObjek.append(String);
namaObjek.insert(int, String);
Penghapusan data StringBuffer : namaObjek.delete(int, int);
Penggantian data StringBuffer : namaObjek.replace(int, int, String);
Pembandingan data StringBuffer : namaObjek.equal (String);
Pembalikan data StringBuffer
: namaObjek.reverse();
Sub-string
: namaObjek.substring(int);
namaObjek.substring(int,int);
namaObjek.indexOf(String).
Operasi karakter
: namaObjek.charAt(int);
namaObjek.deleteCharAt(int);
namaObjek.setCharAt(int, char);
Konversi
: namaObjek.toString():
StringBuffer1.java
PERTEMUAN – 6
STRING, STRING BUFFER dan CHARACTER
5.

Kelas Character
Kelas Character dibuat untuk meningkatkan kemampuan
programmer dalam menangani tipe data karakter. Berbagai
metode disiapkan untuk memanipulasi data karakter. Mulai
dari memeriksa jenis karakter sampai dengan melakukan
konversi tipe data karakter menjadi data lain.
Kelas Character menyediakan satu constructor untuk
menginisialisasi data karakter, yaitu : constructor dengan
parameter data bertipe karakter.
Deklarasi Kelas Character sbb :
Character namaObjek = new Character(char);
PERTEMUAN – 6
STRING, STRING BUFFER dan CHARACTER
6.

Operasi – Operasi pada Kelas Character
Beberapa metode akan dibahas terutama untuk memeriksa
jenis karakter saat ini, diantaranya sbb:
1.
2.
3.
4.
5.
6.
7.
8.
9.

Berjenis Bilangan ?
Berjenis Huruf ?
Berjenis Huruf/Bilangan ?
Berjenis Spasi ?
Berjenis Huruf Kecil ?
Berjenis Huruf Besar ?
Konversi ke Huruf Kecil ?
Konversi ke Huruf Besar ?
Konversi ke String ?

:
:
:
:
:
:
:
:
:

Character.isDigit(char));
Character.isLetter(char));
Character.isLetterOrDigit(char));
Character.isWhiteSpace(char));
Character.isLowerLetter(char));
Character.isUpperLetter(char));
Character.toLowerCase(char));
Character.toUpperCase(char));
Character.toString(char));
namaObjek.toString());
7
PERTEMUAN – 7
ARRAY
1.

Defenisi Array
Adalah sebuah solusi untuk mendeklarasikan sejumlah Variabel
secara tepat. Pemakaian Variabel Array akan menghemat waktu
penyebutan nama Variabel. Variabel Array adalah sejumlah
Variabel dengan nama yang sama.
illustrasi Array :

Catt:

No. Indeks/No. Element di awali angka 0 (nol) dan
diakhiri n-1 dimana n= panjang array.
PERTEMUAN – 7
ARRAY
2.

Mendeklarasikan Array
Beberapa cara mendeklarasikan sebua variabel array, yaitu :
1.

Deklarasi
TypeData [ ] namaArray ;

2.

Inisialisasi
namaArray = new TypeData [jml elemen];

3.

Deklarasi dan Inisialisasi
TypeData [ ] namaArray = new TypeData [jml elemen]
PERTEMUAN – 7
ARRAY
3.

Contoh Deklarasi dan Inisialisasi Array
1.

Tanpa menyebutkan berapa jumlah elemen yang diperlukan.
Int [ ] angka;
Angka =new Int [5];

2.

VariabelArray1D_01 .java
VariabelArray1D_02 .java

Dengan menyebutkan jumlah elemen yang diperlukan

Int [ ] angka = new Int [5];

VariabelArray1D_03 .java

Untuk kedua cara di atas pengisian data dilakukan secara manual
yaitu dengan diinput satu persatu.
3.

Dengan cara otomatis
Jumlah elemen secara tegas tidak diperlihatkan tetap dapat
dilihat dari data yang didefinisikan secara terurut.
int angka = {5,3,7,1,10};

VariabelArray1D_04 .java
PERTEMUAN – 7
ARRAY
4.

Melewatkan Array ke Method
Java menggunakan dua jenis mekanisma untuk melewatkan
argumen ke suatu metode. Yaitu :
1.

Untuk variabel ber tipedata primitif, yang akan dilewatkan ke
metode adalah nilai aktualnya. Perubahan nilai variabel pada saat
mengoperasikannya didalam metode tidak akan mengubah nilai
variabel tersebut. Mekanisme ini disebut Pass by Value.

2.

Pada variabel array, nilai yang dilewatkan pada hakekatnya adalah
nilai alamat referensi memori yang menunjuk array tersebut,
bukan nilai aktual masing-masing elemen nya, sehingga bila
alamat referensi memori ini berubah pada saat pengoperasiannya
di dalam metode, maka akan mengubah nilai variabel array
asalnya. Mekanisme ini disebut Pass by Reference.
PERTEMUAN – 7
ARRAY
5.

Array Multidimensi
Selain berupa sederetan variabel satu dimensi, kita dapat pula
membuat array yang berukuran lebih dari satu dimensi atau
disebut array multi-dimensi. Pada bagian ini kita mencoba
mencontohkan bentuk array dua dimensi sbb:
TypeData [ ][] nmArray [= new TypeData [jml baris][jml kolom]
VariabelArray2D_01 .java
VariabelArray2D_02 .java

Contoh :
Membuat matrik 2 X 3 yang berisi data mahasiswa, sbb:

Int [][] matriks = {
{“9111500060”, “M. Anif”, “A”},
{“9111500061”, “Munsi Liano”, “B”},
}
VariabelArray2D_03 .java
VariabelArray2D_04 .java
PERTEMUAN – 7
ARRAY
6.

Sorting dan Searching Elemen Array
Sorting : Algoritma sorting pengurutan sederetan elemn dapat dilihat sbb :
1.
Cari bilangan yang terbesar dan memeriksa posisi bilangan tersebut (apakah
sudah terletak dipaling kanan).
2.
Bila belum, letakkan bilangan terbesar tersebut pada posisi paling kanan.
Proses ini sekali gus saling bertukar posisi.
3.
Selanjutnya, mencari lagi bilangan terbesar dari deretan sisa dan letakkan
bilangan tersebut dibelakang bilangan terbesar hasil dari proses pertama.
4.
Lakukan proses diatas sampai selesai.
Searching : algoritma searching dibagi menjadi 2 bentuk
1.
Pencarian Linier, yaitu : mencari elemen berdasarkan suatu kunci yang berupa
bilangan atau karakter yang diinginkan. Proses berlangsung dengan
mencocokkan tiap-tiap elemen dengan kunci tersebut. Bila ditemukan, maka
metode akan mengembalikan indeks dari elemen itu, sedangkan bila tidak
metode akan mengembalikan nilai integer -1.
2.
Pencarian Biner, yaitu : perbaikan dari konsep sebelumnya (Pencarian Linier),
karena lebih efisien. Dengan algoritma ini kita tidak perlu memeriksa semua
elemen sehingga menghemat waktu pencarian. Adapun caranya : 1). urutkan
deretan bilangan tersebut terlebih dahulu, sesuai dengan keinginan baik
terbesar maupun terkecil. 2). Selanjutnya ambil nilai elemen yang terletak pada
posisi tengah urutan array tsb. Sehingga nilai tengah ini membagi array menjadi
2 segmen. 3). Bandingkan nilai elemn yang dicari dengan nilai tengah ini, jika
sama berarti pencarian selesai, jika tidak maka kegiatan dilakukan dengan
membagi lagi menjadi dua bagian dari segmen yang memungkinkan untuk
ditemukan. Dan seterusnya proses diulangi hingga selesai.
9
PERTEMUAN – 9
KELAS dan METHOD
1.

Kelas dan Method
a.

Kelas dan Method Standar
Merupakan predefined class/method, yaitu kelas/method
yang telah disediakan oleh java dan menjadi reference
library. Banyak kelas standard maupun method yang dapat
digunakan untuk aplikasi yang spesifik. Kumpulan
class/method ini sering dikenal dengan istilah API
(application Programming Interface).

b.

Kelas dan Method yang didefinisikan Sendiri (UDF)
Selain kelas/method standar, terkadang kita juga perlu
memodelkan suatu objek kedalam kelas dan
mendefenisikan data serta method yang dimilikinya. Bila
aplikasi tersebut besar dan kompleks, kita dapat
membaginya menjadi beberapa package yang didalamnya
terdapat beberapa kelas.
PERTEMUAN – 9
KELAS dan METHOD
2.

Deklarasi Kelas
a.

Deklarasi kelas yang sederhana
class namaKelas{
// body
}

b.

Deklarasi kelas secara UMUM
[modifier 1] class namaKelas [modifier 2] {
// body
}
PERTEMUAN – 9
KELAS dan METHOD
3.

Modifier pada Kelas
a.

Modifier 1
public : dapat diakses dari kelas lain, baik dalam package yang
sama maupun berbeda.
private : tidak dapat diakses sama sekali dari kelas lain, baik dari
package yang sama maupun berbeda.
protected : membatasi akses kelas yang dilakukan oleh subkelas
turunannya dan kelas lain yang terletak dalam package yang
sama.
abstract : kelas tersebut tidak dapat diinstankan langsung
menjadi Objek. Dipakai pada hirarki kelas tertinggi. Yang hanya
mungkin dilakukan dengan cara inheritance.
final : kelas tersebut tidak dapat diturunkan menjadi subkelas.

b.

Modifier 2
extends SuperClass : digunakan untuk inheritance
implements Interface : digunakan bila kelas mengimplementkan
satu atau lebih interface.
PERTEMUAN – 9
KELAS dan METHOD
4.

Scope / Blok
Scope adalah grup yang menghimpun bagian tertentu dari
program dan dapat dianggap sebagai suatu kesatuan modul.
Scope bisa berupa kelas, blok, atau method dan selalu ditandai
oleh kurung kurawal buka dan tutup. Macam-macam scope
sbb:
a.

Scope Berupa Kelas
Dimulai dari deklarasi kelas dan diikuti tanda “{}”. Anggota
terdiri dari data dan method.

b.

Scope Berupa Blok
diawali dan diakhiri dengan tanda “{}”, biasanya ditemukan
pada blok yang menyertai pengulangan, pemilihan seperti
if, if else, while, for dal lain-lain.

c.

Scope Berupa Method
dimulai dari deklarasi method yang diikuti oleh tanda “{}”,
yang anggotanya terdiri dari data lokal yang hanya
didefinisikan dan digunakan dalam method tersebut.
PERTEMUAN – 9
KELAS dan METHOD
5.

Mengakses Anggota Scope
Pada scope yang berupa kelas dan blok, anggotanya adalah data
(variabel) dan method. Sedangkan untuk scope yang berupa
method anggotanya adalah data (variabel). Adapun cara
mengakses scope dibedakan dengan 2 cara
a.

Mengakses dari dalam Scope
contoh variabel bil1 dan bil2 yang terletak di dalam main
method, bila ingin menjumlahkan kedua bilangan tersebut
dan hasilnya disimpan dalam variabel hasil, serta dan
ditampilkan didalam method yang sama. Kita cukup
memanggil nama variabel tersebut. Kita tidak perlu
menyebutkan referensi kelas atau methodnya.

b.

Mengakses dari luar Scope
bila hasil ditampilkan melalui method yang berbeda, maka
variabel bil1 dan bil dua harus dikirimkan kepada method
tersebut melalui method main sebelumnya.
PERTEMUAN – 9
KELAS dan METHOD
6.

Static dan Instance
Kelas tersusun dari data dan method. Kedua unsur ini dapat
dibubuhkan modifier untuk menentukan hubungannya terhadap unsur
lainnya. Baik dalam scope yang sama, maupun berbeda. Modifier juga
digunakan untuk hubungan kepemilikan antara kelas dan objek
terhadap kedua unsur tersebut. Berdasarkan hubungan tersebut kita
dapat mengklafikasikan data dan method ini menjadi dua, yaitu :

1.

Bersifat sama untuk seluruh bagian kelas dan instansnya.
Bila kita membubuhkan modifier static pada data dan method
dalam suatu kelas, maka kedua unsur tersebut akan bersifat
berlaku untuk seluruh bagian kelas tersebut, serta ibjek yang
diinstans darinya. Maksudnya, semua objek yang diinstans dari
kelas tersebut akan memiliki nilai data dan method yang sama
dengan kelasnya.

2.

Bersifat unik hanya untuk satu objek (yang diinstas dari
kelas terebut).
secara default bila kuta tidak membubuhkan modifier apapun
pada kedua unsur tersebut.atau bila tidak terdapar modifier
static, maka data dan method itu akan bersifat sebagai instans
(instance). Maksudnya data dan method itu bersifat unix untuk
sebua objek yang diinstarkan dari kelad bersangkutn.
PERTEMUAN – 9
KELAS dan METHOD
7.

Operator new
Operator ini digunakan untuk membentuk (menginstankan)
objek dari kelas, bentuk umumnya sbb:
namaKelas namaObjek = new namaKelas;
Pada saat menggunakan new, terjadi beberapa proses internal
sebagai berikut :
a.
b.
c.

Objek baru tercipta
Memory dialokasikan untuk objek tersebut.
Method konstruktor dipanggil untuk menginisialisasi objek.
PERTEMUAN – 9
KELAS dan METHOD
8.

Keyword this
Ditinjau dari kepemilikannya, variabel dapat dibagi menjadi dua
yaitu :
a.

Variabel Kelas
Variabel kelas adalah variabel yang melekat pada kelas dan
tidak terpengaruh oleh proses instasiasi. Sehingga tidak
dapat dimiliki dan diakses oleh objek yang diinstans dari
kelas tersebut.

b.

Variabel Instans
Variabel Instans adalah variabel yang dimiliki oleh objek
dari proses instansiasi suatu kelas.

Keyword this digunakan untuk mengakses variabel instans dari
masing-masing objek.
10
PERTEMUAN – 10
KELAS dan METHOD
9.

Deklarasi Method
Bentuk umum dati method adalah sbb:
modifier tipeNilaiKembalian namaMethod(parameter input) throws exception{
// body dari method
}

Modifier (optional) yang digunakan sama dengan modifier
untuk mendeklarasikan kelas karena pada prinsipnya modifier
dapat diletakkan pada kelas, data dan method. Namun implikasi
dari penggunaan modifier pada ketiganya belum tentu sama
persis antara satu dengan yang lainnya. Sebagai contoh :
1. final pada kelas berarti bahwa kelas itu tidak dapat
diturunkan menjadi subkelas yang lain.
2. final pada method, berarti method tersebut tidak dapat
dioverride oleh subkelas yang lain.
3. final pada variabel akan mengubah variabel tersebut
menjadi sebuah konstanta.
PERTEMUAN – 10
KELAS dan METHOD
10. Memanggil Method
Sama seperti ketika mengakses variabel, kita juga
menggunakan notasi titik/dot (.) untuk memnaggil method.
Bentuk umum pemanggilan method sbb :
NamaKelas.namaMethod(argument);
Contoh :
Mahasiswa.isiMataKuliah();
PERTEMUAN – 10
KELAS dan METHOD
11. Melewatkan Argumen ke Method
Dua cara melewatkan argument ke method, yaitu :
1.

Melewatkan serace Nilai (Pass by Value)
diterapkan pada argument bertipe data primitif. Prosesnya
adalah compiler hanya menyalin/mengcopy isi memori
(yang telah dialokasikan untuk suatu variabel) dan
kemudian menyampaikan salinan tersebut kepada method.
oleh karena itu, maka perubahan yang terjadi pada variabel
akibat proses tidak akan berpengaruh pada nilai variabel
asalnya.

2.

Melewatkan secara Referensi (Pass bya Refference)
diterapkan pada array dan objek. Variabel array dan objek
menyimpan alamat memori buka isi memori. Akibatnya
setiap perubahan variabel didalam method akan
mempengaruhi nilai pada variabel asalnya.
PERTEMUAN – 10
KELAS dan METHOD
12. Overloading Method
Java memperbolehkan kita membuat dua atau lebih
method dengan nama yang sama dalam suatu kelas. Meskipun
memiliki nama sama namun jumlah dan tipe data argument
masing-masing method haruslah berbeda satu dengan lainnya.
Inilah yang disebut dengan Overloading Method.
Contoh :
class mencetakArgument{
void Cetak(int bil){
System.out.println(“Nilai yang dikirim adalah “+bil);

}

void Cetak(String nama){
System.out.println(“Mana yang dikirim adalah “+Nama);

}
}
PERTEMUAN – 10
KELAS dan METHOD
13. Method Konstruktor
Konstruktor adalah method yang berfungsi untuk
menginisialisasi variabel-variabel instant yang akan dimiliki
objek. Konstruktor ini dipanggil pada saat proses instansiasi
kelas menjadi objek. Ketentuan sbb:
1. Namanya sama denfan nama Kelasnya.
2. Tidak mengembalikan suatu nilai
3. Satu kelas bisa memiliki lebih dari satu konstruktor,
konstruktor satu dapat memanggil konstruktor lain.
4. Dapat dibubuhi modifier public, private, protected
Contoh :
class Cetak{
public Cetak(int bil){
System.out.println(“Nilai yang dikirim adalah “+bil);
}
public Cetak(String nama){
System.out.println(“Mana yang dikirim adalah “+Nama);
}
}
PERTEMUAN – 10
KELAS dan METHOD
14. Method Finalizer
Objek adalah dalam program yang sedang dieksekusi
mempunyai waktu hidup (life time). Objek tercipta pada saat
kita menginstankan suatu kelas dengan operator new dan akan
dihapus pada saat objek dikumpulkan oleh Garbage Collection
atau bila memori yang ditempatinya telah diklaim oleh
objek/bagian program lain. Method yang dibubuhi modifier
finalize ini dapat dikatakan juga sebagai lawan/kebalikan dari
methid konstruktor. Method ini dipanggil sesaat sebelum objek
dihancurkan.
Bentuk umum, sbb :
protected void finalize() throw Throwable{
super.finalize();
}
PERTEMUAN – 10
KELAS dan METHOD
15. Method Main
Setelah selesai mengetik source code, langkah berikutnya
adalah mengkompilasi dan menjalankan program tersebut.
Pada saat kompilasi, pertama-tama kompiler akan mencari
bagian program yang disebut sebagai method utama (main
method).
Bentuk umum, sbb :

public static void main(String [] arguments){
// statement body dari main method
}
1.
2.
3.

Public, main method harus dapat dilihat atau visible oleh
kelas manapun.
Void, tidak mngembalikan nilai.
Main(String[] arguments), main method ini dapat
mengambil suatu parameter input yang merupakan array
dari string yang diberi nama argument.
11
PERTEMUAN – 11
PACKAGE dan MODIFIER
1.

Package
Sesuai dengan namanya, package adalah sebuah upaya untuk
mengelompokkan bagian-bagian program java menjadi satu.
Sebuah package dalam java terdiri dari sekumpulan class
dan/atau interface. Didalam sebuah package juga dimungkinkan
mempunyai sub-package.
Package bisa berupa package yang sudah dimiliki oleh Java, dan
ada pula package yang dibuat uleh user. Package yang dibuat
oleh user ini sering disebut dengan folder. Atau sebuah lokasi
didalam media penyimpanan yang kita miliki.
Dalam package yang kita buat dapat berisi sejumlah kelas dan
didalam package tersebut juga bisa berupa sub-package.
PERTEMUAN – 11
PACKAGE dan MODIFIER
2.

Membuat Package
Deklarasi sebuah package diawali dengan deklarasi nama
package pada bagian teratas sebuah file source.
Bentuk Deklarasi Package :
package [namaPackage];
Contoh :
package kampus;
class unit1{
// … body kelas
// … metode-metode
// … field-field
// …
}
PERTEMUAN – 11
PACKAGE dan MODIFIER
3.

Memanggil Kelas/Mengakses dari Suatu Package
Mengakses Kelas dengan Kata Kunci import:
import namaPackage.namaKelas;
Contoh :
package demo;
import kampus.*;
import java.awt.Color;
class demo1{
public statik void main(String[] args){
unit1 gedung1 = new unit1();
Color merah = new Color(Color.red);
}
}
PERTEMUAN – 11
PACKAGE dan MODIFIER
4.

Modifier
Adalah keyword yang digunakan sebagai pelengkap suatu unsur
(kelas/method/variabel) dan berfungsi menjelaskan bagai mana
hubungan diantara unsur-unsur tersebut. Misalnya bagaimana
hubungan antara method dan variabel dari suatu kelas
terhadap method dan variabel dari kelas lain, bagaimana
hubungan kelas terhadap objek yang merupakan instannya,
dsb. Modifier ini bersifat optional.

Lima jenis modifier yang sering digunakan oleh JAVA, yaitu
1.
2.

3.
4.
5.

public, private, protected : Mengatur aksesibiliti.
satic : method dan variabel hanya dimiliki oleh kelas yang
bersangkutan, tidak dapat diserahkan kepada objek pada saat
instansiasi. Atau akses terhadapnya tidak dapat dilakukan melalui
objek yang diciptakan.
Final : bila kelas/method/variabel memiliki nilai yang tetap.
Abstract : Untuk menyatakan bahwa kelas atau method tersebut
tidak dapat secara langsung diinstankan menjadi sebuah objek
tetapi melalui inheritance.
Syncronized, transient, dan volatile : digunakan pada
pemrograman yang mempertimbangkan faktor thread.
12
PERTEMUAN – 12
TIGA PILAR OOP :
Inheritance, Encapsulation dan Polymorphism
1.

Inheritace (Pewarisan) ?
Adalah proses pewarisan data dan method dari suatu kelas
kepada kelas yang lain. Kelas yang mewariskan disebut kelas
super (super class), sedangkan kelas yang diwariskan disebut
subkelas (sub class). Atau kelas super disebut Kelas Induk,
sementara subkelas disebut Kelas Anak.
Pewarisan ini menggunakan keyword extends, seperti berikut :
Kelas A

Kelas B extends Kelas A

Kelas C extends Kelas B
PERTEMUAN – 12
TIGA PILAR OOP :
Inheritance, Encapsulation dan Polymorphism
2.

Overriding Data dan Method
Adalah kemampuan suatu subkelas untuk memodifikasi data
dan method dari kelas induknya atau disebu juga redefinisi data
dan method. Proses ini akan mengubah data dan method di
keduanya, kelas induk dan kelas anaknya.
Alasan mengapa melakukan overriding, yaitu :
1. Mendefinisikan kembali method kelas induk secara total.
Perubahan dilakukan secara menyeluruh, baik jumlah
maupun tipe parameter dari argumen inputnya, tipe nilai
kembaliannya, maupun behaviour pemprosesan datanya.
2. Menambahkan behaviour tertentu pada method kelas
induknya.
Perubahan
hanya
dilakukan
untuk
menambahkan behaviour yang secara khusus dimiliki
hanya oleh kelas anak tersebut.
Tentu kedua hal tersebut dilakukan dengan melihat aksesibiliti
sebelum melakukan overriding. Seperti public, private,
protected.
PERTEMUAN – 12
TIGA PILAR OOP :
Inheritance, Encapsulation dan Polymorphism
3.

Keyword extends
Digunakan keyword extends untuk mengaplikasikan konsep
pewarisan (inheritance). Keyword ini menyatakan bahwa suatu
kelas merupakan perluasan dari kelas lain yang dijadikan basi
(kelas induk).
PERTEMUAN – 12
TIGA PILAR OOP :
Inheritance, Encapsulation dan Polymorphism
4.

Keyword Super
Keyword ini digunakan oleh suatu kelas anak untuk memanggil
konstruktor atau method yang dimiliki oelh kelas induk yang
menjadi basisnya.
1.

Memanggil Konstruktor Kelas Super
Bentuk umum, sbb :
super();
super(parameter);

2.

Memanggil Method Kelas Super
Bentuk umumnya, sbb :
super.namaMethod(parameter);
13
PERTEMUAN – 13
TIGA PILAR OOP :
Inheritance, Encapsulation dan Polymorphism
5.

Encapsulation (Enkapsulasi)
Adalah cara “membungkus” data dan method yang menyusun
kelas dan menyembunyikannya dari dunia luar.
PERTEMUAN – 13
TIGA PILAR OOP :
Inheritance, Encapsulation dan Polymorphism
6.

Mengapa Enkapsulasi?
Mungkin suatu saat kita ingin mendistribusikan aplikasi kita
kepada orang lain, atau saling bertukar modul/komponen yang
telah kita buat dengan orang lain. Adakalanya kita ingin
merahasiakan sebagian atau seluruh listing program, kita
berharap orang hanya tau cara menggunakannya saja.
Keuntungan menggunakan konsep ini sbb:
1.

2.
3.

Bersifat independen, suatu modul yang terencapsulasi dengan
baik akan bersifat independen dari modul lainnya, sehingga dapat
digunakan pada bagian manapun dari program. Ia tidak akan
terikat pada bagian tertentu dari program.
Bersifat transfaran, bila melakukan modifikasi pada suatu modul,
maka perubahan tersebut akan dirasakan juga oleh bagian
program yang menggunakan modul tersebut.
Menghindari efek yang diluar perencanaan, modul yang
terencapsulasi dengan baik hanya akan berinteraksi dengan
bagian program lainya melalui variabel-variabel input/output
yang telah didefinisikan sebelumnya. Dengan demikian, akan
mereduksi kemungkinan adanya hasil imbas pemprosesan yang
diluar perencanaan semula.
PERTEMUAN – 13
TIGA PILAR OOP :
Inheritance, Encapsulation dan Polymorphism
7.

Polymorphism
Polymorphisme bermakna sesuatu yang memiliki banyak
bentuk. Dalam pemrograman istilah ini dapat diartikan sebagai
modul yang memiliki nama sama, namun memiliki behaviuor
(tingkah laku yang berbeda) sehingga listing code
implementasinya berbeda.
14
PERTEMUAN – 14
KELAS INNER, KELAS ABSTRAK, dan INTERFACE
1.

Kelas Inner
NamaFile.java
Komentar Program
Deskripsi Program dan Import
Kelas A
Badan Kelas A
Deklarasi Data
Main Method
Deklarasi dan Implementasi Method
Kelas B (Kelas Inner)
Badan Kelas B
Deklarasi Data
Deklarasi dan Implementasi Method
PERTEMUAN – 14
KELAS INNER, KELAS ABSTRAK, dan INTERFACE
2.

Menggunakan Kelas Inner
Konsep inner class sering digunakan untuk menambahkan blok
handler pada main method suatu aplikasi GUI. Blok handler
merupakan bagian program yang akan merespon event-event
yang dipicu ketika user berinteraksi dengan komponen GUI.
PERTEMUAN – 14
KELAS INNER, KELAS ABSTRAK, dan INTERFACE
3.

Kelas Abstrak
Adalah kelas yang terletak pada posisi tertinggi dari keararki
kelas dan menjadi basis untuk menurunkan kelas-kelas lainnya.
Bentuk umum, sbb :
[modifier tambahan] abstract class namaKelas {
// variabel umum dan deskripsi method tanpa implementasi
}
PERTEMUAN – 14
KELAS INNER, KELAS ABSTRAK, dan INTERFACE
4.

Interface
Adalah sekumpulan method yang hanya memuat deklarasi dan
struktur method, tanpa detail implementasinya.
Deklarasi interface, sbb :
modifier interface namaInterface{
// deklarasi konstanta
// deklarasi method
}
PERTEMUAN – 14
KELAS INNER, KELAS ABSTRAK, dan INTERFACE
5.

Apakah Interface = Kelas Abstrak
Ditinjau daribagaimana kelas abstrak dan interface terdeklarasi, memang ada
kemiripan diantara keduanya. Kelas abstract adalah kelas yang terletak pada
hierarki teratas dari bagan kelas sehingga tidak mungkin langsung diinstankan
menjadi objek. Demikian juga dengan interface, ia tidak dapat diinstankan
menjadi objek.
Meski demikian terdapat perbedaan diantara keduanya, yaitu
Abstract

Interface

Tipe Data /
Variabel

Semua

Hanya berupa konstanta.

Method

Bisa berupa
signature-nya saja
atau berupa detail
implementasi
method.

Hanya berupa signatur, programmer harus
mendefenisikan dan membuat detail
implementasi dari method. Jadi, method
yang tedapat didalam interface adalah
method abstrak.

Sintaks Method

Menggunakan
modifier abstract.

Tidak perlu menggunakan modifier
abstract.
End
Of
Slide

Contenu connexe

Similaire à Pp pbo-130802070700-phpapp02

Pertemuan 2 Konsep Dasar Pemrograman OOP
Pertemuan 2 Konsep Dasar Pemrograman OOPPertemuan 2 Konsep Dasar Pemrograman OOP
Pertemuan 2 Konsep Dasar Pemrograman OOPProdiTIPenusa
 
Analisa berorientasi objek
Analisa berorientasi objekAnalisa berorientasi objek
Analisa berorientasi objekfachrielamir
 
RPS-Pemrograman-Berorientasi-Objek.pdf
RPS-Pemrograman-Berorientasi-Objek.pdfRPS-Pemrograman-Berorientasi-Objek.pdf
RPS-Pemrograman-Berorientasi-Objek.pdfbaihaqi29
 
chapter 1 Java Introduction And PBO
chapter 1 Java Introduction And PBOchapter 1 Java Introduction And PBO
chapter 1 Java Introduction And PBOanonymous anonymous
 
Rps inf 218 sistem operasi
Rps inf 218 sistem operasiRps inf 218 sistem operasi
Rps inf 218 sistem operasiSyaiful Ahdan
 
Aplikasi Pendataan stok barang pada toko pakaian berbasis java dekstop
Aplikasi Pendataan stok barang pada toko pakaian berbasis java dekstopAplikasi Pendataan stok barang pada toko pakaian berbasis java dekstop
Aplikasi Pendataan stok barang pada toko pakaian berbasis java dekstoptiaraberlian
 
Makalah java final
Makalah java finalMakalah java final
Makalah java finaladitamayahya
 
Tugas Rekayasa Web instilah pada pemrograman java
Tugas Rekayasa Web instilah pada pemrograman javaTugas Rekayasa Web instilah pada pemrograman java
Tugas Rekayasa Web instilah pada pemrograman javaAjat Sudrajat
 
Nadya indah 6701144061_pis1405
Nadya indah 6701144061_pis1405Nadya indah 6701144061_pis1405
Nadya indah 6701144061_pis1405nadyaindah10
 
Silabus mata kuliah
Silabus mata kuliahSilabus mata kuliah
Silabus mata kuliahDeny Fatwa
 
Pengenalan pemrograman java
Pengenalan pemrograman javaPengenalan pemrograman java
Pengenalan pemrograman javaWiEn SHipiet
 
Pengenalan pemrograman java
Pengenalan pemrograman javaPengenalan pemrograman java
Pengenalan pemrograman javaWiEn SHipiet
 

Similaire à Pp pbo-130802070700-phpapp02 (20)

Os java
Os javaOs java
Os java
 
Pertemuan 2 Konsep Dasar Pemrograman OOP
Pertemuan 2 Konsep Dasar Pemrograman OOPPertemuan 2 Konsep Dasar Pemrograman OOP
Pertemuan 2 Konsep Dasar Pemrograman OOP
 
Analisa berorientasi objek
Analisa berorientasi objekAnalisa berorientasi objek
Analisa berorientasi objek
 
Kk 14
Kk 14Kk 14
Kk 14
 
RPS-Pemrograman-Berorientasi-Objek.pdf
RPS-Pemrograman-Berorientasi-Objek.pdfRPS-Pemrograman-Berorientasi-Objek.pdf
RPS-Pemrograman-Berorientasi-Objek.pdf
 
Array in Java programming
Array in Java programmingArray in Java programming
Array in Java programming
 
chapter 1 Java Introduction And PBO
chapter 1 Java Introduction And PBOchapter 1 Java Introduction And PBO
chapter 1 Java Introduction And PBO
 
Rps inf 218 sistem operasi
Rps inf 218 sistem operasiRps inf 218 sistem operasi
Rps inf 218 sistem operasi
 
Aplikasi Pendataan stok barang pada toko pakaian berbasis java dekstop
Aplikasi Pendataan stok barang pada toko pakaian berbasis java dekstopAplikasi Pendataan stok barang pada toko pakaian berbasis java dekstop
Aplikasi Pendataan stok barang pada toko pakaian berbasis java dekstop
 
RPS Aljabar Linier Dasar 2023.doc
RPS Aljabar Linier Dasar 2023.docRPS Aljabar Linier Dasar 2023.doc
RPS Aljabar Linier Dasar 2023.doc
 
Makalah java final
Makalah java finalMakalah java final
Makalah java final
 
Tugas Rekayasa Web instilah pada pemrograman java
Tugas Rekayasa Web instilah pada pemrograman javaTugas Rekayasa Web instilah pada pemrograman java
Tugas Rekayasa Web instilah pada pemrograman java
 
Threading
ThreadingThreading
Threading
 
Nadya indah 6701144061_pis1405
Nadya indah 6701144061_pis1405Nadya indah 6701144061_pis1405
Nadya indah 6701144061_pis1405
 
Sap pbo
Sap pboSap pbo
Sap pbo
 
Tugas 4 – rekayasa web
Tugas 4 – rekayasa webTugas 4 – rekayasa web
Tugas 4 – rekayasa web
 
Silabus mata kuliah
Silabus mata kuliahSilabus mata kuliah
Silabus mata kuliah
 
Pengenalan pemrograman java
Pengenalan pemrograman javaPengenalan pemrograman java
Pengenalan pemrograman java
 
Pengenalan pemrograman java
Pengenalan pemrograman javaPengenalan pemrograman java
Pengenalan pemrograman java
 
Rpp tik-ktsp-11-semester-1
Rpp tik-ktsp-11-semester-1Rpp tik-ktsp-11-semester-1
Rpp tik-ktsp-11-semester-1
 

Pp pbo-130802070700-phpapp02

  • 1. Versi : Oktober 2011 PEMROGRAMAN BERORIENTASI OBJEK M. Anif, M.Kom muhammad.anif@budi luhur.ac.id
  • 2. PENDAHULUAN 1. MATA KULIAH Nama : Pemrograman Berorientasi Objek SKS : 3 SKS Jenis : MKM (Mata kuliah Kendai Mutu) 2. ATURAN PERKULIAHAN 1. 2. 3. 4. Hadir Tepat Waktu Tidak Membuat Keributan Tidak Membuat Dosen Dan Peserta Lain Resah (Berpakaian Yang Sopan) Pengumpulan Tugas Tepat Waktu. 3. ATURAN PENILAIAN 1. 2. 3. 4. Kehadiran Tugas UTS UAS Total : 10% : 20% : 30% : 40% : 100% A : 85 s/d 100 B : 75 s/d 84.9 C : 60 s/d 74.9 D : 30 s/d 59.9 E : 0 s/d 29.9
  • 3. PERTEMUAN - 1 Pertemuan 1 Pertemuan 2 Pertemuan 3 Pertemuan 4 Pertemuan 5 Pertemuan 6 Pertemuan 7 Pertemuan 8 Pertemuan 9 Pertemuan 10 Pertemuan 11 Pertemuan 12 Pertemuan 13 Pertemuan 14 Pertemuan 15 PENGANTAR BAHASA PEMROGRAMAN JAVA 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Konsep Pemrograman Berorientasi OBJEK Sejarah Java Keunggulan Java Kompiler dan Interpreter Editor Instalasi JAVA dan Editor Konfigurasi Editor dengan JAVA. Fase Pemrograman JAVA Contoh Program Pertama dengan JAVA Penamaan Class, Method, Variabel, dan Konstanta
  • 4. PERTEMUAN - 2 Pertemuan 1 Pertemuan 2 Pertemuan 3 Pertemuan 4 Pertemuan 5 Pertemuan 6 Pertemuan 7 Pertemuan 8 Pertemuan 9 Pertemuan 10 Pertemuan 11 Pertemuan 12 Pertemuan 13 Pertemuan 14 Pertemuan 15 OBJECT ORIENTED PROGRAMMING (OOP) 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Objek, Kelas, dan Instance (Instans) Data/Variabel/Property Method/Prosedur atau Fungsi/Behaviour Hierarki Kelas Object Oriented Programming Hubungan antara Kelas, Objek, Data, dan Method Kerangka Program OOP Membuat Objek dari Sebuah Kelas Mengakses Data dan Method dari Suatu Kelas Menampilkan Hasil di Layar Monitor Membaca Data Input Dari Keyboard Keyword dalam Java
  • 5. PERTEMUAN - 3 Pertemuan 1 Pertemuan 2 Pertemuan 3 TIPE DATA, VARIABEL dan OPERATOR Pertemuan 5 1. Tipe Data 2. Variabel Pertemuan 6 3. Pertemuan 4 Pertemuan 7 Pertemuan 8 Pertemuan 9 Pertemuan 10 Pertemuan 11 Pertemuan 12 Pertemuan 13 Pertemuan 14 Pertemuan 15 Operator
  • 6. PERTEMUAN - 4 Pertemuan 1 Pertemuan 2 Pertemuan 3 STRUKTUR PEMILIHAN 1. Pemilihan Kondisi if Pertemuan 5 2. Bentuk if ….. Else Pertemuan 6 3. Bentuk if atau if ….. else Bersarang Pertemuan 7 4. Pemilihan Bentuk switch Pertemuan 4 Pertemuan 8 Pertemuan 9 Pertemuan 10 Pertemuan 11 Pertemuan 12 Pertemuan 13 Pertemuan 14 Pertemuan 15
  • 7. PERTEMUAN - 5 Pertemuan 1 Pertemuan 2 Pertemuan 3 STRUKTUR PENGULANGAN 1. Pengulangan for Pertemuan 5 2. Pengulangan while Pertemuan 6 3. Pengulangan do ….. While Pertemuan 7 4. Perintah break dan continue Pertemuan 4 Pertemuan 8 Pertemuan 9 Pertemuan 10 Pertemuan 11 Pertemuan 12 Pertemuan 13 Pertemuan 14 Pertemuan 15
  • 8. PERTEMUAN - 6 Pertemuan 1 Pertemuan 2 Pertemuan 3 Pertemuan 4 Pertemuan 5 Pertemuan 6 Pertemuan 7 Pertemuan 8 Pertemuan 9 Pertemuan 10 Pertemuan 11 Pertemuan 12 Pertemuan 13 Pertemuan 14 Pertemuan 15 STRING, STRINGBUFFER dan CHARACTER 1. 2. 3. 4. 3. 6. Kelas String Operasi-Operasi pada Kelas String Kelas StringBuffer Operasi-Operasi pada Kelas StringBuffer Kelas Character Operasi-Operasi pada Kelas Character
  • 9. PERTEMUAN - 7 Pertemuan 1 Pertemuan 2 Pertemuan 3 Pertemuan 4 Pertemuan 5 Pertemuan 6 Pertemuan 7 Pertemuan 8 Pertemuan 9 Pertemuan 10 Pertemuan 11 Pertemuan 12 Pertemuan 13 Pertemuan 14 Pertemuan 15 ARRAY 1. Defenisi Array 2. 3. 4. 5. 6. Mendeklarasikan Array Contoh Deklarasi dan Inisialisasi Array Melewatkan Array ke Method Array Multidimensi Sorting dan Searching Elemen Array
  • 10. PERTEMUAN - 8 Pertemuan 1 Pertemuan 2 Pertemuan 3 Pertemuan 4 Pertemuan 5 Pertemuan 6 UTS 1. 2. Pertemuan 7 Pertemuan 8 Pertemuan 9 Pertemuan 10 Pertemuan 11 Pertemuan 12 Pertemuan 13 Pertemuan 14 Pertemuan 15 3. Bentuk Soal UTS (Pilihan Ganda dan Essay) Soal di buat berdasarkan materi setiap pertemuan (Pertemuan 1 s/d 7) Aturan UTS a. Tidak bekerjasama sesama peserta ujian b. Tidak melakukan keributan selama ujian berlangsung.
  • 11. PERTEMUAN - 9 Pertemuan 1 Pertemuan 2 Pertemuan 3 Pertemuan 4 Pertemuan 5 Pertemuan 6 Pertemuan 7 Pertemuan 8 Pertemuan 9 Pertemuan 10 Pertemuan 11 Pertemuan 12 Pertemuan 13 Pertemuan 14 Pertemuan 15 KELAS dan METHOD 1. 2. 3. 4. 5. 6. 7. 8. Kelas dan Method Standar dan UDF Deklarasi Kelas Modifier pada kelas Scope / Blok Mengakses Anggota Scope Static dan Instance Operator new Keyword this
  • 12. PERTEMUAN - 10 Pertemuan 1 Pertemuan 2 Pertemuan 3 Pertemuan 4 Pertemuan 5 Pertemuan 6 Pertemuan 7 Pertemuan 8 Pertemuan 9 Pertemuan 10 Pertemuan 11 Pertemuan 12 Pertemuan 13 Pertemuan 14 Pertemuan 15 KELAS dan METHOD 9. 10. 11. 12. 13. 14. 15. Deklarasi Method Memanggil Method Melewatkan Argument ke Method Overloading Method Method Konstruktor Method Finalizer Method Main
  • 13. PERTEMUAN - 11 Pertemuan 1 Pertemuan 2 Pertemuan 3 Pertemuan 4 Pertemuan 5 Pertemuan 6 Pertemuan 7 Pertemuan 8 Pertemuan 9 Pertemuan 10 Pertemuan 11 Pertemuan 12 Pertemuan 13 Pertemuan 14 Pertemuan 15 PACKAGE dan MODIFIER 1. 2. 3. 4. Package Membuat Package Memanggil Kelas dari Suatu Package Modifier
  • 14. PERTEMUAN - 12 Pertemuan 1 Pertemuan 2 Pertemuan 3 Pertemuan 4 Pertemuan 5 Pertemuan 6 Pertemuan 7 Pertemuan 8 Pertemuan 9 Pertemuan 10 Pertemuan 11 Pertemuan 12 Pertemuan 13 Pertemuan 14 Pertemuan 15 TIGA PILAR OOP (Inheritance, Encapsulation dan Polymorphism) 1. 2. 3. 4. Inheritace (Pewarisan) ? Overriding Data dan Method Keyword extends Keyword Super
  • 15. PERTEMUAN - 13 Pertemuan 1 Pertemuan 2 Pertemuan 3 TIGA PILAR OOP (Inheritance, Encapsulation dan Polymorphism) Pertemuan 4 Pertemuan 5 Pertemuan 6 Pertemuan 7 Pertemuan 8 Pertemuan 9 Pertemuan 10 Pertemuan 11 Pertemuan 12 Pertemuan 13 Pertemuan 14 Pertemuan 15 5. 6. 7. Encapsulation (Enkapsulasi) Mengapa Enkapsulasi? Polymorphism
  • 16. PERTEMUAN - 14 Pertemuan 1 Pertemuan 2 Pertemuan 3 Pertemuan 4 Pertemuan 5 Pertemuan 6 Pertemuan 7 Pertemuan 8 Pertemuan 9 Pertemuan 10 Pertemuan 11 Pertemuan 12 Pertemuan 13 Pertemuan 14 Pertemuan 15 KELAS INNER, KELAS ABSTRAK, dan INTERFACE 1. 2. 3. 4. 5. Kelas Inner Menggunakan Kelas Inner Kelas Abstrak Interface Apakah Interface = Kelas Abstrak
  • 17. PERTEMUAN - 15 Pertemuan 1 Pertemuan 2 Pertemuan 3 Pertemuan 4 REVIEW PERSIAPAN UAS Pertemuan 5 Pertemuan 6 Pertemuan 7 Pertemuan 8 Pertemuan 9 Pertemuan 10 Pertemuan 11 Pertemuan 12 Pertemuan 13 Pertemuan 14 Pertemuan 15 1. 2. Review Materi Pertemuan 1 s/d 14 Sifat Review : Tanya Jawab atau Pembahasan Soal-soal.
  • 19. 1
  • 20. PERTEMUAN – 1 PENGANTAR BAHASA PEMROGRAMAN JAVA 1. Konsep Pemrograman Berorientasi OBJEK Objek adalah kesatuan Entitas yang memiliki sifat dan tingkah laku. Dalam kehidupan sehari, objek adalah benda, baik benda berwujud nyata maupun benda tidak berwujud nyata atau konsep. Contoh benda berwujud nyata : Manusia, mobil, komputer, dll Contoh benda yang tidak nyata atau konsep : Tabungan bank, sistem antrian, sistem internet bangking Objek Oriented Programming (OOP) Konsep yang membagi program menjadi objek-objek yang saling berinteraksi satu sama lainnya. Keuntungan OOP Alami (Natural), Dapat dikendalikan(Reliable), Dapat digunakan kembali (Reusable), Mudah untuk dipelihara (Maintainable), Dapat diperluas (Extendable) dan Efisiensi waktu.
  • 21. PERTEMUAN – 1 PENGANTAR BAHASA PEMROGRAMAN JAVA 2. Sejarah Java 1991, Sun Micro-system memulai green project, yaitu penelitian untuk membuat bahasa yang akan digunakan pada chipchip embendded untuk device intelligent consumer electronic. Bahasa itu haruslah bersifat multi platform, yang tidak tergantung pada vendor yang membuat chip tersebut. Pemberian nama dimulai dari Star-7, kemudian Oak dan belakangan dikenal dengan JAVA. Awalnya ditujukan untuk pemrograman device kecil, sehingga java memiliki karakteristik berukuran kecil, efisien, dan portable untuk berbagai hardware. Karena project ini sempat terancam terhenti karena dalam pengembangannya device ini belum memiliki pasar yang kuat. Kemudian berkembang menjadi pemrograman internet, desktop, mobile dan enterprice atau dikelompokan kedalam J2SE, J2ME, J2SE.
  • 22. PERTEMUAN – 1 PENGANTAR BAHASA PEMROGRAMAN JAVA 3. Keunggulan Java Beberapa keunggulan bila dibandingkan dengan bahasa pemrograman lainnya adalah : 1. Java bersifat sederhana dan relatif mudah Semudah c, seampuh c++, mengurangi kompleksitas yang dimiliki c++, sehingga pemrograman cenderung lebih mudah. 2. Java berorientasi pada objek Karena java membagi program menjadi objek-objek, kemudian memodelkan sifat dan tingkah laku masing-masing. Menetukan dan mengatur interaksi antara objek yang satu dengan lainnya. 3. Java bersifat terdistribusi Sudah berkembang ke pemrograman mulai dari client, server, database server, web server, proxy server, dan sebagainya. 4. Java bersifat multiplatform Dapat berjalan di banyak platform sistem operasi. 5. Java bersifat multiThread Dapat mengerjakan beberapa proses dalam waktu yang hampir bersamaan.
  • 23. PERTEMUAN – 1 PENGANTAR BAHASA PEMROGRAMAN JAVA 4. Kompiler dan Interpreter Banyak tersedia kompiler dan interpreter dari berbagai vendor diantaranya : 1. J2SDK (Java 2 Software Development Kit) : seperangkat tool yang berisi kompiler dan interpreter java yang direlease oleh Sun dan bersifat free. (download pada situs http://www.sun.com, yang kita gunakan dikelas ini. 2. JBuilder : Development software java yang dibuat oleh Borland Inc. bekerja dilingkungan windows dan memiliki tampilan GUI. 3. Visual J : Produk Microsoft, sebuah compiler sekaligus interpreter, berbasis GUI. Selain ketiga kompiler dan interpreter diatas, masih terdapat beberapa development tool yang dapat digunakan untuk membuat program java, yaitu : Symantec Visual Café, IBM Visual Age for Java, dan Sun Fort for Java.
  • 24. PERTEMUAN – 1 PENGANTAR BAHASA PEMROGRAMAN JAVA 5. Editor Editor, merupakan sebuah sarana bagi pengembang aplikasi untuk menuliskan program yang mereka buat, editor yang kita gunakan merupakan editor yang berbasis teks. Baik editor yang sudah IDE maupun tidak, diantaranya : • • • • • • • • Edit atau EditPlus NotePad WordPad JCreator JBuilder VisualJ NetBeans … Editor Yang Kita Gunakan di Kelas ini Banyak lagi editor yang dapat digunakan untuk pengembangan aplikasi dengan bahasa pemrograman java ini.
  • 25. PERTEMUAN – 1 PENGANTAR BAHASA PEMROGRAMAN JAVA 6. Instalasi JAVA dan Editor 1. Instalasi J2SDK (Java 2 Software Development Kit) : setelah di download pada situs http://www.sun.com, versi manapun . Contoh : jdk-1_5_0_04-windows-i586-p.exe, lakukan dengan double click pada file tersebut, ikuti petunjuk dan tekan tombol next hingga selesai. 2. Editor JCreator : download JCreator Pro 3.0, serta nomor serinya kemudian . Lakukan instalasi dengan mengikuti petunjuk yang ada, tekan tombol next hingga selesai. Setelah kedua software terinstall, lakukan konfigurasi editor tersebut dengan Java, sehingga kedua software tersebut terhubung saat dilakukan kompilasi.
  • 26. PERTEMUAN – 1 PENGANTAR BAHASA PEMROGRAMAN JAVA 7. Konfigurasi Editor dengan JAVA. Langkah-langkah konfigurasi Editor JCreator dengan J2SDK adalah sbb : 1. 2. 3. 4. 5. 6. Pilih menu configure pada editor Jcreator Kemudian pilih menu option Click JDK Profile Jika Profile belum tersedia, pilih tombol new Pilih folder j2sdk berada, Contoh : cari pada folder berikut : C:Program FilesJavajdk1.6.0_22 Kemudian tekan tombol OK sampai selesai.
  • 27. PERTEMUAN – 1 PENGANTAR BAHASA PEMROGRAMAN JAVA 8. Fase Pemrograman JAVA
  • 28. PERTEMUAN – 1 PENGANTAR BAHASA PEMROGRAMAN JAVA 9. Contoh Program Pertama dengan JAVA 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. /** * My first java program */ public class Hello { public static void main(String[] args) { //Menampilkan kata "Hello world" dilayar System.out.println("Hello world!"); } }
  • 29. PERTEMUAN – 1 PENGANTAR BAHASA PEMROGRAMAN JAVA 10. Penamaan Class, Method, Variabel, dan Konstanta 1. 2. 3. 4. 5. Aturan Penamaan : Case-sensitive, Tidak menggunakan reserved word atau Keyword JAVA, Tidak menggunakan simbol-simbol operator. Dimulai dengan huruf abjad (a, b, c, ….), atau underscore (_), tanda dolar ( $ ), Tidak dibolehkan diawali dengan bilangan (0, 1, 2, …).
  • 30. 2
  • 31. PERTEMUAN – 2 OBJECT ORIENTED PROGRAMMING (OOP) 1. Objek, Kelas, dan Instance (Instans) a. Objek adalah kesatuan entitas (benda), baik yang berwujud nyata maupun yang tidak nyata seperti sistem atau konsep yang memiliki sifat karakteristik dan fungsi. Contoh : kue, spidol, mobil, telepon, dan lain-lain b. Kelas adalah pemodelan dari objek yang berisi informasi (aturan) tentang sifat karakteristik (data) dan tingkah laku (metode) yang dimiliki oleh objek tersebut. Contoh : resep kue, material spidol, dan lain-lain c. Instance adalah perwujudan, dimana dalam istilah pemrograman, objek merupakan instans (perwujudan) dari suatu kelas. Instansiasi adalah : proses perwujudan kelas menjadi objek. Biasanya didalam pemrograman java menggunakan perintah new.
  • 32. PERTEMUAN – 2 OBJECT ORIENTED PROGRAMMING (OOP) 2. Data/Variabel/Property Data adalah sifat karakteristik atau kondisi yang dimiliki oleh suatu objek, istilah data/variabel/property memiliki pengertian yang sama, dan dapat digunakan atau dianalogikan secara bergantian untuk lebih memperjelas suatu konsep. Atau beberapa buku menggunakan istilah lain seperti atribut. 3. Method/Prosedur atau Fungsi/Behaviour Method adalah adalah Prosedur atau fungsi yang dimiliki oleh suatu objek. Karena pada dasarnya merupakan prosedur/fungsi, maka method ini akan mengolah atau mengubah data/variabel yang ada didalamnya sesuai dengan operasi yang telah ditentukan. Dari proses diatas akan terjadi 3 kemungkinan, yaitu : a. Mengembalikan suatu nilai akhir. b. Mengembalikan nilai yang bersifat sementara untuk kemudian diumpankan me method lain. c. Tidak mengembalikan nilai sama sekali.
  • 33. PERTEMUAN – 2 OBJECT ORIENTED PROGRAMMING (OOP) 4. Hierarki Kelas Suatu kelas dapat dibuat sebagai kelas yang benar-benar baru atau dapat dibentuk dari kelas yang sudah ada. Proses pembentukan kelas baru dari sebuah kelas yang sudah ada disebut sebagai pewarisan (inheritance). Kelas yang menjadi basis bagi pembentukan kelas lainnya disebut kelas super. Sedangkan kelas yang terbentuk dinamakan kelas sub. Proses pewarisan inilah yang akan membentuk hirarki kelas. Kelas yang terletak pada puncak hirarki disebut sebagai kelas abstrak. Dimana sifat dari kelas abstrak hanya berisi deskripsi data dan method yang sangat umum. Sehingga tidak mungkin diimplementasikan secara terperinci. Oleh karena itu kelas abstrak ini tidak dapat langsung di instansiasi menjadi objek.
  • 34. PERTEMUAN – 2 OBJECT ORIENTED PROGRAMMING (OOP) 5. Object Oriented Programming OOP adalah pemrograman yang difokuskan pada penciptaan kelas yang merupakan abstraksi/blueprint/prototype dari suatu objek. Kelas ini harus mengandung sifat (data) dan tingkah laku (method) umum yang dimiliki oleh objek-objek yang kelak akan dibuat (diinstansiasi). Data dan method merupakan anggota (member) dari suatu kelas.
  • 35. PERTEMUAN – 2 OBJECT ORIENTED PROGRAMMING (OOP) 6. Hubungan antara Kelas, Objek, Data, dan Method Dalam konsep OOP, objek diciptakan atau diinstansiasi dari kelas dengan mengisikan nilai parameter data dan memanfaatkan method yang telah dideskripsikan oleh kelas itu. Dengan demikian kelas juga merupakan template/prototype dari suatu objek. Objke-objek yang berasal dari kelas yang sama akan memiliki tipe data yang sama (meskipun dengan nilai yang berbeda) dan fungsi yang sama. Objek dikatakan sebagai instans dari suatu kelas.
  • 36. PERTEMUAN – 2 OBJECT ORIENTED PROGRAMMING (OOP) 7. Kerangka Program OOP NamaFile.java Komentar Program Deskripsi Program dan Import Kelas A Badan Kelas Deklarasi Data Main Method Deklarasi dan Implementasi Method Kelas B Badan Kelas Deklarasi Data Deklarasi dan Implementasi Method
  • 37. PERTEMUAN – 2 OBJECT ORIENTED PROGRAMMING (OOP) 8. Membuat Objek dari Sebuah Kelas Untuk membuat sebuah objek dibutuhkan Operator new. Adapun bentuk umumnya sebagai berikut : namaKelas namaObjek = new namaKelas(); Contoh : Mahasiswa objMahasiswa = new Mahasiswa();
  • 38. PERTEMUAN – 2 OBJECT ORIENTED PROGRAMMING (OOP) 9. Mengakses Data dan Method dari Suatu Kelas Untuk mengakses data dan method pada sebuah objek dapat dilakukan dengan cara sebagai berikut : namaObjek.namaVariabel; namaObjek.namaMethod(); Yang perlu diperhatikan dalam mengakses data dan method adalah bagaimana mengatur tingkat aksesibilitas (accesibility level) kedua unsur tersebut terhadap kelas yang mengakses, apakah bersifat default, public, private, atau protected. Contoh : objMahasiswa.NIM; objMahasiswa.bayarKuliah();
  • 39. PERTEMUAN – 2 OBJECT ORIENTED PROGRAMMING (OOP) 10. Menampilkan Hasil di Layar Monitor Untuk menampilkan hasil ke layar monitor dapat dilakukan dengan beberapa perintah, diantaranya : a. Dilingkungan Console menggunakan method print() atau println() dalam kelas System dalam struktur package java.lang. package ini merupakan default package bagi semua aplikasi java, sehingga tidak perlu di import kedalam program. b. Menggunakan komponen GUI menggunakan kelas JOptionPane yang merupakan komponen dari package javax.swing. Baik sebagai output maupun sebagai input (showMesageDialog() atau showInputDialog()).
  • 40. PERTEMUAN – 2 OBJECT ORIENTED PROGRAMMING (OOP) 11. Membaca Data Input Dari Keyboard Proses pembacaan data input yang diketikkan oleh user melalui keyboard dilihat dengan dua cara, yaitu : a. Dalam lingkungan Console (DOS) menggunakan kelas BufferedReader(), InputStreamReader(), dimana kelas diinstansiasikan menjadi sebuah objek. Dan kemudian objek yang terbentuk memiliki sebuah metode readLine() yang digunakan untuk menangkap inputan dari keyboard. b. Dalam lingkungan GUI menggunakan kelas/komponen method showInputDialog(). InputDariKeyboard1.java JOptionPane dengan InputDariKeyboard2.java
  • 41. PERTEMUAN – 2 OBJECT ORIENTED PROGRAMMING (OOP) 12. Keyword dalam Java
  • 42. 3
  • 43. PERTEMUAN – 3 TIPE DATA, VARIABEL DAN OPERATOR 1. Tipe Data a. Primitif Jenis-jenis nya sbb : b. Reference Tipe data berupa class, dimana class ini memiliki berbagai fungsi yang bisa digunakan untuk kebutuhan pemrograman. Jenis-jenis nya antara lain : Byte, Short, Integer, Long, Float, Double, Boolean, Character, String dan lain sebagainya.
  • 44. PERTEMUAN – 3 TIPE DATA, VARIABEL DAN OPERATOR 2. Variabel Variabel merupakan sebuah tempat dimemori yang dialokasikan untuk menampung data yang memiliki sifat sementara, yang digunakan hanya pada saat program masih berjalan dan dihilangkan/dihapus dari memori setelah program berakhir. Format Deklarasi : TipeData namaVariabel [= inisialisasiNilaiAwal]; Contoh : int nilaiAbsen; int nilaiTugas, nilaiUTS, nilaiUAS; String namaDepan = “Tariq” String namaTengah=“Athar”, namaBelakang=“Kisan”; char nilaiHuruf=‘A’; Link ke program : Variabel1.java Variabel2.java Variabel3.java Variabel4.java
  • 45. PERTEMUAN – 3 TIPE DATA, VARIABEL DAN OPERATOR 3. OPERATOR 1. Operator Aritmatika Memiliki beberapa jenis simbol yaitu : *, /, %, +, 2. Operator Increment dan Decrement Memiliki beberapa jenis simbol yaitu : ++, -- Operator1.java Operator2.java 3. Operator Relasi Memiliki beberapa jenis simbol yaitu : <, <=, >, >=, ==, != Operator3.java 4. Operator Logika Memiliki beberapa jenis simbol yaitu : &, &&, |, ||, ^, ! Operator4.java 5. Operator Kondisi(?:) atau Ternary Memiliki bentuk sbb : exp1?exp2:exp3 Operator5.java
  • 46. 4
  • 47. PERTEMUAN – 4 STRUKTUR PEMILIHAN 1. Pemilihan Kondisi if Struktur if menentukan sebuah statement (atau blok statement) yang akan dieksekusi jika dan hanya jika persyaratan boolean (boolean statement) bernilai true. Bentuk if dengan 1 baris statement, if( boolean_expression ) statement; StrukturPemilihan1.java Bentuk if lebih dari 1 baris statement, StrukturPemilihan2.java if( boolean_expression ){ statement1; statement2; }
  • 48. PERTEMUAN – 4 STRUKTUR PEMILIHAN 2. Bentu if - else Struktu if-else digunakan apabila kita ingin mengeksekusi sebuah statement dengan kondisi true dan statement yang lain dengan kondisi false. Bentuk dari if-else, if( boolean_expression ) statement; else statement; StrukturPemilihan3.java Untuk Lebih dari 1 baris, StrukturPemilihan4.java if( boolean_expression ){ statement1; …………………; } else{ statement1; …………………; }
  • 49. PERTEMUAN – 4 STRUKTUR PEMILIHAN 3. Bentuk if atau if ….. else Bersarang Statement pada bagian else dari blok if-else dapat menjadi struktur if else yang lain. Struktur seperti ini mengijinkan kita untuk membuat seleksi persyaratan yang lebih kompleks. Bentuk if-else if, if( boolean_expression1 ) statement1; else if( boolean_expression2 ) statement2; else statement3; StrukturPemilihan5.java StrukturPemilihan6.java StrukturPemilihan7.java
  • 50. PERTEMUAN – 4 STRUKTUR PEMILIHAN 4. Bentuk switch … case Cara lain untuk membuat percabangan adalah dengan menggunakan kata kunci switch. Dengan menggunakan switch kita bisa melakukan percabangan dengan persyaratan yang beragam. Bentuk switch, switch( switch_expression ){ case case_selection1: statement1; //block 1 break; case case_selection2: statement1; //block 2 break; default: statement1; //block n break; } StrukturPemilihan8.java
  • 51. PERTEMUAN – 4 STRUKTUR PEMILIHAN 4. Bentuk switch … case Cara lain untuk membuat percabangan adalah dengan menggunakan kata kunci switch. Dengan menggunakan switch kita bisa melakukan percabangan dengan persyaratan yang beragam. Bentuk switch, switch( switch_expression ){ case case_selection1: statement1; //block 1 break; case case_selection2: statement1; //block 2 break; default: statement1; //block n break; } StrukturPemilihan8.java
  • 52. 5
  • 53. PERTEMUAN – 5 STRUKTUR PENGULANGAN 1. Pengulangan for Seperti pada struktur pengulangan sebelumnya yaitu melakukan pengulangan eksekusi code beberapa kali. Bentuk dari for loop, for (InitExpression; LoopCondition;StepExpression){ statement1; statement2; ... } StrukturPengulangan1.java Keterangan , 1. InitExpression – inisialisasi dari variabel loop. 2. LoopCondition - membandingkan variabel loop pada nilai batas. 3. StepExpression - melakukan update pada variabel loop.
  • 54. PERTEMUAN – 5 STRUKTUR PENGULANGAN 2. Pengulangan While Statement while loop adalah statement atau blok statement yang diulang-ulang sampai mencapai kondisi yang cocok. Bentuk dari while, while( boolean_expression ){ statement1; statement2; ... } StrukturPengulangan2.java
  • 55. PERTEMUAN – 5 STRUKTUR PENGULANGAN 3. Pengulangan do … while Do-while loop mirip dengan while-loop. Statement di dalam do-while loop akan dieksekusi beberapa kali selama kondisi bernilai true. Perbedaan antara while dan do-while loop adalah dimana statement di dalam do-while loop dieksekusi sedikitnya satu kali. Bentuk dari do-while, do{ statement1; statement2; ... }while( boolean_expression ); StrukturPengulangan3.java
  • 56. PERTEMUAN – 5 STRUKTUR PENGULANGAN 4. Perintah break dan continue break adalah perintah yang digunakan untuk menghentikan kegiatan pengulangan break label dengan menambahkan label pada awal for terluar dapat menjadikan perintah break … label menghentikan semua pengulangan. Continue adalah perintah yang digunakan untuk melewati kegiatan yang ada dibawah perintah tersebut dan melanjutkan pengulangan StrukturPengulangan4.java
  • 57. 6
  • 58. PERTEMUAN – 6 STRING, STRING BUFFER dan CHARACTER 1. Kelas String Model ini mengadopsi konsep Array-of-char dari bahasa C/C++. Dimana Array-of-char : memandang data string sebagai sederetan karakter yang membentuk array, jumlah element array sudah pasti dan tidak mungkin berubah. Sebuah kelas yang digunakan untuk mengoperasikan data String, deklarasi kelas ini sebagai berikut : 1. Inisialisasi 1 : String abc = new String(“Contoh inisialisasi 1”); 2. Inisialisasi 2 : String abc; abc = new String(“Contoh inisialisasi 2”); 3. Inisialisasi 3 : String abc; abc = “Contoh inisialisasi 3”;
  • 59. PERTEMUAN – 6 STRING, STRING BUFFER dan CHARACTER 2. Operasi – Operasi pada Kelas Sring Berikut beberapa metode yang disediakan oleh class String untuk memanipulasi data string (metode lengkap dapat dilihat di Java.sun.com) : 1. 2. 3. 4. Panjang data string Penggabungan data string Pembandingan data string Pengantian data string 5. Kapitalisasi data string 6. Sub-string 7. Operasi charakter 8. Konversi : namaObjek.length(); : namaObjek.concat(String); : namaObjek.equal (String); : namaObjek.replace(char, char); namaObjek.replaceAll(String, String); namaObjek.replaceFirst(String, String); : namaObjek.toLowerCase(); namaObjek.toUpperCase(); : namaObjek.substring(int); namaObjek.substring(int, int); : namaObjek.charAt(int); namaObjek.toCharArray(); : String.valueOf(variabel): namaObjek.toString(): String1.java
  • 60. PERTEMUAN – 6 STRING, STRING BUFFER dan CHARACTER 3. Kelas StringBuffer Model kedua ini mengadopsi konsep pointer-of-char dari bahasa C/C++. Dimana tipe data pointer adalah implementasi dari dynamic-allocation yang mengijinkan penggunaan variabel dalam jumlah besar jika diperlukan dan penghapusan variabel tersebut jika sudah tidak diperlukan lagi pada saat run-time. Fleksibelitas ini yang menyebabkan suatu data string bisa mengalami perubahan ukuran: bertambah atau berkurang. Berbeda dengan class string, bahwa data StringBuffer hanya bisa diinisialisasi melalui construktornya yaitu dengan menggunakan perintah new. Sbb: StringBuffer namaObjek = new StringBuffer(string);
  • 61. PERTEMUAN – 6 STRING, STRING BUFFER dan CHARACTER 4. Operasi – Operasi pada Kelas SringBuffer Berikut beberapa metode yang disediakan oleh class StringBuffer untuk memanipulasi data stringBuffer, dimana tidak berbeda jauh dengan Class String. 1. 2. 3. 4. 5. 6. 7. 8. 9. Panjang data StringBuffer : namaObjek.length(); namaObjek.setLength(int); Penambahan data StringBuffer : namaObjek.append(String); namaObjek.insert(int, String); Penghapusan data StringBuffer : namaObjek.delete(int, int); Penggantian data StringBuffer : namaObjek.replace(int, int, String); Pembandingan data StringBuffer : namaObjek.equal (String); Pembalikan data StringBuffer : namaObjek.reverse(); Sub-string : namaObjek.substring(int); namaObjek.substring(int,int); namaObjek.indexOf(String). Operasi karakter : namaObjek.charAt(int); namaObjek.deleteCharAt(int); namaObjek.setCharAt(int, char); Konversi : namaObjek.toString(): StringBuffer1.java
  • 62. PERTEMUAN – 6 STRING, STRING BUFFER dan CHARACTER 5. Kelas Character Kelas Character dibuat untuk meningkatkan kemampuan programmer dalam menangani tipe data karakter. Berbagai metode disiapkan untuk memanipulasi data karakter. Mulai dari memeriksa jenis karakter sampai dengan melakukan konversi tipe data karakter menjadi data lain. Kelas Character menyediakan satu constructor untuk menginisialisasi data karakter, yaitu : constructor dengan parameter data bertipe karakter. Deklarasi Kelas Character sbb : Character namaObjek = new Character(char);
  • 63. PERTEMUAN – 6 STRING, STRING BUFFER dan CHARACTER 6. Operasi – Operasi pada Kelas Character Beberapa metode akan dibahas terutama untuk memeriksa jenis karakter saat ini, diantaranya sbb: 1. 2. 3. 4. 5. 6. 7. 8. 9. Berjenis Bilangan ? Berjenis Huruf ? Berjenis Huruf/Bilangan ? Berjenis Spasi ? Berjenis Huruf Kecil ? Berjenis Huruf Besar ? Konversi ke Huruf Kecil ? Konversi ke Huruf Besar ? Konversi ke String ? : : : : : : : : : Character.isDigit(char)); Character.isLetter(char)); Character.isLetterOrDigit(char)); Character.isWhiteSpace(char)); Character.isLowerLetter(char)); Character.isUpperLetter(char)); Character.toLowerCase(char)); Character.toUpperCase(char)); Character.toString(char)); namaObjek.toString());
  • 64. 7
  • 65. PERTEMUAN – 7 ARRAY 1. Defenisi Array Adalah sebuah solusi untuk mendeklarasikan sejumlah Variabel secara tepat. Pemakaian Variabel Array akan menghemat waktu penyebutan nama Variabel. Variabel Array adalah sejumlah Variabel dengan nama yang sama. illustrasi Array : Catt: No. Indeks/No. Element di awali angka 0 (nol) dan diakhiri n-1 dimana n= panjang array.
  • 66. PERTEMUAN – 7 ARRAY 2. Mendeklarasikan Array Beberapa cara mendeklarasikan sebua variabel array, yaitu : 1. Deklarasi TypeData [ ] namaArray ; 2. Inisialisasi namaArray = new TypeData [jml elemen]; 3. Deklarasi dan Inisialisasi TypeData [ ] namaArray = new TypeData [jml elemen]
  • 67. PERTEMUAN – 7 ARRAY 3. Contoh Deklarasi dan Inisialisasi Array 1. Tanpa menyebutkan berapa jumlah elemen yang diperlukan. Int [ ] angka; Angka =new Int [5]; 2. VariabelArray1D_01 .java VariabelArray1D_02 .java Dengan menyebutkan jumlah elemen yang diperlukan Int [ ] angka = new Int [5]; VariabelArray1D_03 .java Untuk kedua cara di atas pengisian data dilakukan secara manual yaitu dengan diinput satu persatu. 3. Dengan cara otomatis Jumlah elemen secara tegas tidak diperlihatkan tetap dapat dilihat dari data yang didefinisikan secara terurut. int angka = {5,3,7,1,10}; VariabelArray1D_04 .java
  • 68. PERTEMUAN – 7 ARRAY 4. Melewatkan Array ke Method Java menggunakan dua jenis mekanisma untuk melewatkan argumen ke suatu metode. Yaitu : 1. Untuk variabel ber tipedata primitif, yang akan dilewatkan ke metode adalah nilai aktualnya. Perubahan nilai variabel pada saat mengoperasikannya didalam metode tidak akan mengubah nilai variabel tersebut. Mekanisme ini disebut Pass by Value. 2. Pada variabel array, nilai yang dilewatkan pada hakekatnya adalah nilai alamat referensi memori yang menunjuk array tersebut, bukan nilai aktual masing-masing elemen nya, sehingga bila alamat referensi memori ini berubah pada saat pengoperasiannya di dalam metode, maka akan mengubah nilai variabel array asalnya. Mekanisme ini disebut Pass by Reference.
  • 69. PERTEMUAN – 7 ARRAY 5. Array Multidimensi Selain berupa sederetan variabel satu dimensi, kita dapat pula membuat array yang berukuran lebih dari satu dimensi atau disebut array multi-dimensi. Pada bagian ini kita mencoba mencontohkan bentuk array dua dimensi sbb: TypeData [ ][] nmArray [= new TypeData [jml baris][jml kolom] VariabelArray2D_01 .java VariabelArray2D_02 .java Contoh : Membuat matrik 2 X 3 yang berisi data mahasiswa, sbb: Int [][] matriks = { {“9111500060”, “M. Anif”, “A”}, {“9111500061”, “Munsi Liano”, “B”}, } VariabelArray2D_03 .java VariabelArray2D_04 .java
  • 70. PERTEMUAN – 7 ARRAY 6. Sorting dan Searching Elemen Array Sorting : Algoritma sorting pengurutan sederetan elemn dapat dilihat sbb : 1. Cari bilangan yang terbesar dan memeriksa posisi bilangan tersebut (apakah sudah terletak dipaling kanan). 2. Bila belum, letakkan bilangan terbesar tersebut pada posisi paling kanan. Proses ini sekali gus saling bertukar posisi. 3. Selanjutnya, mencari lagi bilangan terbesar dari deretan sisa dan letakkan bilangan tersebut dibelakang bilangan terbesar hasil dari proses pertama. 4. Lakukan proses diatas sampai selesai. Searching : algoritma searching dibagi menjadi 2 bentuk 1. Pencarian Linier, yaitu : mencari elemen berdasarkan suatu kunci yang berupa bilangan atau karakter yang diinginkan. Proses berlangsung dengan mencocokkan tiap-tiap elemen dengan kunci tersebut. Bila ditemukan, maka metode akan mengembalikan indeks dari elemen itu, sedangkan bila tidak metode akan mengembalikan nilai integer -1. 2. Pencarian Biner, yaitu : perbaikan dari konsep sebelumnya (Pencarian Linier), karena lebih efisien. Dengan algoritma ini kita tidak perlu memeriksa semua elemen sehingga menghemat waktu pencarian. Adapun caranya : 1). urutkan deretan bilangan tersebut terlebih dahulu, sesuai dengan keinginan baik terbesar maupun terkecil. 2). Selanjutnya ambil nilai elemen yang terletak pada posisi tengah urutan array tsb. Sehingga nilai tengah ini membagi array menjadi 2 segmen. 3). Bandingkan nilai elemn yang dicari dengan nilai tengah ini, jika sama berarti pencarian selesai, jika tidak maka kegiatan dilakukan dengan membagi lagi menjadi dua bagian dari segmen yang memungkinkan untuk ditemukan. Dan seterusnya proses diulangi hingga selesai.
  • 71. 9
  • 72. PERTEMUAN – 9 KELAS dan METHOD 1. Kelas dan Method a. Kelas dan Method Standar Merupakan predefined class/method, yaitu kelas/method yang telah disediakan oleh java dan menjadi reference library. Banyak kelas standard maupun method yang dapat digunakan untuk aplikasi yang spesifik. Kumpulan class/method ini sering dikenal dengan istilah API (application Programming Interface). b. Kelas dan Method yang didefinisikan Sendiri (UDF) Selain kelas/method standar, terkadang kita juga perlu memodelkan suatu objek kedalam kelas dan mendefenisikan data serta method yang dimilikinya. Bila aplikasi tersebut besar dan kompleks, kita dapat membaginya menjadi beberapa package yang didalamnya terdapat beberapa kelas.
  • 73. PERTEMUAN – 9 KELAS dan METHOD 2. Deklarasi Kelas a. Deklarasi kelas yang sederhana class namaKelas{ // body } b. Deklarasi kelas secara UMUM [modifier 1] class namaKelas [modifier 2] { // body }
  • 74. PERTEMUAN – 9 KELAS dan METHOD 3. Modifier pada Kelas a. Modifier 1 public : dapat diakses dari kelas lain, baik dalam package yang sama maupun berbeda. private : tidak dapat diakses sama sekali dari kelas lain, baik dari package yang sama maupun berbeda. protected : membatasi akses kelas yang dilakukan oleh subkelas turunannya dan kelas lain yang terletak dalam package yang sama. abstract : kelas tersebut tidak dapat diinstankan langsung menjadi Objek. Dipakai pada hirarki kelas tertinggi. Yang hanya mungkin dilakukan dengan cara inheritance. final : kelas tersebut tidak dapat diturunkan menjadi subkelas. b. Modifier 2 extends SuperClass : digunakan untuk inheritance implements Interface : digunakan bila kelas mengimplementkan satu atau lebih interface.
  • 75. PERTEMUAN – 9 KELAS dan METHOD 4. Scope / Blok Scope adalah grup yang menghimpun bagian tertentu dari program dan dapat dianggap sebagai suatu kesatuan modul. Scope bisa berupa kelas, blok, atau method dan selalu ditandai oleh kurung kurawal buka dan tutup. Macam-macam scope sbb: a. Scope Berupa Kelas Dimulai dari deklarasi kelas dan diikuti tanda “{}”. Anggota terdiri dari data dan method. b. Scope Berupa Blok diawali dan diakhiri dengan tanda “{}”, biasanya ditemukan pada blok yang menyertai pengulangan, pemilihan seperti if, if else, while, for dal lain-lain. c. Scope Berupa Method dimulai dari deklarasi method yang diikuti oleh tanda “{}”, yang anggotanya terdiri dari data lokal yang hanya didefinisikan dan digunakan dalam method tersebut.
  • 76. PERTEMUAN – 9 KELAS dan METHOD 5. Mengakses Anggota Scope Pada scope yang berupa kelas dan blok, anggotanya adalah data (variabel) dan method. Sedangkan untuk scope yang berupa method anggotanya adalah data (variabel). Adapun cara mengakses scope dibedakan dengan 2 cara a. Mengakses dari dalam Scope contoh variabel bil1 dan bil2 yang terletak di dalam main method, bila ingin menjumlahkan kedua bilangan tersebut dan hasilnya disimpan dalam variabel hasil, serta dan ditampilkan didalam method yang sama. Kita cukup memanggil nama variabel tersebut. Kita tidak perlu menyebutkan referensi kelas atau methodnya. b. Mengakses dari luar Scope bila hasil ditampilkan melalui method yang berbeda, maka variabel bil1 dan bil dua harus dikirimkan kepada method tersebut melalui method main sebelumnya.
  • 77. PERTEMUAN – 9 KELAS dan METHOD 6. Static dan Instance Kelas tersusun dari data dan method. Kedua unsur ini dapat dibubuhkan modifier untuk menentukan hubungannya terhadap unsur lainnya. Baik dalam scope yang sama, maupun berbeda. Modifier juga digunakan untuk hubungan kepemilikan antara kelas dan objek terhadap kedua unsur tersebut. Berdasarkan hubungan tersebut kita dapat mengklafikasikan data dan method ini menjadi dua, yaitu : 1. Bersifat sama untuk seluruh bagian kelas dan instansnya. Bila kita membubuhkan modifier static pada data dan method dalam suatu kelas, maka kedua unsur tersebut akan bersifat berlaku untuk seluruh bagian kelas tersebut, serta ibjek yang diinstans darinya. Maksudnya, semua objek yang diinstans dari kelas tersebut akan memiliki nilai data dan method yang sama dengan kelasnya. 2. Bersifat unik hanya untuk satu objek (yang diinstas dari kelas terebut). secara default bila kuta tidak membubuhkan modifier apapun pada kedua unsur tersebut.atau bila tidak terdapar modifier static, maka data dan method itu akan bersifat sebagai instans (instance). Maksudnya data dan method itu bersifat unix untuk sebua objek yang diinstarkan dari kelad bersangkutn.
  • 78. PERTEMUAN – 9 KELAS dan METHOD 7. Operator new Operator ini digunakan untuk membentuk (menginstankan) objek dari kelas, bentuk umumnya sbb: namaKelas namaObjek = new namaKelas; Pada saat menggunakan new, terjadi beberapa proses internal sebagai berikut : a. b. c. Objek baru tercipta Memory dialokasikan untuk objek tersebut. Method konstruktor dipanggil untuk menginisialisasi objek.
  • 79. PERTEMUAN – 9 KELAS dan METHOD 8. Keyword this Ditinjau dari kepemilikannya, variabel dapat dibagi menjadi dua yaitu : a. Variabel Kelas Variabel kelas adalah variabel yang melekat pada kelas dan tidak terpengaruh oleh proses instasiasi. Sehingga tidak dapat dimiliki dan diakses oleh objek yang diinstans dari kelas tersebut. b. Variabel Instans Variabel Instans adalah variabel yang dimiliki oleh objek dari proses instansiasi suatu kelas. Keyword this digunakan untuk mengakses variabel instans dari masing-masing objek.
  • 80. 10
  • 81. PERTEMUAN – 10 KELAS dan METHOD 9. Deklarasi Method Bentuk umum dati method adalah sbb: modifier tipeNilaiKembalian namaMethod(parameter input) throws exception{ // body dari method } Modifier (optional) yang digunakan sama dengan modifier untuk mendeklarasikan kelas karena pada prinsipnya modifier dapat diletakkan pada kelas, data dan method. Namun implikasi dari penggunaan modifier pada ketiganya belum tentu sama persis antara satu dengan yang lainnya. Sebagai contoh : 1. final pada kelas berarti bahwa kelas itu tidak dapat diturunkan menjadi subkelas yang lain. 2. final pada method, berarti method tersebut tidak dapat dioverride oleh subkelas yang lain. 3. final pada variabel akan mengubah variabel tersebut menjadi sebuah konstanta.
  • 82. PERTEMUAN – 10 KELAS dan METHOD 10. Memanggil Method Sama seperti ketika mengakses variabel, kita juga menggunakan notasi titik/dot (.) untuk memnaggil method. Bentuk umum pemanggilan method sbb : NamaKelas.namaMethod(argument); Contoh : Mahasiswa.isiMataKuliah();
  • 83. PERTEMUAN – 10 KELAS dan METHOD 11. Melewatkan Argumen ke Method Dua cara melewatkan argument ke method, yaitu : 1. Melewatkan serace Nilai (Pass by Value) diterapkan pada argument bertipe data primitif. Prosesnya adalah compiler hanya menyalin/mengcopy isi memori (yang telah dialokasikan untuk suatu variabel) dan kemudian menyampaikan salinan tersebut kepada method. oleh karena itu, maka perubahan yang terjadi pada variabel akibat proses tidak akan berpengaruh pada nilai variabel asalnya. 2. Melewatkan secara Referensi (Pass bya Refference) diterapkan pada array dan objek. Variabel array dan objek menyimpan alamat memori buka isi memori. Akibatnya setiap perubahan variabel didalam method akan mempengaruhi nilai pada variabel asalnya.
  • 84. PERTEMUAN – 10 KELAS dan METHOD 12. Overloading Method Java memperbolehkan kita membuat dua atau lebih method dengan nama yang sama dalam suatu kelas. Meskipun memiliki nama sama namun jumlah dan tipe data argument masing-masing method haruslah berbeda satu dengan lainnya. Inilah yang disebut dengan Overloading Method. Contoh : class mencetakArgument{ void Cetak(int bil){ System.out.println(“Nilai yang dikirim adalah “+bil); } void Cetak(String nama){ System.out.println(“Mana yang dikirim adalah “+Nama); } }
  • 85. PERTEMUAN – 10 KELAS dan METHOD 13. Method Konstruktor Konstruktor adalah method yang berfungsi untuk menginisialisasi variabel-variabel instant yang akan dimiliki objek. Konstruktor ini dipanggil pada saat proses instansiasi kelas menjadi objek. Ketentuan sbb: 1. Namanya sama denfan nama Kelasnya. 2. Tidak mengembalikan suatu nilai 3. Satu kelas bisa memiliki lebih dari satu konstruktor, konstruktor satu dapat memanggil konstruktor lain. 4. Dapat dibubuhi modifier public, private, protected Contoh : class Cetak{ public Cetak(int bil){ System.out.println(“Nilai yang dikirim adalah “+bil); } public Cetak(String nama){ System.out.println(“Mana yang dikirim adalah “+Nama); } }
  • 86. PERTEMUAN – 10 KELAS dan METHOD 14. Method Finalizer Objek adalah dalam program yang sedang dieksekusi mempunyai waktu hidup (life time). Objek tercipta pada saat kita menginstankan suatu kelas dengan operator new dan akan dihapus pada saat objek dikumpulkan oleh Garbage Collection atau bila memori yang ditempatinya telah diklaim oleh objek/bagian program lain. Method yang dibubuhi modifier finalize ini dapat dikatakan juga sebagai lawan/kebalikan dari methid konstruktor. Method ini dipanggil sesaat sebelum objek dihancurkan. Bentuk umum, sbb : protected void finalize() throw Throwable{ super.finalize(); }
  • 87. PERTEMUAN – 10 KELAS dan METHOD 15. Method Main Setelah selesai mengetik source code, langkah berikutnya adalah mengkompilasi dan menjalankan program tersebut. Pada saat kompilasi, pertama-tama kompiler akan mencari bagian program yang disebut sebagai method utama (main method). Bentuk umum, sbb : public static void main(String [] arguments){ // statement body dari main method } 1. 2. 3. Public, main method harus dapat dilihat atau visible oleh kelas manapun. Void, tidak mngembalikan nilai. Main(String[] arguments), main method ini dapat mengambil suatu parameter input yang merupakan array dari string yang diberi nama argument.
  • 88. 11
  • 89. PERTEMUAN – 11 PACKAGE dan MODIFIER 1. Package Sesuai dengan namanya, package adalah sebuah upaya untuk mengelompokkan bagian-bagian program java menjadi satu. Sebuah package dalam java terdiri dari sekumpulan class dan/atau interface. Didalam sebuah package juga dimungkinkan mempunyai sub-package. Package bisa berupa package yang sudah dimiliki oleh Java, dan ada pula package yang dibuat uleh user. Package yang dibuat oleh user ini sering disebut dengan folder. Atau sebuah lokasi didalam media penyimpanan yang kita miliki. Dalam package yang kita buat dapat berisi sejumlah kelas dan didalam package tersebut juga bisa berupa sub-package.
  • 90. PERTEMUAN – 11 PACKAGE dan MODIFIER 2. Membuat Package Deklarasi sebuah package diawali dengan deklarasi nama package pada bagian teratas sebuah file source. Bentuk Deklarasi Package : package [namaPackage]; Contoh : package kampus; class unit1{ // … body kelas // … metode-metode // … field-field // … }
  • 91. PERTEMUAN – 11 PACKAGE dan MODIFIER 3. Memanggil Kelas/Mengakses dari Suatu Package Mengakses Kelas dengan Kata Kunci import: import namaPackage.namaKelas; Contoh : package demo; import kampus.*; import java.awt.Color; class demo1{ public statik void main(String[] args){ unit1 gedung1 = new unit1(); Color merah = new Color(Color.red); } }
  • 92. PERTEMUAN – 11 PACKAGE dan MODIFIER 4. Modifier Adalah keyword yang digunakan sebagai pelengkap suatu unsur (kelas/method/variabel) dan berfungsi menjelaskan bagai mana hubungan diantara unsur-unsur tersebut. Misalnya bagaimana hubungan antara method dan variabel dari suatu kelas terhadap method dan variabel dari kelas lain, bagaimana hubungan kelas terhadap objek yang merupakan instannya, dsb. Modifier ini bersifat optional. Lima jenis modifier yang sering digunakan oleh JAVA, yaitu 1. 2. 3. 4. 5. public, private, protected : Mengatur aksesibiliti. satic : method dan variabel hanya dimiliki oleh kelas yang bersangkutan, tidak dapat diserahkan kepada objek pada saat instansiasi. Atau akses terhadapnya tidak dapat dilakukan melalui objek yang diciptakan. Final : bila kelas/method/variabel memiliki nilai yang tetap. Abstract : Untuk menyatakan bahwa kelas atau method tersebut tidak dapat secara langsung diinstankan menjadi sebuah objek tetapi melalui inheritance. Syncronized, transient, dan volatile : digunakan pada pemrograman yang mempertimbangkan faktor thread.
  • 93. 12
  • 94. PERTEMUAN – 12 TIGA PILAR OOP : Inheritance, Encapsulation dan Polymorphism 1. Inheritace (Pewarisan) ? Adalah proses pewarisan data dan method dari suatu kelas kepada kelas yang lain. Kelas yang mewariskan disebut kelas super (super class), sedangkan kelas yang diwariskan disebut subkelas (sub class). Atau kelas super disebut Kelas Induk, sementara subkelas disebut Kelas Anak. Pewarisan ini menggunakan keyword extends, seperti berikut : Kelas A Kelas B extends Kelas A Kelas C extends Kelas B
  • 95. PERTEMUAN – 12 TIGA PILAR OOP : Inheritance, Encapsulation dan Polymorphism 2. Overriding Data dan Method Adalah kemampuan suatu subkelas untuk memodifikasi data dan method dari kelas induknya atau disebu juga redefinisi data dan method. Proses ini akan mengubah data dan method di keduanya, kelas induk dan kelas anaknya. Alasan mengapa melakukan overriding, yaitu : 1. Mendefinisikan kembali method kelas induk secara total. Perubahan dilakukan secara menyeluruh, baik jumlah maupun tipe parameter dari argumen inputnya, tipe nilai kembaliannya, maupun behaviour pemprosesan datanya. 2. Menambahkan behaviour tertentu pada method kelas induknya. Perubahan hanya dilakukan untuk menambahkan behaviour yang secara khusus dimiliki hanya oleh kelas anak tersebut. Tentu kedua hal tersebut dilakukan dengan melihat aksesibiliti sebelum melakukan overriding. Seperti public, private, protected.
  • 96. PERTEMUAN – 12 TIGA PILAR OOP : Inheritance, Encapsulation dan Polymorphism 3. Keyword extends Digunakan keyword extends untuk mengaplikasikan konsep pewarisan (inheritance). Keyword ini menyatakan bahwa suatu kelas merupakan perluasan dari kelas lain yang dijadikan basi (kelas induk).
  • 97. PERTEMUAN – 12 TIGA PILAR OOP : Inheritance, Encapsulation dan Polymorphism 4. Keyword Super Keyword ini digunakan oleh suatu kelas anak untuk memanggil konstruktor atau method yang dimiliki oelh kelas induk yang menjadi basisnya. 1. Memanggil Konstruktor Kelas Super Bentuk umum, sbb : super(); super(parameter); 2. Memanggil Method Kelas Super Bentuk umumnya, sbb : super.namaMethod(parameter);
  • 98. 13
  • 99. PERTEMUAN – 13 TIGA PILAR OOP : Inheritance, Encapsulation dan Polymorphism 5. Encapsulation (Enkapsulasi) Adalah cara “membungkus” data dan method yang menyusun kelas dan menyembunyikannya dari dunia luar.
  • 100. PERTEMUAN – 13 TIGA PILAR OOP : Inheritance, Encapsulation dan Polymorphism 6. Mengapa Enkapsulasi? Mungkin suatu saat kita ingin mendistribusikan aplikasi kita kepada orang lain, atau saling bertukar modul/komponen yang telah kita buat dengan orang lain. Adakalanya kita ingin merahasiakan sebagian atau seluruh listing program, kita berharap orang hanya tau cara menggunakannya saja. Keuntungan menggunakan konsep ini sbb: 1. 2. 3. Bersifat independen, suatu modul yang terencapsulasi dengan baik akan bersifat independen dari modul lainnya, sehingga dapat digunakan pada bagian manapun dari program. Ia tidak akan terikat pada bagian tertentu dari program. Bersifat transfaran, bila melakukan modifikasi pada suatu modul, maka perubahan tersebut akan dirasakan juga oleh bagian program yang menggunakan modul tersebut. Menghindari efek yang diluar perencanaan, modul yang terencapsulasi dengan baik hanya akan berinteraksi dengan bagian program lainya melalui variabel-variabel input/output yang telah didefinisikan sebelumnya. Dengan demikian, akan mereduksi kemungkinan adanya hasil imbas pemprosesan yang diluar perencanaan semula.
  • 101. PERTEMUAN – 13 TIGA PILAR OOP : Inheritance, Encapsulation dan Polymorphism 7. Polymorphism Polymorphisme bermakna sesuatu yang memiliki banyak bentuk. Dalam pemrograman istilah ini dapat diartikan sebagai modul yang memiliki nama sama, namun memiliki behaviuor (tingkah laku yang berbeda) sehingga listing code implementasinya berbeda.
  • 102. 14
  • 103. PERTEMUAN – 14 KELAS INNER, KELAS ABSTRAK, dan INTERFACE 1. Kelas Inner NamaFile.java Komentar Program Deskripsi Program dan Import Kelas A Badan Kelas A Deklarasi Data Main Method Deklarasi dan Implementasi Method Kelas B (Kelas Inner) Badan Kelas B Deklarasi Data Deklarasi dan Implementasi Method
  • 104. PERTEMUAN – 14 KELAS INNER, KELAS ABSTRAK, dan INTERFACE 2. Menggunakan Kelas Inner Konsep inner class sering digunakan untuk menambahkan blok handler pada main method suatu aplikasi GUI. Blok handler merupakan bagian program yang akan merespon event-event yang dipicu ketika user berinteraksi dengan komponen GUI.
  • 105. PERTEMUAN – 14 KELAS INNER, KELAS ABSTRAK, dan INTERFACE 3. Kelas Abstrak Adalah kelas yang terletak pada posisi tertinggi dari keararki kelas dan menjadi basis untuk menurunkan kelas-kelas lainnya. Bentuk umum, sbb : [modifier tambahan] abstract class namaKelas { // variabel umum dan deskripsi method tanpa implementasi }
  • 106. PERTEMUAN – 14 KELAS INNER, KELAS ABSTRAK, dan INTERFACE 4. Interface Adalah sekumpulan method yang hanya memuat deklarasi dan struktur method, tanpa detail implementasinya. Deklarasi interface, sbb : modifier interface namaInterface{ // deklarasi konstanta // deklarasi method }
  • 107. PERTEMUAN – 14 KELAS INNER, KELAS ABSTRAK, dan INTERFACE 5. Apakah Interface = Kelas Abstrak Ditinjau daribagaimana kelas abstrak dan interface terdeklarasi, memang ada kemiripan diantara keduanya. Kelas abstract adalah kelas yang terletak pada hierarki teratas dari bagan kelas sehingga tidak mungkin langsung diinstankan menjadi objek. Demikian juga dengan interface, ia tidak dapat diinstankan menjadi objek. Meski demikian terdapat perbedaan diantara keduanya, yaitu Abstract Interface Tipe Data / Variabel Semua Hanya berupa konstanta. Method Bisa berupa signature-nya saja atau berupa detail implementasi method. Hanya berupa signatur, programmer harus mendefenisikan dan membuat detail implementasi dari method. Jadi, method yang tedapat didalam interface adalah method abstrak. Sintaks Method Menggunakan modifier abstract. Tidak perlu menggunakan modifier abstract.