Pemrograman Berorientasi Objek 2

Ukuran: px
Mulai penontonan dengan halaman:

Download "Pemrograman Berorientasi Objek 2"

Transkripsi

1 Bahan Ajar Program Studi Manajemen Informatika Jenjang D3 Pemrograman Berorientasi Objek 2 Oleh Sudarmanto Kode MK : MI 2103T Revisi Terakhir : 05/09/13

2 Sesi 1 2 Review konsep pemrograman berorintasi objek Encapsulation Enheritance Polimorphism

3 3 Mampu menjelaskan pengertian encapsulation Mampu membuat class Mampu menjelaskan pengertian inheritance Mampu menjelaskan pengertian polimorphism

4 Encapsulation Encapsulation adalah salah satu dari empat konsep PBO: encapsulation, inheritance, polymorphism, dan abstraction Encapsulation adalah teknik pembuatan filed-field privat dalam kelas dan menyediakan akses ke field melalui metode publik. Jika filed dideklarasikan sebagai privat, filed ini tidak dapat diakses oleh siapa pun di luar kelas, sehingga menyembunyikan field dalam kelas. Maka, enkapsulasi juga disebut sebagai menyembunyikan data.

5 Encapsulation Manfaat utama dari enkapsulasi adalah kemampuan untuk memodifikasi kode di kelas ini tanpa mengubah kode lain yang menggunakan kode di kelas ini. Dengan fitur ini Encapsulation memberikan rawatan, fleksibilitas dan ekstensibilatas untuk kode kita. Encapsulation terimplementasi kedalam kelas (class)

6 Contoh Encapsulation Perhatikan class berikut: public class EncapTest{ private String name; private int age; public int getage(){ return age; public String getname(){ return name; public void setage(int newage){ age = newage; public void setname(string newname){ name = newname;

7 Contoh Encapsulation Metode public dipakai untuk mengakses filed dalam kelas ini dari luar kelas ini. Biasanya, metode ini disebut sebagai getter dan setter. Oleh karena itu setiap kelas yang ingin mengakses variabel harus mengaksesnya melalui getter dan setter.

8 Contoh Encapsulation Variabel dari kelas EncapTest dapat diakses dengan cara: public class RunEncap{ public static void main(string args[]){ EncapTest encap = new EncapTest(); encap.setname("james"); encap.setage(20); System.out.print("Name : " + encap.getname()+ " Age : "+ encap.getage());

9 Keuntungan Encapsulation Field dari kelas dapat dibuat read-only or writeonly Kelas mempunyai kendali penuh apa-apa yang disimpan kedalam filednya User dari kelas tidak mengetahui bagaimana kelas menyimpan datanya. Kelas dapat mengubah tipe data atau field dan user dari kelas tidak membutuhkan pengubahan kodenya

10 Pewarisan (Inheritance) Semua class dalam Java, termasuk class yang membangun Java API, merupakan subclass dari superclass Object. Contoh dari hierarki class :

11 Pewarisan (inheritance) Superclass class yang letaknya di atas class tertentu di dalam hierarki. Subclass class yang letaknya di bawah class tertentu di dalam hierarki.

12 Pewarisan (inheritance) Keuntungan penggunaan Inheritance dalam OOP : Reusability Ketika behavior(method) dideklarasikan dalam superclass, behavior tersebut otomatis diwariskan ke seluruh subclass Jadi, Anda dapat meng-enkode method hanya sekali dan method tersebut dapat digunakan oleh seluruh subclass Sebuah subclass hanya perlu mengimplementasikan perbedaan antara dirinya sendiri dan parent-nya

13 Pewarisan (inheritance) Untuk menggunakan sebuah class, gunakan keyword extends. Untuk lebih jelasnya, mari buat class parent sederhana, misalkan kita mempunyai class parent bernama Person. public class Person { protected String name; protected String address; /** * Default constructor */ public Person(){ System.out.println( Inside Person:Constructor ); name = ""; address = "";....

14 Pewarisan (inheritance) Sekarang, kita buat class lain bernama Student Karena Student juga termasuk Person, kita putuskan untuk meng-extend class Person, sehingga kita dapat mewariskan semua properti dan method yang telah ada di class Person. Untuk itu, kita bisa menulis : public class Student extends Person { public Student(){ System.out.println( Inside Student:Constructor );....

15 Pewarisan (inheritance) Ketika sebuah object Student diinstansiasi, default constructor dari superclass Student dipanggil secara implisit untuk melakukan inisialisasi seperlunya. Setelah itu, pernyataan di dalam constructor subclass dijalankan.

16 Pewarisan (inheritance) Untuk memperjelasnya, perhatikan kode dibawah ini, public static void main( String[] args ){ Student anna = new Student(); Dalam kode ini, kita membuat sebuah object dari class Student. Hasil dari program adalah: Inside Person:Constructor Inside Student:Constructor

17 Pewarisan (inheritance) Flowchart program ditampilkan dibawah ini :

18 Keyword super Sebuah subclass dapat juga memanggil secara eksplisit sebuah constructor superclass yang ada diatasnya. Dapat dilakukan dengan menggunakan pemanggilan constructor super. Pemanggilan constructor super didalam constructor subclass akan mengakibatkan eksekusi dalam constructor yang relevan dari superclass, berdasarkan passing argument-nya.

19 Keyword super Sebagai contoh, pada contoh sebelumnya yaitu class Person dan Student, kita tunjukkan sebuah contoh pemanggilan constructor super. Tuliskan kode berikut untuk class Student public Student(){ super( "SomeName", "SomeAddress" ); System.out.println("Inside Student:Constructor");

20 Keyword super Beberapa hal untuk diingat ketika menggunakan pemanggilan constructor super : Pemanggilan super() HARUS DIJALANKAN SESUAI DENGAN STATEMENT PERTAMA DALAM SEBUAH CONSTRUCTOR. Pemanggilan super() hanya dapat digunakan di dalam definisi constructor. Hal ini menjelaskan bahwa constructor this() dan pemanggilan super() TIDAK DAPAT DIJALANKAN SECARA BERSAMAAN DI DALAM CONSTRUCTOR YANG SAMA.

21 Keyword super Penggunaan lainnya dari super mengarah pada member dari superclass. Sebagai contoh, public Student() { super.name = somename ; super.address = some address ;

22 Meng-override method Jika sebuah subclass menginginkan implementasi yang berbeda terhadap method dari superclassnya, maka salah satu caranya dapat dilakukan dengan meng-override method bersangkutan. Sebuah subclass dapat meng-override method superclassnya dengan menyediakan sebuah implementasi baru untuk method tersebut.

23 Contoh Berikut ini merupakan implementasi dari method getname didalam superclass Person public class Person { : : public String getname(){ System.out.println("Parent: getname"); return name;

24 Contoh Untuk meng-override method getname dari superclass Person, di dalam subclass Student, kita tulis : public class Student extends Person{ : : public String getname(){ System.out.println("Student: getname"); return name; : Sekarang, ketika kita memanggil method getname dari object subclass Student, method getname yang di-override akan dipanggil, dan hasilnya akan menjadi, Student: getname

25 Polymorphism Polymorphism Kemampuan sebuah variabel reference untuk merubah behavior sesuai dengan apa yang dipunyai object. polymorphism membuat objek-objek yang berasal dari subclass yang berbeda, diperlakukan sebagai objek-objek dari satu superclass. Hal ini terjadi ketika memilih method yang sesuai untuk diimplementasikan ke objek tertentu berdasarkan pada subclass yang memiliki method bersangkutan. Untuk menjelaskan polymorphism, mari kita bahas sebuah contoh.

26 Polymorphism Pada contoh sebelumnya, kita diberikan parent class yaitu Person dan subclassnya adalah Student, sekarang kita tambahkan subclass lainnya dari Person yaitu Employee Berikut adalah hirarki class nya.

27 Polymorphism Dalam Java, kita dapat membuat referensi dari suatu superclass ke object dari subclassnya. Sebagai contoh, public static main( String[] args ) { Person ref; Student studentobject = new Student(); Employee employeeobject = new Employee(); ref = studentobject; //titik referensi Person kepada // sebuah object Student

28 Polymorphism misalnya, kita memiliki sebuah method getname dalam superclass Person. Dan kita meng-override method ini di kedua subclass yaitu Student dan Employee public class Student { public String getname(){ System.out.println( Student Name: + name); return name; public class Employee { public String getname(){ System.out.println( Employee Name: + name); return name;

29 Polymorphism Kembali ke method utama kita, ketika kita mencoba memanggil method getname dari referensi Person ref, method getname dari object Student akan dipanggil. Sekarang, jika kita memberi ref kepada object Employee, maka method getname juga akan dipanggil

30 Polymorphism public static main( String[] args ) { Person ref; Student studentobject = new Student(); Employee employeeobject = new Employee(); ref = studentobject; //titik referensi Person kepada object Student //getname dari class Student dipanggil String temp=ref.getname(); System.out.println( temp ); ref = employeeobject; //titik referensi Person kepada object Employee //getname dari class Employee dipanggil String temp = ref.getname(); System.out.println( temp );

31 Polymorphism Contoh lain yang menggambarkan polymorphism adalah ketika kita mencoba untuk passing reference kepada method jika kita memiliki sebuah method static printinformation yang menerima referensi Person sebagai parameter public static printinformation( Person p ){....

32 Polymorphism Sebenarnya kita dapat passing reference dari Employee dan Student kepada method printinformation selama kedua class tersebut merupakan subclass dari Person public static main( String[] args ){ Student studentobject = new Student(); Employee employeeobject = new Employee(); printinformation( studentobject ); printinformation( employeeobject );

33 Casting Object Instance dari class juga dapat di-casting menjadi instance dari class lain, dengan satu batasan :: Class asal dan tujuan harus direlasikan dalam inheritance, salah satu class harus berupa subclass dari class lain. Casting object digunakan untuk mengkonversi nilai primitif menuju tipe yang lebih besar, beberapa object tidak perlu mengalami casting secara explisit.

34 Casting Object Gunakan sintaks berikut untuk casting object, (classname)object classname object - nama class tujuan - reference untuk object asal

35 Contoh Casting Object Berikut ini merupakan contoh proses casting sebuah instance dari class VicePresident ke instance dari class Employee. VicePresident merupakan subclass dari class Employee dengan beberapa informasi tambahan. Employee emp = new Employee(); VicePresident veep = new VicePresident(); emp = veep; // casting explisit veep = (VicePresident)emp;

36 Sesi 2 36 Exception Handling Pengertian Exception Hirarki Kelas Exception Penanganan Exception

37 37 Mampu menjelaskan tentang eksepsi Menggunakan perintah try-catch-finally Menangani Exception pada program

38 Pengertian Exception 38 Exception adalah kejadian yang muncul selama eksekusi program dan dapat mengganggu alur normal program Exception dilempar oleh program atau lingkungan runtime, dan dapat ditangkap atau ditangani. Error mirip dengan exception tetapi error mengakibatkan situasi serius atau situasi yang tidak dapat dikembalikan (unrecoverable), dan tidak dapat ditangkap untuk ditangani Contoh: Error pembagian 0 Mengakses elemen di luar jangkauan sebuah array Input yang sifatnya invalid Hard disk crash Membuka file yang tidak ada Menyelesaikan masalah tumpukan memori.

39 Kelas Exception 39 Kita dapat menulis kode untuk menangani exceptions sehingga program dapat berlanjut. Java mempunyai kelas-kelas exceptions yang muncul selama program berjalan. Super class untuk seluruh error dan exception adalah kelas Throwable yang mempunyai dua sub class

40 Hirarki Kelas Exception 40 Object Throwable Error Exception VirtualMachineError Runtime Exception

41 Hirarki Kelas Exception

42 Pesan Exception 42 Jika exception tidak ditangani oleh program, program akan berhenti dan menghasilkan pesan yang berisi tipe exception yang muncul dan di bagian mana dalam program munculnya exception. Penanganan Exception Penanganan Exception mengijinkan program untuk menangkap exception, menanganinya, dan kemudian melanjutkan eksekusi program.

43 Contoh Exception 1 class DivByZero { 2 public static void main(string args[]) { 3 System.out.println(3/0); 4 System.out.println( Pls. print me. ); 5 6

44 Contoh Exception didapatkan pesan kesalahan sebagai berikut Exception in thread "main" java.lang.arithmeticexception: / by zero at DivByZero.main(DivByZero.java:3) Default handler Menampilkan deskripsi exception Menampilkan stack trace Hirarki method dimana exception terjadi Menghentikan program secara paksa

45 Blok try Langkah pertama membentuk penangan exception adalah meletakkan statements yang bisa menimbulkan exception didalam blok try. try { statements

46 Blok try Statement try harus disertai minimal satu blok catch atau blok finally. Jika muncul exception didalam statement try, exception ditangani oleh penangan exception yang sesuai dengan statement try ini.

47 Block catch Kita asosiasikan penangan exception dengan statement try dengan menyediakan satu atau lebih blok catch langsung setelah blok try. Tidak boleh ada kode intervensi antara akhir pernyataan try dan awal dari pernyataan catch pertama.

48 Contoh try { statements; statements; catch(arithmeticexception e) { System.out.println( Error );

49 Exceptions Catch: try-catch 1 class DivByZero { 2 public static void main(string args[]) { 3 try { 4 System.out.println(3/0); 5 System.out.println( Setelah pembagian ); 6 catch (ArithmeticException ae) { 7 //Dibagi dengan 0 -> ArithmeticException 8 System.out.println(ae); 9 10 System.out.println( Setelah exception. ); 11 12

50 Try dengan blok Catch jamak try { statements; statements; catch(arithmeticexception e) { catch(arrayindexoutofboundsexception e) {

51 Contoh multiple catch 1 class MultipleCatch { 2 public static void main(string args[]) { 3 try { 4 int pembagi = Integer.parseInt(args[0]); 5 System.out.println(3/pembagi); 6 catch (ArithmeticException exc) { 7 System.out.println( pembagi adalah 0. ); 8 catch (ArrayIndexOutOfBoundsException exc2) { 9 System.out.println( Kurang argument. ); System.out.println( Setelah exception. ); 12 13

52 Nested try 1. class NestedTryDemo { 2. public static void main(string args[]){ 3. try { 4. int a = Integer.parseInt(args[0]); 5. try { 6. int b = Integer.parseInt(args[1]); 7. System.out.println(a/b); 8. catch (ArithmeticException e) { 9. System.out.println( Error dibagi nol!"); catch (ArrayIndexOutOfBoundsException e) { 12. System.out.println( Butuh 2 parameters!");

53 finally Block Statement finally mendefinisikan blok kode yang selalu dieksekusi, tanpa memperhatikan terjadi exception atau tidak. Blok Finally sering dipakai untuk menghapus resources atau menutup koneksi baik terjadi exception maupun tidak.

54 Try-Catch-Finally try { statements; statements; catch(arithmeticexception e){ catch(arrayindexoutofboundsexception e){ finally {

55 Contoh Try-Catch-Finally 1 class FinallyDemo { 2 static void mymethod(int n) throws Exception{ 3 try { 4 switch(n) { 5 case 1: System.out.println("1st case"); 6 return; 7 case 3: System.out.println("3rd case"); 8 throw new RuntimeException("3!"); 9 case 4: System.out.println("4th case"); 10 throw new Exception("4!"); 11 case 2: System.out.println("2nd case"); catch (RuntimeException e) { 14 System.out.print("RuntimeException: "); 15 System.out.println(e.getMessage()); 16 finally { 17 System.out.println("try-block entered."); // bersambung...

56 Contoh Try-Catch-Finally 21 public static void main(string args[]){ 22 for (int i=1; i<=4; i++) { 23 try { 24 FinallyDemo.myMethod(i); 25 catch (Exception e){ 26 System.out.print("Exception caught: "); 27 System.out.println(e.getMessage()); System.out.println();

57 Sesi 3 57 Exception Handling (lanjutan) Melempar Exception Statement throws

58 58 Menangani Exception pada program Menggunakan throws Membuat Exception sendiri

59 Statement throw Statement throw digunakan untuk melempar exception dari kode Java. Kita juga dapat menciptakan exception buatan kita sendiri dan melemparnya (jika dibutuhkan) menggunakan statement throw. Kita hanya dapat melempar objek dari instan yang diturunkan dari kelas Throwable. throw exceptionobject; Contoh: throw new ArithmeticException( testing... );

60 Throwing Exception int a = 6; int b = 0; if(b == 0) { ArithmeticException e = new ArithmeticException( Error ); throw e; else { System.out.println(a/b);

61 Exceptions Wrapping try { System.out.println(6/0); catch(arithmeticexception e) { Exception ex = new Exception(e); throw ex; Kita dapat melakukan wrapping Exception e menjadi Exception lain dan kemudian melemparkannya.

62 Statement throws Exception yang dilempar keluar dari method harus ditentukan oleh klausa throws. Jika method mampu mengakibatkan exception yang tidak ditangani, method harus menentukan perilakunya sedemikian sehingga pemanggil method dapat menjaga diri terhadap exception. Ini dikerjakan dengan klausa throws dalam deklarasi method.

63 Statement throws Klausa throws mendaftarkan jenis exception yang mana method yang akan melemparkan. Semua exception lain, yang mana method yang bisa melempar harus dideklarasikan dalam klausa throws, sebaliknya maka akan terjadi error kompilasi. Jika method bisa melemparkan lebih dari satu exception maka semua exception harus dideklarasikan dengan pemisah koma. public void print(int a, int b) throws ArithmeticException, NullPointerException {

64 Soal Sebutkan lima contoh exception Sebutkan apa saja keuntungan penanganan exception dibanding cara konvensional untuk penangan error Mengapa teknik exception handling tidak digunakan untuk kontrol program konvensional Jika tidak muncul exception dalam blok try, kemana kontrol program akan dijalankan? Apakah alasan utama penggunaan blok finally?

65 65 1. Dietel H.M., Dietel P.J., 2003, Java How to Program fifth edition, Pearson Education, Inc, Prentice Hall, New Jersey. Sierra, K, Bates, B, 2005, Head First Java, second edition, O Reilly Media, Inc. United States of America Ralph Morelli, Ralph Walde, 2005, Java, Java, Java : Object- Oriented Problem Solving, Third Edition, Prentice Hall Jonathan Knudsen, Patrick Niemeyer, 2005, Learning Java, 3rd Edition, Learning Java, 3rd Edition

66 Sesi 4 66 Abstraksi Konsep abstraksi Kelas Abstract Method Abstract

67 Abstraksi 67 Abstraksi adalah teknik desain yang memfokuskan pada aspek penting dari entitas dan mengabaikan aspek yang kurang penting Abstraksi adalah alat penting untuk menyederhanakan kaadaan yang kompleks

68 Kelas Abstract Kelas abstract adalah kelas yang diimplementasikan secara sebagian yang bertujuan untuk menyatakan konsep abstrak Kelas abstract tersusun atas satu atau lebih method-method abstract. Kelas abstract tidak dapat diinstantiasi karena merepresentasikan konsep abstrak Sering muncul pada puncak hierarki kelas object-oriented programming(oop), mendefinisikan segala type action/tindakan yang mungkin dengan object semua subclass dari class

69 Deklarasi Kelas Abstract public abstract class Binatang { Binatang adalah kelas abstract sehingga statement berikut tidak dapat dikompilasi. Binatang f = new Binatang ();

70 Method Abstract Method abstract Method di dalam abstract class tidak mempunyai implementasi Untuk membuat abstract method, tulis saja deklarasi method tanpa body dan gunakan keyword abstract Contoh: public abstract void somemethod();

71 Contoh Abstract Class public abstract class LivingThing { public void breath(){ System.out.println("Living Thing breathing..."); public void eat(){ System.out.println("Living Thing eating..."); /** * abstract method walk * Kita ingin method ini di-overrride oleh subclass dari * LivingThing */ public abstract void walk();

72 Konsep Abstract Class & Method Kelas abstract tidak dapat diinstantiasi, artinya kita tidak dapat menciptakan objek dari kelas abstract dengan kata kunci new. Kelas abstract hanya dapat dibuat sub kelas. Kelas yang diturunkan dari kelas abstract harus melakukan override semua method abstract dari kelas induknya. Jika tidak mendefinisikan semua method maka kelas itu akan tetap menjadi kelas abstract.

73 Konsep Abstract Class & Method Kelas abstract dapat mempunyai campuran method non abstract dan method abstract Kelas abstract dan method abstract tidak dapat dideklarasikan sebagai final. Method abstract tidak dapat dideklarasikan sebagai static. Method abstract tidak dapat dideklarasikan sebagai private.

74 Soal Apa yang terjadi jika suatu kelas terdapat method abstract? Apa yang terjadi jika anda menurunkan kelas dari kelas abstract? Sebutkan sifat-sifat kelas abstract Apa perbedaan method non abstract dan method abstract

75 Sesi 5 75 Interface Konsep interface Penggunaan Interface, Implementasi Interface

76 76 Mampu menjelaskan pengertian dan konsep interface Mampu membuat interface Mampu mengimplementasi interface

77 Interface Interface Adalah semacam blok spesial yang hanya berisi tanda tangan method (dan mungkin konstan). Menggambarkan tandatangan dari seperangkat method, tanpa body Menggambarkan cara standard dan publik penetapan behavior class Mengijinkan class,dengan mengabaikan lokasi mereka di dalam hirarki class untuk menerapkan behavior. CATATAN: Interface memperlihatkan polymorphism juga, sejak program diperbolehkan memanggil sebuah method interface, dan versi yang sesuai dari method tersebut akan dieksekusi tergantung pada jenis object yang dilewatkan kepada pemanggilan method interface

78 Mengapa menggunakan interface? Untuk memiliki class yang tidak berhubungan yang mengimplementasikan method yang sama. Contoh: Class Line dan MyInteger Tidak berhubungan Keduanya mengimplementasikan method perbandingan isgreater isless isequal

79 Mengapa menggunakan interface? Untuk mengungkapkan sebuah interface pemrograman object tanpa pernyataan classnya Untuk model multi inheritance yang mengijinkan sebuah class untuk memiliki lebih dari satu superclass.

80 Membuat interface Untuk membuat sebuah interface, kita tulis: public interface [InterfaceName] { //beberapa method tanpa body

81 Membuat interface Sebagai contoh, mari buat sebuah interface yang mendefinisikan hubungan antara dua object sesuai dengan pesanan dari object. public interface Relation { public boolean isgreater( Object a, Object b); public boolean isless( Object a, Object b); public boolean isequal( Object a, Object b);

82 Membuat interface Untuk menggunakan interface, kita gunakan keyword implements Sebagai contoh, /** * Class ini menjelaskan segment garis */ public class Line implements Relation { private double x1; private double x2; private double y1; private double y2; public Line(double x1, double x2, double y1, double y2){ this.x1 = x1; this.x2 = x2; this.y1 = y1; this.y2 = y2;

83 Membuat interface public double getlength(){ double length = Math.sqrt((x2-x1)*(x2-x1) + (y2-y1)* (y2-y1)); return length; public boolean isgreater( Object a, Object b){ double alen = ((Line)a).getLength(); double blen = ((Line)b).getLength(); return (alen > blen); public boolean isless( Object a, Object b){ double alen = ((Line)a).getLength(); double blen = ((Line)b).getLength(); return (alen < blen); public boolean isequal( Object a, Object b){ double alen = ((Line)a).getLength(); double blen = ((Line)b).getLength(); return (alen == blen);

84 Membuat interface Ketika class Anda mencoba untuk mengimplementasikan sebuah interface, pastikan selalu bahwa Anda mengimplementasikan semua method dari interface tersebut, jika tidak, Anda akan mendapatkan kesalahan ini. Line.java:4: Line is not abstract and does not override abstract method isgreater(java.lang.object,java.lang.object) in Relation public class Line implements Relation 1 error ^

85 Interface vs. Abstract Class Semua interface method tidak memiliki body Beberapa Abstract class memiliki method dengan implementasi Sebuah interface hanya dapat didefinisikan constant Sebuah abstract class tampak seperti class biasa yang dapat mendeklarasikan variabel. Interface tidak memiliki hubungan inheritance secara langsung dengan setiap class tertentu, mereka didefinisikan secara independen. Abstract class dapat di-subclass-kan

86 Interface vs. Class Persamaan: Interface dan class adalah sama-sama sebuah type Hal ini berarti bahwa interface dapat digunakan di tempat dimana sebuah class dapat digunakan Sebagai contoh: PersonInterface Person pi = new Person(); pc = new Person(); Perbedaan: Anda tidak dapat membuat instance dari sebuah interface Sebagai contoh: PersonInterface pi = new PersonInterface(); //ERROR!

87 Interface vs. Class Persamaan: Interface dan class, keduanya dapat mendefinisikan method Perbedaan: Interface tidak memiliki segala implementasi dari method

88 Meng-extends Class vs. Implementasi interface Sebuah class hanya bisa meng-extends SATU superclass, tetapi juga bisa meng-implementasikan BANYAK interface Sebagai contoh: public class Person implements PersonInterface, LivingThing, WhateverInterface { //beberapa kode disini

89 Contoh lain: Meng-extends Class vs. Implementasi interface public class ComputerScienceStudent extends Student implements PersonInterface, LivingThing { //Beberapa kode disini

90 Inheritance antar interface Interface bukanlah bagian dari hirarki class, bagaimanapun juga interface dapat memiliki hubungan inheritance antar mereka sendiri Sebagai contoh: public interface PersonInterface {... public interface StudentInterface extends PersonInterface {...

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

3/31/2011. Tujuan. Inheritance, Polymorphism,& Interfaces. Inheritance / pewarisan. Inheritance / pewarisan. Inheritance / pewarisan Tujuan JAVA Education Network Indonesia Inheritance,,& Interfaces Pengenalan Pemrograman 1 Pada akhir bab, Anda diharapkan mampu untuk Menjelaskan super class dan subclass Meng-override method dari superclass

Lebih terperinci

Polymorphism (Polimorfisme)

Polymorphism (Polimorfisme) Polymorphism (Polimorfisme) Pemrograman Berorientasi Objek Minggu 7 Alfa Faridh Suni Polymorphisme * Poly + morph = banyak + bentuk * Polymorphism yang berarti satu objek dapat memiliki banyak bentuk yang

Lebih terperinci

Gambar 1: Hirarki class

Gambar 1: Hirarki class BAB 11 Pewarisan, Polimorfisme, dan Interface 11.1 Tujuan Dalam bagian ini, kita akan membicarakan bagaimana suatu class dapat mewariskan sifat dari class yang sudah ada. Class ini dinamakan subclass dan

Lebih terperinci

Pewarisan, Polimorfisme, dan Interface

Pewarisan, Polimorfisme, dan Interface Pewarisan adalah keuntungan besar dalam pemrograman berbasis object karena suatu sifat atau method didefinisikan dalam superclass, sifat ini secara otomatis diwariskan dari semua subclasses. Jadi, Anda

Lebih terperinci

1.Tujuan. 2. Latar Belakang. Mendefinisikan superclasses dan subclasses Override method dari superclasses Membuat method final dan class final

1.Tujuan. 2. Latar Belakang. Mendefinisikan superclasses dan subclasses Override method dari superclasses Membuat method final dan class final 1.Tujuan Mendefinisikan superclasses dan subclasses Override method dari superclasses Membuat method final dan class final 2. Latar Belakang Dalam bagian ini, kita akan membicarakan bagaimana suatu class

Lebih terperinci

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM 1 INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM INHERITANCE Pewarisan atribut dan method pada sebuah class yang diperoleh dari class yang direferensi sebagai induk

Lebih terperinci

Inheritance (Pewarisan) Pengertian dasar inheritance

Inheritance (Pewarisan) Pengertian dasar inheritance Inheritance (Pewarisan) Pengertian dasar inheritance Inheritance (Pewarisan) merupakan salah satu dari tiga konsep dasar OOP. Konsep inheritance ini mengadopsi dunia riil dimana suatu entitas/obyek dapat

Lebih terperinci

4/11/2013. Topik. Exceptions dan Assertions Pengenalan Pemrograman 2. Topik. Topik EXCEPTIONS. Class Error dan Exception

4/11/2013. Topik. Exceptions dan Assertions Pengenalan Pemrograman 2. Topik. Topik EXCEPTIONS. Class Error dan Exception Topik JAVA Education Network Indonesia Exceptions dan Assertions Pengenalan Pemrograman 2 Apa yang dimaksud dengan Exceptions? Pendahuluan Class-class Error dan Exception Contoh Menangkap suatu Exceptions

Lebih terperinci

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

KARAKTERISTIK PEMROGRAMAN BERORIENTASI OBJEK (OOP) Pemrograman berorientasi Objek mempunyai karakterisitik sebagai berikut: KARAKTERISTIK PEMROGRAMAN BERORIENTASI OBJEK (OOP) Pemrograman berorientasi Objek mempunyai karakterisitik sebagai berikut: a. Abstraksi (abstraction) b. Pembungkusan (encapsulation) c. Pewarisan (inheritence)

Lebih terperinci

Chapter 10 Polimorphism

Chapter 10 Polimorphism Chapter 10 Polimorphism A. Deskripsi Polimorphism Polimorphism berarti mempunyai banyak bentuk. Dua objek dikatakan sebagai polymorphic bila objek-objek itu mempunyai antarmuka-antarmuka uang identik namun

Lebih terperinci

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2 No. LST/EKA/PTI208/05 Revisi : 01 Maret 2009 Hal 1 dari 5 A. Kompetensi Setelah mengikuti mata kuliah ini, mahasiswa diharapkan mampu memahami prinsip polymorphism. B. Dasar Teori 1. Abstract Class Misalnya

Lebih terperinci

1.Tujuan. 2. Latar Belakang

1.Tujuan. 2. Latar Belakang 1.Tujuan Menangani exception dengan menggunakan try, catch dan finally Membedakan penggunaan antara throw dengan throws Menggunakan exception class yang berbeda beda Membedakan antara checked exceptions

Lebih terperinci

ABSTRACT & INTERFACE. Pemrograman Lanjut Herman Tolle

ABSTRACT & INTERFACE. Pemrograman Lanjut Herman Tolle ABSTRACT & INTERFACE Pemrograman Lanjut Herman Tolle ABSTRACT Abstract Class (Abstraksi) adalah kelas yang memiliki satu atau lebih method yang belum didefinisikan Method dalam class abstract yang tidak

Lebih terperinci

Pemrograman Berbasis Objek. Interface. Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek. Interface. Politeknik Elektronika Negeri Surabaya Class Abstract Interface Topik Abstract Class Interface Abstract Abstract class adalah class yang mempunyai setidaknya satu abstract method. Abstract method adalah method yang tidak memiliki body (hanya

Lebih terperinci

IT652 Pemrograman Berorientasi Aspek. Ramos Somya

IT652 Pemrograman Berorientasi Aspek. Ramos Somya IT652 Pemrograman Berorientasi Aspek Ramos Somya Exception handling adalah suatu mekanisme penanganan error yang mungkin terjadi dalam suatu program. Misalnya sebuah program yang memiliki operasi pembagian,

Lebih terperinci

BAB Tujuan. 2.2 Apa itu Exception? Pendahuluan Error dan Exception Classes

BAB Tujuan. 2.2 Apa itu Exception? Pendahuluan Error dan Exception Classes 2.1 Tujuan BAB 2 Exceptions dan Assertions Dasar penanganan exception telah dikenalkan pada Anda di pelajaran pemrograman pertama. Bab ini membahas secara lebih dalam mengenai exception dan sedikit menyinggung

Lebih terperinci

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

MODUL 3. Inheritance, Abstract Class, Interface TUJUAN PRAKTIKUM LANDASAN TEORI. A. Inheritance MODUL 3 Inheritance, Abstract Class, Interface TUJUAN PRAKTIKUM 1. Praktikan dapat memahai bagaimana suatu class dapat mewariskan sifat dari class yang sudah ada. 2. Praktikan mampu mendefinisikan superclass

Lebih terperinci

Pemrograman Berorientasi Object

Pemrograman Berorientasi Object Pemrograman Berorientasi Object Apa itu Exception? Singkatan dari Exceptional Events. Kesalahan (errors) yang terjadi saat runtime, menyebabkan gangguan pada alur eksekusi program. Contoh Error pembagian

Lebih terperinci

PERTEMUAN 3 OBJEK DAN CLASS

PERTEMUAN 3 OBJEK DAN CLASS PERTEMUAN 3 OBJEK DAN CLASS Obyektif: Praktikan memahami perbedaan objek dan class pada Java. Praktikan memahami konsep berorientasi objek. Praktikan dapat membuat program sederhana dengan menggunakan

Lebih terperinci

PRAKTIKUM 6 EXCEPTION

PRAKTIKUM 6 EXCEPTION PRAKTIKUM 6 EXCEPTION A. TUJUAN Memahami konsep, tipe, dan cara penanganan eksepsi. Memahami cara melontar dan menangkap eksepsi. Memahami konsep try catch dan catch secara bertingkat. Memahami klausa

Lebih terperinci

Definisi Eksepsi (exception)

Definisi Eksepsi (exception) Penanganan Eksepsi Definisi Eksepsi (exception) Exception adalah kondisi yang menyebabkan program menjadi hang atau quit dari alur normal yang telah ditentukan pada saat program dijalankan. Exception ini

Lebih terperinci

Exception Handling. Oleh : Agus Priyanto, M.Kom

Exception Handling. Oleh : Agus Priyanto, M.Kom Exception Handling Oleh : Agus Priyanto, M.Kom Tujuan Perkuliahan Mengetahui tentang Exception di Java Mengetahui kelas-kelas exception di Java Mengetahui bagaimana Exception muncul dan cara menangkap

Lebih terperinci

Bahasa Pemrograman :: Polimorfism and Abstraction

Bahasa Pemrograman :: Polimorfism and Abstraction Bahasa Pemrograman :: and Abstraction Julio Adisantoso ILKOM IPB 24 Mei 2010 Access Modifiers Access Modifiers Accessor Methods Mutator Methods Inheritance Akses Default (Package Accessibility) Tidak terdapat

Lebih terperinci

PRAKTIKUM 17 MENANGANI EXCEPTION

PRAKTIKUM 17 MENANGANI EXCEPTION PRAKTIKUM 17 MENANGANI EXCEPTION A. TUJUAN PEMBELAJARAN 1. Memahami mengenai exception 2. Memahami tipe exception yaitu Checked Exception dan Unchecked Exception. 3. Mengetahui cara menggunakan exception

Lebih terperinci

2015 BAHASA PEMROGRAMAN I. Pertemuan VI Inheritance (Pewarisan)

2015 BAHASA PEMROGRAMAN I. Pertemuan VI Inheritance (Pewarisan) Pertemuan VI Inheritance (Pewarisan) 6.1. Tujuan Mahasiswa diharapkan dapat: 1. Memahami konsep inheritance dalam pemecahan permasalahan. 2. Mengimplementasikan konsep inheritance dalam bentuk program.

Lebih terperinci

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM 1. Praktikan memahami perbedaan objek dan class pada Java. 2. Praktikan memahami konsep berorientasi objek. 3. Praktikan dapat membuat program sederhana dengan

Lebih terperinci

Pemrograman Berorientasi Obyek. Exception Handling. Politeknik Elektronika Negeri Surabaya

Pemrograman Berorientasi Obyek. Exception Handling. Politeknik Elektronika Negeri Surabaya Exception Handling Topik Kategori Exception try, catch, finally Method yang melempar exception Aturan overriding method dan exception Membuat class exception baru Definisi Exception Suatu mekanisme penanganan

Lebih terperinci

Polymorphism. Materi ke-8 Pemrograman Berbasis Objek

Polymorphism. Materi ke-8 Pemrograman Berbasis Objek Polymorphism Materi ke-8 Pemrograman Berbasis Objek Pengertian Polymorphism = polimorfisme Poly (banyak) + morphos (bentuk) : banyak bentuk Kemampuan untuk menghandle banyak bentuk Kemampuan untuk memproses

Lebih terperinci

Percobaan 6 Exception

Percobaan 6 Exception Percobaan 6 Exception Pokok Bahasan Penanganan Eksepsi Menangkap Eksepsi Catch Secara bertingkat Melontarkan Eksepsi Melontarkan kembali Eksepsi Klausa Throws Tujuan Belajar Dengan praktikum ini mahasiswa

Lebih terperinci

Pemrograman Lanjut Exception Handling PTIIK

Pemrograman Lanjut Exception Handling PTIIK Pemrograman Lanjut Exception Handling PTIIK - 2013 Objectives Memahami konsep dan Mendefinisikan Exception Handling Menangani exception menggunakan blok trycatch-finally Keyword throw dan throws Kategori

Lebih terperinci

PERCOBAAN 6 EXCEPTION

PERCOBAAN 6 EXCEPTION PERCOBAAN 6 EXCEPTION Pokok Bahasan Penanganan Eksepsi Menangkap Eksepsi Catch Secara bertingkat Melontarkan Eksepsi Melontarkan kembali Eksepsi Klausa Throws Tujuan Belajar Dengan praktikum ini mahasiswa

Lebih terperinci

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK BAB 1 PEMROGRAMAN BERORIENTASI OBJEK Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan

Lebih terperinci

A. TUJUAN PEMBELAJARAN 1. Mengetahui cara menangani exception dengan cara melempar exception. 2. Mengetahui cara membuat sendiri class exception.

A. TUJUAN PEMBELAJARAN 1. Mengetahui cara menangani exception dengan cara melempar exception. 2. Mengetahui cara membuat sendiri class exception. PRAKTIKUM 18 MELEMPAR EXCEPTION DAN MEMBUAT EXCEPTION SENDIRI A. TUJUAN PEMBELAJARAN 1. Mengetahui cara menangani exception dengan cara melempar exception.. Mengetahui cara membuat sendiri class exception.

Lebih terperinci

:: abstract class + interface. :: abstract class

:: abstract class + interface. :: abstract class :: abstract class + interface :: abstract class Saat kita membuat sebuah superclass, kita tahu bahwa kita dapat memakai semua metode yang dimilikinya pada class anaknya. Atau kalau kita butuh metode tersebut

Lebih terperinci

Sesi 8. Event Handling & Exception Handling. Tujuan Intruksional

Sesi 8. Event Handling & Exception Handling. Tujuan Intruksional Badiyanto, S.Kom, M.Kom Sesi 8 Event Handling & Exception Handling Kode MK : TI50UT Revisi Terakhir : 2016 Tujuan Intruksional Mampu menjelaskan tentang event handling Mampu menjelaskan tentang method

Lebih terperinci

IKG2I4 / Software Project I

IKG2I4 / Software Project I IKG2I4 / Software Project I Mahmud Imrona, M.T. Izzatul Ummah, M.T. Kelompok Keahlian Algoritma dan Komputasi LECTURE NOTE WEEK 6 1 3/11/2015 WEEK 6 Abstract Class Interface Exception 2 3/11/2015 ABSTRACT

Lebih terperinci

Tujuan Intruksional. Mampu menjelaskan tentang event handling Mampu menjelaskan tentang method Mampu menggunakan event handling Mampu membuat method

Tujuan Intruksional. Mampu menjelaskan tentang event handling Mampu menjelaskan tentang method Mampu menggunakan event handling Mampu membuat method Badiyanto, S.Kom, M.Kom Tujuan Intruksional Mampu menjelaskan tentang event handling Mampu menjelaskan tentang method Mampu menggunakan event handling Mampu membuat method 2 1 Sub Pokok Bahasan Keyboard

Lebih terperinci

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM Materi kuliah ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM Ir. Roedi Goernida, MT. (roedig@yahoo.com) Program Studi Sistem Informasi Fakultas Rekayasa Industri Institut Teknologi Telkom Bandung

Lebih terperinci

Class Wrapper. Tujuan dari Class Wrapper

Class Wrapper. Tujuan dari Class Wrapper Class Wrapper Yuliana Setiowati Tujuan dari Class Wrapper Class wrapper pada Java API mempunyai dua tujuan: Menyediakan mekanisme untuk membungkus (wrap) nilai dengan tipe data primitif menjadi sebuah

Lebih terperinci

9/26/2011. Tujuan. Bekerja dengan Java Class Library. Pengenalan OOP. Pengenalan OOP. Class dan Object. Enkapsulasi

9/26/2011. Tujuan. Bekerja dengan Java Class Library. Pengenalan OOP. Pengenalan OOP. Class dan Object. Enkapsulasi Tujuan Pada akhir pembahasan, siswa diharapkan dapat : JAVA Education Network Indonesia Bekerja dengan Java Class Library Pengenalan Pemrograman 1 Menjelaskan OOP dan beberapa konsepnya Membedakan antara

Lebih terperinci

Exception Handling. Topik

Exception Handling. Topik Exception Handling Topik Kategori Exception try, catch, finally Method yang melempar exception Aturan overriding method dan exception Membuat class exception baru 1 Definisi Exception Suatu mekanisme penanganan

Lebih terperinci

Penjebakan Eksepsi. Nur hasanah, M.Cs

Penjebakan Eksepsi. Nur hasanah, M.Cs Penjebakan Eksepsi Nur hasanah, M.Cs Pendahuluan Dalam Java, runtime error (kesalahan-kesalahan yang terjadi pada saat program sedang berjalan) disebut eksepsi. Terdapat 5 buah kata kunci : try,catch,

Lebih terperinci

PEMROGRAMAN JAVA : EXCEPTION

PEMROGRAMAN JAVA : EXCEPTION PEMROGRAMAN JAVA : EXCEPTION Asep Herman Suyanto info@bambutechno.com http://www.bambutechno.com Kita mengetahui bahwa tiada program yang sempurna, dan tiada pengguna program yang juga sempurna. Oleh karena

Lebih terperinci

KONSEP OOP: POLYMORPHISM

KONSEP OOP: POLYMORPHISM PEMROGRAMAN LANJUT Sistem Informasi PTIIK UB Semester Genap 2014/2015 KONSEP OOP: POLYMORPHISM Dr. Eng. Herman Tolle Program Teknologi Informasi & Ilmu Komputer, Universitas Brawijaya Polymorphism Polymorphism

Lebih terperinci

Review PBO. Ramos Somya

Review PBO. Ramos Somya Review PBO Ramos Somya Exception handling adalah suatu mekanisme penanganan error yang mungkin terjadi dalam suatu program. Misalnya sebuah program yang memiliki operasi pembagian, di mana suatu ketika

Lebih terperinci

Modul 4 Exception, I/O, dan Operasi File

Modul 4 Exception, I/O, dan Operasi File Modul 4 Exception, I/O, dan Operasi File Tujuan: 1. Mengerti konsep exception, I/O, dan operasi file. 2. Bisa implementasiin konsep exception dan I/O dalam sebuah pemrograman sederhana untuk operasi file

Lebih terperinci

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN SEKOLAH TINGGI MANAJEMEN INFORMAA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN Mata Kuliah : KAPITA SELEKTA BAHASA PEMROGRAMAN Kode Mata Kuliah : MI - 15310 Jurusan / Jenjang : S1 SISTEM INFORMASI

Lebih terperinci

1. Apa yang harus dilakukan oleh programmer untuk menangani user-defined exception? Menuliskan exception sebagai start method

1. Apa yang harus dilakukan oleh programmer untuk menangani user-defined exception? Menuliskan exception sebagai start method Your browser does not support inline frames or is currently configured not to display inline frames. Waktu Sisa : 0:10:57 1. Apa yang harus dilakukan oleh programmer untuk menangani user-defined exception?

Lebih terperinci

Pemrograman Berbasis Objek. Exception Handling. Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek. Exception Handling. Politeknik Elektronika Negeri Surabaya Exception Handling Kategori Exception Topik Pemrograman Berbasis Objek try, catch, finally Method yang melempar exception Aturan overriding method dan exception Membuat class exception baru Definisi Exception

Lebih terperinci

EXCEPTION. 2. Pada kondisi bagaimana klausa finally tidak akan dieksekusi? Kode didalam block try memiliki statement return

EXCEPTION. 2. Pada kondisi bagaimana klausa finally tidak akan dieksekusi? Kode didalam block try memiliki statement return EXCEPTION 1. 0 1 2 3 4 2. Pada kondisi bagaimana klausa finally tidak akan dieksekusi? Kode didalam block try memiliki statement return Kode didalam block try telah dieksekusi dengan benar Method System.exit()

Lebih terperinci

Exception Handling and Multithreading

Exception Handling and Multithreading Pertemuan 7 Halaman 1/1 Pengertian Exception Suatu program apabila mengalami kesalahan akan menghasilkan suatu runtime errors seperti gagal membuka file, suatu program melakukan akses diatas range array

Lebih terperinci

Abstract Class dan Interface. Viska Mutiawani, M.Sc

Abstract Class dan Interface. Viska Mutiawani, M.Sc Abstract Class dan Interface Viska Mutiawani, M.Sc Konsep Penting Abstract class Abstract method Interface Implements Final Static Exception Contoh Polimorfisme Lihat contoh program yang disediakan pada

Lebih terperinci

IF PEMROGRAMAN LANJUT EXCEPTION. Oleh : Andri Heryandi, M.T.

IF PEMROGRAMAN LANJUT EXCEPTION. Oleh : Andri Heryandi, M.T. IF34348 - PEMROGRAMAN LANJUT EXCEPTION 09 Oleh : Andri Heryandi, M.T. MATERI HARI INI Exception Penanganan Exception Penanganan Exception satu catch Penanganan Exception dengan banyak catch Pengaganan

Lebih terperinci

Overriding. Subclass yang berusaha memodifikasi tingkah laku yang diwarisi dari superclass. Tujuan: subclass memiliki tingkah laku yang lebih

Overriding. Subclass yang berusaha memodifikasi tingkah laku yang diwarisi dari superclass. Tujuan: subclass memiliki tingkah laku yang lebih Overriding, Overloading, Polymorphism Pertemuan 10 Pemrograman Berbasis Obyek Oleh Tita Karlita Topik Overriding Overloading Constructor overloading Polymorphism Virtual Method Invocation Polymorphic arguments

Lebih terperinci

Sukses. Kesalahan pada URL. File tidak lengkap. Kesalahan umum

Sukses. Kesalahan pada URL. File tidak lengkap. Kesalahan umum Your browser does not support inline frames or is currently configured not to display inline frames. Waktu Sisa : 0:20:31 1. Sukses Kesalahan pada URL File tidak lengkap Kesalahan umum Mengerjakan finally

Lebih terperinci

Exception Handling. Prepared by Viska Mutiawani. 1

Exception Handling. Prepared by Viska Mutiawani. 1 Exception Handling Prepared by Viska Mutiawani 1 Konsep penting Assertion Exception handling: try-catch-finally 2 Assertion 3 What is assertion? Assertion merupakan statement dalam bahasa Java yang dapat

Lebih terperinci

Variabel tersebut seharusnya bisa dideklarasikan didalam try block dan block catch

Variabel tersebut seharusnya bisa dideklarasikan didalam try block dan block catch Waktu Sisa : 0:55:52 1. 0 1 2 3 4 2. Sebuah variabel dalam local method bisa diakses dari dalam block try-catch. Dimana variabel tersebut sebaiknya dideklarasikan? Variabel tersebut seharusnya dideklarasikan

Lebih terperinci

Pemrograman Berorientasi. Abstract & Interface

Pemrograman Berorientasi. Abstract & Interface Pemrograman Berorientasi Obyek Abstract & Interface anton@ukdw.ac.id Latar Belakang Kita sudah mengenal pewarisan, bahwa class anak akan selalu mendapat warisan atribut dan behavior dari class induk Class

Lebih terperinci

Waktu Sisa : 0:43:4. Sukses. Kesalahan pada URL. File tidak lengkap. Kesalahan umum. Mengerjakan finally. Diluar block

Waktu Sisa : 0:43:4. Sukses. Kesalahan pada URL. File tidak lengkap. Kesalahan umum. Mengerjakan finally. Diluar block Waktu Sisa : 0:43:4 1. Sukses Kesalahan pada URL File tidak lengkap Kesalahan umum Mengerjakan finally Diluar block 2. Method hallo() bisa melempar java.io.ioexception, java.lang.runtimeexception, atau

Lebih terperinci

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

E-Book PEMROGRAMAN BERORIENTASI OBJEK. Disusun Oleh: Arfian Hidayat, S.Kom E-Book PEMROGRAMAN BERORIENTASI OBJEK Disusun Oleh: Arfian Hidayat, S.Kom http://arfianhidayat.com FAKULTAS ILMU KOMPUTER UNIVERSITAS DIAN NUSWANTORO SEMARANG 2013 Daftar Isi Daftar Isi... i Daftar Gambar...

Lebih terperinci

MODUL 7 - EXCEPTION HANDLING

MODUL 7 - EXCEPTION HANDLING DESKRIPSI MATERI Modul 7 yang berjudul Exception Handling ini memaparkan tentang bagaimana cara menangkap kesalahan saat program dijalankan agar jalannya program tidak keluar begitu saja dari alur yang

Lebih terperinci

KONSEP OOP: POLYMORPHISM

KONSEP OOP: POLYMORPHISM PEMROGRAMAN LANJUT Informatika PTIIK UB Semester Genap 2015/2016 KONSEP OOP: POLYMORPHISM Dr. Eng. Herman Tolle Program Teknologi Informasi & Ilmu Komputer, Universitas Brawijaya Polymorphism Polymorphism

Lebih terperinci

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

1. Manakah jawaban yang benar,pada saat Anda mengcompile dan menjalankan class berikut ini: 1. Manakah jawaban yang benar,pada saat Anda mengcompile dan menjalankan class berikut ini: Program dapat di-compile dan output-nya adalah 5 Program dapat di-compile dan output-nya adalah 6 Program akan

Lebih terperinci

Tidak ada satupun dari pilihan di atas yang benar karena checked exception tidak bisa ditulis

Tidak ada satupun dari pilihan di atas yang benar karena checked exception tidak bisa ditulis Waktu Sisa : 0:58:12 1. Package mana yang memiliki class IOException? java.util java.text java.error java.io 2. Pilihan manakah di bawah ini yang paling tepat mendeskripsikan langkah-langkah penting dalam

Lebih terperinci

Membuat dan Menggunakan Class

Membuat dan Menggunakan Class Pertemuan 3 Halaman 1/1 Membuat class pada java : Untuk mendefinisikan suatu class pada java digunakan : class ClassName { suatu class dapat terdiri dari - attribute / data field - method Attribute Attribute

Lebih terperinci

PRAKTIKUM PEMROGRAMAN OBJEK DENGAN JAVA MODUL KE-5 EXCEPTION HANDLING

PRAKTIKUM PEMROGRAMAN OBJEK DENGAN JAVA MODUL KE-5 EXCEPTION HANDLING PRAKTIKUM PEMROGRAMAN OBJEK DENGAN JAVA MODUL KE-5 EXCEPTION HANDLING LABORATORIUM PEMROGRAMAN PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH MALANG 2011/2012 1. TUJUAN Mahasiswa

Lebih terperinci

Inheritance dan Kata Kunci static

Inheritance dan Kata Kunci static Inheritance dan Kata Kunci static PEWARISAN (INHERITANCE) Salah satu fitur yang paling kuat dalam OOP adalah penggunaan kode kembali (code reuse). Sekali sebuah prosedur dibuat, maka kita bisa menggunakannya

Lebih terperinci

ABSTRACT CLASS & INTERFACE

ABSTRACT CLASS & INTERFACE PEMROGRAMAN LANJUT Sistem Informasi PTIIK UB Semester Genap 2014/2015 ABSTRACT CLASS & INTERFACE Dr. Eng. Herman Tolle Program Teknologi Informasi & Ilmu Komputer, Universitas Brawijaya ABSTRACT Abstract

Lebih terperinci

03/04/2018. Pemrograman Berorientasi Object

03/04/2018. Pemrograman Berorientasi Object Pemrograman Berorientasi Object Syntax error Error karena salah ketik Yang bertugas mendeteksi : compiler Runtime error (EXCEPTION/eksepsi) Syntax tidak bermasalah(ok) Ketika dijalankan, muncul error Logic

Lebih terperinci

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

1. Keyword mana yang memiliki fungsi sama dengan keyword this dan menyediakan reference ke atribut turunan dari objek? super Your browser does not support inline frames or is currently configured not to display inline frames. Waktu Sisa : 1:58:53 1. Keyword mana yang memiliki fungsi sama dengan keyword this dan menyediakan reference

Lebih terperinci

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

Apa yang menjadi output potongan kode diatas? Error karena tidak ada String yang di-passing kedalam konstruktor Bapak Waktu Sisa : 0:59:57 1. Apa yang menjadi output potongan kode diatas? Error karena tidak ada String yang di-passing kedalam konstruktor Bapak Output: Bapak null Anak Error karena constructor Bapak(String

Lebih terperinci

Pemrograman Berorientasi. Exception Handling

Pemrograman Berorientasi. Exception Handling Pemrograman Berorientasi Obyek Exception Handling anton@ukdw.ac.id Exception Exception adalah sebuah indikasimasalah yang muncul saat program dijalankan Exception adalah kondisi abnormal yang terjadi saat

Lebih terperinci

Bahasa Pemrograman :: Inheritance

Bahasa Pemrograman :: Inheritance Bahasa Pemrograman :: Inheritance Julio Adisantoso ILKOM IPB 17 Mei 2010 Class Person Class Student Class Person public class Person { private String name; private String address; private int age; //constructors

Lebih terperinci

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation Dosen : Ir. Nanang Syahroni M.Kom Pokok Bahasan Konsep pewarisan dan deklarasi pewarisan dalam bahasa Java Konsep polimospisme dan deklarasi

Lebih terperinci

MODUL 9 EXCEPTION HANDLING

MODUL 9 EXCEPTION HANDLING MODUL 9 EXCEPTION HANDLING TUJUAN Setelah menyelesaikan modul ini, praktikan dapat: Memahami konsep Exception Handling. Praktikan dapat mengimplementasikan Exception Handling dalam bahasa Java. DASAR TEORI

Lebih terperinci

Pemrograman Berorientasi. Inheritance

Pemrograman Berorientasi. Inheritance Pemrograman Berorientasi Obyek Inheritance anton@ukdw.ac.id Inheritance Silsilah Pohon Keluarga Relasi is-a Selain melakukan kategorisasi terhadap objek yang memiliki sekumpulan atribut dan perilaku yang

Lebih terperinci

Object Oriented Programming (OOP) --Inheritance- Saniati STMIK Teknokrat, Bandar Lampung

Object Oriented Programming (OOP) --Inheritance- Saniati STMIK Teknokrat, Bandar Lampung Object Oriented Programming (OOP) --Inheritance- Saniati STMIK Teknokrat, Bandar Lampung Karakteristik OOP Encapsulation Inheritance Polimorphisme Inheritance Membuat class baru yang merupakan turunan

Lebih terperinci

Exception Handling Lanjutan

Exception Handling Lanjutan Exception Handling Lanjutan Prepared by Viska Mutiawani 1 Subtopik Exception handling lanjutan Assertion Exception handling: try-catch-finally Exception handling: try-with-resources statement Keyword throws

Lebih terperinci

Pemrograman Berorientasi. Class dan Obyek 2

Pemrograman Berorientasi. Class dan Obyek 2 Pemrograman Berorientasi Obyek Class dan Obyek 2 anton@ukdw.ac.id Method main pada Java public static void main(string[] args) Merupakan bagian yang dieksekusi oleh program Java Sifat: public, static,

Lebih terperinci

EXCEPTION HANDLING. 1. Mampu menangani eksepsi 2. Mengetahui dan memahami tentang multithreading 3. Dapat membuat program tentang exception handling

EXCEPTION HANDLING. 1. Mampu menangani eksepsi 2. Mengetahui dan memahami tentang multithreading 3. Dapat membuat program tentang exception handling EXCEPTION HANDLING Obyektif : 1. Mampu menangani eksepsi 2. Mengetahui dan memahami tentang multithreading 3. Dapat membuat program tentang exception handling PENANGANAN EKSEPSI Eksepsi adalah keadaan

Lebih terperinci

Pengenalan pemrograman berorientasi obyek

Pengenalan pemrograman berorientasi obyek Pengenalan pemrograman berorientasi obyek Oleh: Ali Ridho Barakbah Pemrograman Berbasis Obyek Pertemuan 6 IT-EEPIS Keuntungan OOP Reusabilitas Pembangunan program lebih cepat Fleksibilitas lebih tinggi

Lebih terperinci

public class Test { int i = 6; int j = 3; System.out.println(i/j); } Output :

public class Test { int i = 6; int j = 3; System.out.println(i/j); } Output : EXCEPTION HANDLING A Little Demo public class Test { public static ti void main(string[] i args) { int i = 6; int j = 3; System.out.println(i/j); Output : 2 A Little Demo public class Test { public static

Lebih terperinci

Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN

Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN http://sholikins.wordpress.com http://sholikins.wordpress.com 1 Pemrograman Berorientasi Objek / OOP (Objek Oriented Programming)??? http://sholikins.wordpress.com

Lebih terperinci

Modul Bahasa Pemrograman 1

Modul Bahasa Pemrograman 1 Modul Bahasa Pemrograman 1 2013/2014 INHERITANCE DAN PHLOYMORPHISME Pokok bahasan : Konsep pewarisan dalam bahasa Java Deklarasi pewarisan dalam bahasa Java Konsep pholymorphisme dalam bahasa Java Deklarasi

Lebih terperinci

BEKERJA DENGAN JAVA CLASS LIBRARY

BEKERJA DENGAN JAVA CLASS LIBRARY MK. Pemrograman Berorientasi Objek BEKERJA DENGAN JAVA CLASS LIBRARY (CLASS-METHOD-OBJECT) KARMILASARI ANALOGI OBJEK DALAM DUNIA NYATA Objek di dunia nyata = Objek dalam perangkat lunak Atribut di dunia

Lebih terperinci

Konsep Lanjut Pemrograman Objek

Konsep Lanjut Pemrograman Objek Constructor Konsep Lanjut Pemrograman Objek Restyandito e-mail : dito@ukdw.ac.id website : http://lecturer.ukdw.ac.id/~dito Constructor merupakan metode khusus yang memiliki nama sama dengan kelasnya.

Lebih terperinci

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP) Mata Kuliah : Pemrograman Berorientasi Objek II Bobot Mata Kuliah : 2 Sks GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP) Deskripsi Mata Kuliah : : Graphic dan Java 2D; Graphical User Interface Component;

Lebih terperinci

Exception adalah penanda bahwa kondisi/kejadian yang tidak diinginkan telah terjadi pada program kita. Ada 2 jenis exception (+1 Error):

Exception adalah penanda bahwa kondisi/kejadian yang tidak diinginkan telah terjadi pada program kita. Ada 2 jenis exception (+1 Error): Alfan F. Wicaksono FASILKOM UI Exception Exception adalah penanda bahwa kondisi/kejadian yang tidak diinginkan telah terjadi pada program kita. Ada 2 jenis exception (+1 Error): Ingat, kategori ini tidak

Lebih terperinci

Topik. Penanganan Eksepsi. Menangkap Eksepsi. Catch Secara bertingkat. Melontarkan Eksepsi. Melontarkan kembali Eksepsi.

Topik. Penanganan Eksepsi. Menangkap Eksepsi. Catch Secara bertingkat. Melontarkan Eksepsi. Melontarkan kembali Eksepsi. Exception Topik Penanganan Eksepsi Menangkap Eksepsi Catch Secara bertingkat Melontarkan Eksepsi Melontarkan kembali Eksepsi Klausa Throws Eksepsi Suatu kondisi yang terjadi ketika program menemui kesalahan

Lebih terperinci

Bahasa Pemrograman 2.

Bahasa Pemrograman 2. Bahasa Pemrograman 2 Abstract & Interface anton@ukdw.ac.id Abstract t Class [1] Saat kita membuat sebuah superclass, kita tahu bahwa kita dapat menurunkan semua metode yang dimilikinya pada class anaknya.

Lebih terperinci

EXCEPTION HANDLING. Bug : kesalahan yang merupakan kelemahan dari perancangan atau implementasi

EXCEPTION HANDLING. Bug : kesalahan yang merupakan kelemahan dari perancangan atau implementasi EXCEPTION HANDLING Exception Handling dapat dianggap sebagai Struktur Kendali Non-Lokal Bug : kesalahan yang merupakan kelemahan dari perancangan atau implementasi Exception : kesalahan yang dihasilkan

Lebih terperinci

SUMBER BELAJAR PENUNJANG PLPG

SUMBER BELAJAR PENUNJANG PLPG SUMBER BELAJAR PENUNJANG PLPG 2017 [TIK] BAB VIII PEMROGRAMAN BERORIENTASI OBJEK [Alfa Faridh Suni] KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN DIREKTORAT JENDERAL GURU DAN TENAGA KEPENDIDIKAN 2017 BAB VIII

Lebih terperinci

Penanganan Kesalahan

Penanganan Kesalahan Pemrograman Berorientasi Objek Penanganan Kesalahan Tujuan Mengerti Exception Handling dan mampu mengimplementasikan dalam bahasa pemrograman Java. Pendahuluan Kesalahan sering terjadi pada saat perancangan

Lebih terperinci

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

Encapsulation (Encapsulasi) Minggu 5 Pemrograman Berorientasi Objek Alfa Faridh Suni Encapsulation (Encapsulasi) Minggu 5 Pemrograman Berorientasi Objek Alfa Faridh Suni Enkapsulasi u Dapat dikatakan sebagai penyembunyian data/informasi (Information hiding). u Implementasi ke bahasa Pemrograman

Lebih terperinci

Praktikum 9 Exception Handling

Praktikum 9 Exception Handling Praktikum 9 Exception Handling Tujuan Memahami dan menerapkan konsep penanganan error pada pemrograman berorientasi objek. Dasar Teori Exception merupakan subkelas dari kelas java.lang.throwable, bukalah

Lebih terperinci

Bab 8. Dasar-Dasar OOP

Bab 8. Dasar-Dasar OOP Bab 8. Dasar-Dasar OOP Pemrograman Berorientasi Obyek Politeknik Elektronika Negeri Surabaya 2007 Overview Introduction Encapsulation Information Hiding Interface to access data Constructor Overloading

Lebih terperinci

2 TIPE DATA DAN VARIABEL

2 TIPE DATA DAN VARIABEL BAB 2 TIPE DATA DAN VARIABEL Kompetensi Dasar dan Indikator : Setelah mengikuti materi kuliah ini mahasiswa mampu menggunakan tipe data dan variable yang ada dalam Java, dengan indikator mahasiswa mampu:

Lebih terperinci

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP) Mata Kuliah : Pemrograman Berorientasi Objek I Bobot Mata Kuliah : 2 Sks GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP) Deskripsi Mata Kuliah : Graphic dan Java 2D; Graphical User Interface Component; Exception

Lebih terperinci

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP) Mata Kuliah : Pemograman Berorientasi Objek I Bobot Mata Kuliah : 3 Sks GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP) Deskripsi Mata Kuliah : Graphic dan Graphic dan Java 2D; Graphical User Interface Component;

Lebih terperinci

Bahasa Pemrograman 2.

Bahasa Pemrograman 2. Bahasa Pemrograman 2 Exception Handling anton@ukdw.ac.id Exception Exception adalah dlhsebuah hindikasi imasalah lhyang muncul saat program dijalankan Exception adalah kondisi abnormal yang terjadi saatprogram

Lebih terperinci