Other OOP Basic. Viska Mutiawani, M.Sc. 1 Viska Mutiawani - Informatika FMIPA Unsyiah

dokumen-dokumen yang mirip
Other OOP Basic. Viska Mutiawani, M.Sc

UML (Unified Modelling Language)

ENKAPSULASI Data Hiding

MODUL 4. Classes and Objects (part I)

INTERAKSI ANTAR OBJECT

Object and All Things Related to It

Understanding Class Definition

Algoritma Pemrograman [BS204]

Abstract Class dan Interface. Viska Mutiawani, M.Sc

Object and All Things Related to It. Viska Mutiawani, M.Sc

Composition dan Inheritance

KARAKTERISTIK PEMROGRAMAN BERORIENTASI OBJEK (OOP) Pemrograman berorientasi Objek mempunyai karakterisitik sebagai berikut:

Pertemuan 4 Halaman 1/1. Class Inheritance

Pemrograman Lanjut Tipe Data dan Constructor PTIIK

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

C#, Programming, Object-oriented. Pengenalan C# Erick Pranata. Edisi I

Understanding Class Definition. Viska Mutiawani, M.Sc

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

Membuat dan Menggunakan Class

Pemrograman Lanjut. Class : Deeper Look 2

Pemrograman Berorientasi. Class dan Obyek 2

Dasar-Dasar OOP di Java

Pemrograman Berorientasi Obyek. Ramos Somya

Dasar-Dasar OOP di Java

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

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

CLASS PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM JOGJAKARTA

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

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

Bab 8. Dasar-Dasar OOP

Bahasa Pemrograman :: Inheritance

Praktikum 7. Dasar-dasar OOP di Java

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

Class & Object 2 ~Praktikum~ Imam Fahrur Rozi

Algoritma Alg dan Pemr P ograman emr 1 C++ Class & Object

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

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

Pengenalan OOP. Object-Oriented programming (OOP) Menitikberatkan pada konsep object sebagai elemen dasar dari program.

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

Class & Object 2. Imam Fahrur Rozi

UNIVERSITAS GUNADARMA

Pemrograman Lanjut. Instance Variable Access Modifier Set dan Get Method

Dengan menggunakan encapsulation kita dapat membatasi akses langsung suatu class atau program kecuali melalui suatu method yang sudah diberikan.

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

Inheritance (Pewarisan) Pengertian dasar inheritance

Konsep Dasar Pemrograman Berorientasi Objek

Bahasa Pemrograman :: Java Class Library

BAB VII. CLASS DAN OBJECT

Jobsheet 09. Overloading and Overriding Method

Inheritance dan Kata Kunci static

MODUL 3. Inheritance, Abstract Class, Interface TUJUAN PRAKTIKUM LANDASAN TEORI. A. Inheritance

Praktikum 3 Konsep Class, Attribute dan Method

Pemrograman Lanjut Class, Instance Variable dan Method PTIIK

Pemrograman Berorientasi. Methods

IKG2I4 / Software Project I

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

IKG2I4 / Software Project I

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

Bahasa Pemograman II. Object Oriented Programming

Review Bahasa Pemrograman Java Konsep OOP N I K O I B R A H I M, M I T F A K U L T A S T E K N O L O G I I N F O R M A S I

PEMROGRAMAN BERORIENTASI OBJEK

Bahasa Pemrograman :: Polimorfism and Abstraction

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

MEMBUAT KELAS SENDIRI. Dewi Sartika, M.Kom

Pemrograman Lanjut. Case Study: Perusahaan Taxi

Pemrograman Berorientasi. Abstract & Interface

Kelas dan Objek. Oleh : Agus Priyanto, M.Kom

KUM 3 IMPLEMENTASI LIST

A. TUJUAN PEMBELAJARAN. 1. Menerapkan konsep enkapsulasi pada class 2. Mendeklarasikan suatu constructor

Praktikum KPLBO Class dan Object I

PEMOGRAMAN JAVA. Yoannita. Class(iii) [Constructor] [keyword this] Passing parameter [by value] [by references]

Object Oriented Programming 1

COMPOSITION FAKULTAS TEKNOLOGI INFORMASI. PBO Lanjutan UNIVERSITAS BUDI LUHUR. Kelas (Lanjutan) HAL : 1

06/03/2018. Tidak memiliki parameter. Melakukan inisialisasi semua variabel private dengan nilai awal.

CLASS, METHOD DAN MODIFIER

Reserved words Reserved words atau keywords merupakan kata-kata spesifik digunakan oleh compiler untuk keperluan pemrograman. Contoh reserved words

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

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

Modul 2. [access specifier] [tipe data] [nama variabel];

Gambar 1: Hirarki class

Modul II Object Oriented Programming

Praktikum KPLBO Final Object Concept I

Pemrograman Lanjut. Class and Object

Pengenalan pemrograman berorientasi obyek

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

Class & Sequence Diagram

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

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

MODUL 1. CLASS, OBJECT, CONSTRUCTOR DAN METHOD

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

MODUL 1. Class, Object, Constructor dan Method

Enkapsulasi. Politeknik Elektronika Negeri Surabaya. Enkapsulasi. public void Info() { System.out.println( Saya siswa PENS );

OOP Java. 05 Encapsulation & Inheritance

MODUL 1 PENGENALAN OOP

PEMROGRAMAN JAVA. Yoannita, S.Kom. Class & Method sederhana Konsep Pemrograman Berorientasi Objek. Company LOGO

Bahasa Pemrograman 2.

Praktikum 6 Class Design (Encapsulation)

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA FAKULTAS ILMU KOMPUTER UNIVERSITAS BRAWIJAYA

BAB 1 PENGENALAN PEMROGRAMAN BERORIENTASI OBJEK

3/31/2011. Tujuan. Inheritance, Polymorphism,& Interfaces. Inheritance / pewarisan. Inheritance / pewarisan. Inheritance / pewarisan

Transkripsi:

Other OOP Basic Viska Mutiawani, M.Sc 1 Viska Mutiawani - Informatika FMIPA

Konsep penting Method overloading Encapsulation this keyword final static 2 Viska Mutiawani - Informatika FMIPA

Visualisasi Class Class divisualisasikan dalam UML sebagai kotak persegi dengan 3 ruang: Nama : identitas kelas Variabel (atribut, state, field): atribut kelas Method (behavior, function, operation) : perilaku kelas 3 Viska Mutiawani - Informatika FMIPA

4 Viska Mutiawani - Informatika FMIPA

Method Overloading Method overloading: nama methodnya sama namun beda implementasinya. Perbedaan implementasi: dibedakan oleh parameternya (jumlah parameter, tipe data parameter, urutan parameter) 5 Viska Mutiawani - Informatika FMIPA

Contoh 6 Viska Mutiawani - Informatika FMIPA

Method Overloading pada Constructor // Define the Circle class public class Circle { // Save as "Circle.java" // Private variables private double radius; private String color; Kelas Circle memiliki 3 method Constructor. // Constructors (overloaded) public Circle() { radius = 1.0; color = "red"; public Circle(double r) { radius = r; color = "red"; // 1st Constructor // 2nd Constructor public Circle(double r, String c) { // 3rd Constructor radius = r; color = c; 7 Viska Mutiawani - Informatika FMIPA Method mana yang dipilih akan disesuaikan dengan parameter yang digunakan sewaktu mencipta objek Circle. Jika tidak ketemu padanannya akan muncul error kompilasi

public vs private public: class/variabel/method dapat diakses oleh semua objek dalam sistem. private: variabel/method dapat diakses oleh kelas itu sendiri Pada UML: public dinotasikan dengan + private dinotasikan dengan - 8 Viska Mutiawani - Informatika FMIPA

Encapsulation Objek tidak seharusnya membuka lebar semua informasi mengenainya. Ada informasi yang harus ditutupi dari klien. Nasabah tidak perlu tahu proses di dalam mesin ATM sewaktu penarikan Encapsulation adalah teknik mempaketkan informasi dengan menyembunyikan segala hal yg harus disembunyikan dan menampakkan segala hal yang bisa ditampakkan. 9 Viska Mutiawani - Informatika FMIPA

Encapsulation Satu class me-encapsulate/ membungkus data (dalam variabel) dan algoritma (dalam method). Nilai dari variabel menggambarkan kondisinya (state) Method menggambarkan perilakunya (behavior) 10 Viska Mutiawani - Informatika FMIPA

Information Hiding Variabel di-encapsulate dalam class dengan menggunakan akses private. Untuk mencapainya kita panggil/buat method accessor yang public. Objek saling berkomunikasi antar sesamanya dengan menggunakan antar-muka (method public). Implementasi dalam method di-encapsulate dalam class. 11 Viska Mutiawani - Informatika FMIPA

Keyword this Keyword this digunakan untuk merujuk pada objek ini dalam suatu class. Kegunaannya untuk menghilangkan ambigu. this dapat digunakan untuk variabel dan method. Pada constructor, this digunakan untuk memanggil constructor lain. 12 Viska Mutiawani - Informatika FMIPA

Method tostring() Method tostring() merupakan salah satu method dasar yang ada dalam class Object, yang akan mengembalikan String. Setiap class dalam Java, sebaiknya mengoverride method tostring() dengan cara mencetak deskripsi umum dari objek tersebut. 13 Viska Mutiawani - Informatika FMIPA

Constant (final) Constant pada Java menggunakan keyword final. Variabel final hanya bisa diberi nilai sekali dan tidak bisa diubah. 14 Viska Mutiawani - Informatika FMIPA

Static Variabel static: variabel class Variabel static akan diinisialisasi ketika kelas diinisialisasi. Walaupun ada banyak objek hasil ciptaan suatu class yang memiliki variabel static, variabel staticnya tetaplah satu (kepunyaan class) class Test { static int a=10; static int b =100; Variabel static dapat diakses seperti ini: Test.a=100; Test.b=200; Cara di bawah juga valid: Test t1=new Test(); Test t2=new Test(); t1.a=100; t2.a=100; 15 Viska Mutiawani - Informatika FMIPA

Contoh // The Circle class definition public class Circle { // Public constants // Save as "Circle.java" public static final double DEFAULT_RADIUS = 8.8; public static final String DEFAULT_COLOR = "red"; // Private variables private double radius; private String color; // Constructors (overloaded) public Circle() { radius = DEFAULT_RADIUS; color = DEFAULT_COLOR; public Circle(double radius) { this.radius = radius; color = DEFAULT_COLOR; // 1st Constructor // 2nd Constructor // Public getter and setter for private variables public double getradius() { return radius; public void setradius(double radius) { this.radius = radius; public String getcolor() { return color; public void setcolor(string color) { this.color = color; public Circle(double radius, String color) { // 3rd Constructor this.radius = radius; this.color = color; // Public methods public double getarea() { return radius*radius*math.pi; 16 Viska Mutiawani - Informatika FMIPA // tostring() to provide a short description of this instance public String tostring() { return "Circle with radius = " + radius + " and color of " + color;

Kerjasama Objek Pada suatu aplikasi berbasis objek, aplikasi tersebut menciptakan objek yang saling berkolaborasi di dalam memori 17 Viska Mutiawani - Informatika FMIPA

Latihan Permainan Daduku dimainkan oleh dua pemain. Setiap pemain yang mendapat giliran akan melempar dua dadu bersamaan. Nilai yang muncul pada kedua dadu mempunyai nilai tertentu, seperti di bawah: Kombinasi Skor * Nilai 1 muncul hanya pada satu dadu 100 * Nilai 5 muncul hanya pada satu dadu 50 * Kedua dadu menampilkan nilai 2 200 * Kedua dadu menampilkan nilai 3 150 * Kedua dadu menampilkan nilai 6 250 Salah satu pemain akan dinyatakan menang jika berhasil mengumpulkan nilai lebih dari 1000. Ada berapa class yang terlibat pada permainan ini? 18 Viska Mutiawani - Informatika FMIPA

Class yang terlibat pada permainan Daduku Dadu - sisi : int + Dadu () + getsisi () : int + setsisi (sisi : int) : void + lempardadu () : void + tostring () : String Permainan -? -? Pemain - nama : String - nilai : int + Pemain (nama:string) + getnama () : String + setnama (nama : String) : void + getnilai () :int + setnilai (skor : int) : void 19 + tostring () : StringViska Mutiawani - Informatika FMIPA

Latihan Gender bisa : l p atau L P Method tostring() mengembalikan "author-name (gender) at email", e.g., Amira (p) at amira@somewhere.com". 20 Viska Mutiawani - Informatika FMIPA

Latihan Asumsi: buku dikarang oleh satu pengarang saja. Method tostring() that returns "'book-name' by authorname (gender) at email". Gunakan method Author's tostring(), yg mengembalikan "author-name (gender) at email". 21 Viska Mutiawani - Informatika FMIPA