THOUSANDS OF FREE BLOGGER TEMPLATES

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 
Kode sumber dari sebuah objek dapat dikelola secara independen dari kode sumber objek yang lain.
  •   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:
/*
Disimpan dalam file andi.java
*/
class andi
{
public static void main(String arg[])
{
manusia andi= new manusia("Andi");
System.out.println("Nama= "+ andi.tampilkanNama());
andi.makan();
}
}


/*
Disimpan dalam file manusia.java
*/
class manusia
{
public String nama;

public manusia(String n)
{
this.nama = n;
}

public String tampilkanNama()
{
return nama;
}
protected void makan()
{
System.out.println("Nyam... nyam... nyam...");
}
public void kerja()
{
System.out.println("Kerja... kerjaaa...");
}
public void bunuhDiri()
{
System.out.println("Dor .. bruk...");
}
}

Hasil Rinning:





Tugas Akhir
Pada tugas akhir kali ini kita mencoba source code dibawah ini: 
class TingkatAkses{
int a;
public int b;
private int c;

public void setc(int ci){
this.c=ci;
}

public int getc(){
return c;
}


}
class Coba{
public static void main (String []args){
TingkatAkses obj=new TingkatAkses();

obj.a=10;
obj.b=20;
// obj.ci=30;
obj.setc(30);

System.out.println("Nilai obj.a:" +obj.a);
System.out.println("Nilai obj.b:" +obj.b);
System.out.println("Nilai obj.c:" +obj.getc());
}
}

Hasil Running

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. 

/*langkah ke-1: Membuat Class Rumah*/
class Rumah
{
private String a = " Rumahmewah ";
public void info()
{
System.out.println (" ");
System.out.println (" Rumah = "+a);
}
}

/*langkah ke-2: Membuat Class rumahindah turunan dari Rumah*/
class rumahindah extends Rumah
{
private String b = " tombol alarm ";
public void info()
{
System.out.println (" ");
super.info();                       //super mewarisi sifat dari parent dan dirinya sendiri
System.out.println (" rumahindah = "+b);
}
}

/*langkah ke-3: Membuat Main Program dengan Nama Class TipeRumah */
public class TipeRumah
{
public static void main ( String[]args )
{
rumahindah C = new rumahindah();
C.info();
}
}

Hasil Running

Tugas Akhir
          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:

/*langkah ke-1: Membuat Class Lingkaranku*/
class Lingkaranku
{
public double r;
public double phi=3.14;
public void panjangr()
{
System.out.println("Panjang jari-jari : "+ r);
}
}

/*langkah ke-2: Membuat Class Keliling turunan dari Lingkaranku*/
class Keliling extends Lingkaranku
{
double kel,r2,P;
public void Hitungkel()
{
P=super.phi;
r2=super.r;
kel=2*r2*P;
System.out.println("Keliling lingkaran : "+ kel);
}
}

/*langkah ke-3: Membuat Class Luas turunan dari Lingkaranku*/
class Luas extends Lingkaranku
{
double l,r2,P;
public void Hitungl()
{
P=super.phi;
r2=super.r;
l=2*P*r2*r2;
System.out.println("Luas lingkaran = "+ l);
}
}

/*langkah ke-4: Membuat Main Program dengan Nama Class lingkaran */
public class lingkaran
{
public static void main (String[] args)
{
Keliling kel1=new Keliling();
Luas l1=new Luas();
kel1.r=6;
l1.r=9;

kel1.Hitungkel();
l1.Hitungl();
}
}

Hasil Running

Tugas Tambahan
  • 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.
Berikut Source codenya:

/*langkah ke-1: Membuat Class Shape*/
class Shape{

String name, size;

public Shape(String name){
this.name = name;
}

public void printShapeInfo(){
System.out.println("Shape name : "+name);
System.out.println("Shape Size : "+size);
}

public void printShapeName(){
System.out.println("Shape name : "+name);
}

public void printShapeSize(){
System.out.println("Shape size : "+size);
}

}

/*langkah ke-2: Membuat Class Square turunan dari Shape*/
class square extends Shape{

String name, size;
int length, width;

public square(String name){
super(name);
}

public void printShapeInfo(){
super.printShapeInfo();
}

public void printShapeName(){
super.printShapeName();
}

public void printShapeSize(){
super.size = String.valueOf(length*width);
super.printShapeSize();
}

public void printWidth(){
System.out.println("Lebar : "+width);
}

public void printLength(){
System.out.println("Panjang : "+length);
}
}

/*langkah ke-3: Membuat Main Program dengan Nama Class Main */
class main{

public static void main (String[] args){


System.out.println("====================================");


square persegi = new square("persegi");

persegi.length = 10;
persegi.width = 8;

persegi.printShapeName();

persegi.printLength();
persegi.printWidth();



persegi.printShapeSize();
System.out.println("\n");
System.out.println("Jadi kesimpulannya..");
persegi.printShapeInfo();
}
}

Hasil Running:

Read More..

Selasa, 31 Mei 2011

Modul 2 Polymorphism

 hohoho,,temen minggu kemarin dmodul 1 qt membahas Class & object ,,nah..ckr qt melanjutkan kemodul 2 yang membahas tentang polymorphism

disini sedikit mengulas tentang apa polymorphism,,,,
              Dimana Polimorfisme berasal dari kata poly morphy (memiliki banyak bentuk), dengan kata lain Polimorfisme adalah kemampuan suatu objek untuk mengungkapkan banyak hal melalui satu cara yang sama tetapi bentuk prosesnya berbeda.
              Polimorfisme mengizinkan kelas utama untuk mendefinisikan secara umum untuk semua kelas turunanya, dan selanjutnya kelas-kelas turunan dapat memperbaharui implementasi dari method tersebut secara lebih spesifik sesuai dengan karakteristiknya masing-masing.
               Sebagai contoh, objeknya adalah kita mempunyai kelas utama adalah kelas kendaraan. Selain membuat kelas utama kita membuat kelas-kelas turunannya yaitu ada kelas kendaraan mobil, kendaraan bus, dan kendaraan truk. Polimorfisme mengijinkan pendefinisian ‘kenadaraan’ ini secara berulang (dengan nama yang sama) asalkan input yang diberikan tipenya berbeda-beda.

itulah sedikit pembahasan dari polymorphism,,,selanjutnya kembali ke tugas pendahuluan modul 2,hahaiiii

Tugas Pendahuluan

keuntungan dari polymorphism:
dalam pemrograman berbasis objeck Polymorphism sangat memberi keuntungan karna terdapat Kemampuan sebuah variabel reference untuk merubah behavior sesuai dengan apa yang dipunyai object. Polymorphism membuat objek-objek yang berasal dari subclass yang berbeda, diperlakukan sebagai objek-objek dari satu superclass. Hal ini terjadi ketika memilih method yang sesuai untuk diimplementasikan ke objek tertentu berdasarkan pada subclass yang memiliki method bersangkutan.

hubungan antar teknik overloading dengan Polymorphism:
Hubungannya yaitu mendefinisikan method yang memiliki nama yang sama,tetapi dengan signature atau tanda yang berbeda dalam definisi kelas yang sama. Overloading berbeda dengan overriding yang mendifinisikan kembali method yang sama,baik nama method maupun signature atau parameter yang diperlukan dalam subkelas.

langsung ja ya,,,,lgi gd kata-kata nech,,,cz kburu pulkam,,hehehe
implementasi

Pada gambar 1 kita membuat tiga object class dengan nama Student, subclass
StudentGrad dan class StudentInfo. Class Student mempunyai method Write yang digunakanuntuk melewatkan argumen untuk kemudian ditampilkan dengan menggunakan method Display.

Berikut Source codenya:
/*Disimpan dengan nama Student.java*/
/*Kode Program untuk kelas Student*/

class student_ayu {
public void Write(int ID, int Grad, String Fname, String Lname) {
m_ID = ID;
m_Graduation = Grad;
m_First = Fname;
m_Last = Lname;
}

public void Display(){
System.out.println( "Student: " + m_ID + " " + m_First + " " + m_Last + " Graduated: " + m_Graduation);
}
private int m_ID, m_Graduation;
private String m_First;
private String m_Last;
}

//Membuat kelas StudentGrad yang merupakan kelas turunan dari kelas Student

/*Disimpan dengan nama StudentGrad.java*/
/*Kode Program untuk kelas StudentGrad*/
class StudentGrad extends student_diah {
public void Write(int ID, int Grad, String Fname, String Lname, int yrGrad, String unSch, String major) {
super.Write(ID, Grad, Fname, Lname);
m_UndergradSchool = unSch;
m_Major = major;
m_Grad = Grad;
YearGraduated = yrGrad;
}

public void Display(){
super.Display();
System.out.println(" Graduated: " + m_Grad + " " + m_UndergradSchool + " " + m_Major + " " + YearGraduated);
}
private Integer YearGraduated,m_Grad;
private String m_UndergradSchool;
private String m_Major;
}

//Membuat kelas StudentInfo yang digunakan untuk memasukan agumen ke kedua metode pada masing-masing class Student dan StudentGrad
/*Disimpan dengan nama StudentInfo.java*/
/*Kode Program untuk kelas StudentInfo*/
class StudentInfo {
public static void main (String args[]) {
StudentGrad myStudent = new StudentGrad();
myStudent.Write(10,1,"Bob","Smith", 2000,"Columbia University","CS");
myStudent.Display();
}
}

Hasil Running:

Tugas akhir

Kucing, Ayam, dan Anjing merupakan makhluk hidup yang masuk kategori hewan,tiap hewan pasti mempunyai identitas baik itu berupa tipe hewan dan suaranya.

Berikut Source codenya:

Sintaks untuk class hewan.
/*Disimpan dalam file hewan.java*/
/*Kode Program untuk kelas hewan*/
class hewan {
private String tipe;       //kelas dimana hanya bisa diakses oleh kelas itu sendiri
public hewan(String tipe){ //kelas hewan dapat diakses oleh kelas luar
this.tipe = tipe;          //pendeklarasian variabel tipe
}

public String toString(){ //pengubahan tipe data dari string ke string lagi
return "Ini adalah "+tipe;//pengulangan kembali nama hewan
}

public void bersuara(){   //method untuk suara hewan
}

}

Sintak Class Polimorfisme
/*Disimpan dalam file polimorfisme.java*/
/*Kode Program untuk kelas polimorfisme*/
//Kelas induk
import java.util.Random;
class polimorfisme{
public static void main(String args[]){
hewan[] hewannya = {
new Anjing("Broni", "Herder"),
new Kucing("Kiti", "Persia"),
new Ayam("Toki", "Buras")
};

hewan pilihHewan;
Random pilih = new Random();
for (int i = 0; i<5 ; i++){
pilihHewan = hewannya[pilih.nextInt(hewannya.length)];
System.out.println("\nPilihan Anda:\n" + pilihHewan);
pilihHewan.bersuara();
}
}
}

Sintaks Class anjing
/*Disimpan dalam file Anjing.java*/
/*Kode Program untuk kelas Anjing*/
class Anjing extends hewan{ //kelas turunan dari kelas hewan
private String nama; //pendeklarasian nama untuk hak akses private
private String jenis; //pendeklarasian jenis untuk hak akses private

public Anjing(String nama, String jenis){ //pendeklarasian kelas anjing dengan hak akses publik
super("Anjing"); //merupakan kunci dari suatu kelas yang diturunkan

//pendeklarasian variabel
this.nama=nama;
this.jenis=jenis;
}

public void bersuara(){ //method suara dari kelas anjing
System.out.println("Guk.. Guk.. Guk.. ");
}

//pengulangan kembali dimana string diubah menjadi string lagi
public String toString(){
return super.toString()+"\nIni adalah "+jenis+" bernama "+nama;
}
}

Sintaks Class ayam
/*Disimpan dalam file Ayam.java*/
/*Kode Program untuk kelas Ayam*/
class Ayam extends hewan{
private String nama;
private String jenis;

public Ayam(String nama, String jenis){
super("Ayam");
this.nama=nama;
this.jenis=jenis;
}

public void bersuara(){
System.out.println("Kukuruyuk.. Petok.. Petok..");
}

public String toString(){
return super.toString()+"\nIni adalah "+jenis+" bernama "+nama;
}
}


Sintaks Class Kucing
/*Disimpan dalam file Kucing.java*/
/*Kode Program untuk kelas Kucing*/
class Kucing extends hewan{
private String nama;
private String jenis;

public Kucing(String nama){
super("Kucing");
this.nama=nama;
}

public Kucing(String nama, String jenis){
super("Kucing");
this.nama=nama;
this.jenis=jenis;
}

public void bersuara(){
System.out.println("Meong.. Meong.. Meong.. ");
}

public String toString(){
return super.toString()+"\nIni adalah "+jenis+" bernama "+nama;
}

}

Hasil Running:

Read More..

Kamis, 26 Mei 2011

Modul 1 Praktikum PBO : Class dan Object

Pemrograman berorientasi objek (Object Oriented Programming) merupakan teknik membuat suatu program berdasarkan objek. untuk lebih memudahkan pemahaman tentang objek, saya beri sebuah contoh: Meja,kursi, jam dinding, dan lainnya merupakan contoh objek.

objek yang disebutkan tadi umumnya berada didalam sebuah ruangan, ruangan apabila kita melihatnya dari sebuah rumah bisa juga dikategorikan sebuah objek dan rumah jika dilihat dari cara pandang yang lebih luas lagi juga merupakan objek. jadi sebuah objek merupakan suatu bentuk atau model yang tergantung dari cara pandang objek dimaksud.
meja, kursi, dan jam dinding ada dalam sebuah ruangan. Ruang A, Ruang B, dan ruang yang lain berada dalam sebuah rumah. Rumah 1, Rumah 2, dan rumah yang lain juga berada di dalam suatu tempat yang lebih luas yaitu Bumi, disitu dan bukan tidak mungkin di dalam objek jam dinding terdapat objek-objek yang lain yang lebih kecil misalnya, baterai, gear, dan lain-lain.
cara pandang kita dari sebua ruangan, rumah atau bumi merupakan class apabila kita melihatnya dalam pemrograman.
Nah..........., berikut ini terdapat soal-soal dan jawaban yang saya ikuti waktu praktikum PBO
Tugas Pendahuluan
Buatlah program menggunakan kelas dan objek dengan nama motor.java, jika program dijalankan hasilnya seperti dibawah ini:
                   Object " motor-1 ":
                   Merk : Yamaha
                   Pemilik : Pak Darmawan
                   Object " motor-2 ":
                   Merk : Honda
                   Pemilik : Pak Nasiruddin
Source codenya pada java sebagai berikut:
public class motor{
public static void main(String[] args){
motor1 ayu = new motor1();                    

//Variabel

ayu.nama="motor-1";
ayu.merk="Yamaha";
ayu.pemilik="Pak Darmawan";
ayu.cetakMotor();
ayu.nama="motor-2";
ayu.merk="Honda";
ayu.pemilik="Pak Nasiruddin";
ayu.cetakMotor();
}
}

//Method

class motor1{
String merk, pemilik, nama;
void cetakMotor(){
System.out.println("Object "+nama+" : ");
System.out.println("Merk : "+merk);
System.out.println("Pemilik : "+pemilik);
System.out.println();
}
}


Hasil Running:



Selanjutnya yaitu Tugas implementasi
Buatlah kelas mahasiswa dengan atribut/variabel=nama dan npm dan mempunyai metodh:tampilkanNama, tampilkanNpm,belajar,olahraga,makan,minum. Buatlah 3 objek untuk menginstansiasi kel;as mahasiswa dengan atribut nama dan npm anda sendiri dan 2 teman Anda dan mengimplementasikan beberapa metodh yang telah Anda definisikan dalam kelas mahasiswa.
Source codenya sebagai berikut:

public class mahasiswa{
public static void main(String[] args){
mhs ayu = new mhs();         //Deklarasi Variabel Baru

//Variabel pertama

ayu.nama="Ayu Noer Aisyah";
ayu.npm="090411100044";
ayu.belajar="Internet";
ayu.olahraga="Bulu Tangkis";
ayu.makan="Bakso";
ayu.minum="Es Degan";
ayu.tampilkanNama();
ayu.tampilkanNPM();
ayu.tampilbelajar();
ayu.tampilolahraga();
ayu.tampilmakan();
ayu.tampilminum();

//Variabel Kedua

mhs eka = new mhs();
eka.nama="Eka Nanda Septiya Hindriyani";
eka.npm="090411100001";
eka.belajar="Matematika";
eka.olahraga="Tennis";
eka.makan="Cap-Cay";
eka.minum="Jus Melon";
eka.tampilkanNama();
eka.tampilkanNPM();
eka.tampilbelajar();
eka.tampilolahraga();
eka.tampilmakan();
eka.tampilminum();

//Variabel Ketiga

mhs mega = new mhs();
mega.nama="Megawati Pratiwi Rifai";
mega.npm="090411100012";
mega.belajar="Java";
mega.olahraga="Lari";
mega.makan="Nasi Pecel";
mega.minum="Jus Alpukat";
mega.tampilkanNama();
mega.tampilkanNPM();
mega.tampilbelajar();
mega.tampilolahraga();
mega.tampilmakan();
mega.tampilminum();
}
}

//Method
class mhs{
String nama, npm, belajar, olahraga, makan, minum;
void tampilkanNama(){
System.out.println("Nama : "+nama);
}
void tampilkanNPM(){
System.out.println("NPM : "+npm);
}
void tampilbelajar(){
System.out.println("Belajar : "+belajar);
}
void tampilolahraga(){
System.out.println("Olahraga : "+olahraga);
}
void tampilmakan(){
System.out.println("Makan : "+makan);
}
void tampilminum(){
System.out.println("Minum : "+minum);
System.out.println();
}
}


Hasil Running:

Setelah itu terdapat Tugas Akhir seperti dibawah ini:
Buat program dengan nama televOOP.java dengan spesifikasi sebagai berikut :
Class : Televisi
Object : Televisiku
Attribute 
-  Merek
-  Tipe
-  Ukuran
-  Tombol volume
-  Tombol Channel
Method
-  Menyalakan TV
-  Memindahkan Channel
-  Membesarkan volume
-  Mematikan Televisi


Hasil : 
  Merek Televisi : Samsung
  Tipe Televisi : LCD TV
  Ukuran Televisi : 52 inchi
  Saat ini televisi sudah on.....
  Channel berpindah
  Volume bertambah besar.
  Press any key to continue .  .   .

Source codenya sebagai berikut:

public class televisi{
public static void main(String[] args){
televisiku ayu = new televisiku(); 

//Variabel

ayu.nama="televisiku";
ayu.merk="Samsung";
ayu.tipe="LCD TV";
ayu.ukuran="52 inchi";
ayu.tombolVolume="tambah besar";
ayu.tombolChannel="berpindah";
ayu.cetakNama();
ayu.menyalakanTelevisi();
ayu.memindahkanChannel();
ayu.membesarkanVolume();
ayu.mematikanTelevisi();
}
}

//Method

class televisiku{
String nama, merk, tipe, ukuran, tombolVolume, tombolChannel;
void cetakNama(){
System.out.println("Objek : "+nama);
System.out.println("Merk : "+merk);
System.out.println("Tipe : "+tipe);
System.out.println("Ukuran : "+ukuran);
}
void menyalakanTelevisi(){
System.out.println("Saat ini televisi sudah on...");
}
void memindahkanChannel(){
System.out.println("Channel "+tombolChannel);
}
void membesarkanVolume(){
System.out.println("Volume "+tombolVolume);
}
void mematikanTelevisi(){
System.out.println("Saat ini televisi sudah off..");
}
}


Hasil Running:


Demikianlah sedikit ulasan materi tentang Class dan Object serta pembahasan soal-soal dan jawaban. Oia temen2 semoga bermanfaat ya.....amin....!!!!!



Read More..