• 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

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

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

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