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

dokumen-dokumen yang mirip
MODUL III ARRAYLIST TUGAS PENDAHULUAN

Gambar 1. Single Linked List

IF PEMROGRAMAN LANJUT TUGAS 1. Oleh : Andri Heryandi, M.T.

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

IMPLEMENTASI STRUKTUR DATA LIST, QUEUE DAN STACK DALAM JAVA

Pemrograman Berorientasi Obyek Lanjut (IT251) Ramos Somya, S.Kom., M.Cs.

Array Multidimensi. Pemrograman Dasar. Java

PEMROGRAMAN BERORIENTASI OBJEK COLLECTION DAN MULTITHREADING. ADAM MUKHARIL BACHTIAR TEKNIK INFORMATIKA UNIKOM

1. Latar Belakang Didalam pembuatan game java sering kali kita mendefinisikan banyak object seperti gambar, dan grafik geometri yang begitu banyak,

Pemrograman Berorientasi Objek Collection dan Multithreading. Adam Mukharil Bachtiar Teknik Informatika UNIKOM

Gambar 1. Single Linked List

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK

Belajar ArrayList di Java

Pemrograman Berorientasi. Array dan Collections

Java Generic & Collection

BAB 2 COLLECTION & THREAD

Pada pembuatan game di java, sering kali para programer. mendefinisikan banyak object seperti suara, gambar, dan grafik geometri yang

Algoritma dan Struktur Data. Queue

BAB VI ARRAY Mendeklarasikan Variabel Array int[ ] bilangan; int bilangan[ ]; Mendefinisikan Array Bilangan = new int[5]; Latihan 21. ArrSatu.

Grouping Object. Viska Mutiawani, M.Sc

Gambar 1. Single Linked List

Array Sebagai Parameter Method

OBJECT ORIENTED PROGRAMMING (OOP)

Algoritma Pemrograman [BS204]

Algoritma dan Struktur Data STACK

Mukhlidi Muskhir Modul 2

A. TUJUAN PEMBELAJARAN 1. Memahami konsep Class LinkedList di Collection 2. Memahami penggunaan method-method pada Class LinkedList.

Modul 3: Tipe Data Abstrak Dinamis List, LinkList dan Model Antrian Stack & Queue

Beberapa Contoh Penggunaan Array

Dasar-Dasar OOP di Java

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

Pertemuan 2 (2) : Membuat Class dan mengakses Anggota Class

Array. Adharul Muttaqin Universitas Brawijaya Malang. Array

Objek Data, Variabel, dan Konstanta. Konsep Bahasa Pemrograman Materi 4 Yudianto Sujana, M.Kom

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA QUEUE

Gambar 1. Single Linked List

Pertemuan 4 Array pada Java

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

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

Pemrograman. Pertemuan-3 Fery Updi,M.Kom

Politeknik Elektronika Negeri Surabaya

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

Variabel dengan tipe dasar hanya dapat menyimpan sebuah nilai

Modul Praktikum 4 Pemograman Berorientasi Objek

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

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

Bab 8. Dasar-Dasar OOP

INTERAKSI ANTAR OBJECT

Politeknik Elektronika Negeri Surabaya

Java Basics-2 Oleh : Agus Priyanto, Agus Priyanto M.Kom M.K

Algoritma dan Pemrograman Array/Tabel[1] Oleh: Eddy Prasetyo N

Metode Binnary Searching di Java Console

Konsep Lanjut Pemrograman Objek

Pemrograman Berorientasi. Class dan Obyek 2

Generics. Prepared by Viska Mutiawani. 1

Linked List dan Implementasinya dalam Bahasa Java

MODUL 3 ARRAY. Pemograman Berorientasi Objek

Politeknik Elektronika Negeri Surabaya

MATERI PRAKTIKUM STRUKTUR DATA

PRAKTIKUM PEMROGRAMAN LANJUT MODUL 1

Tipe Data Floating Point Tipe data yng digunakan untuk menampung bilangan desimal

A. TEORI ARRAY 1 DIMENSI

PRAKTIKUM ALGORITMA DAN STRUKTUR DATA MODUL KE-2 STACK DAN QUEUE

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA LINKED LIST (BAGIAN 1)

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

BAB 4 ARRAY. number1 = 10; number2 = 20; number3 = 30;

Jobsheet 09. Overloading and Overriding Method

Score: 94.0 Persentage: % ~ u ~ Generated by Foxit PDF Creator Foxit Software For evaluation only.

MATERI PRAKTIKUM 2 ARRAY

Dasar-Dasar OOP di Java

Politeknik Elektronika Negeri Surabaya

A. TEORI ARRAY 1 DIMENSI

TIPE DATA DAN VARIABLE

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

Pemrograman Lanjut. Instance Variable Access Modifier Set dan Get Method

Modul Praktikum Bahasa Pemrograman 1

Dasar Pemrograman Java

Modul ini mengenalkan Anda konsep dasar mengenai Java generic types.

TIPE DATA PADA JAVA. Pertemuan (K-04/L-04)

1. Mana diantara pilihan-pilihan berikut ini yang merupakan penulisan loop yang benar?

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

GENERICS. Yuliana Setiowati. Politeknik Elektronika Negeri Surabaya. Topik

PEMROGRAMAN JAVA : ARRAY

LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN ( Implementasi Rekursi Pada Java)

A. TUJUAN PEMBELAJARAN

Membuat dan Menggunakan Class

Tiga Metode Sangat Penting dalam Pemrograman Java Bagi Pemula

TIPE DATA DAN VARIABLE

int fungsi_2() { int main() { fungsi_1(); fungsi_2(); return 0;

Class & Object 2 ~Praktikum~ Imam Fahrur Rozi

03/04/2018. Collection set List Map. Pemrograman Berorientasi Object

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

OPERATOR-OPERATOR DALAM JAVA

Jika Anda ingin bisa/sukses dalam kuliah SDA ini, rajinlah mengimplementasikan ADT dan mengerjakan soal-soal yang diberikan.

Array 1 Dimensi pada Java

Penjebakan Eksepsi. Nur hasanah, M.Cs

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

Struktur Kontrol Pemrograman Java : PERCABANGAN

Praktikum 9 Exception Handling

Politeknik Elektronika Negeri Surabaya

Transkripsi:

IF34348 - PEMROGRAMAN LANJUT GENERIC 10 Oleh : Andri Heryandi, M.T.

MATERI HARI INI Definisi Generic Membuat Class Generic Oleh : Andri Heryandi, M.T. 2

CONTOH KASUS Anda membutuhkan sebuah class untuk menukarkan isi 2 buah data. Contoh class : Oleh : Andri Heryandi, M.T. 3

CONTOH KASUS Contoh Class Penukaran int: public class TukarInt { private int v1; private int v2; public TukarInt(int var1, int var2){ v1=var1; v2=var2; public void tukarkan(){ int temp=v1; v1=v2; v2=temp; public int getv1(){ return v1;; public int getv2(){ return v2;; Oleh : Andri Heryandi, M.T. 4

CONTOH KASUS Contoh Penggunaan Class Penukaran int: public class TukarIntTester { public static void main(string[] args) { int a1=10,a2=15; System.out.println("A1 : "+a1+" A2 : "+a2); TukarInt t=new TukarInt(a1,a2); t.tukarkan(); a1=t.getv1(); a2=t.getv2(); System.out.println("A1 : "+a1+" A2 : "+a2); Hasil RUN: ----------------------- A1 : 10 A2 : 15 A1 : 15 A2 : 10 Oleh : Andri Heryandi, M.T. 5

CONTOH KASUS Pertanyaannya : Apakah class tersebut dapat digunakan untuk menukarkan data dengan tipe data yang berbeda? Jawabannya adalah TIDAK. Anda harus membuat class baru dengan menyesuaikan tipe datanya. Solusinya adalah : GENERIC Oleh : Andri Heryandi, M.T. 6

GENERIC Generic disebut pula sebagai parametered type (tipe berparameter). Generic memperbolehkan pemberian tipe (class/interface) sebagai parameter ketika membuat class. Dengan menggunakan konsep class generic, maka programmer dapat menghilangkan type-casting sehingga dapat menghasilkan aplikasi yang memiliki penanganan data yang baik. Generic juga dapat diterapkan dalam pendeklarasian method (generic method). Oleh : Andri Heryandi, M.T. 7

GENERIC CLASS Contoh Class Penukaran versi Generic: public class Penukaran<T> { private T v1; private T v2; public Penukaran(T var1, T var2){ v1=var1; v2=var2; public void tukarkan(){ T temp=v1; v1=v2; v2=temp; public T getv1(){ return v1;; public T getv2(){ return v2;; Oleh : Andri Heryandi, M.T. 8

GENERIC CLASS Contoh Penggunaan Class Penukaran versi Generic: p u b l i c c l a s s P e n u k a r a n T e s t e r { p u b l i c s t a t i c v o i d m a i n ( S t r i n g [ ] a r g s ) { I n t e g e r i 1 = 5 0, i 2 = 8 0 ; D o u b l e d 1 = 5 5. 5, d 2 = 7 0. 2 ; S y s t e m. o u t. p r i n t l n ( " I 1 : " + i 1 + ", I 2 : " + i 2 ) ; S y s t e m. o u t. p r i n t l n ( " D 1 : " + d 1 + ", D 2 : " + d 2 ) ; P e n u k a r a n < I n t e g e r > t 1 = n e w P e n u k a r a n < I n t e g e r > ( i 1, i 2 ) ; P e n u k a r a n < D o u b l e > t 2 = n e w P e n u k a r a n < D o u b l e > ( d 1, d 2 ) ; t 1. t u k a r k a n ( ) ; i 1 = t 1. g e t V 1 ( ) ; i 2 = t 1. g e t V 2 ( ) ; S y s t e m. o u t. p r i n t l n ( " I 1 : " + i 1 + ", I 2 : " + i 2 ) ; t 2. t u k a r k a n ( ) ; d 1 = t 2. g e t V 1 ( ) ; d 2 = t 2. g e t V 2 ( ) ; S y s t e m. o u t. p r i n t l n ( " D 1 : " + d 1 + ", D 2 : " + d 2 ) ; Hasil RUN: ------------------- I1 : 50, I2 : 80 D1 : 55.5, D2 : 70.2 I1 : 80, I2 : 50 D1 : 70.2, D2 : 55.5 Oleh : Andri Heryandi, M.T. 9

GENERIC METHOD Contoh penggunaan generic method adalah ketika ingin menggunakan method dengan parameter yang berbeda jenisnya. Oleh : Andri Heryandi, M.T. 10

GENERIC METHOD Contoh Generic Method: public class KelolaArray { public static <E> void cetakarray(e[] data){ for(e isi:data) System.out.print(isi+" "); System.out.println(); Oleh : Andri Heryandi, M.T. 11

GENERIC METHOD Contoh Penggunaan Generic Method: public class KelolaArrayTester { public static void main(string[] args) { Integer[] i={5,3,7,8,3; Double[] d={5.7,2.3,5.7,9.8,3.5; Character[] c={'u','n','i','k ','O','M'; String[] teman={"aang","budi","cuplis","dede"; KelolaArray.cetakArray(i); KelolaArray.cetakArray(d); KelolaArray.cetakArray(c); KelolaArray.cetakArray(teman); Hasil RUN: ------------------- 5 3 7 8 3 5.7 2.3 5.7 9.8 3.5 U N I K O M Aang Budi Cuplis Dede Oleh : Andri Heryandi, M.T. 12

GENERIC Contoh umum penggunaan class generic adalah class untuk merepresentasikan struktur data, contoh : Array LinkedList Struktur-struktur data di atas bisa dibuat generic sehingga struktur datanya tidak hanya bisa digunakan untuk satu jenis tipe data saja tetapi bisa berisi berbagai macam tipe. Contoh : Sebuah LinkedList generic bisa digunakan untuk menampung data Angka (Number) atau String atau Class-class lain. Oleh : Andri Heryandi, M.T. 13

JAVA COLLECTION Java sudah menyediakan class/interface untuk menampung struktur data dengan menggunakan konsep Generic. Class-class tersebut disebut sebagai Java Collection. Beberapa class generic yang merupakan class-class Java Collection : ArrayList : Class generic yang dapat digunakan untuk menampung data dalam bentuk array yang dinamis. LinkedList : Class generic yang dapat digunakan untuk menampung data dalam bentuk linked list. Class lain dapat dilihat di referensi javadoc. Oleh : Andri Heryandi, M.T. 14

ARRAYLIST ArrayList adalah class yang dapat digunakan untuk menyimpan objek dalam bentuk array yang dinamis. Method yang ada diantaranya : add() : menambah elemen diakhir remove() : menghapus elemen tertentu. Jika parameter berisi angka (int) maka akan menghapus data posisi tersebut. Posisi awal adalah 0. get() : mereturnkan data pada posisi index tertentu. Paramter fungsi ini adalah indeksnya. clear() : mengosongkan array size() : mereturnkan banyaknya elemen yang ada dalam array Oleh : Andri Heryandi, M.T. 15

ARRAYLIST import j a v a. u til.arraylist ; public class ArrayListTester { public static void main(string[] args) { ArrayList< I n t eger> ai=new A rraylist<integer>(); ai.add(30); ai.add(50); ai.add(70); for(int i=0;i<ai.size( ) ; i + + ){ System.out.println( ai.get( i )); ai.remove( 1 ) ; // hapus d a t a ke - 2 System.out.println( ai); ai.clear();// kosongkan a r r ay System.out.println( ai); Hasil RUN: ------------------- 30 50 70 [30, 70] [] Oleh : Andri Heryandi, M.T. 16

LINKEDLIST LinkedList adalah class yang dapat digunakan untuk menyimpan objek dalam bentuk linked list. Method yang ada diantaranya : add() : menambah elemen diakhir remove() : menghapus pertama. Jika ada parameter berisi angka (int) maka akan menghapus data posisi tersebut. Posisi awal adalah 0. get() : mereturnkan data pada posisi index tertentu. Paramter fungsi ini adalah indeksnya. clear() : mengosongkan array size() : mereturnkan banyaknya elemen yang ada dalam array addfirst() : menambah elemen baru di depan addlast() : menambah elemen baru di belakang removefirst() : menghapus elemen di depan removelast() : menghapus elemen di belakang Oleh : Andri Heryandi, M.T. 17

LINKEDLIST import java.util.linkedlist; public class LinkedListTester { public static void main(string[] args) { LinkedList<String> ll = new LinkedList<String>(); ll.add("b"); ll.add("c"); ll.add("d"); ll.add("e"); System.out.println(ll); ll.addlast("z"); ll.addfirst("a"); System.out.println(ll); String a=ll.removefirst(); System.out.println("Pertama : "+a); System.out.println("Kedua : "+ll.get(1)); ll.clear(); System.out.println(ll); Hasil RUN: ------------------- [B, C, D, E] [A, B, C, D, E, Z] Pertama : A Kedua : C [] Oleh : Andri Heryandi, M.T. 18

LATIHAN Buatlah program yang menggunakan class Queue dan Stack yang merupakan bawaandari Java (collection). Referensi, lihat Javadoc. Oleh : Andri Heryandi, M.T. 19