Enum. Yuliana Setiowati

dokumen-dokumen yang mirip
A. TUJUAN PEMBELAJARAN 1. Memahami mengenai konsep Enum 2. Memahami bentuk-bentuk penggunaan Enum 3. Memahami fungsi-fungsi yang terdapat di Enum

INTERAKSI ANTAR OBJECT

Reserved words Reserved words atau keywords merupakan kata-kata spesifik digunakan oleh compiler untuk keperluan pemrograman. Contoh reserved words

Pemograman Berorientasi Objek. Week 4 Initialization dan Instance dalam Kelas

Konsep Dasar Pemrograman Berorientasi Objek

Pemrograman Berorientasi. Class dan Obyek 2

Algoritma Pemrograman [BS204]

Konsep Dasar Pemrograman Berorientasi Obyek I JAVA. Anugrah Kusuma Seno Adi Putra

Class & Object 2. Imam Fahrur Rozi

KUM 3 IMPLEMENTASI LIST

PEMROGRAMAN BERORIENTASI OBJEK

Membuat dan Menggunakan Class

06/03/2018. Tidak memiliki parameter. Melakukan inisialisasi semua variabel private dengan nilai awal.

Pemrograman Berorientasi. Abstract & Interface

Pemrograman Lanjut. Class : Deeper Look 2

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

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

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

Pemrograman Lanjut Review Class dan Object PTIIK

1. Keyword mana yang memiliki fungsi sama dengan keyword this dan menyediakan reference ke atribut turunan dari objek? super

Pemograman Berorientasi Objek

Permainan Remi Sederhana

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

Bahasa Pemrograman :: Java Class Library

Pemrograman Lanjut Tipe Data dan Constructor PTIIK

Pengenalan pemrograman berorientasi obyek

MEMBUAT OBJECT COMPARABLE DAN COMPARATOR

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

IKG2I4 / Software Project I

Membuat Object Comparable

Bahasa Pemrograman 2.

PRAKTIKUM 1 : ARRAY DUA DIMENSI (tipe data primitif)

MODUL 1 PENGENALAN OOP

Apa yang menjadi output potongan kode diatas? Error karena tidak ada String yang di-passing kedalam konstruktor Bapak

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

Praktikum 6 Class Design (Encapsulation)

GENERICS. Yuliana Setiowati. Politeknik Elektronika Negeri Surabaya. Topik

2. Pilih instruksi yang dapat digunakan dalam method actionperformed untuk membedakan antara tombol buttonone dan buttontwo.

Understanding Class Definition. Viska Mutiawani, M.Sc

JAVA BASIC PROGRAMMING Joobshet

Pemrograman Berorientasi. Array dan Collections

Array Sebagai Parameter Method

Pemrograman Berbasis Objek. Interface. Politeknik Elektronika Negeri Surabaya

MEMBUAT KELAS SENDIRI. Dewi Sartika, M.Kom

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

Pemrograman Lanjut. Instance Variable Access Modifier Set dan Get Method

Politeknik Elektronika Negeri Surabaya

Jobsheet 09. Overloading and Overriding Method

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

Bahasa Pemograman II. Object Oriented Programming

Perancangan Program. Programming Logic and Design, Introductory, Fourth Edition 2

Scope Variable. Sebuah variabel di dalam sebuah fungsi memiliki jangkauan tertentu. Skop variabel terdiri dari:

Pemrograman Lanjut Jurusan S1 Teknik Informatika. 9/17/2012 Ratno

Understanding Class Definition

Variabel dengan tipe dasar hanya dapat menyimpan sebuah nilai

MINGGU VI : PBO (LANJUTAN)

Var-arg Cornelius Mellino / Cornelius Koo JavaSchool of Object Technology

Pemrograman Lanjut Class, Instance Variable dan Method PTIIK

MODUL II. OBJECK, PROPERTY, METHOD dan EVENT

Dasar Pemrograman Java

[Lanjutan] Nurochman

Enkapsulasi. Politeknik Elektronika Negeri Surabaya. Enkapsulasi. public void Info() { System.out.println( Saya siswa PENS );

Pengenalan OOP. Object-Oriented programming (OOP) Menitikberatkan pada konsep object sebagai elemen dasar dari program.

Other OOP Basic. Viska Mutiawani, M.Sc. 1 Viska Mutiawani - Informatika FMIPA Unsyiah

MODUL 1. CLASS, OBJECT, CONSTRUCTOR DAN METHOD

COMPOSITION FAKULTAS TEKNOLOGI INFORMASI. PBO Lanjutan UNIVERSITAS BUDI LUHUR. Kelas (Lanjutan) HAL : 1

Diciptakan oleh James Gosling. Resmi diperkenalkan tahun Merupakan bahasa pemrograman berorientasi obyek murni. Pada awalnya hanya mampu

PERTEMUAN 3 OBJEK DAN CLASS

CLASS PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM JOGJAKARTA

Pemrograman Lanjut. Interface

Modul Praktikum 4 Pemograman Berorientasi Objek

Pemrograman Berorientasi. Inheritance

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

(INHERITANCE) Nurochman

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

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation

Modul II Object Oriented Programming

PERTEMUAN 2 PEMOGRAMAN BERORIENTASI OBJEK L/O/G/O

BEKERJA DENGAN JAVA CLASS LIBRARY

LAB PEMROGRAMAN I (JAVA FUNDAMENTAL) PERTEMUAN 3 Dosen : Bella Hardiyana S. Kom

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

BAB VII. CLASS DAN OBJECT

Praktikum 3 Konsep Class, Attribute dan Method

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

Other OOP Basic. Viska Mutiawani, M.Sc

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

Modul 2. [access specifier] [tipe data] [nama variabel];

TPI4202 e-tp.ub.ac.id

OBJECT, CLASS DAN METHOD. 1. Mengetahui pengertian dari objek & class 2. Dapat membuat program sederhana dari java dengan menggunakna objek dan class

BAHASA PEMROGRAMAN. Untuk SMK. Kadarisman Tejo Yuwono Totok Sukardiyono Adi Dewanto. : Ratu Amilia Avianti. Perancang Kulit

MODUL 1. Class, Object, Constructor dan Method

Diciptakan oleh James Gosling. Resmi diperkenalkan tahun Merupakan bahasa pemrograman berorientasi obyek murni. Pada awalnya hanya mampu

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

Pemrograman Lanjut. Case Study: Perusahaan Taxi

LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN ( Implementasi Rekursi Pada Java)

Pengenalan pemrograman berorientasi obyek. Politeknik Elektronika Negeri Surabaya. Topik

Bahasa Pemrograman 2.

Overriding. Subclass yang berusaha memodifikasi tingkah laku yang diwarisi dari superclass. Tujuan: subclass memiliki tingkah laku yang lebih

Class Wrapper. Yuliana Setiowati

Game Technology Design Course College of Multi Media Yogyakarta Spring Tri Anggraeni, S.Kom., M.Sc.

Transkripsi:

Enum Yuliana Setiowati

Kebutuhan tipe baru sebelum J2SE 5.0, solusi untuk menangani masalah sekumpulan nilai konstanta, dicontohkan seperti di bawah ini: (jenis credit card yang bisa diterima oleh aplikasi) public static final int VISA = 1; public static final int MASTER_CARD = 2; public static final int AMERICAN_EXPRESS = 3;

Kebutuhan tipe baru Permasalahan yang muncul : tidak ada yang mengikat ketiga nilai menjadi semacam set dan kita bisa memberikan nilai yang salah pada variabel-variabel tersebut. Kondisi seperti ini disebut not type safe (tipe yang tidak aman). Kondisi ini dapat diperbaiki dengan membuat tipe yang relatif aman (tipe safe) dengan mendefinisikan suatu class, yaitu class AllowedCreditCard. Class tersebut mendefinisikan : konstanta-konstanta di dalam kelas variabel untuk menyatakan state object dari class tersebut. Konstruktor private untuk mengeset state.

Output:

Kebutuhan tipe baru Pada pendekatan ini, terdapat 3 state dari class AllowedCreditCard yang dinyatakan oleh tiga object yang dicreate dengan memberikan nilai yang berbeda pada variabel card. Karena konstruktor private, sehingga tidak bisa create object diluar class. Design seperti ini masih dianggap type safe. Tapi pada J2SE 5.0 terdapat solusi yang bagus dengan mengenalkan tipe baru yaitu enum.

Tipe Enum Tipe data enum dikenalkan di J2SE 5.0 berguna untuk variabel yang berisi sekumpulan nilai. Cara mendefinisikan variabel enum: Mendefinisikan tipe enum dengan sekumpulan nilai. Mendefinisikan variabel yang menyimpan satu dari nilai-nilai tersebut. Contoh: enum AllowedCreditCard {VISA, MASTER_CARD, AMERICAN_EXPRESS}; AllowedCreditCard visa = AllowedCreditCard.VISA;

Contoh: Mendeklarasikan enum di luar class

Contoh: Mendeklarasikan enum di dalam class

Contoh :

Tidak Legal Tidak bisa mendeklarasikan enum di dalam method

Enum Misalkan kita ingin menentukan nilai konstanta dari enum. Cara termudah dengan memberikan nilai enum (misal : BIG, HUGE, dan OVERWHELMING). Nilai enum sebagai object yang masing-masing mempunyai nilai instance variabel sendirisendiri. Nilai ini diberikan pada saat enum diinisialisasi, dengan memberikan nilai pada konstruktor enum.

Point penting Konstruktor enum dijalankan secara otomatis. Contoh BIG(8) menjalankan konstruktor CoffeSize yang menerima parameter berupa int, dengan nilai 8. Konstruktor pada enum bisa lebih dari satu.

Contoh: Enum run: Flag selected is: 0 which is showerrors BUILD SUCCESSFUL (total time: 1 second)

Contoh : Enum with switch statement run: You chose Windows!

Contoh: Menggunakan Konstruktor Enum

Contoh : Switch pada Enum dan Menambahkan Method di Enum

Contoh : Switch pada Enum dan Menambahkan Method di Enum

An enumeration of apple varieties. run: Value of ap: C ap conatins GoldenDel. B is yellow.

Fungsi pada Enum public static Apple[] values() Mengembalikan array yang berisi konstanta dari tipe enum, urutan sesuai pada saat pendeklarasian enum. public static Apple valueof(string name) Mengembalikan konstanta enum sesuai dengan inputan dari parameter String public final int ordinal() Mengembalikan ordinal dari enum konstanta (dimulai dari 0) public final int compareto(e o) Membandingkan object enum dengan object enum lainnya berdasarkan urutan. Mengembalikan nilai negatif (object enum 1 < object enum 2), 0 (object enum 1 = object enum 2) dan positif (object enum 1 > object enum 2).

Contoh: Use the built-in enumeration methods. run: Here are all Apple constants A B C D E ap contains A

Use an enum constructor, instance variable, and method run: 10 All apple prices: A costs 10 cents. B costs 9 cents. C costs 12 cents. D costs 15 cents. E costs 8 cents.

Demonstrate ordinal(), compareto(), and equals()

Demonstrate ordinal(), compareto(), and equals() run: Here are all apple constants and their ordinal values: Jonathan 0 GoldenDel 1 RedDel 2 Winsap 3 Cortland 4 GoldenDel comes before RedDel RedDel equals RedDel RedDel equals RedDel RedDel == RedDel

Creating an Enum

Creating an Enum

Output run: Allowed value: 'A' Allowed value: 'B' Allowed value: 'C' Allowed value: 'D' Allowed value: 'F' Allowed value: 'INCOMPLETE' Allowed value: 'A' Allowed value: 'B' Allowed value: 'C' Allowed value: 'D' Allowed value: 'F' Allowed value: 'INCOMPLETE' Brett McLaughlin passed with a grade of B BUILD SUCCESSFUL (total time: 0 seconds)