Jurusan Teknik Elektro Universitas Udaya (1)

Java Programming
Jurusan Teknik Elektro
Universitas Udayana

Generics
• Generics digunakan sebagai tipe data yang dapat didefinisikan

ketika sebuah class akan dipakai
• Konsep mendekati dengan generics java adalah typename/class
template pada C++
• sebuah template yang bertipe typename/class dapat digantikan

dengan tipe data lain, bergantung pada inisialisasi class-nya
• syntax yang digunakan pada java untuk mendefinisikan generics

adalah “” setelah nama class, contoh

Generics

 Pada contoh sebelumnya, didefinisikan sebuah class T dan


generics X, dimana X nantinya dapat digantikan oleh tipe data
apapun bergantung pada proses inisialisasinya. Contoh isi
prosedur main:

Generics
• Pada contoh sebelumnya, ii merupakan class T yang

generics X-nya didefinisikan sebagai Integer
• variabel ist merupakan class T yang

generics X-nya didefinisikan sebagai string
• Pemberian generics boleh lebih dari 1 misal X,Y, Z.
• Contoh class yang menggunakan lebih dari 1 parameter adalah
HashMap, dimana class
tersebut berguna sebagai array asosiatif

Generics
• Pemberian nama generics menurut standar adalah 1 huruf kapital
• generics boleh digantikan dengan Object apapun, dan tidak dapat


digantikan dengan tipe – tipe primitif seperti int (Integer adalah
class, int adalah primitives)

Berikut ini contoh pengisian generics
dengan turunannya
• ArrayList pada contoh merupakan class yang memiliki 1

parameter generics, dengan mengisinya dengan T1, maka T2
sebagai turunan T1 juga dapat masuk ke dalamnya

Nested Generics
 Nested Generics merupakan generics yang digantikan dengan class

yang memiliki parameter generics
 contoh ArrayList yang menyimpan ArrayList of String

Nested Generics

 Pada contoh diibaratkan membuat array dinamis 2 dimensi


yang mampu menyimpan string
 Nesting generics boleh dilakukan berkali-kali

Generic Method
 Generic Method merupakan metode yang memiliki parameter

generics
 Parameter tersebut harus dituliskan sebelum nama fungsi
 Contoh fungsi static yang mempergunakan generic

Generic Method
• Pada contoh sebelumnya, fungsi tersebut mencari tipe T dari

array V, dimana V merupakan turunan dari T
• dinamakan bounded type
• Contoh pemanggilan fungsi di atas adalah Constructor juga dapat

memiliki generics, sebagai contoh, apabila hanya angka yang menjadi
parameter sebuah constructor, dapat dituliskan


Generic Method
 Pada contoh sebelumnya, tidak perlu mendefinisikan tipe data

pada class, karena generics terdapat pada constructornya
 Contoh lain, apabila mempergunakan array pada fungsi static

Generic Interface
• generic dapat diberikan pada interface
• contoh, apabila membuat interface dengan bounded type

Comparable (yaitu object harus dapat di-compare) sbb.

• Pada interface di atas, implementasikan class untuk mencari

object terkecil dan maksimumnya

Generic Interface

Generic Interface
 Class sebelumnya mengimplementasikan interface IMinMax yang


telah dibuat, berikut contoh pemakaian class tsb

Wildcard
• Wildcard digunakan sebagai pengganti generics
• Wildcard digunakan jika tidak mempedulikan tipe data dari generics

(tidak perlu tahu)
• Atau jika peduli tipe datanya tetapi tidak perlu untuk mendefinisikan
variabel dengan tipe tersebut. Contoh penggunaan wildcard pada
fungsi

Collection
• Pada contoh, Collection dapat dibaca sebagai “koleksi dari

sesuatu yang tidak diketahui”
• Collection merupakan parent dari ArrayList, HashMap dan TreeSet
• Sehingga mampu mempassing ArrayList ke dalam fungsi

tsb.

• Mengapa tidak menggunakan Collection?
• Collection bukanlah tipe yang tepat sebagai parameter

untuk turunan collection yang parameternya bukan Object, seperti
ArrayList
• Dapat disimpulkan, apabila parameter fungsi berupa Parent1
maka Turunan1 dapat dipassing, sedangkan apabila parameter
fungsi berupa Parent1 maka Turunan1 dapat dipassing
ke dalam fungsi tersebut

Collection

Bounded Wildcard
 Bounded wildcard

 wildcard yang dibatasi hanya dari class turunan (extends) atau parent

(super) tertentu
 Sebagai contoh, fungsi ini hanya menerima parameter generic
turunan dari class number


Bounded Wildcard

 Keyword extends pada contoh dapat digantikan dengan super,

yang memiliki arti berbeda, yaitu hanya superclass dari
number yang boleh masuk ke dalam fungsi tersebut
 Seperti pada contoh bagian Generic Method di atas, bounded
type tidak harus mempergunakan wildcard

Generic Class Inheritance

 Sebuah class generic dapat diturunkan menjadi class generic,

berikut contoh

 Salah satu cara untuk memeriksa dengan mempergunakan

syntax instanceof


Generic Class Inheritance

 Informasi isi generics tidak tersedia saat runtime, sehingga,

apabila menuliskan “ipp instanceof
parent” akan menghasilkan compile error

Dokumen yang terkait

ANALISIS ELEMEN-ELEMEN BRAND EQUITY PADA PRODUK KARTU SELULER PRABAYAR SIMPATI, IM3, DAN JEMPOL (Studi Kasus Mahasiswa Jurusan Manajemen Fakultas Ekonomi Universitas Jember)

2 69 20

Hubungan Kualitas Tidur dan Kebiasaan Mengkonsumsi Kopi pada Mahasiswa Fakultas Kedokteran Universitas Muhammadiyah Malang

11 91 19

FAKTOR–FAKTOR YANG MENJADI DAYA TARIK PENYIAR RADIO MAKOBU FM (Studi pada Mahasiswa Jurusan Ilmu Komunikasi Angkatan 2003 UMM)

0 72 2

PENGARUH PENILAIAN dan PENGETAHUAN GAYA BUSANA PRESENTER TELEVISI TERHADAP PERILAKU IMITASI BERBUSANA (Studi Tayangan Ceriwis Pada Mahasiswa Universitas Muhammadiyah Malang Jurusan Komunikasi Angkatan 2004)

0 51 2

PENGARUH TERPAAN LIRIK LAGU IWAN FALS TERHADAP PENILAIAN MAHASISWA TENTANG KEPEDULIAN PEMERINTAH TERHADAP MASYARAKAT MISKIN(Study Pada Mahasiswa Universitas Muhammadiyah Malang Pada Lagu Siang Seberang Istana)

2 56 3

PEMAKNAAN MAHASISWA TENTANG DAKWAH USTADZ FELIX SIAUW MELALUI TWITTER ( Studi Resepsi Pada Mahasiswa Jurusan Tarbiyah Universitas Muhammadiyah Malang Angkatan 2011)

59 326 21

PENGARUH PENGGUNAAN BLACKBERRY MESSENGER TERHADAP PERUBAHAN PERILAKU MAHASISWA DALAM INTERAKSI SOSIAL (Studi Pada Mahasiswa Jurusan Ilmu Komunikasi Angkatan 2008 Universitas Muhammadiyah Malang)

127 505 26

Penerapan Data Mining Untuk Memprediksi Fluktuasi Harga Saham Menggunakan Metode Classification Dengan Teknik Decision Tree

20 110 145

Sistem Informasi Pendaftaran Mahasiswa Baru Program Beasiswa Unggulan Berbasis Web Pada Universitas Komputer Indonesia

7 101 1

Teknik Otomasi Industri Jobsheet Pemrogr

2 31 12