Package adalah sarana/cara pengelompokkan dan pengorganisasian kelas-kelas dan interface yang sekelompok menjadi suatu unit tunggal dalam library. Package juga mempengaruhi mekanisme hak akses ke kelas-kelas di dalamnya.
Pada suatu package, class dapat digunakan Gunakan hak akses public, karena dengan menggunakan keyword Public dapat diakses didalam class itu sendiri, dapat diakses dengan menggunakan metode extend dan instan pada paket yang sama, serta dapat diakses dengan metode extend maupun instan dalam paket yang berbeda. Artinya hak akses public dapat diakses oleh sembarang object manapun dan dimanapun posisinya serta dengan apapun caranyanamun, ketika file program tidak berada di dalam satu direktori/ berada dalam package yang berbeda maka diharuskan untuk melakukan kompilasi menggunakan option-class path
Pada package, kata kunci yang harus ditulis terlebih dahulu sebelum import adalah Deklarasi package harus diletakkan pada bagian paling awal (sebelum deklarasi import) dari source code setiap kelas yang dibungkus package tersebut.
>
pada package juga untuh mmbedakan package dengan class, maka pada penulisan package harus memiliki syaratt
Class MtkDasar.java
Read More..
pada package juga untuh mmbedakan package dengan class, maka pada penulisan package harus memiliki syaratt
Diawali huruf kecil , Menggambarkan kelas-kelas yang dibungkusnya, Harus unik (bertbeda dengan namapackage standard) , Merepresentasikan path dari package tersebut. , Harus sama dengan nama direktorinya.
Implementasi dan Tugas Akhir
Pada implementasi kali ini tidak jauh beda dengan tugas akhir yang diberikan, pada tugas akhir menambahkan soal sebagai berikut:
membuat class yang dikelompokkan dalam package kemudian menggunakan package ini dari class lain. Modifikasilah kode program interface MtkDasar.java, dan Pecahan.java agar dapat menghasilkan return value berupa Object. Lengkapi interface MtkDasar dengan kemampuan matematika dasar yang lain yaitu kali (untuk mengerjakan operasi perkalian), dan bagi (untuk mengerjakan operasi pembagian). Sesuaikan kedua class lain, Pecahan dan CobaPecahan.
Source codenya sebagai berikut:
Class MtkDasar.java
Modul 5 Interface
Interface adalah jenis khusus dari blok yang hanya berisi method signature(atau constant). Interface mendefinisikan sebuah(signature) dari sebuah kumpulan method tanpa tubuh..Interface mendefinisikan sebuah cara standar dan umum dalam menetapkan sifat-sifat dari class-class.
Mereka menyediakan class-class, tanpa memperhatikan lokasinya dalam hirarki class, untuk mengimplementasikan sifat-sifat yang umum. Dengan catatan bahwa interface-interface juga menunjukkan polimorfisme, dikarenakan program dapat memanggil method interface dan versi yang tepat dari method yang akan dieksekusi tergantung dari tipe object yang melewati pemanggil method interface.
Mereka menyediakan class-class, tanpa memperhatikan lokasinya dalam hirarki class, untuk mengimplementasikan sifat-sifat yang umum. Dengan catatan bahwa interface-interface juga menunjukkan polimorfisme, dikarenakan program dapat memanggil method interface dan versi yang tepat dari method yang akan dieksekusi tergantung dari tipe object yang melewati pemanggil method interface.
Abstract method-method
Di dalam class abstract dapat didefinisikan atribut-atribut dan method-method. Atribut dan method yang didefinisikan dalam klass abstract dimaksudkan merupakan sesuatu yang umum dan terdapat pada sub-kelas sub-kelas turunannya. Suatu abstract method didefinisikan dengan cukup mendeklarasikan namanya pada class abstract dan meng-override pada masing-masing kelas turunannya dengan menyesuaikan dengan kebutuhan kelas turunannya tersebut. Suatu class harus didefinisikan sebagai class abstract apabila minimal ada satu method yang didefinisikan sebagai abstract method.
Overriding
Jika dalam suatu subclass kita mendefinisikan sebuah method yang sama dengan yang dimiliki superclass, maka method yang kita buat dalam subclass dikatakan meng-override superclass-nya. Sehingga jika kita mencoba memanggil method tersebut dari instance subclass yang kita buat, maka method milik subclasslah yang aka dipanggil, bukan lagi method milik superclass.
Overriding mempunyai ciri-ciri sebagai berikut :
Di dalam class abstract dapat didefinisikan atribut-atribut dan method-method. Atribut dan method yang didefinisikan dalam klass abstract dimaksudkan merupakan sesuatu yang umum dan terdapat pada sub-kelas sub-kelas turunannya. Suatu abstract method didefinisikan dengan cukup mendeklarasikan namanya pada class abstract dan meng-override pada masing-masing kelas turunannya dengan menyesuaikan dengan kebutuhan kelas turunannya tersebut. Suatu class harus didefinisikan sebagai class abstract apabila minimal ada satu method yang didefinisikan sebagai abstract method.
Overriding
Jika dalam suatu subclass kita mendefinisikan sebuah method yang sama dengan yang dimiliki superclass, maka method yang kita buat dalam subclass dikatakan meng-override superclass-nya. Sehingga jika kita mencoba memanggil method tersebut dari instance subclass yang kita buat, maka method milik subclasslah yang aka dipanggil, bukan lagi method milik superclass.
Overriding mempunyai ciri-ciri sebagai berikut :
1. Nama method harus sama
2. Daftar parameter harus sama
3. Return type harus sama
Beberapa aturan yang perlu diperhatikan :
• Mode akses overriding method harus sama atau lebih luas daripada overriden method.
• Subclass hanya boleh meng-override method super class satu kali saja, tidak boleh ada lebih dari satu method pada kelas yang sama yang sama persis.
instansiasi
Objek adalah instansiasi atau perwujudan dari Class.Kita membuat objek dari kelas dengan cara instansiasi. Objek yang akan diciptakan nantilah yang akan menjadi acuan utama dalam pemrograman berorientasi objek (OOP)
Bentuk umum instansiasi:
<nama_kelas> <objek> = new <konstruktor>();
Contoh:
Tabung drum = new Tabung();
2. Daftar parameter harus sama
3. Return type harus sama
Beberapa aturan yang perlu diperhatikan :
• Mode akses overriding method harus sama atau lebih luas daripada overriden method.
• Subclass hanya boleh meng-override method super class satu kali saja, tidak boleh ada lebih dari satu method pada kelas yang sama yang sama persis.
instansiasi
Objek adalah instansiasi atau perwujudan dari Class.Kita membuat objek dari kelas dengan cara instansiasi. Objek yang akan diciptakan nantilah yang akan menjadi acuan utama dalam pemrograman berorientasi objek (OOP)
Bentuk umum instansiasi:
<nama_kelas> <objek> = new <konstruktor>();
Contoh:
Tabung drum = new Tabung();
Implementasi
Pada bagian kegiatan praktikum ini, kita akan belajar membuat interface dan mengimplementasikannya dalam sebuah class.Source codenya sebagai berikut:
Hasil Running:
Tugas Akhir
Segitiga, Lingkaran dan Segiempat adalah bentuk geometri yang dapat dihitung luasnya. Gambarkan diagram hirarki class untuk kasus ini. Kemudian tulis kode program untuk class dan buat program sederhana untuk keperluan pengujian: atur array dengan elemen berisi referensi ke setiap bentuk geometri di atas, masukkan data ke dalamnya dan gunakan untuk memanggil method guna menghitung luas dari setiap bentuk geometri tersebut. Source codenya sebagai berikut:
Hasil Running:
Read More..
Kamis, 16 Juni 2011
Modul 4 Encapsulation / Pengkapsulan
Pengkapsulan merupakan bungkusan pelindung program dan data yang sedang diolah. Jadi, menyembunyikan cara kerja dan sistem.Pembungkus ini mendefinisikan perilaku dan melindungi program dan data yang sedang diolah agar tidak diakses sembarangan oleh program lain.
Contoh: jam tangan. Penting sekali untuk mengetahui waktu, cara jam mencatat waktu dengan baik antara jam bertenaga baterai atau bertenaga gerak tidaklah penting kita ketahui.
Dengan enkapsulasi dapat memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi ijin untuk mengakses keadaannya.Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.
Manfaat dari proses enkapsulasi adalah :
- Modularitas
- Information Hiding
Karena kita dapat menentukan hak akses sebuah variabel/method dari objek, dengan demikian kita bisa menyembunyikan informasi yang tidak perlu diketahui objek lain.
Interface to Access adalah kondisi dimana jika Jika kita telah melakukan information hiding terhadap suatu attribut pada suatu class, lalu kita melakukan perubahan terhadap attribut yang kita sembunyikan tersebut, caranya adalah dengan membuat suatu interface berupa method untuk menginisialisasi atau merubah nilai dari suatu attribut tersebut.
Access modifier berlaku untuk class method dan variabel, meliputi modifier public, protected, private, dan default (tak ada modifier).
public menyatakan jika method dan variabel Diwarisi oleh semua subclassnya.Dapat diakses dimanapun.
protected menyatakan jika method dan variabel Diwarisi oleh semua subclassnya.Dapat diakses oleh method-method di class-class yang sepaket.
Private menyatakan jika method dan variabel Tidak diwarisi oleh subclassnya Tidak dapat diakses oleh class lain.
Implementasi
Pada Implementasi kali ini kita disuruh mencoba source code dibawah ini:
Hasil Rinning:
Read More..
Kamis, 09 Juni 2011
Modul 3 Inheritance/Pewarisan
Minggu kemarin Qt sudah membahas tentang Polymorfisme,nah sekarang Qt melanjutkan ke pembahasan selanjutnya yaitu materi Inheritance,dimana materi ini perbedaannya sangat tipis.
Inheritance merupakan salah satu dari 3 konsep dasar OOP.dimana Konsep inheritance ini mengadopsi dunia riil dimana suatu entitas/obyek dapat mempunyai entitas/obyek turunan. Dengan konsep inheritance, sebuah class dapat mempunyai class turunan.
Pewarisan merupakan peristiwa di suatu kelas mewarisi data dan fungsi anggota dari kelas yang lain. Kelas yang mewarisi, diistilahkan dengan kelas anak atau kelas turunan, sedangkan kelas yang mewariskan, diistilahkan dengan induk. Pewarisan memungkinkan seorang programmer berorientasi obyek menghindari penulisan ulang fungsi dan data anggota berulang kali.
Suatu kelas dapat diciptakan berdasarkan kelas lain. Kelas baru ini mempunyai sifat-sifat yang sama dengan kelas pembentuknya, ditambah sifat-sifat khusus lainnya. Dengan pewarisan kita dapat menciptakan kelas baru yang mempunyai sifat sama dengan kelas lain tanpa harus menulis ulang bagian-bagian yang sama. Pewarisan merupakan unsur penting dalam pemrograman berorientasi objek dan merupakan blok bangunan dasar pertama penggunaan kode ulang (code reuse).
Sifat pewarisan ini menyebabkan kelas-kelas dalam pemrograman berorientasi objek membentuk hirarki kelas mulai dari kelas dasar, kelas turunan pertama, kelas turunan kedua dan seterusnya.
Implementasi
Pada bagian kegiatan praktikum ini, kita akan belajar membuat class yang dikelompokkan dalam package kemudian menggunakan package ini dari class lain.
Buatlah program java untuk menurunkan 2 buah kelas turunan dari kelas induk yang berupa lingkaran dimana program ini dapat menghitung luas dan keliling lingkaran !
Berikut Source codenya:
- Buatlah class Shape. class memiliki dua field String: name dan size. class mempunyai method printShapeInfo, dimana hanya mengeluarkan nilai name dan field size dari object Shape. Juga memiliki method printShapeName dan printShapeSize, dimana mencetak nama dan size dariobject, berturut-turut.
- Menggunakan pewarisan, buat class Square dengan field yang sama dan method seperti itu dari class Shape. Class ini mempunyai dua tambahan field integer: length dan width. Method printShapeLength dan printShapeWidth yang mencetak panjang dan lebar object yang juga termasuk dalam class ini.
Hasil Running:
Read More..