3 Class dan Object (2)

dokumen-dokumen yang mirip
Class & Object 2 ~Praktikum~ Imam Fahrur Rozi

Class & Object 2. Imam Fahrur Rozi

Pemrograman Berorientasi. Class dan Obyek 2

BAB 3 CLASS DAN OBJECT. Tujuan:

[Lanjutan] Nurochman

Pemrograman Lanjut Jurusan S1 Teknik Informatika. 9/17/2012 Ratno

2 Class dan Object (1)

IKG2I4 / Software Project I

Jobsheet 09. Overloading and Overriding Method

OVERLOADING, CONSTRUCTOR DAN DESTRUCTOR. Dewi Sartika, M.Kom

Pertemuan 2 (2) : Membuat Class dan mengakses Anggota Class

INTERAKSI ANTAR OBJECT

ENKAPSULASI. 1. Kompetensi Setelah kegiatan perkuliahan selesai, mahasiswa diharapkan dapat:

Encapsulation (Encapsulasi) Minggu 5 Pemrograman Berorientasi Objek Alfa Faridh Suni

CLASS PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM JOGJAKARTA

JOBSHEET 3 CLASS DAN OBJEK

1. Manakah jawaban yang benar,pada saat Anda mengcompile dan menjalankan class berikut ini:

BAB II TEORI DAN KONSEP PEMROGRAMAN BERBASIS OBJECT

subclass class manapun private default protected public package yang sama

PEWARISAN. Disusun Oleh: Reza Budiawan. Untuk: Tim Dosen Algoritma & Pemrograman Lanjut

Apa yang menjadi output potongan kode diatas? Error karena tidak ada String yang di-passing kedalam konstruktor Bapak

Inheritance (Pewarisan Sifat) Imam Fahrur Rozi

IKG2I4 / Software Project I

Bahasa Pemrograman 2.

Inheritance dan Kata Kunci static

Pemrograman Lanjut. Class : Deeper Look 2

E-Book PEMROGRAMAN BERORIENTASI OBJEK. Disusun Oleh: Arfian Hidayat, S.Kom

ABSTRACT CLASS DAN INTERFACE

MEMBUAT KELAS SENDIRI. Dewi Sartika, M.Kom

Pemrograman Lanjut. Class, dan Instance Variable. Aryo Pinandito, ST, M.MT Team Teaching Pemrograman Lanjut

MODUL 3 PEWARISAN TUJUAN DASAR TEORI

1. Keyword mana yang memiliki fungsi sama dengan keyword this dan menyediakan reference ke atribut turunan dari objek? super

MODUL 1. CLASS, OBJECT, CONSTRUCTOR DAN METHOD

MODUL 4. Classes and Objects (part I)

Dalam penulisan sebuah kelas di java, ada beberapa aturan yang biasanya dilakukan. Nama kelas tidak menggunakan tanda spasi, dash (-) dan tanda lain.

Class & Object (1) Imam Fahrur Rozi

Dasar-Dasar OOP di Java

MODUL 1. Class, Object, Constructor dan Method

Pemrograman Lanjut. Constructor. Aryo Pinandito, ST, M.MT Team Teaching Pemrograman Lanjut

Praktikum 3 Konsep Class, Attribute dan Method

PEWARISAN D E W I S A R T I K A, M. K O M

Membuat dan Menggunakan Class

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

Pemrograman Lanjut Jurusan S1 Teknik Informatika. 9/17/2012 Ratno

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

BAB 6 INHERITANCE Tujuan:

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA FAKULTAS ILMU KOMPUTER UNIVERSITAS BRAWIJAYA

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

Modul II Object Oriented Programming

Dasar-Dasar OOP di Java

Konsep Pemrograman Berorientasi Pada Objek Dengan. Java Netbeans

RELASI CLASS 1. KOMPETENSI 2. PENDAHULUAN Laptop merk prosesor prosesor Processor merk cache clock prosesor Laptop Proceessor Laptop Processor

Pemrograman Lanjut Jurusan S1 Teknik Informatika. 9/17/2012 Ratno

8 - Overriding dan Overloading

Var-arg Cornelius Mellino / Cornelius Koo JavaSchool of Object Technology

PRAKTIKUM I Class dan Obyek

Bab 8. Dasar-Dasar OOP

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

Keyword this untuk memanggil private String pengarang; private String judul;

Pemrograman Berorientasi Objek (Object Oriented Programming) Imam Fahrur Rozi

Pemrograman Berorientasi Objek

5/23/12. Inheritance. Pengertian inheritance Deklarasi inheritance Single inheritance Multilevel inheritance Access Control super keyword

I. Tujuan Instruksional Umum Mengenal konsep dasar berorientasi objek Memahami dan dapat mengimplementasikan Kelas dan Objek pada java.

Java Application. Aplikasi: Menampilkan Tulisan

BAB VIII CLASS ABSTRACT & CLASS INTERFACE. //abstract class bisa, kelas biasa bisa System.out.println("Ini nama");

Pemograman Berorientasi Objek. Week 3 Abstrak dan Interface dalam suatu kelas

Tabel 1. Instruksi untuk menampilkan teks No. Bahasa Pemrograman Instruksi 1. Pascal WRITE ( Bahasa pemrograman itu mudah );

PEMOGRAMAN JAVA. Yoannita, S.Kom. Class(ii) [Constructor] [keyword this] Modifier Passing parameter [by value] [by references]

Tutorial FDM Nurul Huda 2008, bundled by samsonasik. Modul Java 1

Java Application. Menampilkan Tulisan

Modul 4: Lebih Dalam lagi tentang Class, Objek dan Method

Pemrograman Berorientasi Objek / Object Oriented Programming / (OOP) Nur Hasanah, M.Cs

Pewarisan atau Inheritance

BAB II VARIABEL DAN TIPE DATA

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

Praktikum KPLBO Class dan Object I

PERTEMUAN 3 OBJEK DAN CLASS

2 TIPE DATA DAN VARIABEL

OBJECT, CLASS DAN METHOD. 1. Mengetahui pengertian dari objek & class 2. Dapat membuat program sederhana dari java dengan menggunakna objek dan class

Kurikulum Qt. { Basic OOP } Chapter 6. Class dan Object

Object Oriented Programming (Class, Inheritance, Encapsulation dan Interface)

Inheritance (Pewarisan) Pengertian dasar inheritance

Projek Kelompok 4. //tipe array nama array={nilai elemen 1,...,elemen N}; Fajar[] a = {new Fajar("Hallo"), new Fajar("Apa"), new Fajar("Kabar")};

Class & Sequence Diagram

MODUL 2 Constructor. Tujuan: Mahasiswa dapat mengenal dan memahami konsep constructor dan overloading constructor

PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA

Pemrograman Berorientasi Objek Danu Wira Pangestu

MODUL PEMOGRAMAN WEB II STMIK IM BANDUNG MODUL PEMOGRAMAN WEB II. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id

Class Diagram Class diagram mendeskripsikan jenis-jenis objek dalam system dan berbagai macam hubungan statis yang terdapat di antara mereka.

Pemrograman Lanjut Review Class dan Object PTIIK

Polymorphism. Materi ke-8 Pemrograman Berbasis Objek

BEKERJA DENGAN JAVA CLASS LIBRARY

PEMROGRAMAN BERORIENTASI OBJEK KONSEP PBO

Bahasa Pemrograman :: Java Class Library

MODUL PEMOGRAMAN WEB II STMIK IM BANDUNG MODUL PEMOGRAMAN WEB II. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id

Konsep Dasar Pemrograman Berorientasi Objek

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

7 Inheritance. + berjalan() + berhenti PENDAHULUAN

Pengenalan pemrograman berorientasi obyek

Transkripsi:

3 Class dan Object (2) PENDAHULUAN Masih tentang Class dan Object, jika pada bagian sebelumnya fokus pembahasan terletak pada bagaimana cara menggambarkan desain Cklas menggunakan Class Diagram, cara membuat Class di Java, cara membuat/deklarasi atribut dan method, cara melakukan instansiasi dan cara mengakses atribut dan method dari suatu objek yang telah terbentuk, maka pada bagian ini akan dibahas konsep Class dan Object yang lebih lanjut. Kensep tersebut antara lain: Access Modifier Konstruktor Atribut/Method Instansiasi Atribut/Method Class Access Modifier Atribut dan method yang dimiliki oleh oleh suatu class bisa dibatasi hak akses terhadapnya. Hal itu bisa dilakukan dengan memberikan access modifier pada atribut dan method dari suatu class. Ada 4 macam access modifier, yaitu: Pada Class Diagram, private digambarkan dengan tanda -, public dengan tanda +, protected dengan tanda # dan default (tanpa modifier access) dengan tanda ~. Konstruktor Pada bahasan sebelumnya, setelah class terbentuk, selanjutnya harus dibuat objek. Pada saat proses pembentukan objek (instansiasi), sebenarnya yang berperan adalah konstruktor. Pada dasarnya, konstruktor merupakan suatu method tetapi dengan karakteristik khusus. Beberapa karakteristik dari konstuktor antara lain: Nama konstruktor selalu sama dengan nama class Selalu memiliki modifier access public Konstruktor hanya jalan saat proses instansiasi Konsruktor tidak memiiki tipe data method, layaknya method pada umumnya

Tidak bisa memiliki return. Ada 2 jenis konstruktor, yaitu: Konstruktor Default : konstruktor yang tidak memiliki parameter atau argumen. Contoh konstruktor untuk class Mahasiswa: Konstruktor Berparameter/Berargumen : konstruktor yang memiliki parameter atau argumen.

Contoh proses instansiasi yang menggunakan konstruktor default dari contoh di atas, yaitu: Mahasiswa m = new Mahasiswa(); Sedangkan contoh proses instansiasi yang menggunakan konstruktor berparameter dari contoh di atas yaitu: Atribut dan Method Instansiasi Mahasiswa m = new Mahasiswa ( 0210630064, Imam F ); Atribut dan method instansiasi merupakan atribut dan method yang dimiliki oleh objek hasil instansiasi. Jadi untuk mengakses atribut dan method tersebut, sebelumnya harus dibuat terlebih dahulu objek. Atribut instansiasi biasanya digunakan untuk atribut- atribut dari suatu class, dimana nilai dari atribut tersebut untuk objek satu dengan objek yang lain berbeda- beda dan tersimpan pada alamat referensi atau alamat memori yang berbeda. Contohnya pada class Mahasiswa di atas, nilai nim dan nama untuk objek mahasiswa satu dengan objek mahasiswa lain bisa berbeda nilainya. Sehingga atribut nim dan nama tersebut termasuk ke jenis atribut instansiasi. Dan untuk mengakses atribut maupun method instansiasi, harus terlebih dahulu dibuat objek. Contohnya: untuk mengakses atribut nim, nama dan memanggil method ubahnama(), terlebih dulu harus dibuat objek dari class Mahasiswa. Baru kemudian atribut nim dan nama dan method ubahnama() bisa diakses.

Mahasiswa m = new Mahasiswa(); m.nim = 0210630064 ; m.nama = Imam F ; m.ubahnama( Imam Fahrur Rozi ); Atribut dan Method Class Jika atribut instansiasi digunakan untuk atribut yang memiliki nilai yang berbeda- beda antara objek yang satu dengan objek yang lain dari class yang sama, maka atribut class digunakan untuk atribut yang nilainya antara objek satu dengan objek yang lain dari class yang sama akan bernilai sama. Misalnya mahasiswa memiliki SPP, dan nilai SPP tersebut dipastikan sama antara mahasiswa satu dengan mahasiswa lainya. Ini berarti, atribut SPP untuk objek mahasiswa satu dengan objek mahasiswa lainnya bernilai sama. Sehingga SPP tersebut bisa digolongkan sebagai atribut class. Untuk membuat atribut dan method class ditandai dengan kata kunci static. Dan untuk mengakses atribut class, tidak perlu dibuat objek lebih dulu, karena bisa diakses langsung dari nama classnya. Contohnya: Class Mahasiswa di atas ditambahi atribut spp yang merupakan atribut class dan method ubahspp() yang merupakan method class.

Dan untuk mengakses atribut spp dan method ubahspp() tidak perlu membuat objek dari class Mahasiswa lebih dulu, melainkan bisa langsung menggunakan nama class Mahasiswa langsung. Mahasiswa.spp = 10000; Mahasiswa.ubahSpp(15000);

PERCOBAAN 1 : ACCESS MODIFIER Tujuan: 1. Mahasiswa memahami konsep penggunaan access modifier 2. Mahasiswa mampu membuat atribut dan method dengan access modifier 3. Mahasiswa memahami efek dari access modifier yang diterapkan pada suatu atribut maupun method Prosedur Percobaan: 1. Perhatikan class diagram di bawah ini: Sepeda + kode : String # merek : String ~ jenis : String - kecepatan : float - gigi : int + start () : void + tambahkecepatan(float v) : void + kurangikecapatan(float v) : void - tambahgigi() : void - kurangigigi() : void + stop(): void + tampildata() : void 2. Buat program dari class diagram di atas, dan simpan dengan nama file Sepeda.java

3. Compile dan jalankan class Sepeda tersebut! Amati hasilnya! 4. Buat class baru dan simpan dengan nama file SepedaDemo.java

5. Compile dan jalankan class SepedaDemo.java! Amati hasilnya! Pertanyaan: 1. Adakah atribut dan method dari class Sepeda yang tidak bisa diakses dari dalam class itu sendiri? Sebutkan jika ada! 2. Dari hasil percobaan tahap 3 (hasil compile dan run terhadap Sepeda.java), apakah Anda menemukan error? Jelaskan (error atau tidak error hasilnya) dikaitkan dengan modifier access dari atribut maupun methodnya! 3. Dari hasil percobaan tahap 5 (hasil compile dan run terhadap SepedaDemo.java), apakah Anda menemukan error? Jika iya, jelaskan apa penyebab terjadinya error tersebut! 4. Atribut dan method apakah dari class Sepeda, yang hanya bisa diakses dari dalam class itu sendiri?

5. Atribut dan method apakah dari class Sepeda, yang bisa diakses dari class lain yang berada pada paket yang sama dengan class Sepeda tersebut? 6. Bisakah atribut jenis dari class Sepeda diakses dari class SepedaDemo? Jika bisa, jelaskan lebih lanjut mengapa bisa? 7. Jika di dalam method main di dalam class SepedaDemo, ditambahkan sintaks s1.kurangigigi(), apakah bisa? Jelaskan jawaban Anda! 8. Perhatikan baris program 19 dan 24 dari class Sepeda, disitu terlihat dipanggil method kurangigigi() dan tambahgigi() yang notabene memiliki access modifier private, dan tidak menimbulkan error. Mengapa bisa demikian? 9. Apa yang harus dilakukan agar error pada class SepedaDemo bisa hilang? 10. Berikan kesimpulan dari percobaan yang telah dilakukan dan beberapa pertanyaan terkait dengan access modifier!

PERCOBAAN 2 : KONSTRUKTOR Tujuan: 1. Mahasiswa memahami konsep konstruktor 2. Mahasiswa mampu membuat konstruktor default dan konstruktor berparameter 3. Mahasiswa mampu membuat objek dengan menggunakan konstruktor default dan konstruktor berparameter Prosedur Percobaan: 1. Buka kembali file Sepeda.java di atas! 2. Tambahkan konstruktor default dan konstruktor berparameter dari class Sepeda tersebut. Letakkan konstuktor tersebut di bawah atribut! 3. Di dalam method main() yang ada di dalam class Sepeda, tambahkan beberapa proses instansiasi seperti tampil di gambar berikut:

4. Compile dan jalankan kembali class Sepeda! Amati hasilnya!

Pertanyaan: 1. Mengapa pada baris pertama hasil keluaran muncul tulisan Objek terbentuk menggunakan konstruktor default? 2. Mengapa juga pada baris- baris setelahnya muncul tulisan Objek terbentuk menggunakan konstruktor berparameter 1 dan Objek terbentuk menggunakan konstruktor berparameter 2? 3. Perhatikan pada method main() dari class Sepeda tersebut, pada baris berapakah proses instansiasi yang menggunakan konstruktor berparameter dengan 2 parameter dijalankan? 4. Perhatikan hasil keluaran program: Objek terbentuk menggunakan konstruktor berparameter 2 KODE = KOSONG MEREK = KOSONG JENIS = KOSONG KECEPATAN = 25.0 GIGI = 4 Setelah ditampilkan muncul nilai kode=kosong, merek=kosong, jenis=kosong, kecepatan=25.0 dan gigi=4. Dapat dari manakah nilai- nilai tersebut? 5. Misalkan di dalam class Sepeda ditambahkan konstruktor seperti di bawah ini: public Sepeda(int x){ gigi = x; } Bisa apa tidak? Jelaskan!

6. Berikan contoh konstruktor berparameter dengan 3 parameter untuk class Sepeda tersebut, dan berikan juga contoh proses instansiasi yang menggunakan konstruktor dengan 3 parameter tersebut! 7. Berikan kesimpulan dari percobaan yang telah dilakukan dan beberapa pertanyaan terkait dengan konstruktor!

PERCOBAAN 3 : ATRIBUT&METHOD CLASS DAN ATRIBUT&METHOD INSTANSIASI Tujuan: 1. Mahasiswa memahami konsep atribut&method class dan atribut&method instansiasi 2. Mahasiswa mampu membuat atribut&method class menggunakan kata kunci static 3. Mahasiswa mengetahui beda cara mengakses atribut&method class dengan atribut&method instansiasi Prosedur Percobaan: 1. Buka kembali file Sepeda.java di atas! 2. Tambahkan atribut class jumtotalsepeda dan method class tambahjumtotalsepeda()! Atribut class Method class 3. Method main() di dalam class Sepeda juga diubah menjadi sbb:

Penjelasan: Setiap selesai proses instansiasi, dijalankan method class tambahjumtotalsepeda(), yang menandakan bahwa jumlah objek yang terbentu dari class Sepeda bertambah 4. Compile dan jalankan class Sepeda, dan amati hasil keluarannya!

Pertanyaan: 1. Sebutkan atribut dan method instansiasi yang dimiliki oleh class Sepeda! 2. Sebutkan atribut dan method class yang dimiliki oleh class Sepeda! 3. Jelaskan perbedaan antara atribut dan method instansiasi dan atribut dan method class dari nilai yang disimpan di dalamnya! 4. Jelaskan perbedaan antara atribut dan method instansiasi dan atribut dan method class dari cara mengakses atribut dan method tersebut! 5. Perhatikan hasil keluaran di atas. Jelaskan bagaimana bisa muncul nilai 3 untuk jumlah total objek sepeda yang dibuat! 6. Berikan kesimpulan dari percobaan yang telah dilakukan dan beberapa pertanyaan terkait dengan konstruktor!

LATIHAN Buatlah program dari Class Diagram di bawah ini! Balok + panjang : double # lebar : double ~ tinggi : double + jumvolumetotalbalok : double + hitungvolume () : double + hitungluaspermukaan() : double + hitungdiagonalruang() : double ~ hitungdiagonalsisidepan() : double # hitungdiagonalsisisamping() : double - hitungdiagonalsisiatas() : double Penjelasan: Perhatikan notasi access modifier pada tiap atribut dan method Perhatikan juga notasi atribut/method class Atribut jumvolumetotalbalok digunakan untuk menyimpan jumlah volume total dari objek- objek balok yang sudah terbuat.