MEMBUAT OBJECT COMPARABLE DAN COMPARATOR

dokumen-dokumen yang mirip
Membuat Object Comparable

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

OPERASI FILE READ WRITE

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

Membuat Aplikasi Database dengan Netbeans

Politeknik Elektronika Negeri Surabaya

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

ARNA FARIZA YULIANA SETIOWATI

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

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

Enum. Yuliana Setiowati

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

Politeknik Elektronika Negeri Surabaya

Chapter 6 Konsep OOD with Java

Politeknik Elektronika Negeri Surabaya

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

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

Bab 8. Dasar-Dasar OOP

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

Pemrograman Berbasis Objek Operator dan Assignment

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

Modul ini mengenalkan Anda konsep dasar mengenai Java generic types.

Algoritma Pemrograman 1

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

Operator dan Assignment

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

Praktikum tentang Collection

PEMROGRAMAN JAVA : ARRAY

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

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

LAPORAN RESMI PEMROGRAMAN WEB

Praktikum 3 Konsep Class, Attribute dan Method

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

Pertemuan 11 Object Oriented Program

Politeknik Elektronika Negeri Surabaya

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

Konsep Pemrograman Berbasis Obyek

Algoritma Pemrograman [BS204]

PENGENALAN JAVA (2)

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

IMPLEMENTASI STRUKTUR DATA LIST, QUEUE DAN STACK DALAM JAVA

Politeknik Elektronika Negeri Surabaya

MODUL 1 PENGENALAN OOP

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

Dasar Pemrograman Java

Pemrograman Berorientasi. Inheritance

Gambar 1. Single Linked List

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

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

Pemrograman Berorientasi Obyek. Operator & Assignment

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

Modul II Object Oriented Programming

Nanik Tolaram

Percabangan & Perulangan

Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN

Definisi Eksepsi (exception)

A. TUJUAN PEMBELAJARAN

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

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

Class Wrapper. Yuliana Setiowati

Percabangan dan Perulangan

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

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

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

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

NETWORK PROGRAMMING. Yuliana Setiowati Politeknik Elektronika Negeri Surabaya D4 PENS-ITS

PRAKTIKUM 1 : ARRAY DUA DIMENSI (tipe data primitif)

BAB 8 Argumen dari Command-line

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

Polymorphism. Materi ke-8 Pemrograman Berbasis Objek

Transkripsi:

MEMBUAT OBJECT COMPARABLE DAN COMPARATOR Yuliana Setiowati Politeknik Elektronika Negeri Surabaya 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 dengan menggunakan interface java.lang.comparable and java.util.comparator 2

Mengurutkan Object String Terdapat array dengan tipe String, untuk mengurutkan data String pada array gunakan Arrays.sort(). 3

Mengurutkan Object String Terdapat data String yang tersimpan dalam ArrayList, untuk mengurutkan data menggunakan Collections.sort() 4

Class Person 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? 6

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

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

Menggunakan Interface java.lang.comparable 11

Class Testing 12

Class Testing 13

Class Testing Output program 14

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

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

19

20

Menggunakan class Comparator 21

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

23

Menggabungkan Comparator pada class Comparable 24

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.LastNameComparator); 26