Anda di halaman 1dari 62

MODUL PRAKTIKUM

PEMROGRAMAN BERBASIS OBJEK 1


Java Programming

Oleh:
Fery Updi,M.Kom

TEKNIK INFORMATIKA
Ver.1.2017

1
1 Object Oriented Programming

POKOK BAHASAN:
 Berpikir Object Oriented
 Pengertian Objek, Class, Instance, Data, Method, dan Hirarki Class
 Pengantar Pemrograman Java

TUJUAN BELAJAR:
Setelah mempelajari bab ini, diharapkan mampu:
1. Memahami definisi objek dan cara mendesain berorientasi objek
2. Memahami definisi dan deklarasi object, class, dan Instance
3. Memahami bahasa pemrograman java

I. Berpikir Object Oriented

Definisi OOP
OOP (Object Oriented Programming) merupakan teknik membuat suatu program
berdasarkan objek dan apa yang bisa dilakukan objek tersebut. OOP terdiri dari objek-objek
yang berinteraksi satu sama lain untuk menyelesaikan sebuah tugas. Kode-kode di-
breakdown agar lebih mudah di-manage. Breakdown berdasarkan objek-objek yang ada pada
program tersebut. Dianjurkan diimplementasikan untuk program dengan berbagai ukuran
karena lebih mudah untuk men-debug.

Apa sih OOP itu?


 Pemrograman Berorientasi Object (OOP) adalah model pemrograman yang paling
banyak dipakai saat ini.
 OOP telah menggantikan teknik pemrograman prosedural yang telah dipakai sejak
tahun 1970-an
 Java adalah bahasa yang berorientasi objek, karena itu Anda harus paham OOP agar
dapat produktif menggunakan Java.
 Program yang Berorientasi Objek akan terdiri dari objek-objek.
 Objek-objek ini seringkali merepresentasikan apa yang ada di dunia nyata.

II. Pengertian Objek, Class, Instance, Data, Method, dan Hirarki Class

Apakah obyek itu?


Semua benda yang ada didunia ini dapat kita sebut sebagai obyek. Dosen mata kuliah Teknik
Informatika kalian adalah suatu obyek. Modul yang kalian pegang ini juga suatu obyek.
Bahkan mata kuliah Teknik Informatika adalah juga sebuah obyek. Setiap obyek akan
mempunyai karakteristik dan tingkah laku
tertentu.

1. Objek, Kelas, dan Instance (Instans)

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

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 ke
method lain.
c. Tidak mengembalikan nilai sama sekali.

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

3
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.
5. Hubungan antara Class, Object, 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.

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

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

Apa hubungannya dengan OOP?


 Sama halnya dengan penyembunyian detil PEDAL pada sebuah MOBIL, di OOP kita
menyembunyikan detil pemrograman di dalam sebuah METHOD (FUNGSI)
 METHOD-METHOD ini dibuat dan disimpan bersama-sama di dalam suatu desain yang
disebut dengan CLASS.
 METHOD  injak gas, injak rem, belok kiri, belok kanan, dll

4
 CLASS  rancangan mobil

Class & Object


 CLASS adalah suatu template/blueprint/rancangan dari object yang akan dibuat.
 OBJECT adalah sesuatu yang diciptakan dari Class.
 Analogi lain :
 Class = cetakan kue
 Object = kue-nya

III. Bagaimana mendesain berorientasi objek?

Merancang Aplikasi program Berbasis OOP


 Sekarang, Anda diminta merancang suatu program untuk sebuah BANK:
 Di aplikasi BANK, pasti ada yang namanya REKENING
 Dengan menggunakan konsep yang sama: Anda dapat mendesain sebuah
CLASS yang merepresentasikan REKENING.
 REKENING tersebut didesain sedemikian rupa sehingga memiliki 3 METHOD,
yaitu:
 METHOD untuk menyimpan uang (tabung)
 METHOD untuk mengambil uang (tarik)
 METHOD untuk memeriksa saldo (cek)
Analogi Pabrik Mobil dan Program Bank

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

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

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.

V. PENGENALAN JAVA

Bahasa pemrograman Java pertama lahir dari The Green Project, yang berjalan selama 18
bulan, dari awal tahun 1991 hingga musim panas 1992. Proyek tersebut menggunakan versi
yang dinamakan Oak. Nama Oak ini tidak dipakai untuk versi release Java karena sebuah
perangkat lunak sudah terdaftar dengan merek dagang tersebut, sehingga diambil nama
penggantinya menjadi "Java". Nama ini diambil dari kopi murni yang digiling langsung dari biji
(kopi tubruk). Saat ini Java berada dibawah lisensi Sun Microsystems.

Menurut definisi dari Sun, Java adalah nama untuk sekumpulan teknologi untuk membuat
dan menjalankan perangkat luinak pada komputer standalone ataupun pada lingkungan
jaringan.

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.

Kompiler dan Interpreter


Banyak tersedia kompiler dan interpreter dari berbagai vendor diantaranya :

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

Editor
Editor, merupakan sebuah sarana bagi pengembang aplikasi untuk program yang mereka
buat, editor yang kita gunakan menuliskan merupakan editor yang berbasis teks. Baik editor
yang sudah IDE maupun tidak, diantaranya :
• Edit atau EditPlus
• NotePad
• WordPad
• JCreator
• JBuilder
• VisualJ
• NetBeans
• …
Banyak lagi editor yang dapat digunakan untuk pengembangan aplikasi dengan bahasa
pemrograman java ini.

VI. INSTALASI PERANGKAT LUNAK PENDUKUNG

Java SDK dan NetBeans diperlukan jika hendak membuat program java. Java SDK adalah
flatform dasar Java yang diperlukan agar komputer/laptop dapat untuk mengeksekusi kode-
kode program bahasa Java.
NetBeans adalah aplikasi editor terpadu (IDE) yang akan banyak mempermudah dalam
membuat aplikasi karena menyediakan kontrol-kontrol visual.

Hardware Requirement
• Komputer/Laptop minimal RAM 1 GB
• Prosesor clock-speed diatas 1 GHZ
• Sistem Operasi bebas Windows 32, 64 Bit, atau Linux
• Download SDK dan IDE dapat di download secara gratis di www.oracle.com atau
www.java.sun.com

Yang harus di install pertama kali adalah:


1. Instalasi Java SDK
jdk-8u11-windows-i586.exe
jdk-8u11-windows-x64.exe

7
2. Instalasi NetBeans
Netbeans-8.0-windows

8
2 Penerapan OOP di Pemrograman JAVA

POKOK BAHASAN:
 Fase pemrograman OOP Java
 Objek dari Sebuah Kelas
 Data dan Method dari Suatu Kelas

TUJUAN BELAJAR:
Setelah mempelajari bab ini, diharapkan mampu:
1. Memahami Fase pemrograman OOP Java
2. Membuat objek dari sebuah kelas
3. Membuat Data dan Method dari suatu kelas

1. Fase Pemrograman JAVA

Contoh Program pertama dengan JAVA

Hasilnya adalah:

9
2. Penamaan Class, Method, Variabel, dan Konstanta
Aturan Penamaan :
1. Case-sensitive,
2. Tidak menggunakan reserved word atau Keyword JAVA,
3. Tidak menggunakan simbol-simbol operator.
4. Dimulai dengan huruf abjad (a, b, c, ….), atau underscore (_), tanda dolar ( $ ),
5. Tidak dibolehkan diawali dengan bilangan (0, 1, 2, …).

3. 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();

4. 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();

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

10
6. 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.

Contoh program

11
b. Dalam lingkungan GUI
menggunakan kelas/komponen JOptionPane dengan method showInputDialog().

Contoh program

12
c. Keyword dalam Java

13
3 Tipe Data, Variabel dan Operator

POKOK BAHASAN:
 Tipe Data
 Variabel
 Operator

TUJUAN BELAJAR:
Setelah mempelajari bab ini, diharapkan mampu:
1. Dapat memahami Tipe Data
2. Dapat memahami Variabel
3. Dapat memahami Operator

1. Tipe Data
Java memiliki dua jenis tipe data yang dikategorikan menjadi dua yaitu tipe data primitif dan
tipe data referensi/reference.
a. Primitif
Jenis-jenisnya sebagai berikut:

b. Referensi/Reference
Kelebihan pemrograman dengan orientasi objek adalah dapat mendefinisikan tipe
data baru yang merupakan objek dari class tertentu. Tipe data ini digunakan untuk
mereferensikan objek atau class tertentu, seperti String.

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

14
Contoh :
int nilaiAbsen;
int nilaiTugas, nilaiUTS, nilaiUAS;
String namaDepan = “Tariq”
String namaTengah=“Athar”, namaBelakang=“Kisan”;
char nilaiHuruf=‘A’;

Latihan 1:

Latihan 2:

Latihan 3:

Hasilnya adalah:

15
Latihan 4

Hasilnya adalah:

16
3. Operator
Operator adalah simbol khusus yang menyajikan operasi khusus pada satu, dua, atau tiga
operand dan kemudian mengembalikan hasilnya
Jenis operator antara lain :
1. Operator Aritmatika
Memiliki beberapa jenis simbol yaitu : *, /, %, +, -

Hasilnya adalah:

17
2. Operator Increment dan Decrement
Memiliki beberapa jenis simbol yaitu : ++, --

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

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

20
5. Operator Kondisi(?:) atau Ternary
Memiliki bentuk sbb : exp1?exp2:exp3

21
22
4 Struktur Pemilihan

POKOK BAHASAN:
 Pemilihan bentuk kondisi if
 Bentuk switch…case

TUJUAN BELAJAR:
Setelah mempelajari bab ini, diharapkan mampu:
1. Dapat memahami pemilihan bentuk if
2. Dapat memahami pemilihan bentuk switch…case

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;

Contoh struktur pemilihan 1

23
Hasilnya adalah:

Bentuk if lebih dari 1 baris statement,


If (boolean_expression){
Statement1;
Statement2;
}

24
2. Bentuk if - else
Struktur 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)
Statement1;
Else
Statement2;

Untuk lebih dari 1 baris

If (boolean_expression)
Statement1;
…………………;
}
else{
Statement2;
…………………;
}

Contoh struktur pemilihan 3

25
Contoh struktur pemilihan 4

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

Contoh struktur pemilihan 5

27
Contoh struktur pemilihan 6

28
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.
Switch (switch_expression){
Bentuk switch,
Case case_selection1:
Statement1; //block 1
Break;
Case case_selection2:
Statement1; //block 2
Break;
Default:
Statement1; //block n
Break;
}

29
5 Struktur Pengulangan

POKOK BAHASAN:
 Pengulangan for
 Pengulangan while
 Pengulangan do while
 Perintah break dan continue

TUJUAN BELAJAR:
Setelah mempelajari bab ini, diharapkan mampu:
1. Dapat memahami pengulangan for
2. Dapat memahami pengulangan while
3. Dapat memahami pengulangan do while
4. Dapat memahami perintah break dan continue

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;

}

Keterangan:
1. InitExpression – inisialisasi dari variabel loop.
2. LoopCondition - membandingkan variabel loop pada nilai batas.
3. StepExpression - melakukan update pada variabel loop.

Contoh struktur pengulangan1 For

30
31
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;

}

Contoh struktur pengulangan2 While

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

Contoh struktur pengulangan3 do…While

33
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

Contoh struktur pengulangan4 break dan continue

34
35
6 String, String Buffer dan Character

POKOK BAHASAN:
 Penerapan String
 Penerapan String Buffer
 Penerapan Character

TUJUAN BELAJAR:
Setelah mempelajari bab ini, diharapkan mampu:
1. Dapat memahami penerapan String
2. Dapat memahami penerapan String Buffer
3. Dapat memahami penerapan 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”;

2. Operasi-operasi pada Kelas String


Berikut beberapa metode yang disediakan oleh class String untuk memanipulasi data string
(metode lengkap dapat dilihat di Java.sun.com) :
1. Panjang data string : namaObjek.length();
2. Penggabungan data string : namaObjek.concat(String);
3. Pembandingan data string : namaObjek.equal (String);
4. Pengantian data string : namaObjek.replace(char, char);
namaObjek.replaceAll(String, String);
namaObjek.replaceFirst(String, String);
5. Kapitalisasi data string : namaObjek.toLowerCase();
namaObjek.toUpperCase();
6. Sub-string : namaObjek.substring(int);
namaObjek.substring(int, int);
7. Operasi charakter : namaObjek.charAt(int);

36
namaObjek.toCharArray();
8. Konversi : String.valueOf(variabel):
namaObjek.toString():

Contoh

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

Contoh: StringBuffer

37
4. Operasi-Operasi pada Kelas StringBuffer
Berikut beberapa metode yang disediakan oleh class StringBuffer untuk memanipulasi data
stringBuffer, dimana tidak berbeda jauh dengan Class String.
1. Panjang data StringBuffer : namaObjek.length();
namaObjek.setLength(int);
2. Penambahan data StringBuffer : namaObjek.append(String);
namaObjek.insert(int, String);
3. Penghapusan data StringBuffer : namaObjek.delete(int, int);
4. Penggantian data StringBuffer : namaObjek.replace(int, int, String);
5. Pembandingan data StringBuffer : namaObjek.equal (String);
6. Pembalikan data StringBuffer : namaObjek.reverse();
7. Sub-string : namaObjek.substring(int);
namaObjek.substring(int,int);
namaObjek.indexOf(String).
8. Operasi karakter : namaObjek.charAt(int);
namaObjek.deleteCharAt(int);
namaObjek.setCharAt(int, char);
9. Konversi : namaObjek.toString():

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

6. Kelas Character

Beberapa metode akan dibahas terutama untuk memeriksa jenis karakter saat ini,
diantaranya sbb:
1. Berjenis Bilangan ? : Character.isDigit(char));
2. Berjenis Huruf ? : Character.isLetter(char));
3. Berjenis Huruf/Bilangan ? : Character.isLetterOrDigit(char));
4. Berjenis Spasi ? : Character.isWhiteSpace(char));
5. Berjenis Huruf Kecil ? : Character.isLowerLetter(char));
6. Berjenis Huruf Besar ? : Character.isUpperLetter(char));
7. Konversi ke Huruf Kecil ? : Character.toLowerCase(char));
8. Konversi ke Huruf Besar ? : Character.toUpperCase(char));
9. Konversi ke String ? : Character.toString(char));
namaObjek.toString());

39
7 Array dan Method

POKOK BAHASAN:
 Pengertian Array/Larik
 Pengertian Sub program

TUJUAN BELAJAR:
Setelah mempelajari bab ini, diharapkan mampu:
1. Dapat memahami tentang pengertian array serta dapat membuat program dengan
menggunakan array
2. Dapat memahami tentang pengertian sub program dan dapat membuat sub program
sederhana

Dasar Teori

1. Array/Larik
Larik adalah sebuah struktur data yang terdiri dari data yang bertipe sama. Ukuran larik
bersifat tetap, larik akan mempunyai ukuran yang sama pada saat sekali dibuat. Larik dalam
Java adalah obyek, disebut juga sebagai tipe referensi. Sedangkan elemen dalam larik Java
bisa primitif atau referensi.

Posisi dari larik biasa disebut sebagai elemen. Elemen larik dimulai dari 0 (nol). Penyebutan
larik diberikan dengan cara menyebutkan nama lariknya dan diikuti dengan indeksnya,
dimana indeks dituliskan diantara tanda kurung siku. Tabel 1. memperlihatkan gambaran larik
dengan 10 elemen, dimana setiap elemennya bertipe integer, dengan nama A.

Tabel 1 Contoh Array


Nama A[0] AP[1] AP[2] AP[3] AP[4] AP[5] AP[6] AP[7] AP[8] AP[9]
Isi Larik 12 -56 23 45 -16 -2 85 41 15 20

a. Deklarasi dan Menciptakan Array / Larik


Sebagai sebuah obyek, larik harus diciptakan dengan menggunakan kata cadang new.
Deklarasi dan penciptaan variabel larik gambar 1 adalah sebagai berikut.
int A[] = new int[10];

larik dideklarasikan dan langsung diciptakan . Atau


int A[];
A = new int[10];

larik dideklarasikan, baru pada pernyataan berikutnya larik diciptakan.

40
Contoh :

Hasil Output:

b. Array Multi Dimensi (N-Dimensi)


Kita juga bisa membuat variabel larik yang tipe elemennya adalah larik. Dengan cara
demikian, kita membuat larik dua dimensi. Dengan larik dua dimensi, maka kita
mempunyai elemen yang berindeks tidak hanya satu, tetapi dua. Kita bisa
membayangkan larik dua dimensi tersebut seperti sebuah tabel yang berisi baris dan
kolom. Penyebutan sel tabel selalu diikuti dengan penyebutan baris berapa dan kolom
berapa.

Contoh :
Diberikan data kelulusan mahasiswa sebuah perguruan tinggi sebagai berikut.

Tabel.2 Contoh Array Multi Dimensi


Jurusan 2015 2016 2017
Teknik Informatika 110 125 135
Sistem Informasi 56 75 80

41
Int data_lulus [2] [3]

TI 0
SI 1

0 1 2
2015 2016 2017

[0] [0] [0] [1] [0] [2]

[1] [0] [1] [1] [1] [2]

Contoh:

Hasil Output:

2. Method
a. Method Tanpa Varibel
Method (atau dalam beberapa bahasa pemrograman sering disebut fungsi atau
prosedur) adalah sub program yang membiarkan seorang programer untuk membagi
program dengan membagi masalah ke dalam beberapa sub masalah yang bisa
diselesaikan secara modular. Dengan cara demikian, maka pembuatan program bisa
lebih dimanajemen.

Kelas (class) adalah program java yang akan dieksekusi. Method ada di dalam kelas.
Java mempunyai kumpulan kelas yang sudah dimiliki yang tersimpan di dalam paket-

42
paket. Kumpulan kelas tersebut ada di dalam Java Application Interface (Java API) atau
Java class libraries dan beberapa libraries lainnya.

Format Method Secara Umum:


tipe_return-value
nama_method(parameter1,parameter2,…,parameterN)
{
deklarasi dan pernyataan;
}

Elemen yang diperlukan dari deklarasi method adalah tipe kembalian method, nama,
kurung buka dan tutup ( ) dan isi method yang diawali dan diakhiri dengan kurung
kurawal buka dan tutup { }. Secara umum, deklarasi method mempunyai 6 komponen,
yaitu:

1. Modifier - seperti public, private.


2. Tipe kembalian (return type)—tipe data dari nilai yang dikembalikan oleh method,
atau void jika method tidak mempunyai nilai kembalian.
3. Nama method—aturan untuk penamaan field diterapkan untuk nama method
tetapi kesepakatannya adalah sedikit berbeda.
4. Daftar parameter – pemisah antar parameter input adalah koma, diawali oleh tipe
datanya, yang diletakkan diantara tanda kurung ( …daftar parameter…. ). Jika tidak
ada parameter, harus menggunakan kurung buka tutup saja ( ).
5. Daftar exception—tidak akan masuk dalam pembahasan di sini
6. Isi method, diletakkan di antara kurung kurawal buka dan tutup { } — kode-kode
method, termasuk deklarasi variabel lokal ada di sini.

Contoh:

Hasil Output:

43
b. Method dengan Varibel
Method (atau dalam beberapa bahasa pemrograman sering disebut fungsi atau
prosedur) adalah sub program yang membiarkan seorang programer untuk membagi
program dengan membagi masalah ke dalam beberapa sub masalah yang bisa
diselesaikan secara modular. Dengan cara demikian, maka pembuatan program bisa
lebih dimanajemen.

Contoh:

Hasil Output:

Parameter pada baris kedua disebut sebagai parameter formal, dan pada baris ke 18
disebut parameter aktual.

Ada 2 buah parameter yaitu:


 Parameter formal adalah parameter yang tertulis dalam definisi method
 Parameter aktual parameter yang berada pada inputan langsung pada saat
penggunaan method tersebut.

Parameter bisa lebih dari satu dengan dipisahkan tanda koma,. Yang perlu
diperhatikan pada saat pemanggilan method adalah jumlah, urutan dan tipe
parameter aktual harus sesuai dengan jumlah urutan dan tipe parameter formal.

Pemberian Variabel Dalam Method


Ada dua tipe data variable passing pada method, yaitu pass-by-value dan pass-by-
reference.

 Pass-by-value

Ketika pass-by-value terjadi, method membuat sebuah salinan dari nilai variable
yang dikirimkan ke method. Walaupun demikian method tidak dapat secara
langsung memodifikasi nilai variable pengirimnya meskipun parameter salinannya
sudah dimodifikasi nilainya di dalam method.

 Pass-by-reference

44
Ketika sebuah pass-by-reference terjadi, alamat memori dari nilai pada sebuah
variable dilewatkan pada saat pemanggilan method. Ini tidak seperti pada pass-
by-value, method dapat memodifikasi variable asli dengan menggunakan alamat
memori tersebut, meskipun berbeda nama variable yang digunakan dalam
method dengan variable aslinya, kedua variable ini menunjukkan lokasi dari data
yang sama.

Latihan 1 (Point 30) :


Diberikan data Perolehan Medali Emas PON (Pekan Olahraga Nasional) sebagai
berikut.

Tabel.2 Perolehan Medali Emas PON


Asal Provinsi 2015 2016 2017
DKI Jakarta 15 17 13
Jawa Barat 13 15 15
Jawa Tengah 10 9 12

Buatlah Array/Larik yang sesuai dengan data tersebut diatas:

Latihan 2 (Point 30)


Buatlah program dengan menggunakan Function atau Fungsi untuk memproses
perhitungan sebagai berikut:
 Fungsi Hitung penjumlahan ( 5 + 4 = 9), hasil nilai penjumlahan angka 9 akan
muncul pada proses pencetakan.

45
8 Pewarisan (inheritance)

POKOK BAHASAN:
 Pengertian inner class
 Penerapan pewarisan (inheritance)

TUJUAN BELAJAR:
Setelah mempelajari bab ini, diharapkan mampu:
1. Dapat memahami tentang OOP terutama tentang inner class
2. Dapat memahami tentang penerapan pewarisan (inheritrance)

Dasar Teori

1. Pewarisan (inheritance)
Pewarisan merupakan proses penciptaan kelas baru dengan mewarisi karakteristik kelas yang
sudah ada (biasa disebut kelas induk), ditambah dengan karakteristik unik kelas baru tersebut
(biasa disebut turunan). Dalam java, kelas induk ini dinamakan superclass dan kelas turunan
dinamakan subclass.

Kelas induk Class Hewan


Ukuran, sifat, anatomi Data

Caramakan()
Carabersuara() Method
Caragerak()

Kelas Turunan Karnivora Herbivora


Jenismakanan Jenismakanan

Caramakan() Caramakan()

Gambar 8.1 Contoh pewarisan pada kelas hewan

Hewan adalah superclass dari karnivora dan herbivora. Kelas turunan karnivora dan herbivora
ini memiliki data dan method yang dimiliki kelas hewan. Dalam java, format penulisan untuk
membuat subclass adalah:

class namasuperclass {
// body kelas
}
class namasubclass extends namasuperclass{
// body kelas
}

46
2. Manfaat Pewarisan (Inheritance)
1. Bersifat reusable
Pada class yang dimiliki sifat mirip dengan class lain, tidak perlu membuat variable dan
method yang sama dalam penerapannya, sehingga hanya perlu membuat satu induk
class dan beberapa sebagai class anak sebagai yang mewarisi method dan data dari
class induk. ketika membutuhkan data dan method tambahan pada class anak hanya
perlu menambahkan data tambahan tersebut, tanpa perlu mendeklarasi data dan
method yang sudah dimiliki oleh induk class.

2. efisien dalam menegemen data dan method


Ketika membutuhkan perubahan pada data dan method pada induk class, tidak perlu
mengubah semua class anak, sehingga hanya perlu melakukan perubahan pada class
induknya saja.

Contoh 1- Program:
Jadi, kita mempunyai 3 kelas disini, yaitu :
1. Main Class
2. Kelas Bapak (Super Class)
3. Kelas Anak (Sub Class)

Langkah-langkahnya adalah:
1. Buatlah Class baru beri nama BelajarInheritance (Main Class), seperti kode program
dibawah ini:

2. Setelah itu buat class baru dengan nama Bapak

Untuk menginduk pada suatu class, kita menggunakan kata kunci extend. Untuk
mengilustrasikan ini, kita akan membuat contoh class induk. Dimisalkan kita memp
unyai class induk yang dinamakan Bapak.

Perhatikan bahwa atribut name dan address dideklarasikan sebagai protected. Alas
annya kita melakukan ini yaitu, kita inginkan atribut-atribut ini untuk bisa diakses oleh
subclass (anak) dari superclass Bapak).

Jika kita mendeklarasikannya sebagai private, subclass tidak dapat menggunakannya.


Catatan bahwa semua properti dari superclass yang dideklarasikan sebagai public,
protected dan default dapat diakses oleh subclass-nya.

47
Sekarang, kita ingin membuat class lain bernama Anak meng-extend class Bapak,
sehingga kita dapat mewariskan semua properti dan method dari yang ada
pada class Bapak.

3. Setelah itu buat class baru dengan nama Anak

4. Setelah itu, kita instansiasi objek pada main class (BelajarInheritance), caranya seperti
berikut:

5. Setelah itu jalankan program dengan klik ikon run atau tekan F6. Maka akan tampil hasil
seperti dibawah ini :

Contoh 2- Program:

48
Kemudian kita buat kelas Balok yang merupakan turunan dari kelas PersegiPanjang

Sedangkan untuk program utamanya:

49
Sehingga hasil keluaran programnya adalah:

Tugas (Point 30) :


1. Buatlah program untuk mencari Luas Segitiga dengan menggunakan konsep pewarisan
(inheritance)

Catatan:
Tugas dikirim ke email: updi.fery@gmail.com, dengan Subject/Topik: Tugas Pewarisan
nama_mhs kelas, kirim tugas dalam bentuk screenshot kode program dan hasil paling
lambat Tgl.22 Mei 2017 Jam 00.00

50
9 Enkapsulasi (Encapsulation)

POKOK BAHASAN:
 Pengertian Enkapsulasi
 Penerapan Enkapsulasi (Encapsulation)

TUJUAN BELAJAR:
Setelah mempelajari bab ini, diharapkan mampu:
1. Dapat memahami tentang OOP terutama tentang Enkapsulasi
2. Dapat memahami tentang penerapan Enkapsulasi (Encapsulation)

Dasar Teori
Enkapsulasi merupakan proses pembungkusan (encapsulation) dari suatu kelas atau biasa.
Enkapsulasi adalah suatu cara untuk menyembunyikan informasi detail dari suatu class. Dua
hal yang mendasar dalam enkapsulasi yakni:

 Information hiding
Menyembunyikan informasi dari suatu class agar tidak bisa diakses dari luar class, caranya
hanya dengan memberikan modifier private pada varibel yang ingin kita hiding.

 Interface to access data.


Cara kita untuk mengubah nilai pada suatu variabel yang telah dilakukan information hiding.
Cara yang biasa dilakukan adalah melalui method, lewat method ini kita bisa merubah nilai
suatu variabel yang telah mengalami information hiding

Terdapat tiga tingkat akses yang terkait dengan enkapsulasi, yaitu:


1. Private
Ketika mendeklarasikan data dan method dengan private, maka data dan method
tersebut hanya dapat diakses oleh kelas yang memilikinya saja.
2. Protected
Ketika mendeklarasikan data dan method dengan protected, maka data dan method
tersebut dapat diakses oleh kelas yang memilikinya dan kelas-kelas yang masih memiliki
hubungan turunan.
3. Public
Data dan method yang bersifat public akan dapat diakses oleh semua bagian dalam
program. Semua bagian dalam program adalah semua kelas yang memiliki hubungan
turunan maupun yang tidak memiliki hubungan sama sekali.

Tabel 1 Perbedaan Tingkat Akses Enkapsulasi


Private Protected Public
Akses dalam satu kelas Bisa Bisa Bisa
Akses dalam kelas turunan Tidak Bisa Bisa
Akses dalam kelas bukan turunan Tidak Tidak bisa

51
Contoh Program-1
 Buatlah class dengan nama mahasiswa, ketik kode program dibawah ini:

 Buatlah main class dengan nama EnkapsulasiDemo, ketik kode program dibawah ini:

 Maka output-nya seperti berikut:

52
Contoh Program-2
 Buatlah class dengan nama Penggajian, ketik kode program dibawah ini:

 Buatlah main class dengan nama EnkapsulasiGajian, ketik kode program dibawah ini:

53
 Maka output-nya seperti berikut:

54
10 Inner Class, Polymorfisme

POKOK BAHASAN:
 Pengertian dan penerapan Inner Class
 Pengertian dan penerapan Polymorfisme

TUJUAN BELAJAR:
Setelah mempelajari bab ini, diharapkan mampu:
1. Dapat memahami tentang OOP terutama tentang Inner Class dan Polymorfisme
2. Dapat memahami tentang penerapan Inner Class dan Polymorfisme

1. Dasar Teori Inner Class


Yaitu kelas yang dibuat di dalam kelas. Inner class ini dapat mengakses data dan method dari
kelas yang berada di bagian luarnya, meskipun data bersifat private. Dan bagian private dari
inner class tetap tidak dapat di akses oleh kelas di bagian luarnya.

Ada 4 jenis inner class, yaitu :


1. “Regular” Inner class (adalah inner class yang bukan static/method local)
2. Method-local inner class (adalah inner class yang dideklarasikan di dalam method)
3. Anonymous inner class (adalah inner class yang dideklarasikan tanpa nama kelas)
4. Static nested classes (adalah inner class dengan modifier static)

Contoh Program:

Sedangkan program utamanya:

55
Maka output-nya seperti berikut

2. Dasar Teori Polymorfisme


Polimorfisme merupakan kemampuan suatu obyek untuk mengungkap banyak hal melalui
satu cara yang sama.

Secara mudah polymorphism bisa disamakan dengan method overloading, dimana didalam
class bisa terdapat beberapa method dengan nama sama.

Misalnya kelas B, C, dan D adalah turunan kelas dari kelas A, maka kita dapat menjalankan
method-method dari kelas B, C, dan D hanya dari obyek yang diinstansiasi dengan kelas A.

Polimorfisme juga dapat diartikan sebagai suatu konsep pada bahasa pemrograman yang
mengizinkan kelas induk untuk mendefinisikan sebuah method general untuk semua kelas
turunannya dan selanjutnya kelas turunannya dapat memperbarui implementasi dari method
tersebut secara lebih spesifik sesuai dengan karakteristiknya masing-masing.

Contoh:
Sebuah method bernama tulisData() yang berfungsi untuk menampilkan data string, tentu
tidak bisa menangani masukan berupa data yang lain. Solusi yang dapat diberikan yaitu
dengan menyediakan beberapa method dengan nama yang sama dan masing-masing method
memiliki parameter dengan tipe data yang berbeda.

Method tersebut akan bereaksi dengan satu dari beberapa macam cara tergantung dari data
yung di-passing ke dalamnya, keragaman model aksi inilah yang disebut Polymorphism, atau
banyak bentuk

Contoh 1
Definis class TampilData

56
Definisi class Utama

Maka output-nya seperti berikut:

Contoh 2
 Membuat Kelas Hewan

 Membuat kelas turunan Kuda yang merupakan turunan dari class Hewan

57
 Membuat kelas turunan Kucing yang merupakan turunan dari class Hewan

 Membuat kelas turunan Ayam yang merupakan turunan dari class Hewan

 Membuat class suara hewan untuk mengetes class-class yang telah dibuat:

Maka output-nya seperti berikut:

58
10 Java Swing

POKOK BAHASAN:
 Pengertian Java Swing
 Penerapan Komponen-komponen Java Swing pada IDE

TUJUAN BELAJAR:
Setelah mempelajari bab ini, diharapkan mampu:
1. Dapat memahami pengertian Java Swing
2. Dapat memahami tentang penerapan komponen-komponen Java Swing pada IDE

Dasar Teori
1. Pengertian Java Swing
Java Swing adalah librari java yang digunkan untuk menciptakan Grafik User Interface (GUI).
Dengan Java Swing kita dapat membuat user interface yang cross platform atau OS
independent. Artinya user interface yang kita buat dapat dijalankan pada system operasi apa
saja (OS yang suport Java) dengan tampilan yang relative sama. Bahkan kita dapat membuat
user interface yang menyerupai Windows XP, Mac OS atau Linux tanpa tergantung dari OS
yang kita gunakan. SWING, adalah salah satu bagian dari Java Foundation Classes (JFC). Pada
JFC ini juga terdapat fasilitas untuk menambahkan Rich Graphic Functionality.

2. Komponen Swing
Package dari Swing menyediakan banyak kelas untuk membuat aplikasi GUI. Package tersebut
dapat ditemukan di javax.swing. Komponen Swing ditulis menyeluruh menggunakan Java.
Kesimpulannya, program GUI ditulis menggunakan banyak kelas dari package Swing yang
mempunyai tampilan look and feel yang sama meski dijalankan pada beda paltform. Lebih
dari itu, Swing menyediakan komponen yang lebih menarik seperti color chooser dan option
pane.

Nama dari komponen GUI milik Swing hampir sama persis dengan komponen GUI milik AWT.
Perbedaan jelas terdapat pada penamaan komponen. Pada dasarnya, nama komponen Swing
sama dengan nama komponen AWT tetapi dengan tambahan huruf J pada prefixnya. Sebagai
contoh, satu komponen dalam AWT adalah button class. Sedangkan pada Swing, nama
komponen tersebut menjadi Jbutton class.

Dalam ranah antar muka pengguna, komponen merupakan bagian


fundamental di Java. Pada prinsipnya, segala sesuatu yang kita lihat di tampilan aplikasi
Java adalah suatu komponen, misalnya window, menu, dan button.
Di sisi lain, container adalah jenis komponen yang “menampung” dan
mengelola komponen-komponen lainnya. Idealnya, suatu komponen harus diletakkan di
sebuah container agar ia dapat digunakan.

59
Komponen tersebut diantaranya :
a. Label, TextField, Text Area dan Button
menggunakan Label, TextField dan Button dalam NetBeans
Buatlah Form baru dengan cara klik kanan defaulft package > New > Jframe Form

Rancang form seperti dibawah ini:

Swing Control terdiri dari : Label, TextFields, Button, dan TextArea

Variabel Name:
tNIM, tNama, tAlamat, bProses, bClear, bKeluar, dan taTampil

Memberikan nama variabel name dengan cara klik kanan pada salah satu Swing Control
lalu > Change Variabel Name

60
Setelah memberikan nama Variabel Name di setiap Swing Control langkah selanjutnya
adalah mengisi kode program pada Form tersebut dengan cara Klik Kanan pada Button
Keluar > Events > Action > actionPerformed. Lakukan hal yang sama untuk bProses dan
bClear

b. Radio Button dan Combo Box


Dari rancangan form diatas kita dapat menambahkan Swing Control Radio Button dan
Combo Box untuk digunakan memasukan data jenis kelamin dan jurusan.

Variabel Name:
rbLaki, rbPerempuan, dan cbJurusan

61
tambahkan kode program di bProses:

LATIHAN
1. Dari Jframe atau Form diatas tambahkan data masukan:
 No.Telepon
 Email
 Hobby
Setelah selesai ditambahkan dijalankan Form tersebut kemudian Print Screen/Screen
Shoot kirim ke email updi.fery@gmail.com dengan Subject/Topik : TUGAS JAVA SWING
Nama_MHS ditunggu paling lambat Tanggal 17 Juli 2017

62