Professional Documents
Culture Documents
Last Week
Dasar-dasar java Control statement Pengenalan class diagram
Minggu ini
Atribut, properti, dan static variabel Pembuatan objek dan inisialisasi Constructor Keyword this
pbo.prasyarat[0] = pemrograman; pbo.prasyarat[1] = new Kuliah(); pbo.prasyarat[1].nama = Struktur Data dan Algoritma; pbo.prasyarat[1].kode = IK210; pbo.prasyarat[1].prasyarat = null;
maka hasilnya adalah sebagai berikut, Prasyarat kuliah pbo yang diambil joko adalah Dasar-dasar Pemrograman dan Struktur Data dan Algoritma
8
10
11
12
Exercise
Pada kasus program elevator, tambahkan properti get-set di masing-masing kelasnya
13
Static variable
Static variabel adalah variabel dalam suatu kelas yang nilainya sama untuk semua objeknya Mirip dengan bangsa borg dalam serial film startrek Begitu seseorang dari bangsa tersebut mendapatkan knowledge, maka secara otomatis semua orang dalam bangsa tersebut bertambah knowledgenya
14
Static variable
Bisa disebut global variabel Cara-cara untuk mengakali OOP. Tapi jika tahu fungsinya maka Anda akan mengerti bahwa static variabel sangat berguna Class Mobil { String nama; String bahanbakar; static int jumlahRoda; }
15
Static variable
Mobil marcedes = new Mobil(); marcedes.nama=Marcedes; System.out.println(marcedes.nama); Mobil suzuki = new Mobil(); suzuki.nama=Suzuki; System.out.println(suzuki.nama);
16
Static variable
marcedes.jumlahRoda=4; System.out.println(marcedes.jumlahRoda); suzuki.jumlahRoda=5; System.out.println(suzuki. jumlahRoda); System.out.println(marcedes. jumlahRoda);
17
Static variable
Static variabel bisa diubah melalui kelasnya, bukan atributnya Mobil.jumlahRoda=10; System.out.println(marcedes.jumlahRoda); System.out.println(suzuki. jumlahRoda); System.out.println(Mobil. jumlahRoda);
18
Pembuatan Objek
2 hal yang perlu diperhatikan : inisialisasi dan clean Kadang programmer lupa untuk inisialisasi variabel error Untuk bahasa C/C++ programmer juga lupa untuk membersihkan variabel memory leaks & zombie. Resource terutama memory cepat habis
19
Pembuatan Objek
class Mobil { public void berjalan() {} } Mobil bmw; bmw.berjalan();
20
Pembuatan Objek
Jika konstruktor tidak didefinisikan (seperti program sebelumnya) maka sistem akan membuat konstruktor default Kita bisa membuat konstruktor sendiri sehingga inisialisasi awal bisa dilakukan
class Mobil { private int type; public Mobil(int type) { this.type=type; } public void berjalan() {} }
21
Pembuatan Objek
Dalam 1 kelas bisa terdapat lebih dari 1 konstruktor dengan jumlah parameter yang berbeda. Kemampuan ini disebut overloading. Berlaku juga untuk method.
22
Pembuatan Objek
class Mobil { private int type; private int size; public Mobil(int type) { this.type=type; } public Mobil(int type,int size) { this.type=type; this.size=size; } }
23
Pembuatan Objek
Sebuah konstruktor bisa memanggil konstruktor lain dalam kelas yang sama Konstruktor lain hanya bisa dipanggil pada awal perintah dalam konstruktor pemanggil. Implikasinya adalah konstruktor lain hanya bisa dipanggil sekali dalam konstruktor pemanggil.
24
Pembuatan Objek
class Mobil { private int type; private int size; public Mobil(int type) { this.type=type; } public Mobil(int type,int size) { this(type); this.size=size; } }
25
Exercise
Buatlah class Manusia dengan atribut nama bertipe String dan umur bertipe int Buatlah properti untuk class Manusia tersebut Buatlah constructor tanpa argumen / parameter yang mencetak pesan
objek manusia berhasil terbentuk
Buatlah constructor baru, dengan argumen nama dan umur manusia. Nama dan umur manusia diberi nilai sesuai argumen ini Panggil constructor yang sudah ada melalui constructor yang baru ini Cetak lah nama dan umurdalam constructor baru. Hasil cetaknya adalah
<nama manusia> berumur <umur>
26
27
Inisialisasi array
Array adalah rangkaian primitif yang sama dikemas dalam sebuah identifier Biasa ditulis
int[] a; int a[];
28
Keyword this
Keyword this digunakan untuk memanggil method / variabel dalam objek itu sendiri
public class Leaf { int i=0; Leaf increment() { i++; return this; } void print() {System.out.println(i=+i);} public static void main(String args[]) { Leaf l=new Leaf(); l.increment().increment().print(); } }
29
Keyword this
public class Leaf { How do compiler knows int i=0; which i is being used? void increment(int i) { this.i=this.i+i; } void print() {System.out.println(i=+i);} public static void main(String args[]) { Leaf l=new Leaf(); l.increment(5); l.increment(8); l.print(); } }
30
Exercise
Ingat-ingatlah exercise mengenai elevator Tambahkan method naik tanpa argumen Dalam method tersebut, nilai lantai ditambah 1 (diincrement), dan mengembalikan nilai objek itu sendiri Tambahkan method turun tanpa argumen Dalam method tersebut, nilai lantai dikurang 1 (didecrement), dan mengembalikan nilai objek itu sendiri Buat method print yang mencetak posisi elevator saat itu Buatlah code di main method, insialisasi elevator, elevator terletak di lantai 5, kemudian naikkan elevator sebanyak 3 dan cetak hasilnya. Turunkan elevator sebanyak 1 dan cetak hasilnya. Kerjakan tugas ini di kertas. Implementasikan dalam program komputer, pertemuan depan 31 dikumpulkan
32
33
Tugas
Tulis method static yang membuat, inisialisasi dan mengembalikan array tipe double. Array tersebut memiliki 3 argumen : ukuran array, nilai awal, nilai akhir. nilai-nilai dalam array adalah range dari nilai awal hingga nilai akhir Tulis method yang menerima argumen array double[] dan mencetaknya Jalankan code tersebut Contoh : Masukkan 3 angka dipisah spasi : 3 1 2 Output : 1.0 1.5 2.0
34
Tugas
Modifikasi exercise sebelumnya, buat kelas baru yang memproses pembuatan array double[] Method pembuatan array double dalam kelas baru, adalah method non static Jalankan program dengan cara yang sama seperti sebelumnya, dan hasilnya pun sama dengan sebelumnya
35