Membuat Object Comparable

dokumen-dokumen yang mirip
MEMBUAT OBJECT COMPARABLE DAN COMPARATOR

B.1 Mengurutkan Objek String Terdapat array dengan tipe String, untuk mengurutkan data String pada array gunakan Arrays.sort().

B.1 Mengurutkan Objek String Terdapat array dengan tipe String, untuk mengurutkan data String pada array gunakan Arrays.sort().

B.1 Mengurutkan Obyek String Terdapat array dengan tipe String, untuk mengurutkan data String pada array gunakan Arrays.sort().

GENERICS. Yuliana Setiowati. Politeknik Elektronika Negeri Surabaya. Topik

Agar lebih mudah mengerti, cobalah untuk melakukan hal-hal berikut ini: 1. Bacalah terlebih dahulu ide dasar dari masing-masing algoritma.

OPERASI FILE READ WRITE

Politeknik Elektronika Negeri Surabaya

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

Gambar 1. Langkah-langkah pengurutan metode Insertion Sort (1)

Enum. Yuliana Setiowati

Pemrograman Berbasis Objek GENERIC. Yuliana Setiowati. Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Obyek. Yuliana Setiowati. Elektronika Negeri Surabaya PJJ PENS-ITS

Politeknik Elektronika Negeri Surabaya

Chapter 6 Konsep OOD with Java

Politeknik Elektronika Negeri Surabaya

Membuat Aplikasi Database dengan Netbeans

Politeknik Elektronika Negeri Surabaya

Praktikum KPLBO Final Object Concept I

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation

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

Permainan Remi Sederhana

Outline STRUKTUR DATA. VII. Sorting

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

Pemrograman Berbasis Objek Operator dan Assignment

Problem 1. Implementasi Interface. Diberikan definisi interface BentukDuaDimensi berikut:

MODUL III ARRAYLIST TUGAS PENDAHULUAN

Sorting. Struktur Data dan Algoritma. Suryana Setiawan, Ruli Manurung & Ade Azurat (acknowledgments: Denny) Fasilkom UI

Politeknik Elektronika Negeri Surabaya

Politeknik Elektronika Negeri Surabaya

Java Collections Framework

Politeknik Elektronika Negeri Surabaya

Algoritma Pemrograman 1

Daftar kelompok Kelas Mahasiswa Angkatan 52 Program Pendidikan Kompetensi Umum Institut Pertanian Bogor

Modul ini mengenalkan Anda konsep dasar mengenai Java generic types.

Operator dan Assignment

PEMROGRAMAN JAVA : ARRAY

Bab 8. Dasar-Dasar OOP

C. TUGAS PENDAHULUAN Buatlah resume 1 halaman mengenai Priority Queue dan berikan penjelasannya.!

Pertemuan 11 Object Oriented Program

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

Module 3. Variabel dan Tipe Data

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

PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA

Java Generic & Collection

Jobsheet 09. Overloading and Overriding Method

Array. Topik. Mendeklarasikan Array Creating Array Initializing Array Array Multidimensional Array Bounds Array Resizing Copying Arrays

Konsep Pemrograman Berbasis Obyek

Algoritma Pemrograman [BS204]

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

IMPLEMENTASI STRUKTUR DATA LIST, QUEUE DAN STACK DALAM JAVA

Politeknik Elektronika Negeri Surabaya

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

Dasar Pemrograman Java

Gambar 1. Single Linked List

Pemrograman Berorientasi. Inheritance

Gambar 1. Single Linked List

Pemrograman Berorientasi Object

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

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK

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

Pemrograman Berorientasi Obyek. Operator & Assignment

Praktikum 3 Konsep Class, Attribute dan Method

MATCH GAME. Yuliana Setiowati Politeknik Elektronika Negeri Surabaya D4 PENS-ITS

Variabel dengan tipe dasar hanya dapat menyimpan sebuah nilai

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

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA FAKULTAS ILMU KOMPUTER UNIVERSITAS BRAWIJAYA

ARNA FARIZA YULIANA SETIOWATI

Modul II Object Oriented Programming

Percabangan & Perulangan

Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN

Pertemuan 4 Halaman 1/1. Class Inheritance

Nanik Tolaram

Dasar-Dasar OOP di Java

Definisi Eksepsi (exception)

A. TUJUAN PEMBELAJARAN

Pemrograman Berorientasi Objek. Oleh: Mike Yuliana PENS-ITS

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

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

Class Wrapper. Yuliana Setiowati

CLASS PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM JOGJAKARTA

Java - Belajar Object Oriented Programming (OOP) (Part 1 - Class, Method, Getter, Setter)

Michael Lionardi

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

Generics. Prepared by Viska Mutiawani. 1

Arrays. Misalkan kita ingin menyimpan 100 buah integer Buat 100 variabel bertipe integer. Tidak efisien!

PRAKTIKUM 17 MENANGANI EXCEPTION

Modul Praktikum 4 Pemograman Berorientasi Objek

Dasar-Dasar OOP di Java

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

PENGENALAN JAVA (2)

PRAKTIKUM 1 : ARRAY DUA DIMENSI (tipe data primitif)

BAB 8 Argumen dari Command-line

Pengenalan pemrograman berorientasi obyek

KOLEKSI OBJECT. Farah Zakiyah Rahmanti, M.T Universitas Dian Nuswantoro

MINGGU II : DASAR C# Tujuan Pembelajaran. Materi

Array. Pengantar. int a, b, c, d, e;

Java Operators. Nurochman

MODUL 1 PENGENALAN OOP

Polymorphism. Materi ke-8 Pemrograman Berbasis Objek

Transkripsi:

MEMBUAT OBJECT COMPARABLE DAN COMPARATOR Yuliana Setiowati 1 Membuat Object Comparable Pada kehidupan nyata, object-object sering dibandingkan, misal : Mobil Andi lebih mahal dibandingkan dengan mobil Budi Buku A lebih tebal dibandingkan dengan Buku B Usia Andi lebih muda dibandingkan dengan usia Intan Dalam pemrograman object oriented, sering sekali ada kebutuhan untuk membandingkan object-object dari class yang sama, misalkan membandingkan object untuk mengurutkan data, pencarian data yang diurutkan berdasarkan umur. Pertemuan ini akan membahas bagaimana merancang object dari class untuk bisa dibandingkan menggunakan interface java.lang.comparable and java.util.comparator 2 1

Mengurutkan Object String Terdapat array dengan tipe String, untuk mengurutkan data String pada array gunakan Arrays.sort(). D4 PENS-ITS 3 Mengurutkan Object String Terdapat data String yang tersimpan dalam ArrayList, untuk mengurutkan data menggunakan Collections.sort() D4 PENS-ITS 4 2

Class Person D4 PENS-ITS 5 Mengurutkan object Person Terdapat data-data (object) dari class Person yang disimpan dalam array Person. Data akan diurutkan menggunakan Array.sort(). Apa yang terjadi? D4 PENS-ITS 6 3

Mengurutkan object Person Output program Program melempar ClassCastException 7 Menggunakan Interface java.lang.comparable Dengan mengimplementasikan interface Comparable pada sebuah class, menyebabkan object-object tersebut bisa dibandingkan (comparable). Interface ini mempunyai sebuah method, compareto() yang menentukan bagaimana cara membandingkan antara dua object dari class tersebut. Bentuk methodnya: public int compareto(object o) Mehod compareto() menerima Object, sehingga kita bisa memasukkan sembarang object, tapi harus mempunyai tipe yang sama. Kalau object yang kita masukkan adalah object yang berbeda maka melempar java.lang.classcastexception Return value dari method compareto() 0 jika dua object yang dibandingkan sama. Bilangan positif, jika object 1 lebih besar dibandingkan dengan object 2 Bilangan negatif, jika object 1 lebih kecil dibandingkan dengan object 2 8 4

Menggunakan Interface java.lang.comparable Bagaimana caranya supaya bisa menggunakan Array.sort() Pada class Person implementasikan interface Comparable, berarti harus mengimplementasikan method compareto(). Isilah method ini dengan tujuan untuk membandingkan object dari class Person berdasarkan umur. Jangan lupa untuk mengcasting object menjadi object dari class Person terlebih dahulu. 9 Menggunakan Interface java.lang.comparable 10 5

Menggunakan Interface java.lang.comparable 11 Class Testing 12 6

Class Testing 13 Output program Class Testing 14 7

Menggunakan class Comparator Dengan mengimplementasikan interface Comparable kita hanya bisa menentukan satu cara saja untuk membandingkan objectobject dari class Person, untuk contoh sebelumnya, yang kita bandingkan berdasarkan umur. Bagaimana jika object-object dari class Person diurutkan berdasarkan umur, nama awal dan nama akhir? Berarti objectobject tersebut dibandingkan berdasarkan umur, nama awal dan nama akhir. Kita masih memerlukan dua cara lagi untuk membandingkan objectobject dari class Person. Kita perlu dua comparator. Untuk membuat comparator, buat class yang mengimplementasikan interface java.util.comparator, dan method compare(). public int compare(object o1, Object o2) Return value dari method compare() 0 jika dua object yang dibandingkan sama. Bilangan positif, jika object 1 lebih besar dibandingkan dengan object 2 Bilangan negatif, jika object 1 lebih kecil dibandingkan dengan object 2 15 Menggunakan class Comparator Membuat comparator berdasarkan firstname. Jika firstname antara object 1 dengan object 2 tidak sama, maka yang dibandingkan adalah firstname, tetapi jika sama maka yang dibandingkan adalah lastname 16 8

Menggunakan class Comparator Membuat comparator berdasarkan lastname. Jika lastname antara object 1 dengan object 2 tidak sama, maka yang dibandingkan adalah lastname, tetapi jika sama maka yang dibandingkan adalah firstname 17 18 9

19 20 10

Menggunakan class Comparator 21 Menggabungkan Comparator pada class Comparable Contoh sebelumnya masih memerlukan beberapa class. Bagaimana kita menggabungkan comparator dalam class comparable? 22 11

23 Menggabungkan Comparator pada class Comparable 24 12

Menggabungkan Comparator pada class Comparable 25 Menggabungkan Comparator pada class Comparable Setelah digabungkan untuk mengurutkan data berdasarkan lastname dengan cara Arrays.sort(persons, Person.LastNameComparator); untuk mengurutkan data berdasarkan firstname dengan cara: Arrays.sort(persons, Person.FirstNameComparator); 26 13