Arsip untuk April, 2012


Salah satu konsep dasar dari pemrograman berbasis objek pada java adalah Inheritance, berikut ini saya akan memberikan sedikit gambaran tentang inheritance.
Pada dasarnya, kita melakukan inheritance(pewarisan) untuk membuat suatu class baru(class turunan/subclass) yang masih memiliki sifat atau spesifikasi dari superclass.
Di dalam Java untuk mendeklarasikan suatu class sebagai subclass dilakukan dengan cara menambahkan kata kunci extends setelah deklarasi nama class, kemudian diikuti dengan nama parent class-nya.

Koding Program

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Output Program

 

 

 

 

 

 

 

 

 

Polymorphism

Polymorphism dapat disamakan dengan Method Overloading, dimana di dalam sebuah class terdapat beberapa method dengan nama sama. Sebuah Method bernama CetakData() yang misalnya berfungsi menampilkan data String, tentu tidak bisa menangani masukan berupa data numerik, boolean, ataupun karakter, demikian juga sebaliknya. Solusi yang bisa dilakukan adalah dengan menyediakan beberapa Method CetakData() yang akan menangani setiap tipe data, sehingga data apapun yang diberikan sebagai parameter tetap bisa diproses.
Berikut adalah contoh program Polymorphism pada Java:

1. Pakailah editor untuk menuliskan Source Code Java, seperti Notpad, JCreator, atau
Netbeans, Dan kitekkan Source Code Dibawah ini :

class CetakDataTipe {

// membuat method dengan nama sama tapi berbeda tipe data
public void CetakData(String Cetak) {
System.out.println(Cetak);
}
public void CetakData(int Cetak) {
System.out.println(Cetak);
}
public void CetakData(double Cetak) {
System.out.println(Cetak);
}
public void CetakData(char Cetak) {
System.out.println(Cetak);
}
}
public class Polymorphism {

public static void main(String[] args) {
CetakDataTipe data = new CetakDataTipe();

System.out.print(“Cetak Data Tipe String : “);
data.CetakData(“Sumatra”);

System.out.print(“Cetak Data Tipe Integer : “);
data.CetakData(1989);

System.out.print(“Cetak Data Tipe Double : “);
data.CetakData(16.5 / 2);

System.out.print(“Cetak Data Tipe Char : “);
data.CetakData(‘N’);
}
}

2. Lalu Jalankan Program dan Akan mendapatkan Output seperti dibawah ini :

Program enkapsulasi

Posted: April 12, 2012 in tugas

Definisi Enkapsulasi : Pembungkusan variabel dan method dalam sebuah Objek yang terlindungi serta menyediakan Interface untuk mengakses variabel tersebut.

Dua hal yang mendasar dalam enkapsulasi yakni :
• Information hiding.
• Interface to access data.

Information hiding
Sebelumnya kita dapat mengakses anggota class baik berupa atribut maupun method secara langsung dengan menggunakan objek yang telah kita buat. Hal ini dikarenakan akses kontrol yang diberikan kepada atribut maupun method yang ada di dalam class tersebut adalah ‘public’. Kita dapat menyembunyikan informasi dari suatu class sehingga anggota class tersebut tidak dapat diakses dari luar, caranya adalah hanya dengan memberikan akses kontrol ‘private’ ketika mendeklarasikan atribut atau method. Proses ini disebut dengan information hiding.

Interface to access data
Jika kita telah melakukan information hiding terhadap suatu atribut pada suatu class, lalu bagaimana cara melakukan perubahan terhadap atribut yang kita sembunyikan tersebut, caranya adalah dengan membuat suatu interface berupa method untuk menginisialisasi atau merubah nilai dari suatu atribut tersebut.

Dan berikut adalah contoh simple program enkapsulasi.

import java.io.*;

Perintah diatas berfungsi sebagai file pustaka untuk penginputan. Dimana segala macam command untuk penginputan dimasukkan kedalam file pustaka tersebut.

public class lingkaran{

Ini adalah method untuk class lingkaran.

private double radius;

Sebenarnya ini adalah method juga, hanya saja karena memakai fungsi private maka method ini tidak dapat dipanggil.

public lingkaran(double radius){

this.radius=radius;

}

Ini adalah method lingkaran, dimana dalam method ini nilai dari variabel radius dibaca sebagai tipe data double.

public void Luas(){

double luas= 3.14*radius*radius;

System.out.println(“Luas lingkaran: “+luas);

}

Ini adalah method untuk menghitung luas lingkaran. Dimana dalam method ini terdapat operasi luas=3.14*radius*radius. Dan hasil operasi tersebut dibaca sebagai tipe data double. Lalu hasil operasi dicetak dengan command System.out.println.

public void Keliling(){

double keliling= 2.0*3.14*radius;

System.out.println(“Keliling Lingkaran: “+keliling);

}

Ini adalah method untuk menghitung keliling dari suatu lingkaran. Operasi dari perhitungan ini adalah 2.0*3.14*radius. Lalu hasilnya disimpan dalam tipe data double dan dicetak dengan command System.out.prinln.

public static void main(String[]args)throws Exception{

DataInputStream dis= new DataInputStream(System.in);

System.out.print(“input radius: “);

String input= dis.readLine();

double i= Double.parseDouble(input);

lingkaran A= new lingkaran(i);

A.Luas();

A.Keliling();

}

}

Ini adalah method utama dari listing program ini. Method ini digunakan untuk melakukan penginputan nilai dari radius (jari-jari). Nilai dari radius dimasukkan kedalam variabel input yang bertipe data string. Lalu nilai radius dikonversi menjadi bertipe data double dan dimasukkan ke dalam variabel I. Selanjutnya program akan membuat sebuat method baru yaitu A, dimana method tersebut digunakan untuk menampilkan hasil dari operasi luas dan keliling lingkaran dengan memanggil method Luas dan Keliling dengan command A.Luas(); dan A.Kelilin();


Nama : Aby Habiby Hadiwijaya

Kelas : 2IA08

NPM : 50410058

Teman Sekelompok : Deka Sasmita Putra

Blog teman saya : http://deqadeqo.blogspot.com/2012/04/perbedaan-antara-pemrograman.html

Pemrograman berorientasi objek (object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya,

Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat.

== Konsep dasar dari Pemrograman Berorientasi Objek Pemrograman orientasi-objek menekankan konsep berikut:

  • Kelas — kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh ‘class of dog’ adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object. Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.
  • Objek – membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer; objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek.
  • Abstraksi – Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari “pelaku” abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.
  • Enkapsulasi – Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi izin 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.
  • Polimorfisme melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim. Contohnya, bila sebuah burung menerima pesan “gerak cepat”, dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.
  • Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misal manager tersebut ingin memperoleh data dari bag administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bag administrasi untuk mengambilnya. Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas adminiistrasi. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri.

Pemrograman Terstuktur, istilah Pemrograman Terstruktur (Structured Programming) mengacu dari suatu
kumpulan tehnik yang dikemukan oleh Edsger Dijkstra. Dengan tehnik ini akan meningkatkan
produktifitas programmer, dengan mengurangi waktu yang dibutuhkan dalam penulisan (write),
pengujian (test), penelusuran kesalahan (debug) dan pemeliharan(maintain) suatu program. Pada
pembahasan berikut ini kita akan melihat bagaimana tehnik ini yang pendekatan yang dilakukan
secara modular, dapat membantu kita dalam membangun suatu program.

Perbedaan antara bahasa Pemrograman Terstruktur dan bahasa Object Oriented Programming adalah: –

Terstruktur Pemrograman Bahasa
1) Ikuti pendekatan top-down untuk desain program.
2) Data dan Fungsi tidak pasang satu sama lain.
3) Program besar dibagi menjadi segmen program yang lebih kecil mandiri yang dikenal sebagai fungsi.
4) Data bergerak secara terbuka di seluruh sistem dari fungsi ke fungsi.
5) Fungsi tergantung usabilitas sehingga tidak mungkin

Obyek Bahasa Pemrograman Berorientasi
1) Ikuti pendekatan bottom-up dalam desain program.
2) Fungsi dan data pasang bersama-sama.
3) Program dibagi menjadi entitas disebut Objek.
4) Data tersembunyi dan tidak dapat diakses oleh dunia luar
5) Fungsi tidak tergantung sehingga usabilitas adalah mungkin

Sumber : http://id.wikipedia.org/wiki/Pemrograman_berorientasi_objek , wsilfi.staff.gunadarma.ac.id/…/Pengantar+Pemrograman+Terstruktur….