Bahasa Pemrograman 2.

dokumen-dokumen yang mirip
Pemrograman Berorientasi. Package & Hubungan Antar Kelas

PAKET (PACKAGE) 20 Januari 2012

SUMBER BELAJAR PENUNJANG PLPG

Pemrograman Berorientasi Objek Inheritance dan Relasi Kelas. Adam Mukharil Bachtiar Teknik Informatika UNIKOM

Bahasa Pemrograman 2.

Pemrograman Lanjut Review Class dan Object PTIIK

Class & Object 2 ~Praktikum~ Imam Fahrur Rozi

MINGGU VII : RELASI ANTAR KELAS

Pemrograman Berorientasi. Class dan Obyek 2

IKG2I4 / Software Project I

Konsep Lanjut Pemrograman Objek

BAB 3 CLASS DAN OBJECT. Tujuan:

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

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

PAKET DAN INTERFACE MUH. IZZUDDIN MAHALI, M.CS. PT. Elektronika FT UNY

Inheritance dan Kata Kunci static

Paket dan Interface. Nur Hasanah, M.Cs

Bahasa Pemrograman 2.

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

Pemograman Berorientasi Objek. Week 6 Relasi Antar Kelas

BAB II VARIABEL DAN TIPE DATA

Penggunaan Netbeans IDE, Hello World, variable dan Operator aritmetika.

Praktikum 3 Konsep Class, Attribute dan Method

[Lanjutan] Nurochman

Modul II Object Oriented Programming

Parent dan Child di Java

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

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

Pemrograman Berorientasi Objek INHERITANCE

HUBUNGAN ANTAR CLASS. Pemograman Berorientasi Objek

Bab 8. Dasar-Dasar OOP

TIPE DATA Pertemuan (K-03/L-03)

Membuat dan Menggunakan Class

2 TIPE DATA DAN VARIABEL

Dalam penulisan sebuah kelas di java, ada beberapa aturan yang biasanya dilakukan. Nama kelas tidak menggunakan tanda spasi, dash (-) dan tanda lain.

PEMROGRAMAN BERORIENTASI OBJEK

Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN

Oleh : Rahmady Liyantanto

2015 BAHASA PEMROGRAMAN I. Pertemuan VI Inheritance (Pewarisan)

Dasar-Dasar OOP di Java

IKG2I4 / Software Project I

PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA

Praktikum 6 Class Design (Encapsulation)

KONSEP OOP: PEWARISAN / INHERITANCE

Modul 4: Lebih Dalam lagi tentang Class, Objek dan Method

Dasar Pemrograman Java

LAB02 : KODING PROGRAM

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

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

Modul Bahasa Pemrograman 1

Percabangan & Perulangan

Tutorial FDM Nurul Huda 2008, bundled by samsonasik. Modul Java 1

Sekarang, kita akan mencoba untuk menganalisa program Java pertama : public class Hello {

MEMBUAT KELAS SENDIRI. Dewi Sartika, M.Kom

PERTEMUAN 5 OOP. Objektif : Praktikan mengetahui konsep OOP. Praktikan dapat membuat program sederhana dengan konsep OOP.

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

PEMROGRAMAN BERORIENTASI OBJEK

Class & Object 2. Imam Fahrur Rozi

MODUL 1 PENGENALAN OOP

Pemrograman Berorientasi. Methods

Ismail Wibi Wicaksono

MODUL 3. Inheritance, Abstract Class, Interface TUJUAN PRAKTIKUM LANDASAN TEORI. A. Inheritance

Bahasa Pemrograman 2.

MODUL 1. CLASS, OBJECT, CONSTRUCTOR DAN METHOD

Pemrograman. Pertemuan-3 Fery Updi,M.Kom

Kita akan membuat class yang mengandung informasi dari Siswa dan operasi operasi yang dibutuhkan pada record siswa.

UML : Class Diagram 23/11/ Area Pokok Class. Kaidah Penulisan Nama Class. Class Diagram (1) Contoh Class. Class Diagram (2) SHINTA P.

MODUL 1 PRAKTIKUM PEMROGRAMAN BERORIENTASI OBYEK(PBO) KELAS DAN OBJEK. TGL PRAKTIKUM : 24 September 2012 :ACHMAD FAJAR NORULLAH NRP :

KONSEP OOP: PEWARISAN / INHERITANCE

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

Bahasa Pemrograman :: Polimorfism and Abstraction

Tabel 1. Instruksi untuk menampilkan teks No. Bahasa Pemrograman Instruksi 1. Pascal WRITE ( Bahasa pemrograman itu mudah );

Dasar-Dasar OOP di Java

Bahasa Pemrograman 2.

Cara Membaca File Text di JAVA

Pemrograman Berorientasi. Abstract & Interface

Konsep Objek Oriented

PEWARISAN. Disusun Oleh: Reza Budiawan. Untuk: Tim Dosen Algoritma & Pemrograman Lanjut

Bahasa Pemrograman :: Java Class Library

Pemrograman Lanjut. Class : Deeper Look 2

Pemrograman Berorientasi Objek

Java Application. Menampilkan Tulisan

KARAKTERISTIK PEMROGRAMAN BERORIENTASI OBJEK (OOP) Pemrograman berorientasi Objek mempunyai karakterisitik sebagai berikut:

- Kelas A dengan kelas B berelasi komposisi, digambarkan sebagai berikut:

I. Tujuan Instruksional Umum Mengenal konsep dasar berorientasi objek Memahami dan dapat mengimplementasikan Kelas dan Objek pada java.

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

Pemrograman Berorientasi Objek Danu Wira Pangestu

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

Bahasa Pemrograman :: Dasar Pemrograman Java

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

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

Bahasa Pemrograman 2.

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

Dengan menggunakan encapsulation kita dapat membatasi akses langsung suatu class atau program kecuali melalui suatu method yang sudah diberikan.

MODUL 3 PEWARISAN TUJUAN DASAR TEORI

PEMAHAMAN DASAR DASAR JAVA

9/27/2011. Tujuan. Membuat Class Sendiri. Mendefinisikan Class. Mendefinisikan Class. Contoh. Petunjuk Penulisan Program

INSTALL JAVA. 2. Kemudian akan muncul tampilan dalam bentuk rar. Klik ganda pada jdk-7u45-windows- i586.exe, seperti gambar berikut :

Kurikulum Qt. { Basic OOP } Chapter 6. Class dan Object

Pemrograman Berorientasi Objek / Object Oriented Programming / (OOP) Nur Hasanah, M.Cs

Transkripsi:

Bahasa Pemrograman 2 Package & Hubungan Antar Kelas anton@ukdw.ac.id

Package Package dalam java berarti melakukan k pengelompokan terhadap class-class yang berelasi ke dalam satu unit. Kita bisa memakai package-package default java ataupun yang kita buat sendiri dengan cara import. Jika kita melakukan import terhadap satu package, maka kita bisa memakai semua class dalam package tersebut.

Package Semua.class yang terletak pada satu direktori i tertentu dengan sendirinya membuat satu package yang tidak bernama Nama paket biasanya ditulis dgn huruf kecil Package java diawali dengan java.* dan javax.* Nama paket biasanya diberi nama sesuai dengan pembuatnya Bersifat terbalik (reverse) id.ac.ukdw.www

Package Setiap package harus unik Setiap class dalam 1 package dapat saling akses Package dapat terdiri i dari: class dan interfaces Bisa digabungkan g dalam 1 file JAR

Package Secara default, Java mengimport package java.lang sehingga kita bisa memakai class- class seperti System, Integer, String walaupun kita belum mengimport package age apapun. Syntax untuk import adalah: Syntax untuk import adalah: import <nama package>;

Package Contoh jika kita ingin memakai class Date dalam package util, maka kita harus menulis: import java.util.date; import java.util.*; Statement pertama mengimport satu class Date secara spesifik sedangkan statement t t kedua mengimport semua class di package util.

Package Cara lain untuk menggunakan class dari package lain adalah menggunakan explicit package referencing. Dilakukan dengan cara memakai nama package untuk mendeklarasikan sebuah objek dari class tersebut. Contoh: java.util.date t tgl;

Package bawaan Java 1.6 16

Package Jika menggunakan statement import, maka harus diletakkan di luar class dan berada di baris-baris awal program java kita. Untuk membuat package kita dapat menuliskan: package <nama package>; di awal file java kita (paling atas/baris pertama)

Package Misalkan kita akan membuat satu package dimana kita akan meletakkan class mahasiswa dengan class-class lain yang berelasi. Yang perlu kita lakukan pertama adalah membuat class-class tersebut kemudian membuat folder bagi class tersebut (misalkan package tersebut bernama universitas)

Package Semua class yang akan kita kelompokkan harus diletakkan dalam satu folder dengan nama sama dengan nama package-nya. Maka dari itu, kita masukkan semua class yang akan kita jadikan package universitas ke dalam folder universitas. Kita juga perlu menambahkan kode berikut ke bagian atas tiap file java (tiap class) package universitas;

Package Untuk mengkompile class-class dalam package, cukup dikompile dari luar folder package tersebut. C:\javac universitas/*.java

Package Package juga dapat dibuat nested (bertumpuk/bersarang) yang berarti satu package di dalam package lain. Hal ini menunjukkan bahwa package bersifat hirarkis. Penulisannya dipisahkan dengan tanda titik (.) Contoh: package id.ac.ukdw.www;

Hirarki Package Java sepertinya menganggap Package seperti hirarki folder, tapi kenyataannya y tidak! import java.awt.*; Kita import semua class dalam dl java.awt.* Tapi kita tidak otomatis mengimpor class pada java.awt.color.* Harus dilakukan manual: import java.awt.color.*;

Static Import public static final double PI 3.141592653589793 public static double cos(double a) Dapat diakses sbb: double r = Math.cos(Math.PI * theta); Atau diimport: import static java.lang.math.pi; atau import static java.lang.math.*;

Package : Contoh Misalkan folder awal kita adalah di D:\Program Kita buat class Dosen dan Mahasiswa Class Dosen: public class Dosen { private String nik; private String nama; } public Dosen(String nik, String nama) { this.nik = nik; this.nama = nama; } public void cetakdosen() { System.out.println(this.nik+" nik+" ("+this.nama+")"); }

Package : Contoh Class Mahasiswa: public class Mahasiswa { private String nim; private String nama; public Mahasiswa(String nim, String nama) { this.nim = nim; this.nama = nama; } public void cetakmhs() { System.out.println(this.nim+ nim+" ("+this +this.nama+ nama+")"); ); } }

Package : Contoh Kemudian kita buat class CobaMhs sebagai class launcher yang isinya demikian: class CobaMhs { } public static void main(string[] args) { } Mahasiswa baru; baru = new Mahasiswa("22002529", Antonius"); as s a( Kemudian kalau sudah berhasil, kita buat folder CivitasAkademika dan masukkan Class Mahasiswa dan Dosen ke dalamnya.

Package : Contoh Lalu kita tambahkan syntax: package CivitasAkademika; ke class Dosen dan Mahasiswa. Dengan begitu class Dosen dan Mahasiswa menjadi satu package, yaitu package CivitasAkademika. Untuk menggunakannya di class CobaMhs lagi, kita harus mengimpor package CivitasAkademika terlebih dahulu.

Penggunaan Import import CivitasAkademika.*; class CobaMhs { public static void main(string[] args) { Mahasiswa baru; baru = new Mahasiswa( 12345678", Anton"); } } Lalu kompile ulang dan jalankan!

Contoh lain

Kegunaan Package Pengelompokan class sejenis dan berelasi Standarisasi penamaan vendor pembuat package tersebut Mempermudah dalam penggunaan kelas kelas karena packagenya sudah teroganisir Menghindariname name confict: Rectangle r1 dan graphics.rectagle r2 Membantu pengembanganjar file Executablenya Java

Class Relationship OOP mengambil realita dari kehidupan seharihari Obyek obyek b kdi sekitar kita memiliki hubungan relasi tertentu Rlti hi K k il i h b t Relationship: Koneksi logis, hubungan antar obyek atau kelas

Class Relationship Multiplicity: karakteristik dari relasi yang terjadi Level class relationship Instance Level: relasi terjadi pada object object yang terbentuk Class Level: relasi yang terjadi pada class class yang dibuat General Level: relasi yang terjadi pada level class maupun object

Multiplicity Menunjukkan jumlah / kardinalitas hubungan antar kelas Menunjukkan apakah khrelasi tersebut bersifat opsional atau mandatory Mandatory = wajib

Multiplicity Relasi 0..1 0 atau 1 1 Tepat1 0..* 0 atau lebih 1..* 1 atau lbh lebih * Tidak tentut jumlahnya

Contoh Multiplicity Antara kelas Buku dan kelas Halaman (Page) Multiplicitynya y : Buku 1 Halaman 1... * Artinya Buku berjumlah min 1 Halamanberjumlah minimal 1 tak terhingga Berarti sifatnya Mandatory

Asosiasi Rl Relasi yang terjadi padaclass class l dimana salah lh satu instance dari class tersebut memanggil/mengaktifkan instance dari class lainnya Relasi struktural, menunjukkan penggunaan suatu class di class lainnya Asosiasi bisa uni directional (satu arah) atau bi Asosiasi bisa uni directional (satu arah) atau bi directional (dua arah)

Asosiasi Bi directional Uni directional

Asosiasi Contoh: public class Mahasiswa { private KHS[] khs; void printkhs() { } } Satu mahasiswa memiliki 1 atau lebih KHS

Asosiasi Mahasiswa 1 1..* KHS

Komposisi Menyusun object object sederhana menjadi jdi suatu object yang lebih kompleks Has a relationship Contoh: roda, gearbox, mesin, jok, kemudi, bagasi membentuk sebuah mobil A car has a gearbox

Komposisi Relasi komposisi ditunjukkan dengan garis penghubung g dengan bentukdiamond berwarna hitam di ujungnya.

Contoh: class Roda { String merk; int ring; } Roda(String m, int r) { this.merk = m; this.ring = r; }

Contoh: class Mobil { Roda rodambl; //Mobil berisi class Roda String warna; } public void setwarna(string warnanya) { this.warna = warnanya; } public void setroda(string m, int r) { rodambl = new Roda(m, r); }

Contoh: public class KendaraanKita { public static void main(string[] args) { Mobil mb = new Mobil(); mb.setwarna("merah"); mb.setroda("bridgestone",15); } } System.out.println("Warna:"+mb.warna); System.out.println("Roda: "+mb.rodambl.merk); System.out.println("Ukuran: "+mb.rodambl.ring);

Agregasi Agregasi mirip ii dengankomposisi i Perbedaan pada kekuatan keterikatan antara object yang terbentuk dengan object object yang menyusunnya Agregasi memiliki relasi yang kurang kuat dibandingkan dengan Komposisi Relasi agregasi ditandai dengan garis penghubung Relasi agregasi ditandai dengan garis penghubung dengan bentuk diamond berwarna putih di ujungnya

Agregasi Contoh: Dosen dosenberkumpul membentuk suatu program studi program studi program studi dikumpulkan menjadi fakultas fakultas fakultas dikumpulkan menjadi universitas

Agregasi

Agregasi Pemain Bola Dengan Klub Bola Jika klub bola tidak ada,, pemain bola tetap ada

Agregasi vs Komposisi Agregasi tidak ada kepemilikan. Bila object yang dibentuk hilang maka object object penyusunnya akan tetap ada Komposisi ada kepemilikan. Bila object yang dibentuk hilang maka objectobject penyusunnya y juga akan hilang

Agregasi vs Komposisi Universitas terdiri dari 1 atau lebih fakultas Fakultas terdiri dari 1 atau lebih Program Studi Program Studi memiliki 1 atau lebih Dosen

Agregasi vs Komposisi Bila Universitas ditutup maka Fakultas dan Program Studi akan hilang tapi Dosen tidak Bila Universitas ditutup maka Fakultas dan Program Studi akan hilang, tapi Dosen tidak. Bila suatu Fakultas ditutup maka program studi program studi di bawahnya juga akan hilang

Contoh Suatu lingkaran memiliki 1 titik pusat Merupakan agregasi atau komposisi?

Contoh public class Titik { private int x; private int y; } public void setkoordinat(int a, int b) { x = a; y = b; } // (bagian selanjutnya dihilangkan)

Contoh public class Lingkaran { private int radius; private Titik titikpusat; //bagian selanjutnya dihilangkan }

Contoh

Contoh Bagaimana dengan kasus berikut: Wajah tersusun dari dua lingkaran dan satu Wajah tersusun dari dua lingkaran dan satu segitiga

Contoh

Asosiasi, Agregasi dan Komposisi

Dependency Relasi yang menggambarkan ketergantungan suatu class pada class lainnya Contoh: class A memiliki dependency pada class B. Bila class B berubah maka class A juga harus diubah Relasi dependency digambarkan dengan garis putus putus

Dependency

Dependency Ada 3 bentuk dependency Penggunaan class B sebagai parameter pada fungsi di class A Penggunaan class B sebagai nilai kembalian (return value) pada fungsi di class A Penggunaan class B sebagai variabel lokalpada Penggunaan class B sebagai variabel lokal pada fungsi di class A

Dependency Penggunaan class B sebagai parameter pada fungsi di class A class KHS { } classmahasiswa { class mahasiswa { float hitungipksemester(khs khs, int sem) { }

Dependency Penggunaan class B sebagai nilai i kembalian pada fungsi di class A class KHS { } class mahasiswa { KHS getkhs(int sem) { } }

Dependency Penggunaan class B sebagai variabel ibllokal lpada fungsi di class A class KRS { } class mahasiswa { void susunkrs { KRS krs = new KRS(5); }

Collections NEXT