• Tidak ada hasil yang ditemukan

Jurusan Teknik Elektro Universitas Udaya (1)

N/A
N/A
Protected

Academic year: 2018

Membagikan "Jurusan Teknik Elektro Universitas Udaya (1)"

Copied!
21
0
0

Teks penuh

(1)

Jurusan Teknik Elektro Universitas Udayana

(2)

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

(3)

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

(4)

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<KeyType,ValueType>, dimana class

(5)

Generics

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

(6)

Berikut ini contoh pengisian generics

dengan turunannya

• ArrayList pada contoh merupakan class yang memiliki 1

(7)

Nested Generics

 Nested Generics merupakan generics yang digantikan dengan class yang memiliki parameter generics

(8)

Nested Generics

 Pada contoh diibaratkan membuat array dinamis 2 dimensi yang mampu menyimpan string

(9)

Generic Method

 Generic Method merupakan metode yang memiliki parameter generics

 Parameter tersebut harus dituliskan sebelum nama fungsi

(10)

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

(11)

Generic Method

 Pada contoh sebelumnya, tidak perlu mendefinisikan tipe data pada class, karena generics terdapat pada constructornya

(12)

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

(13)
(14)

Generic Interface

(15)

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

(16)

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<Apapun> ke dalam fungsi

tsb.

• Mengapa tidak menggunakan Collection<Object>?

• Collection<Object> bukanlah tipe yang tepat sebagai parameter untuk turunan collection yang parameternya bukan Object, seperti ArrayList<String>

(17)
(18)

Bounded Wildcard

 Bounded wildcard

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

(19)

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

(20)

Generic Class Inheritance

 Sebuah class generic dapat diturunkan menjadi class generic, berikut contoh

(21)

Generic Class Inheritance

 Informasi isi generics tidak tersedia saat runtime, sehingga, apabila menuliskan “ipp instanceof

Referensi

Dokumen terkait

Kolom 2 : diisi dengan kegiatan yang akan dilakukan untuk memecahkan/ menangani masalah berdasarkan potensi yang Kolom 3 : diisi dengan volume atau besaran/ jumlah

Kelemahan dari Organisasi Pangan dan Pertanian yaitu FAO terlalu desentralisasi, dengan proporsi staf yang bertugas di pusat yang banyak, yang jauh dari pengamatan

SEKOLAH KEBANGSAAN KERUNAI 333109 GERIK,PERAK.

Halaman 6 LAMPIRAN II PENJABARAN PERTANGGUNGJAWABAN - PENJABARAN LAPORAN REALISASI ANGGARAN PENDAPATAN DAN

Penentuan varians bersyarat dari sebuah peubah acak diberikan peubah acak lainnya, baik diskrit maupun kontinu dijelaskan dalam Definisi 7.12... 2 FUNGSI PEMBANGKIT

Berkaitan dengan tugas menetapkan kegiatan dan jadwal acara rapat DPRD, Panitia Musyawarah menetapkan acara DPRD untuk satu masa sidang atau sebagian dari suatu masa

[r]

dengan menetapkan harga pagu ( ceiling price ) yang dapat diberikan oleh perusahaan dalam industri. Mengenali produk-produk subtitusi adalah persoalan mencari produk lain yang