KONSEP OBJECT ORIENTED PROGRAMING (OOP)

Slides:



Advertisements
Presentasi serupa
Pengenalan Pemrograman Berorientasi Obyek OOP berputar pada konsep dari obyek yang merupakan elemen dasar dari program Anda. Ketika kita membandingkan.
Advertisements

Pemrograman Berorientasi Objek (Project)
Pemrograman JAVA (TIB09)
Bekerja dengan Java class library
Dasar pemrograman.
OOP berputar pada konsep dari obyek yang merupakan elemen dasar dari program Anda. Ketika kita membandingkan dengan dunia nyata, kita dapat menemukan.
Membuat class sendiri.
Array.
Praktikum Bahasa Pemrograman
Nur Hayatin, S.ST Jurusan Teknik Informatika Universitas Muhammadiyah Malang Sem Genap 2010.
Universitas Muhammadiyah Malang Fakultas Teknik Jurusan Teknik Informatika Semester Genap Nur hayatin, S.ST.
Universitas Muhammadiyah Malang Fakultas Teknik Jurusan Teknik Informatika Semester Genap Nur hayatin, S.ST.
Dasar-Dasar Pemrograman
OOP Java 04 Array & String.
Java array.
Pemrograman Berorientasi Objek
SLIDE OTOMATIS PINDAH DALAM WAKTU 4-5 MENIT. A:kiriB:kanan Deklarasikan sebuah variabel dengan nama ‘isi’ yang mempunyai type array of double dengan ukuran.
PACKAGE Universitas Muhammadiyah Malang Fakultas Teknik Jurusan Teknik Informatika Semester Genap Presented By Nur hayatin
STRING Pemrograman Object Oriented dengan JAVA Teknik Informatika-UMM.
Pemrograman Berbasis Obyek Oleh Tita Karlita
Encapsulation, Inheritance, polymorphism, dan interface
Variabel, Method & Constructor Oleh : Nur Hayatin, S.ST Teknik Informatika – UMM 2011.
INHERITANCE, POLYMORPHISM, DAN INTERFACE
Pemrograman Berorientasi Obyek Oleh Tita Karlita
As’ad Djamalilleil Function (method) As’ad Djamalilleil
METHOD Object Oriented Programming with JAVA 2011/2012.
Advanced Class Oleh : Nur Hayatin, S.ST Teknik Informatika – UMM 2011.
Dasar Pemrograman Java Nana Ramadijanti Laboratorium Computer Vision Politeknik Elekltronika Negeri Surabaya PENS-ITS 2008.
Diberikan pada Kuliah Sela Teknik Informatika - Universitas Muhammadiyah Malang Tahun 2011.
MEMBUAT CLASS SENDIRI. Pada akhir pembahasan, peserta diharapkan mampu untuk :  Membuat class  Mendeklarasikan atribut dan method untuk class  Menggunakan.
Bekerja dengan Java class library
Algoritma & Pemrograman 1
Tipe Data, Variabel, dan Operator
DASAR-DASAR PEMROGRAMAN JAVA
Dasar pemrograman.
Inheritance, polymorphism, dan interface
Class and Object Matakuliah : XXXX / Algoritma dan Metode Object Oriented Programming II Pertemuan : 2 Tahun : 2008 Versi : 1/0.
INHERITANCE (Oleh : Nur Hayatin, S.ST)
OOP Java Minggu 2b Dasar OOP. Class (1) Deklarasi class : [ *] class { [ *] } Cat : [] = optional, * = repeat 0-N.
Algoritma &Pemrograman 1
03 Elemen Dasar Bahasa Java
TIPE DATA, VARIABEL, DAN OPERATOR
JAVA ARRAY.
PBO Daniel Riano Kaparang, S.Kom., M.Cs
Objek-Oriented Programming (OOP)
Java array.
Dasar pemrograman java
Algoritma & pemrograman 1B
Method & Constructor METHOD.
Pertemuan 5 Tipe Data, Operator, Tata Bahasa
Java array.
Java array.
MEMBUAT CLASS SENDIRI 2.
Algoritma &Pemrograman 1
Tipe Data, Variabel, dan Operator
Identifier, Keywords, Variabel, Tipe Data Primitif dan Operator
Tipe Data, Variabel, dan Operator
Java array.
Algoritma &Pemrograman 1
PEMROGRAMAN BERORIENTASI OBYEK PENDAHULUAN
PEMROGRAMAN BERORIENTASI OBJEK
Java Class Library.
Konsep Bahasa Pemrograman I Konsep OOP
Java array.
Identifier, Keywords, Variabel, Tipe Data Primitif dan Operator
Tipe Data, Variabel, dan Operator
Java array.
Pemrograman Berorientasi Objek
PEMROGRAMAN BERORIENTASI OBJEK
DPH1C4 Pemrograman berorientasi Obyek
Transcript presentasi:

KONSEP OBJECT ORIENTED PROGRAMING (OOP) Nur hayatin, S.ST KONSEP OBJECT ORIENTED PROGRAMING (OOP) Universitas Muhammadiyah Malang Fakultas Teknik Jurusan Teknik Informatika Semester Genap - 2010

Tujuan Pembelajaran Mahasiswa diharapkan : Memahami paradigma OOP Mengerti konsep kelas & objek

Sub Topik Konsep OOP Class Object Jangkauan Variabel Method Definisi class Deklarasi class Object Penciptaan obyek Jangkauan Variabel Method

Konsep OOP Dua istilah yang sangat penting dalam pemrograman berorientasi objek adalah Kelas dan obyek. Obyek menggabungkan property (atribut) dan behavior (tingkah laku) sebagai satu kesatuan.

Contoh obyek nyata Obyek perangkat lunak : Atribut  data Tingkah laku  method

Perbedaan Class dan Obyek

Class Merupakan struktur dasar dari OOP. Diasumsikan sebagai template, yaitu sebuah prototype dari object. Dua tipe class member : Field (property atau attribute)‏ Menentukan tipe data yang digunakan oleh class Method Menentukan jalan operasional

Obyek Obyek merupakan hasil instansiasi dari suatu kelas (instance class) Terdiri dari: kumpulan data (property), berupa variabel yang menentukan karakteristik sebuah object. beberapa method (behavior) yang menjelaskan bagaimana tingkah laku object. Proses pembentukan obyek dari suatu class disebut dengan instantiation.

Contoh class & obyek

Class dan Object Class memiliki kelebihan dengan salah satu karakteristiknya yaitu, reusable. Programmer dapat menggunakan sebuah class berulang kali untuk membuat banyak object.

Instantiate Class Untuk membuat sebuah object atau instance dari class, digunakan operator new Sebagai contoh : String str2 = new String(“Hello world!”); atau sama dengan, String str2 = "Hello world!";

contoh public class StudentRecord { //kita akan tambahkan kode di sini nantinya } public – digunakan supaya class dapat diakses oleh class-class lain di luar package class – merupakan keyword yang digunakan untuk membuat class dalam Java StudentRecord – merupakan identifier untuk mendeskripsikan class

Petunjuk penulisan program Gunakan nama yang sesuai untuk penamaan class. Disarankan untuk tidak menggunakan XYZ sebagai nama class atau nama asal-asalan lainnya. Nama class harus diawali dengan huruf KAPITAL. Penamaan file harus tepat sama dengan nama yang digunakan oleh class ber-modifier public.

Jangkauan Variabel Jangkauan Menentukan pada bagian mana dalam program, suatu variabel tersebut dapat diakses. Menentukan lifetime variabel, atau lamanya variabel bertahan dalam memory Jangkauan ditentukan oleh penempatan deklarasi variabel dalam program. Jangkauan adalah segala sesuatu dalam tanda {...}, atau yang disebut juga dengan inner block Sedangkan segala sesuatu yang berada diluar tanda tersebut disebut dengan outer block

Jangkauan Variabel Jangkauan suatu variabel adalah : Didalam blok yang mendeklarasikannya, dimulai pada baris dimana variabel tersebut dideklarasikan, dan didalam inner block.

Contoh 1

Contoh 1 Code pada slide sebelumnya, merepresentasikan 5 jangkauan yang diindikasikan oleh baris dan huruf yang merepresentasikan jangkauan tersebut. Terdapat 5 variabel i, j, k, m dan n, serta lima jangkauan A, B, C, D dan E. Jangkauan variable i adalah A. Jangkauan variable j adalah B. Jangkauan variable k adalah C. Jangkauan variable m adalah D. Jangkauan variable n adalah E.

Contoh 2

Contoh 2 Pada method main(), jangkauan dari variabel adalah, ages[] - jangkauan A i in B - jangkauan B i in C - jangkauan C Pada method test(), jangkauan variabel adalah, arr[] - jangkauan D i in E - jangkauan E

Jangkauan Variabel Pada saat pendeklarasian variabel, hanya satu variabel dengan identifier atau nama, yang dapat dideklarasikan dalam sebuah jangkauan. Hal itu berarti jika contoh deklarasi di bawah ini dijalankan : { int test = 10; int test = 20; } Compiler akan menghasilkan error, kecuali variabel menggunakan nama yang berbeda dalam satu blok.

Jangkauan Variabel Dua variabel dapat menggunakan nama yang sama, jika tidak dideklarasikan dalam satu blok. int test = 0; System.out.print( test ); //..kode selanjutnya { int test = 20; }

Panduan Penulisan Program Hindari penamaan variabel dengan nama sama, yang dideklarasikan dalam satu method.

Method Method Beberapa ciri method: merupakan bagian code yang dapat dipanggil oleh program utama atau method lain untuk melakukan suatu fungsi tertentu. Beberapa ciri method: Dapat me-return value atau tidak sama sekali. Setelah method telah selesai dieksekusi, proses kembali kepada method yang memanggilnya.

Casting Casting Pokok pembahasan : Mengkonversi tipe data dari satu tipe ke tipe yang lain Pokok pembahasan : Casting data dengan tipe primitif Casting object

Casting Tipe Primitif Pengkonversian nilai dari satu tipe ke tipe yang lainnya, dapat dilakukan pada casting tipe primitif. Umumnya digunakan antar tipe data numerik. Terdapat satu tipe data yang tidak dapat dikonversi, yaitu boolean. Tipe Casting: Casting Implisit Casting Explisit

Casting Implisit berikut ini merupkan contoh deklarasi, penyimpanan sebuah data integer dalam sebuah variabel dengan tipe data double. int numInt = 10; double numDouble = numInt; //casting implisit Pada code di atas, variabel tujuan memiliki jangkauan lebih besar dibandingkan dengan data yang akan ditempatkan, data tersebut secara implisit tercasting menjadi tipe data double.

Casting Implisit Contoh lain : int numInt1 = 1; int numInt2 = 2; //hasilnya secara implisit tercasting menjadi double double numDouble = numInt1/numInt2;

Casting Explisit casting explisit digunakan pada saat kita mengkonversi sebuah data dengan tipe yang lebih besar menuju tipe lebih kecil. sintaks casting explisit : (dataType)value dataType - bentuk tipe data konversi value - ekspresi yang me-return value dari tipe sumber

Contoh Casting Explisit Berikut ini merupakan contoh proses casting dari int menjadi char, atau sebaliknya. Sebuah character dapat digunakan sebagai int karena tiap character memiliki kode numerik sesuai posisinya dalam character set. Character 'A' == 65 char valChar = 'A'; int valInt = valChar; System.out.print(valInt);//cast explisit:output 65

Contoh Casting Explisit double valDouble = 10.12; int valInt = (int)valDouble; //konversi valDouble menjadi tipe int double x = 10.2; int y = 2; int result = (int)(x/y); //menghasilkan result sebagai int

Casting Objek Dibicarakan setelah Polimorphism

Konversi Tipe Primitif menjadi Object dan sebaliknya Satu hal yang yang tidak dapat dilakukan dalam proses casting adalah mengcasting sebuah object menjadi tipe data primitif atau sebaliknya. Sebagai alternatif, package java.lang memiliki class yang mendukung setiap tipe data primitif : Float, Boolean, Byte dan lainnya. Disebut dengan class Wrapper

Konversi Tipe Primitiv menjadi Object dan sebaliknya Class Wrapper Hampir seluruh class ini memiliki nama yang sama dengan tipe data, kecuali nama class yang dimulai dengan huruf kapital (Short dengan short, Double dengan double, dan sebagainya)‏ Dua class memiliki nama yang membedakannya dengan tipe data: Character digunakan untuk variabel char Integer untuk variabel int Penggunaan class yang mendukung tiap tipe primitif dilakukan dengan membuat object yang memiliki value yang sama

Konversi Tipe Primitiv menjadi Object dan sebaliknya Contoh : Statement berikut digunakan untuk membuat sebuah instance dari class Integer dengan value 7801(primitive -> Object)‏ Integer dataCount = new Integer(7801); Pengkonversian sebuah object Integer menjadi data primitif bertipe int. Hasilnya adalah int dengan value 7801 int newCount = dataCount.intValue(); Program pada umumnya, memerlukan pengkonversian sebuah String menjadi tipe numerik, seperti int (Object -> primitive)‏ String pennsylvania = "65000"; int penn = Integer.parseInt(pennsylvania);

Membandingkan Object Hampir seluruh operator digunakan pada tipe primitif, bukan object. Kecuali pada operator equal (==) dan not equal (!=). Kedua operator tersebut berfungsi untuk : memeriksa apakah object memiliki value yang sama dengan object yang dibandingkan menentukan apakah kedua operator menunjuk object yang sama.

Membandingkan Objects Contoh : class EqualsTest { public static void main(String[] arguments) { String str1, str2; str1 = "Free the bound periodicals."; str2 = str1; System.out.println("String1: " + str1); System.out.println("String2: " + str2); System.out.println("Same object? " + (str1 == str2)); str2 = new String(str1); System.out.println("Same value? " + str1.equals(str2)); }

Membandingkan Objects Hasil eksekusi program : String1: Free the bound periodicals. String2: Free the bound periodicals. Same object? true Same object? false Same value? True

Membandingkan Objects Catatan untuk String: String str1 = “Hello”; String str2 = “Hello”; Dua referensi str1 dan str2 akan menunjuk object yang sama String literal teroptimasi di Java; jika suatu String menggunakan literal dan kemudian literal lain juga digunakan namun dengan character yang sama, Java mengetahui cara untuk mengembalikan object string pertama. Kedua string adalah object yang sama, anda harus melakukan cara yang lain untuk membuat object yang berbeda.

Menentukan class dari sebuah object Bagaimana cara menentukan class dari object? Asumsikan terdapat object berikut : SomeClassName key = new SomeClassName(); Berikut ini akan dibahas mengenai dua cara untuk mengetahui tipe tujuan object dengan menggunakan reference key.

Method getClass()‏ Method getClass() digunakan untuk menentukan Class object (dimana Class adalah class) yang memiliki sebuah method getName(). Dalam hal ini, getName() menghasilkan sebuah string yang merepresentasikan nama dari class Sebagai contoh, String name = key.getClass().getName();

Operator instanceOf instanceOf memiliki dua operand: sebuah reference object pada sisi kiri nama class pada sisi kanan. Exkspresi tersebut menghasilkan nilai true atau false berdasar pada apakah object merupakan instance class yang dimaksud atau subclass lain. Sebagai contoh, boolean ex1 = "Texas" instanceof String; // true Object pt = new Point(10, 10); boolean ex2 = pt instanceof String; // false

Memanggil Instance Variable Berikut ini merupakan contoh pemanggilan method menggunakan class String. Gunakan Java API documentation untuk mengetahui seluruh method yang terdapat pada class String. Pemanggilan instance method, dapat didklarasikan pada dengan menggunakan sintaks berikut ini : nameOfObject.nameOfMethod( parameters );

Memanggil Instance Variable Perhatikan dua contoh method class String berikut :

Memanggil Instance Variable Menggunakan methods, String str1 = "Hello"; char x = str1.charAt(0); //return character H //disimpan dalam variable x String str2 = "hello"; //return boolean value true boolean result = str1.equalsIgnoreCase( str2 );

Parameter Passing Pass-by-Value Pada saat sebuah pass-by-value muncul, method tersebut membuat copy dari value variabel yang di-passing ke method. Method tersebut tidak dapat langsung mengubah argumen awal, meskipun dapat mengubah parameter pada saat proses perhitungan. Seluruh tipe data primitif pada saat ditujukan ke method merupakan pass-by- value.

Pass-by-Value

Parameter Passing Pass-by-Reference Pada saat pass-by-reference muncul, reference untuk sebuah object di-passing untuk memanggil sebuah method. Method tersebut membuat sebuah copy reference dari variabel yang ditujukan ke method. Namun, tidak seperti pass-by-value, method tersebut dapat memodifikasi object sebenarnya yang ditunjuk oleh reference, meskipun dua reference yang berbeda digunakan dalam method, lokasi data yang ditunjuk adalah sama.

Pass-by-Reference

Pass-by-Reference

Contoh: class, object, variable, dan methode nama class instance variable methods

Tugas 1 Apa perbedaan antara variabel dan object? Ada berapa macam tipe data primitif dalam Java? Sebutkan dan jelaskan! Sebutkan tipe data reference dalam Java! Beri contoh deklarasi konstanta dalam Java! Sebutkan keyword dalam java! Kenapa deklarasi variabel berikut salah? a)     int 8k; b)    char null; c)     String public;

Latihan Buat sebuah class Student yang terdiri dari class member sbb : Atribut : nama, tgl_lahir, jenis_kelamin, alamat, jurusan, nim. Method : editData, tampilData, editStatus(aktif/tidak aktif), simpanNilai(nilai<=50 tidak lulus, nilai> 50 lulus) Catatan : instansiasi obyek ‘Mahasiswa’ dari class Student. Kemudian akses semua method & attributnya melalui obyek tsb.

Referensi Tita Karlita, ST, “Konsep Pemrograman Berorientasi Objek”, PENS-ITS, Surabaya, 2004 Jeni 1 Tutorial Abdul kadir, “Dasar Pemrograman Java 2”, Andi Publisher, Yogyakarta, 2003