KONTRAK PRAKTIKUM€¦ · Praktikum Pemrograman Berbasis Object (PBO) [MODUL] 2 /34 Lab....

34
1/34 Lab. Pemrograman Universitas Trunojoyo Madura Lab. Pemrograman Universitas Trunojoyo Madura Genap 2011/2012 Praktikum Pemrograman Berbasis Object (PBO) [MODUL]

Transcript of KONTRAK PRAKTIKUM€¦ · Praktikum Pemrograman Berbasis Object (PBO) [MODUL] 2 /34 Lab....

Page 1: KONTRAK PRAKTIKUM€¦ · Praktikum Pemrograman Berbasis Object (PBO) [MODUL] 2 /34 Lab. Pemrograman – Universitas Trunojoyo Madura Daftar Isi Daftar Isi ..... 2 KONTRAK PRAKTIKUM

1/34 Lab. Pemrograman – Universitas Trunojoyo Madura

Lab. Pemrograman – Universitas Trunojoyo Madura

Genap

2011/2012

Praktikum

Pemrograman Berbasis

Object (PBO) [MODUL]

Page 2: KONTRAK PRAKTIKUM€¦ · Praktikum Pemrograman Berbasis Object (PBO) [MODUL] 2 /34 Lab. Pemrograman – Universitas Trunojoyo Madura Daftar Isi Daftar Isi ..... 2 KONTRAK PRAKTIKUM

2/34 Lab. Pemrograman – Universitas Trunojoyo Madura

Daftar Isi

Daftar Isi ............................................................................................................................. 2

KONTRAK PRAKTIKUM ................................................................................................ 3 MODUL 1 KELAS DAN OBJEK ..................................................................................... 7 MODUL 2 POLYMORPHISM ....................................................................................... 13 MODUL 3 INHERITANCE (PEWARISAN) ................................................................. 19 MODUL 4 Pengkapsulan ................................................................................................. 23

MODUL 5 INTERFACE .................................................................................................. 26 MODUL 6 PACKAGE .................................................................................................... 31

Page 3: KONTRAK PRAKTIKUM€¦ · Praktikum Pemrograman Berbasis Object (PBO) [MODUL] 2 /34 Lab. Pemrograman – Universitas Trunojoyo Madura Daftar Isi Daftar Isi ..... 2 KONTRAK PRAKTIKUM

3/34 Lab. Pemrograman – Universitas Trunojoyo Madura

KONTRAK PRAKTIKUM

Nama Mata Kuliah : Praktikum Pemrograman Berbasis Objek

Kode Mata Praktikum : TKC 129

SKS : 1

Mata Kuliah Prasyarat : Pemrograman Berbasis Objek

Dosen Penanggung Jawab : M. Kautsar Sophan

Semester / Th Ajaran : Genap / 2011-2012

Hari Pertemuan / Jam : Sesuai Jadwal Praktikum

Tempat Pertemuan : Lab. Pemrograman

Gambaran Umum :

Praktikum ini merupakan praktek dari mata kuliah Pemrograman Berbasis Objek yang

meliputi Class dan Object, Polymorfisme, enkapsulaption, inheritence, interface dan

Package. Pada praktikum ini mahasiswa melakukan pemrograman penggunaan Class dan

inheritence Class yang banyak digunakan untuk pemecahan permasalahan dalam

pemrograman. Praktikum disertai dengan latihan-latihan menyelesaikan permasalahan

dengan deklarasi dan penggunaan Class yang tepat.

Mahasiswa diharapkan dapat:

Menyelesaikan masalah dengan menggunakan konsep OOP yang akan dijalankan

oleh komputer, kemudian mengimplementasikannya menjadi sebuah program

komputer

Merepresentasikan data yang digunakan dalam pemrograman OOP (baik data input

atau data output) dengan deklarasi dan penggunaan Class yang tepat.

Mengetahui & membandingkan macam-macam deklarasi class, penggunaan class,

dan sifat kelebihan OOP yang digunakan dalam permasalahan pemrograman yang

diselesaikannya.

Tujuan Pembelajaran Praktimum

Mahasiswa mengerti konsep OOP (Object Oriented Programming) / Pemrograman Berbasis Objek

dan dapat menerapkannya dalam bahasa pemrograman Java

Rumusan kompetensi Dasar

1. Mahasiswa memahami Class dan Objeck

2. Mahasiswa memahami Polymorfisme

3. Mahasiswa memahami Encapsulaption

4. Mahasiswa memahami Inheritence

5. Mahasiswa memahami Interface dan pemanfaatannya

6. Mahasiswa memahami Package dan pemanfaatannya

Page 4: KONTRAK PRAKTIKUM€¦ · Praktikum Pemrograman Berbasis Object (PBO) [MODUL] 2 /34 Lab. Pemrograman – Universitas Trunojoyo Madura Daftar Isi Daftar Isi ..... 2 KONTRAK PRAKTIKUM

4/34 Lab. Pemrograman – Universitas Trunojoyo Madura

Referensi / Bahan Bacaan

1. “Java for Dummies”, Barry Burd, Wiley Publishing, 2007

2. “Java 6 in 21 Days”, Rogers Cadenhead, SAMS, 2007

3. Rangsang Purnama, Tuntunan Pemrograman Java Jilid 2, Prestasi Pustaka,

2003

4. Jim Keogh and Mario Giannini, OOP Demystified: A Self-Teaching Guide,

McGraw-Hill/Osborne, Ch. 4, 2004

5. Knudsen Jonathan, Niemeyer Pat, Learning Java™, 2nd Edition, O’Reilly, July

2002.

6. Horstmann C, Java Concepts 5th

Edition, Barkeley: John Wiley & Sons, Inc 381,

387, 397, 2005.

7. Lervik E, Java the UML Way, Trondheim: John Wiley & Sons, Inc 372, 2002

8. Savitch W, Absolute Java Second Edition: Addison Wesley 315, 2005

Alur bagi peserta praktikum :

1. Sebelum Pelaksanaan Praktikum, ada Pre Test

2. Pada Tiap Sesi Pelaksanaan Praktikum:

a. Peserta praktikum menerima dan kemudian mempelajari modul

praktikum.

b. Peserta praktikum mengerjakan tugas pendahuluan yang diberikan.

c. Peserta praktikum melakukan asistensi tugas pendahuluan tersebut.

Asistensi ini digunakan sebagai bagi asisten untuk menilai kesiapan

peserta juga berfungsi sebagai ajang diskusi peserta praktikum atas

kesuliatan yang dialaminya.

d. Peserta Praktikum melakukan implementasi Tugas Praktikum di kelas/

e. Peserta praktikum mendemokan implementasi pada asisten. Penilaian

yang dilakukan oleh asisten bersifat WISIWYG (What I see Is What You

Get)

3. Pada akhir pelaksanaan seluruh sesi praktikum, ada Posttest, berupa test program.

Tugas

NO KRITERIA INDIVIDU KELOMPOK

1 Jenis Tugas 1. Pre Test

2. Post Test

1. Tugas Pendahuluan

2. Tugas Sesi Praktikum

2 Tujuan 1. Mahasiswa memahami

Konsep Struktu Data

Mampu menyelesaikan

masalah yang diberikan

dengan program

3 Jadwal Pengumpulan 1. Diawal Praktikum

2. Diakhir Praktikum

1. Di Awal Sesi Praktikum

2. Di akhir sesi praktikum

4 Keluaran Tugas 1. Program + Penjelasan

1. Program

2. Listing Program beserta

penjelasan

Page 5: KONTRAK PRAKTIKUM€¦ · Praktikum Pemrograman Berbasis Object (PBO) [MODUL] 2 /34 Lab. Pemrograman – Universitas Trunojoyo Madura Daftar Isi Daftar Isi ..... 2 KONTRAK PRAKTIKUM

5/34 Lab. Pemrograman – Universitas Trunojoyo Madura

Bobot Prosentase Penilaian Praktikum :

1. Pre Test 5%

2. Pelaksanaan Praktikum – 6 Sesi / Modul

a. Tugas pendahuluan 15%

b. Kehadiran dan tugas praktikum 35%

c. Asistensi dan laporan praktikum 35%

3. Posttest + Laporan resmi 10%

Form Nilai

Praktikum : Pemrograman Berbasis Objek

Sem/Th Ajaran : Genap 2011/2012

Kelas : A

n1 n2 n3 n1 n2 n3 n1 n2 n3 n1 n2 n3 n1 n2 n3 n1 n2 n3 n1 n2 n3

1 010041110000 34 85 80 78 85 83 84 83 82 78 85 80 76 83 79 76 85 78 74 84,33 80,33 77,67 78 77,45 B+

2 008041110010 27 83 78 79 85 79 72 81 75 75 84 77 74 85 70 71 84 72 71 83,67 75,17 73,67 65 72,49 B

3 010041110005 65 87 85 88 86 85 87 85 87 86 86 88 87 87 78 79 86 78 77 86,17 83,50 84,00 83 83,10 A

4 010041110009 57 85 80 78 84 82 83 84 78 80 85 80 79 84 72 73 85 74 73 84,50 77,67 77,67 73 77,19 B+

5 010041110007 46 85 79 78 85 83 85 85 80 78 84 78 80 83 74 76 84 77 75 84,33 78,50 78,67 78 77,76 B+

6 010041110009 45 85 79 78 85 83 83 85 78 79 83 79 78 85 75 75 83 76 75 84,33 78,33 78,00 78 77,42 B+

7

Presentase Nilai

Kegiatan % KET

Pre Test 5% pre test

Tugas Pendahuluan 15% n1

Kehadiran + Tugas Praktikum35% n2

Asistensi + Laporan 35% n3

Posttest + Lapres 10% post test

Nilai

Akhir

Nilai

Huruf

Modul 3 Modul 4 Modul 5 Modul 6 Rata-rata Posttest

+ Lapres

Akhir

Asdos :

No NRP NAMA PretestModul 1 Modul 2

Nilai Point Range

A 4 > 80

B+ 3,5 >75 – 80

B 3 >70 – 75

C+ 2,5 > 65 – 70

C 2 >60 – 65

D 1 50 - 60

E 0 < 50

Catatan : Range Nilai bisa berubah sesuai dengan kondisi kelas

Peraturan Praktikum :

1. Praktikan harus menghadiri setiap sesi praktiku, tidak hadir tanpa keterangan akan

menyebabkan hak menjadi praktikan gugur (nilai E).

2. Tugas pendahuluan diserahkan sebelum praktikum dimulai.

3. Laporan praktikum dianggap sah apabila praktikan telah melakukan asistensi sesuai

dengan materi praktikum.

Page 6: KONTRAK PRAKTIKUM€¦ · Praktikum Pemrograman Berbasis Object (PBO) [MODUL] 2 /34 Lab. Pemrograman – Universitas Trunojoyo Madura Daftar Isi Daftar Isi ..... 2 KONTRAK PRAKTIKUM

6/34 Lab. Pemrograman – Universitas Trunojoyo Madura

4. Laporan resmi adalah gabungan dari semua laporan praktikum tiap sesi.

5. Perbuatan Plagiat / Copy –Paste / Mencontoh sangat dilarang. Jika ada indikasi, akan

di beri nilai E.

Lain – Lain

Pengumuman : kautsarsophan.wordpress.com

Pertanyaan : [email protected]

Ketua Koordinator Asisten Praktikum / HP :

Bahasa Pemrograman : Java

Tool

o Net Beans

o Eclipse

o Jeliot, dll

Page 7: KONTRAK PRAKTIKUM€¦ · Praktikum Pemrograman Berbasis Object (PBO) [MODUL] 2 /34 Lab. Pemrograman – Universitas Trunojoyo Madura Daftar Isi Daftar Isi ..... 2 KONTRAK PRAKTIKUM

7/34 Lab. Pemrograman – Universitas Trunojoyo Madura

MODUL 1 KELAS DAN OBJEK

I. TEORI DASAR

1. Class dan Object

Perbedaan Class dan Object

Pada dunia perangkat lunak, sebuah obyek adalah sebuah komponen perangkat

lunak yang stukturnya mirip dengan obyek pada dunia nyata. Setiap obyek

dibangun dari sekumpulan data (atribut) yang disebut variabel untuk menjabarkan

karakteristik khusus dari obyek, dan juga terdiri dari sekumpulan method yang

menjabarkan tingkah laku dari obyek. Bisa tikatakan bahwa obyek adalah sebuah

perangkat lunak yang berisi sekumpulan variabel dan method yg berhubungan.

Variabel dan method dalam obyek Java secara formal diketahui sebagai variabel

instance dan method instance. Hal ini dilakukan untuk membedakan dari variabel

class dan method class, dimana akan dibahas kemudian.

Class adalah sturktur dasar dari OOP. Class terdiri dari dua tipe dari anggota

dimana disebut dengan field (attribut/properti) dan method. Field merupakan tipe

data yang didefinisikan oleh class, sementara method merupakan operasi. Sebuah

obyek adalah sebuah instance (keturunan) dari class.

Untuk dapat membedakanantara class dan obyek, mari kita mendiskusikan

beberapa contoh berikut ini. Kita memiliki sebuah class mobil dimana dapat

digunakan untuk medefinisikan beberapa obyek mobil. Pada tabel dibawah, mobil

A dan mobil B adalah obyek dari class mobil. Class memiliki field nomor, plat,

warna, manufaktur dan kecepatan yang diisi dengan nilai pada obyek mobil A dan

mobil B. Mobil juga dapat berakselerasi, berbelok dan melakukan rem.

Ketika diinisialisi, setiap obyek mendapat satu set variabel yang baru.

Bagaimanapun, implementasi dari method dibagi diantara objek pada class yang

sama. Class menyediakan keuntungan dari reusability. Programmer perangkat

lunak dapat menggunakan sebuah kelas beberapa kali untuk membuat banyak

objek.

Instansiasi Class

Untuk membuat sebuah objek atau sebuah instance pada sebuah class. Kita

menggunakan operator new. Sebagai contoh, jika anda ingin membuat instance

dari class string, kita menggunakan kode berikut :

String str2 = new String(“Hello world!”);

Page 8: KONTRAK PRAKTIKUM€¦ · Praktikum Pemrograman Berbasis Object (PBO) [MODUL] 2 /34 Lab. Pemrograman – Universitas Trunojoyo Madura Daftar Isi Daftar Isi ..... 2 KONTRAK PRAKTIKUM

8/34 Lab. Pemrograman – Universitas Trunojoyo Madura

Ini juga sama dengan,

String str2 = "Hello";

Variabel Class dan Variabel Method

Selain dari variabel instance, kita juga memungkinkan untuk mendefinisikan

variabel dari

class, yang nantinya variabel ini dimiliki oleh class. Ini berarti variabel ini dapat

memiliki nilai yang sama untuk semua objek pada class yang sama. Mereka juga

disebut static member variables.

2. Method

Apakah Method itu dan mengapa menggunakan Method?

Di dalam Java, kita dapat mendefinisikan banyak method yang akan kita panggil

dari method yang berbeda. Sebuah method adalah bagian-bagian kode yang dapat

dipanggil oleh program utama atau dari method lainnya untuk menjalankan fungsi

yang spesifik. Berikut adalah karakteristik dari method :

1. dapat mengembalikan satu nilai atau tidak sama sekali

2. dapat diterima beberapa parameter yang dibutuhkan atau tidak ada parameter

sama sekali. Parameter bisa juga disebut sebagai argumen dari fungsi

3. setelah method telah selesai dieksekusi, dia akan kembali pada method yang

memanggilnya.

Sekarang mengapa kita butuh untuk membuat banyak method? Mengapa kita

tidak menuliskan semua kode pada sebuah method? Hal ini karena penyelesaian

masalah yang sangat efektif adalah memecah masalah-masalah tersebut menjadi

beberapa bagian. Kita juga dapat melakukan hal ini di Java dengan membuat

method untuk mengatasi bagian tertentu dari masalah. Sebuah permasalahan dapat

dipecah-pecah menjadi beberapa bagian kecil. Hal ini sangat baik sekali untuk

membuat program yang sangat besar.

/* Disimpan dalam file “Manusia.java” */

//Class Deklarasi

public class manusia

{

//Variabel

public String nama;

//Konstruktor

public manusia(String n)

{

Page 9: KONTRAK PRAKTIKUM€¦ · Praktikum Pemrograman Berbasis Object (PBO) [MODUL] 2 /34 Lab. Pemrograman – Universitas Trunojoyo Madura Daftar Isi Daftar Isi ..... 2 KONTRAK PRAKTIKUM

9/34 Lab. Pemrograman – Universitas Trunojoyo Madura

this.nama = n;

}

//Method

public String tampilkanNama()

{

return nama;

}

public void belajar()

{

System.out.println("Belajar PBO, Matematika, Fisiki ");

}

public void kerja()

{

System.out.println("Kerja...kerjaaa...");

}

}

Adapun contoh kode untuk menginstantiasi kelas manusia menjadi objek Andi yang

mengimplementasikan metodh: tampilkanNama dan makan adalah sebagai berikut.

/* Disimpan dalam file “budi.java”

*/

class budi

{

public static void main(String arg[])

{

manusia budi= new manusia("Budi");

System.out.println("Nama= "+ budi.tampilkanNama());

budi.belajar();

}

}

Hasil eksekusi terhadap class budi adalah sebagai berikut:

Nama= Budi

Belajar PBO, Matematika, Fisiki

II. TUGAS PENDAHULUAN

Buatlah program menggunakan class dan objek dengan nama motor.java, jika

program di jalankan hasilnya seperti di bawah ini :

Object “motor-1” :

Merk : Yamaha

Pemilik : Pak Darmawan

Object “motor-2” :

Merk : Honda

Page 10: KONTRAK PRAKTIKUM€¦ · Praktikum Pemrograman Berbasis Object (PBO) [MODUL] 2 /34 Lab. Pemrograman – Universitas Trunojoyo Madura Daftar Isi Daftar Isi ..... 2 KONTRAK PRAKTIKUM

10/34 Lab. Pemrograman – Universitas Trunojoyo Madura

Pemilik : Pak Nasiruddin

III. KEGIATAN PRAKTIKUM

Buatlah kelas mahasiswa dengan atribut/variablel = nama dan npm dan mempunyai

metodh: tampilkanNama, tampilkanNpm, belajar, olahRaga, makan, minum.

Buatlah 3 objek untuk menginstantiasi kelas mahasiswa dengan atribut nama dan npm

Anda sendiri dan 2 teman Anda dan mengimplementasikan beberapa metodh yang

telah Anda definisikan dalam kelas mahasiswa

IV. TUGAS AKHIR

Buat program dengan nama televOOP.java dengan spesifikasi sebagai berikut :

Class : Televisi

Object : Televisiku

Attribute

- Merek

- Tipe

- Ukuran

- Tombol volume

- Tombol Channel

Method

- Menyalakan TV

- Memindahkan Channel

- Membesarkan volume

- Mematikan Televisi

Hasil :

Merek Televisi : Samsung

Tipe Televisi : LCD TV

Ukuran Televisi : 52 inchi

Saat ini televisi sudah on.....

Channel berpindah

Volume bertambah besar.

Press any key to continue . . .

Page 11: KONTRAK PRAKTIKUM€¦ · Praktikum Pemrograman Berbasis Object (PBO) [MODUL] 2 /34 Lab. Pemrograman – Universitas Trunojoyo Madura Daftar Isi Daftar Isi ..... 2 KONTRAK PRAKTIKUM

11/34 Lab. Pemrograman – Universitas Trunojoyo Madura

V. CATATAN

Page 12: KONTRAK PRAKTIKUM€¦ · Praktikum Pemrograman Berbasis Object (PBO) [MODUL] 2 /34 Lab. Pemrograman – Universitas Trunojoyo Madura Daftar Isi Daftar Isi ..... 2 KONTRAK PRAKTIKUM

12/34 Lab. Pemrograman – Universitas Trunojoyo Madura

Referensi

[1] Rangsang Purnama, Tuntunan Pemrograman Java Jilid 2, Prestasi Pustaka, 2003.

Page 13: KONTRAK PRAKTIKUM€¦ · Praktikum Pemrograman Berbasis Object (PBO) [MODUL] 2 /34 Lab. Pemrograman – Universitas Trunojoyo Madura Daftar Isi Daftar Isi ..... 2 KONTRAK PRAKTIKUM

13/34 Lab. Pemrograman – Universitas Trunojoyo Madura

MODUL 2 POLYMORPHISM

I. Teori

Metode disebut polimorfis jika aksi yang dilakukan oleh suatu metode berbeda-beda

tergantung pada objek aktual pada saat metode itu dijalankan. Polimorfisme adalah salah

satu fitur utama dalam pemrograman berorientasi objek. Sebagai contoh, sebuah class

induk dengan nama Student mempunyai subclass StudentGrad, dan ditambahkan class

lain dengan nama StudentInfo.

Gambar 1 : Class Student dan subclass nya

Dari gambar diatas class StudentInfo digambarkan mempunyai hubungan

polymorfisme dengan class StudentGrad dan tentunya dengan class induk dari

StudentGrad yaitu class induk Student..

II. Prepraktikum

1. Keuntungan apa yang bisa didapat dengan Polymorphism?

2. Bagaimana hubungan antar teknik overloading dengan Polymorphism?

III. Kegiatan Praktikum

Pada gambar 1 kita membuat tiga object class dengan nama Student, subclass

StudentGrad dan class StudentInfo. Class Student mempunyai method Write yang

digunakan untuk melewatkan argumen untuk kemudian ditampilkan dengan

menggunakan method Display.

class Student {

public void Write(int ID, int Grad, String Fname, String Lname) {

m_ID = ID;

Page 14: KONTRAK PRAKTIKUM€¦ · Praktikum Pemrograman Berbasis Object (PBO) [MODUL] 2 /34 Lab. Pemrograman – Universitas Trunojoyo Madura Daftar Isi Daftar Isi ..... 2 KONTRAK PRAKTIKUM

14/34 Lab. Pemrograman – Universitas Trunojoyo Madura

m_Graduation = Grad;

m_First = Fname;

m_Last = Lname;

}

public void Display(){

System.out.println( "Student: " + m_ID + " " + m_First + " " +

m_Last + " Graduated: " + m_Graduation);

}

private int m_ID, m_Graduation;

private String m_First;

private String m_Last;

}

Subclass Student dengan nama StudentGrad berisi sintaks untuk menampilkan

info kelulusan. Polimorfisme terjadi antara kedua class StudentGrad dan Student dimana

pada kedua class mempunyai dua dua method yang sama tetapi mempunyai bentuk yang

berbeda sesuai dengan object yang digunakan untuk memanggilnya, yaitu Write() dan

Display();

class StudentGrad extends Student {

public void Write(int ID, int Grad, String Fname, String Lname, int

yrGrad, String unSch, String major) {

super.Write(ID, Grad, Fname, Lname);

m_UndergradSchool = unSch;

m_Major = major;

m_Grad = Grad;

YearGraduated = yrGrad;

}

public void Display(){

super.Display();

System.out.println(" Graduated: " + m_Grad + " " +

m_UndergradSchool + " " + m_Major + " " + YearGraduated);

}

private Integer YearGraduated,m_Grad;

private String m_UndergradSchool;

private String m_Major;

}

Class lain yaitu StudentInfo yang digunakan untuk memasukan agumen ke kedua

methd pada masing-masing class Student dan StudentGrad.

class StudentInfo {

public static void main (String args[]) {

StudentGrad myStudent = new StudentGrad();

myStudent.Write(10, 1,"Bob","Smith", 2000,"Columbia

University","CS");

myStudent.Display();

}

}

IV. Tugas Akhir

Page 15: KONTRAK PRAKTIKUM€¦ · Praktikum Pemrograman Berbasis Object (PBO) [MODUL] 2 /34 Lab. Pemrograman – Universitas Trunojoyo Madura Daftar Isi Daftar Isi ..... 2 KONTRAK PRAKTIKUM

15/34 Lab. Pemrograman – Universitas Trunojoyo Madura

1. Kucing, Ayam, dan Anjing merupakan makhluk hidup yang masuk kategori

hewan, tiap hewan pasti mempunyai identitas baik itu berupa tipe hewan dan

suaranya.

Gambar 2 : Class Hewan dan subclass nya

Potongan sintaks bisa dituliskan seperti dbawah ini:

class Hewan {

private String tipe;

public Hewan(String tipe){

this.tipe = tipe;

}

public String toString(){

return "Ini adalah "+tipe;

}

public void bersuara(){

}

}

Sintaks class polimorfisme

import java.util.Random;

class Polimorfisme{

public static void main(String args[]){

Hewan[] hewannya = {

new Anjing("Broni", "Herder"),

new Kucing("Kiti", "Persia"),

new Ayam("Toki", "Buras")

};

Hewan pilihHewan;

Random pilih = new Random();

for (int i = 0; i<5 ; i++){

pilihHewan = hewannya[pilih.nextInt(hewannya.length)];

System.out.println("\nPilihan Anda:\n" + pilihHewan);

pilihHewan.bersuara();

}

}

}

Sintaks class Anjing

class Anjing extends Hewan{

Page 16: KONTRAK PRAKTIKUM€¦ · Praktikum Pemrograman Berbasis Object (PBO) [MODUL] 2 /34 Lab. Pemrograman – Universitas Trunojoyo Madura Daftar Isi Daftar Isi ..... 2 KONTRAK PRAKTIKUM

16/34 Lab. Pemrograman – Universitas Trunojoyo Madura

//sintaks private object

public Anjing(String nama){

//sintaks menampilkan nama

}

public Anjing(String nama, String jenis){

//sintaks menampilkan nama dan jenis hewan

}

public void bersuara(){

//sintaks menampilkan suara hewan

}

public String toString(){

return super.toString()+"/nIni adalah "+jenis+" bernama "+nama;

}

}

Lanjutkan potongan kode program diatas sampai muncul output seperti di

bawah ini:

Pilihan Anda:

Ini adalah Ayam

Ini adalah Buras bernama Toki

Kukuruyuk petok petok

Pilihan Anda:

Ini adalah Kucing

Ini adalah Persia bernama Kiti

Meong meong meong

Pilihan Anda:

Ini adalah Ayam

Ini adalah Buras bernama Toki

Kukuruyuk petok petok

Pilihan Anda:

Ini adalah Anjing

Ini adalah Herder bernama Broni

Guk guk guk

Pilihan Anda:

Ini adalah Anjing

Ini adalah Herder bernama Broni

Guk guk guk

Pilihan diwakilkan dengan data array pada class polimorfisme.

Page 17: KONTRAK PRAKTIKUM€¦ · Praktikum Pemrograman Berbasis Object (PBO) [MODUL] 2 /34 Lab. Pemrograman – Universitas Trunojoyo Madura Daftar Isi Daftar Isi ..... 2 KONTRAK PRAKTIKUM

17/34 Lab. Pemrograman – Universitas Trunojoyo Madura

V. Catatan Praktikum

Page 18: KONTRAK PRAKTIKUM€¦ · Praktikum Pemrograman Berbasis Object (PBO) [MODUL] 2 /34 Lab. Pemrograman – Universitas Trunojoyo Madura Daftar Isi Daftar Isi ..... 2 KONTRAK PRAKTIKUM

18/34 Lab. Pemrograman – Universitas Trunojoyo Madura

Referensi

[1] Jim Keogh and Mario Giannini, OOP Demystified: A Self-Teaching Guide

, McGraw-Hill/Osborne, Ch. 4, 2004.

Page 19: KONTRAK PRAKTIKUM€¦ · Praktikum Pemrograman Berbasis Object (PBO) [MODUL] 2 /34 Lab. Pemrograman – Universitas Trunojoyo Madura Daftar Isi Daftar Isi ..... 2 KONTRAK PRAKTIKUM

19/34 Lab. Pemrograman – Universitas Trunojoyo Madura

MODUL 3 INHERITANCE (PEWARISAN)

I. Teori

Inheritance merupakan pewarisan atribut dan method pada sebuah class yang

diperoleh dari class yang telah terdefinisi tersebut. Setiap subclass akan mewarisi state

(variabel-variabel) dan behaviour (method-method) dari superclass-nya. Subclass

kemudian dapat menambahkan state dan behaviour baru yang spesifik dan dapat pula

memodifikasi (override) state dan behaviour yang diturunkan oleh superclass-nya.

1. Keuntungan dari inheritance adalah :

Subclass menyediakan state/behaviour yang spesifik yang membedakannya dengan

superclass, hal ini akan memungkinkan programmer Java untuk menggunakan ulang

source code dari superclass yang telah ada. Programmer Java dapat mendefinisikan

superclass khusus yang bersifat generik, yang disebut abstract class, untuk

mendefinisikan class dengan behaviour dan state secara umum.

2. Istilah dalam inheritance yang perlu diperhatikan :

Extends : Keyword ini harus kita tambahkan pada definisi class yang menjadi subclass.

Superclass : Superclass digunakan untuk menunjukkan hirarki class yang berarti class

dasar dari subclass/class anak.

Subclass : Subclass adalah class anak atau turunan secara hirarki dari superclass.

Super : Keyword ini digunakan untuk memanggil konstruktor dari superclass atau

menjadi variabel yang mengacu pada superclass. Ada beberapa hal yang harus diingat

ketika menggunakan pemanggil constuktor super:

II. Prepraktikum

1. Apa yang perbedaan antara Induk Kelas dengan Kelas Turunan?

2. Jelaskan keyword super dan extends dalam Pewarisan?

III. Kegiatan Praktikum

Page 20: KONTRAK PRAKTIKUM€¦ · Praktikum Pemrograman Berbasis Object (PBO) [MODUL] 2 /34 Lab. Pemrograman – Universitas Trunojoyo Madura Daftar Isi Daftar Isi ..... 2 KONTRAK PRAKTIKUM

20/34 Lab. Pemrograman – Universitas Trunojoyo Madura

Pada bagian kegiatan praktikum ini, kita akan belajar membuat class yang

dikelompokkan dalam package kemudian menggunakan package ini dari class lain.

/*langkah ke-1: Membuat Class Rumah*/

class Rumah

{

private String a = " Rumahmewah ";

public void info()

{

//System.out.println (" Dipanggil pada = "+this);

System.out.println (" ");

System.out.println (" Rumah = "+a);

}

}

}

/*langkah ke-2: Membuat Class rumahindah turunan dari Rumah*/

class rumahindah extends Rumah

{

private String b = " tombol alarm ";

public void info()

{

System.out.println (" ");

super.info();

System.out.println (" rumahindah = "+b);

}

}

/*langkah ke-3: Membuat Main Program dengan Nama Class TipeRumah */

public class TipeRumah

{

public static void main ( String[]args )

{

Rumahindah C = new bertingkat();

C.info();

}

}

IV. Tugas Akhir

1. Buatlah program java untuk menurunkan 2 buah kelas turunan dari kelas induk

yang berupa lingkaran dimana program ini dapat menghitung luas dan keliling

lingkaran !

Page 21: KONTRAK PRAKTIKUM€¦ · Praktikum Pemrograman Berbasis Object (PBO) [MODUL] 2 /34 Lab. Pemrograman – Universitas Trunojoyo Madura Daftar Isi Daftar Isi ..... 2 KONTRAK PRAKTIKUM

21/34 Lab. Pemrograman – Universitas Trunojoyo Madura

V. Catatan Praktikum

Page 22: KONTRAK PRAKTIKUM€¦ · Praktikum Pemrograman Berbasis Object (PBO) [MODUL] 2 /34 Lab. Pemrograman – Universitas Trunojoyo Madura Daftar Isi Daftar Isi ..... 2 KONTRAK PRAKTIKUM

22/34 Lab. Pemrograman – Universitas Trunojoyo Madura

Referensi

[1] Knudsen Jonathan, Niemeyer Pat, Learning Java™, 2nd Edition, O’Reilly, July

2002.

[2] Rangsang Purnama, Tuntunan Pemrograman Java Jilid 2,Prestasi Pustaka, 2003.

Page 23: KONTRAK PRAKTIKUM€¦ · Praktikum Pemrograman Berbasis Object (PBO) [MODUL] 2 /34 Lab. Pemrograman – Universitas Trunojoyo Madura Daftar Isi Daftar Isi ..... 2 KONTRAK PRAKTIKUM

23/34 Lab. Pemrograman – Universitas Trunojoyo Madura

MODUL 4

Pengkapsulan

I. Teori

Enkapsulasi adalah suatu cara untuk menyembunyikan informasi detail dari suatu

class. Dua hal yang mendasar dalam enkapsulasi yakni : Information hiding , Interface to

access data.

Enkapsulasi menunjuk pada prinsip dari menyembunyikan desain atau

mengimplementasikan informasi yang tidak sesuai pada object yang ada.

Menyembunyikan elemen dari penggunaan sebuah class dapat dilakukan dengan

pembuatan anggota yang ingin Anda sembunyikan secara private.

Hak akses public memungkinkan semua kelas mengaksesnya, hak akses protected

hanya diberikan kepada kelasnya sendiri dan turunannya, serta kelas-kelas dalam satu

paket. sedangkan private hanya boleh diakses oleh kelasnya sendiri.

II. Prepraktikum

1. Apa yang anda ketahui tentang Information hiding ?

2. Jelaskan tentang Interface to access data dalam konsep Pengkapsulan?

3. Jelaskan mengenai keyword public, protected dan private ?

III. Kegiatan Praktikum

Perhatikan kelas manusia dibawah ini!

/*

Disimpan dalam file “manusia.java”

*/

class manusia

{

public String nama;

public manusia(String n)

{

this.nama = n;

}

public String tampilkanNama()

Page 24: KONTRAK PRAKTIKUM€¦ · Praktikum Pemrograman Berbasis Object (PBO) [MODUL] 2 /34 Lab. Pemrograman – Universitas Trunojoyo Madura Daftar Isi Daftar Isi ..... 2 KONTRAK PRAKTIKUM

24/34 Lab. Pemrograman – Universitas Trunojoyo Madura

{

return nama;

}

public void makan()

{

System.out.println("Nyam... nyam... nyam...");

}

public void kerja()

{

System.out.println("Kerja... kerjaaa...");

}

private void bunuhDiri()

{

System.out.println("Dor…bruk...");

}

}

Andi adalah objek bentukan dari kelas manusia

(9)

/*

Disimpan dalam file “andi.java”

*/

class andi

{

public static void main(String arg[])

{

manusia andi= new manusia("Andi");

System.out.println("Nama= "+ andi.tampilkanNama());

andi.makan();

}

}

Apa yang terjadi jika hak akses private diakses oleh kelas lain?

VI. Kompile dan jalankan kelas manusia dan andi!

VII. Ubah hak akses makan dari public menjadi protected dan ulangi praktikum nomor

1! Apayang terjadi? Jelaskan!

Page 25: KONTRAK PRAKTIKUM€¦ · Praktikum Pemrograman Berbasis Object (PBO) [MODUL] 2 /34 Lab. Pemrograman – Universitas Trunojoyo Madura Daftar Isi Daftar Isi ..... 2 KONTRAK PRAKTIKUM

25/34 Lab. Pemrograman – Universitas Trunojoyo Madura

VIII. Tambahkan pada kelas andi untuk memanggil metodh bunuh diri, ulangi

praktikum no 1. Apa yang terjadi? Jelaskan!

IV Tugas Akhir

Diserahakan kepada asisten masing-masing untuk memberikan tugas akhir

dan tugas tambahan.

Page 26: KONTRAK PRAKTIKUM€¦ · Praktikum Pemrograman Berbasis Object (PBO) [MODUL] 2 /34 Lab. Pemrograman – Universitas Trunojoyo Madura Daftar Isi Daftar Isi ..... 2 KONTRAK PRAKTIKUM

26/34 Lab. Pemrograman – Universitas Trunojoyo Madura

MODUL 5 INTERFACE

I. Teori

Produktifitas dalam pemrograman dapat ditingkatkan antara lain dengan cara

memaksimalkan kode yang dapat dimanfaatkan berulang kali (reusable code). Interface

adalah struktur kode yang diawali kata kunci interface dan berisi bagian reusable code

berupa abstract method atau konstanta. Semua method dalam interface secara otomatis

memiliki visibilitas public. [1]

Abstract method dalam interface dapat diimplementasikan dalam class dengan

menggunakan kata kunci implements. Dalam java, satu class hanya dapat menjadi

turunan dari satu class namun diperkenankan untuk dapat mengimplementasikan lebih

dari satu interface. [2]

Instance atau objek dapat dibentuk dengan memasangkan variabel bertipe class atau

interface dengan referensi berupa pemanggilan constructor class. Casting dapat dilakukan

untuk mengubah objek dari tipe superclass menjadi tipe subclass.

II. Prepraktikum

1. Apa yang dimaksud dengan abstract method?

2. Apa yang dimaksud dengan overriding method?

3. Apa yang dimaksud dengan instansiasi?

III. Kegiatan Praktikum

Pada bagian kegiatan praktikum ini, kita akan belajar membuat interface dan

mengimplementasikannya dalam sebuah class.

/*interface berisi abstract method atau method header*/

interface MyComparable {

boolean greaterThan(Object obj);

boolean lessThan(Object obj);

boolean equal(Object obj);

}

/*interface berisi konstanta*/

interface Constants {

int min = 1000;

int max = 9999;

}

/*class mengimplementasikan dua interface*/

Page 27: KONTRAK PRAKTIKUM€¦ · Praktikum Pemrograman Berbasis Object (PBO) [MODUL] 2 /34 Lab. Pemrograman – Universitas Trunojoyo Madura Daftar Isi Daftar Isi ..... 2 KONTRAK PRAKTIKUM

27/34 Lab. Pemrograman – Universitas Trunojoyo Madura

class FourDigitsNumber implements Constants, MyComparable {

private int value;

public FourDigitsNumber(int initValue) {

/*latihan 1: atur agar nilai yang diinputkan dalam

constructor hanya berada di antara min – max

*/

}

/*latihan 2: tambahkan method get untuk mengakses value*/

/*overriding method greaterThan*/

public boolean greaterThan(Object obj) {

/*casting from superclass to subclass*/

FourDigitsNumber number = (FourDigitsNumber)obj;

return ( value > number.getValue() );

}

/*latihan 3: lengkapi overriding method interface*/

}

/*Contoh penggunaan class*/

class ExInterface {

public static void main(String [] args) {

FourDigitsNumber number1 = new FourDigitsNumber(700);

FourDigitsNumber number2 = new FourDigitsNumber(1700);

FourDigitsNumber number3 = new FourDigitsNumber(70000);

System.out.println(number1.getValue());

System.out.println(number2.getValue());

System.out.println(number3.getValue());

System.out.println(number1.greaterThan(number2));

System.out.println(number1.lessThan(number2));

System.out.println(number1.equal(number2));

/*latihan 4: modifikasi agar user dapat

menginputkan data*/

}

}

Page 28: KONTRAK PRAKTIKUM€¦ · Praktikum Pemrograman Berbasis Object (PBO) [MODUL] 2 /34 Lab. Pemrograman – Universitas Trunojoyo Madura Daftar Isi Daftar Isi ..... 2 KONTRAK PRAKTIKUM

28/34 Lab. Pemrograman – Universitas Trunojoyo Madura

IV. Tugas Akhir

1. Segitiga, Lingkaran dan Segiempat adalah bentuk geometri yang dapat dihitung

luasnya. Gambarkan diagram hirarki class untuk kasus ini. Kemudian tulis kode

program untuk class dan buat program sederhana untuk keperluan pengujian:

atur array dengan elemen berisi referensi ke setiap bentuk geometri di atas,

masukkan data ke dalamnya dan gunakan untuk memanggil method guna

menghitung luas dari setiap bentuk geometri tersebut.

2. Buatlah sebuah interface dengan nama MtkDasar yang berisi dua buah method

head atau abstract

String tambah(int a, int b);

String kurang(int a, int b);

Buatlah sebuah class dengan nama Pecahan yang terdiri dari: dua variabel

bertipe int yaitu pembilang dan penyebut, sebuah constructor dengan dua

parameter bertipe int, method set( ) / get( ), method toString( ). Pecahan harus

mengimplementasikan interface MtkDasar.

Buatlah sebuah class CobaPecahan yang berfungsi menguji class Pecahan.

Page 29: KONTRAK PRAKTIKUM€¦ · Praktikum Pemrograman Berbasis Object (PBO) [MODUL] 2 /34 Lab. Pemrograman – Universitas Trunojoyo Madura Daftar Isi Daftar Isi ..... 2 KONTRAK PRAKTIKUM

29/34 Lab. Pemrograman – Universitas Trunojoyo Madura

V. Catatan Praktikum

Page 30: KONTRAK PRAKTIKUM€¦ · Praktikum Pemrograman Berbasis Object (PBO) [MODUL] 2 /34 Lab. Pemrograman – Universitas Trunojoyo Madura Daftar Isi Daftar Isi ..... 2 KONTRAK PRAKTIKUM

30/34 Lab. Pemrograman – Universitas Trunojoyo Madura

Referensi

[1] Horstmann C, Java Concepts 5th

Edition, Barkeley: John Wiley & Sons, Inc 381, 387,

397, 2005.

[2] Lervik E, Java the UML Way, Trondheim: John Wiley & Sons, Inc 372, 2002.

Page 31: KONTRAK PRAKTIKUM€¦ · Praktikum Pemrograman Berbasis Object (PBO) [MODUL] 2 /34 Lab. Pemrograman – Universitas Trunojoyo Madura Daftar Isi Daftar Isi ..... 2 KONTRAK PRAKTIKUM

31/34 Lab. Pemrograman – Universitas Trunojoyo Madura

MODUL 6 PACKAGE

I. Teori

Package adalah cara Java untuk membuat suatu pustaka class. Kita dapat membuat

package berisi sekumpulan class dan menggunakan package tersebut dalam class atau

program lain tanpa memindah kumpulan class ke dalam direktori kerja. Untuk membuat

package, letakkan beberapa file kode .java ke dalam direktori dan tambahkan kata kunci

package di awal setiap file kode tersebut. Kemudian lakukan kompilasi sehingga dalam

direktori terbentuk file class. Sebelum suatu package dapat diimport oleh class lain,

tambahkan path dari package ke dalam CLASSPATH. [1]

II. Prepraktikum

1. Bagaimana agar class dalam suatu package dapat digunakan?

2. Mana yang lebih dahulu ditulis, kata kunci package atau import?

3. Tanda separator apa yang digunakan untuk memisahkan antara nama package

dengan nama class?

III. Kegiatan Praktikum

Pada bagian kegiatan praktikum ini, kita akan belajar membuat class yang

dikelompokkan dalam package kemudian menggunakan package ini dari class lain.

/*langkah ke-1: MtkDasar.java dalam direktori matematika*/

package matematika;

public interface MtkDasar {

String tambah(int a, int b);

String kurang(int a, int b);

}

/*langkah ke-2: Pecahan.java dalam direktori matematika*/

package matematika;

public class Pecahan implements MtkDasar {

private int pembilang, penyebut;

public Pecahan(int a, int b) {

/*latihan 1: atur agar penyebut 0 tidak diterima*/

}

/*latihan 2: lengkapi overriding method

Page 32: KONTRAK PRAKTIKUM€¦ · Praktikum Pemrograman Berbasis Object (PBO) [MODUL] 2 /34 Lab. Pemrograman – Universitas Trunojoyo Madura Daftar Isi Daftar Isi ..... 2 KONTRAK PRAKTIKUM

32/34 Lab. Pemrograman – Universitas Trunojoyo Madura

sesuai interface*/

public String toString() {

/*latihan 3: output yg diharapkan

<cetak pembilang>/<cetak penyebut>

*/

}

}

/*langkah ke-3: mengenalkan package dalam CLASSPATH

untuk linux

*/

set CLASSPATH=/home/<beberapa direktori lain>/matematika:.

/*untuk windows*/

set CLASSPATH=c:\<beberapa direktori lain>\matematika;.

/*langkah ke-4: membuat class yang mengimport

package matematika, letakkan file ini di luar

direktori matematika

*/

import matematika.Pecahan;

class CobaPecahan {

public static void main(String [] args) {

Pecahan pecahan1 = new Pecahan(1, 2);

System.out.println("" + pecahan1 + " + 1/4 " + " = " +

pecahan1.tambah(1, 4));

}

/*latihan 4: modifikasi agar user dapat menginputkan data*/

}

IV. Tugas Akhir

1. Modifikasilah kode program interface MtkDasar.java, dan Pecahan.java agar

dapat menghasilkan return value berupa Object.

2. Lengkapi interface MtkDasar dengan kemampuan matematika dasar yang lain

yaitu kali (untuk mengerjakan operasi perkalian), dan bagi (untuk mengerjakan

operasi pembagian). Sesuaikan kedua class lain, Pecahan dan CobaPecahan.

Page 33: KONTRAK PRAKTIKUM€¦ · Praktikum Pemrograman Berbasis Object (PBO) [MODUL] 2 /34 Lab. Pemrograman – Universitas Trunojoyo Madura Daftar Isi Daftar Isi ..... 2 KONTRAK PRAKTIKUM

33/34 Lab. Pemrograman – Universitas Trunojoyo Madura

V. Catatan Praktikum

Page 34: KONTRAK PRAKTIKUM€¦ · Praktikum Pemrograman Berbasis Object (PBO) [MODUL] 2 /34 Lab. Pemrograman – Universitas Trunojoyo Madura Daftar Isi Daftar Isi ..... 2 KONTRAK PRAKTIKUM

34/34 Lab. Pemrograman – Universitas Trunojoyo Madura

Referensi

[1] Savitch W, Absolute Java Second Edition: Addison Wesley 315, 2005.