Pages

Jumat, 20 April 2012

Pewarisan ( Inheritance ) & Polimorfisme ( Polymorphisme )

    Pewarisan ( Inheritance )
Pewarisan adalah memberikan atau mewariskan sesuatu kepada keturunan berikutnya. Misalnya, seorang anak pasti akan mewarisi beberapa sifat atau prilaku yang dimiliki oleh ibu atau bapaknya. Dalam konteks ini, suatu kelas dalam program dapat diturunkan menjadi kelas – kelas baru lainnya yang akan mewarisi beberapa sifat atau prilaku dari kelas induknya. Sebagai contoh, apabila anda memiliki kelas A dalam program yang anda buat, maka anda dapat membentuk kelas – kelas turunan dari kelas A tersebut (misalnya kelas B) yang mewarisi sifat- sifat yang terkandung dalam kelas A. Dalam proses pembuatan kelas turunan tersebut, anda dapat menambahkan sifat dan prilaku baru kedalam kelas B, yang sebelumnya tidak dimiliki dalam kelas A. Dalam terminologi Java, kelas induk dinamakan superclass dan kelas turunan disebut dengan Subclass. Untuk membuat kelas anak atau subclass berdasarkan kelas yang telah ada, anda dapat gunakan kata kunci extend dalam mendeklarasikan class. Sebuah kelas hanya dapat meng-extend satu kelas induk. 
 Contoh Program :
import javax.swing.*;
class kelasA{
                int x,y;
                void tampilnilaixy(){
                System.out.println("Nilai X : " + x + "  nilai Y : " + y);
                }
                }
//kelasB adalah Extend(turunan) dari kelasA
class kelasB extends kelasA{
                int z;
                void tampilkanjumlah(){
                System.out.println("\n");
                System.out.println("jumlah x+y+z = "+(x+y+z));
                System.out.println("\n");
                }
}
//class programinheritance berikut adalah extends (turunan) dari kelasB
class programinheritance {
                public static void main (String []args){
                                                kelasA superClass = new kelasA();
                                                kelasB subClass = new kelasB();
System.out.println("\n");
                                                System.out.println("Program Inheritance ");
                                                System.out.println("============================");
                                                System.out.println("\n");
                                                System.out.println("SuperClass adalah Kelas A");
                                                superClass.x=70;
                                                superClass.y=100;
                                                superClass.tampilnilaixy();
                                                System.out.println("\nSubClass adalah Kelas B");
                                                subClass.x=4;
                                                subClass.y=8;
                                                subClass.tampilnilaixy();
// membuat inputan melalui keyboard dengan menggunakan JoptionPane
     // yang di deklarasikan pada import javax.swing.*; pada bagian atas.
                                                String data1 = JOptionPane.showInputDialog("Masukkan Nilai Z : ");
                                                subClass.z=Integer.parseInt(data1);
                                                System.out.println ("Nilai Z yang Dimasukkan : "+subClass.z);
                                                subClass.tampilkanjumlah();
                }
}

Output :











 Polimorfisme ( Polymorphisme )
Polimorfisme adalah suatu kejadian ketika objek dapat mengungkap banyak hal melalui suatu cara yang sama. Secara harfiah, poli berarti “banyak” dan morph berarti “bentuk”. Jadi, polimorphisme berarti “mempunyai banyak bentuk”. Sebagai contoh, ada kelas A yang diturunkan menjadi kelas B,C, dan D. Dengan konsep Polimorfisme, anda dapat menjalankan method – method yang terdapat pada kelas B,C, dan D hanya dari objek yang diinstansiasi dengan kelas A. Polimorfisme memungkinkan anda mengenali kesamaam diantara kelas yang berbeda. Polimorfisme sering dinamakan dengan Dynamic binding, late binding, atau runtime binding.
Contoh Program :

import java.*;
import java.io.*;
// membuat kelas untuk di jadikan bentuk objek dan sebagai superclass
class menu{
                public String respons(){
                                return("Pilih Menu :\n");
                }
}
// membuat kelas untuk di jadikan bentuk objek dan sebagai subclass dari kelas bentukwajah
class sub1 extends menu{
                public String respons(){
                                return (" Gado-Gado\n");
                }
}
class sub2 extends menu{
                public String respons(){
                                return (" Ketoprak\n");
                }}

// Program utama
class MenuUtama{
                // method main
                public static void main (String []args){
                                System.out.println("\nMenu Betawi");
                                System.out.println("----------------------------------------\n");
                                // membuat objek – objek raut (ekspresi) dari wajah
                                menu objmenu1 = new menu();
                                sub1 objsub1 = new sub1();
                                sub2 objsub2 = new sub2();
                                // polimorpis dari bentuk wajah ada lima dimulai dari 0-4
                                menu [] bentuk=new menu[5];
                                bentuk[0]= objmenu1;
                                bentuk[1]= objsub1;
                                bentuk[2]= objsub2;
                                System.out.println(bentuk[0].respons());
                                System.out.println("Menu 1 :"+bentuk[1].respons());
                                System.out.println("Menu 2 :"+bentuk[2].respons());
                }}

Output :








Nama : Muhammad Fahri
NPM  : 54410679
Kelas  : 2IA14

Partner
Nama : Faisal Muslim
NPM  : 59410127
Kelas  : 2IA14
Blog   : icalable.blogspot.com

Tanggal : 20-04-2012

Jumat, 13 April 2012

Enkapsulasi

Enkapsulasi adalah suatu cara untuk menyembunyikan informa
si detail dari suatu class. 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.
Enkapsulasi menunjuk pada prinsip dari menyembunyikan des
ain atau mengimplementasikan informasi yang tidak sesuai pada object yang ada. Menyembunyikan elemen dari penggunaan sebuah class dapat dilakukan dengan pembuatan anggota yang ingin Anda sembunyikan secara private.


PROGRAM















OUTPUT










NAMA        : Muhammad Fahri
NPM           : 54410679
KELAS       : 2IA14


TEMAN KELOMPOK
NAMA       : Faisal Muslim
NPM          : 59410127
KELAS      : 2IA14

TANGGAL POSTING : 13-04-2012

Jumat, 06 April 2012

TUGAS PBO 2 : Perbedaan Pemrograman Terstruktur Dan Berbasis Objek

Perbedaan Pemrograman Terstruktur Dan Berbasis Objek.


Pengertian Pemrograman Terstruktur
Pemrograman Terstruktur adalah suatu proses untuk mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dalam bentuk program.

Selain pengertian diatas Pemrograman Terstruktur adalah suatu aktifitas pemrograman dengan memperhatikan urutan langkah-langkah perintah secara sistematis, logis , dan tersusun berdasarkan algoritma yang sederhana dan mudah dipahami.

Prinsip dari pemrograman terstruktur adalah Jika suatu proses telah sampai pada suatu titik / langkah tertentu , maka proses selanjutnya tidak boleh mengeksekusi langkah sebelumnya / kembali lagi ke baris sebelumnya, kecuali pada langkah – langkah untuk proses berulang (Loop).
Bahasa pemrograman yang mendukung pemrograman terstruktur:
  1. C
  2. Cobol Turbo Prolog
  3. Pascal
  4. Delphi dan masih banyak lagi
Pemrograman terstruktur memilki beberapa sifat – sifat seperti :
a. Memuat teknik pemecahan masalah yang logis dan sistematis

b. Memuat algoritma yang efisien, efektif dan sederhana

c. Program disusun dengan logika yang mudah dipahami

d. Tidak menggunakan perintah GOTO

e. Biaya pengujian program relatif rendah

f. Memiliki dokumentasi yang baik
g. Biaya perawatan dan dokumentasi yang dibutuhkan relatif rendah

Berdasarkan penjelasan diatas, sangat jelas sekali bahwa pemrograman tersktruktur unggul dalam melakukan pemrograman sederhana karena lebih efisien dan lebih murah dalam hal perawatannya tetapi permodelan ini lebih susah untuk dipahami oleh orang – orang selain pembuat program itu sendiri (contohnya ketika dlakukan tracing program ).
Beberapa keuntungan OOP :

1.  Pengubahan program (berupa penambahan atau penghapusan fitur tertentu); perubahan yang dilakukan antara lain menyangkut penambahan dan penghapusan dalam suatu database program misalnya.

2. Maintenance program lebih mudah dibaca dan dipahami, dan pemrograman berorientasi obyek mengontrol kerumitan program hanya dengan mengijinkan rincian yang dibutuhkan untuk programmer.
3. Dapat digunakannya obyek-obyek sesering yang diinginkan, kita dapat menyimpan obyek-obyek yang yang dirancang dengan baik ke dalam sebuah tolkit rutin yang bermanfaat yang dapat disisipkan kedalam kode yang baru dengan sedikit perubahan atau tanpa perubahan pada kode tersebut.
Jadi, sangat jelas sekal bahwa pemrograman berorientasi objek sangat cocok sekali digunakan dalam kasus pembuatan software yang rumit dan kompleks karena memberikan berbagai kemudahan kepada pemrogram seperti yang telah disebutkan diatas.
Pengertian Pemrograman Berorientasi Objek
Pemrograman berorientasi objek (Inggris: 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.
Bahasa pemrograman yang mendukung OOP antara lain:
  1. Java
  2. C++
  3. Pascal (bahasa pemrograman)
  4. SIMULA
  5. Smalltalk
  6. Ruby
  7. Python
  8. Visual Foxpro
  9. PHP
  10. C#
  11. Delphi
  12. Eiffel
  13. Adobe Flash AS 3.0
  14. Perl
  15. Visual Basic.NET
Perbedaan mendasar antara OOP dan pemrograman terstruktur adalah:
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. Sedangkan untuk pemrograman terstruktur,  menggunakan prosedur/tata cara yang teratur untuk mengoperasikan data struktur
Untuk tata nama, keduanya pun memiliki tatanan yang sama walaupun memiliki pengertian tersendiri:
object oriented menggunakan “method” sedangkan terstruktur menggunakan “function”. Bila di OOP sering didengar mengenai “objects” maka di terstruktur kita mengenalnya dengan ” modules”. Begitu pula  halnya dengan “message” pada OOP dan “argument” pada terstruktur. “attribute” pada OOP juga memiliki tatanan nama yang sepadan dengan “variabel” pada pemrograman terstruktur.

Nama : Muhammad Fahri
NPM   : 54410679
Kelas  : 2IA14

Partner.
Nama : Faisal Muslim
NPM  : 59410127
Kelas : 2IA14
Link   : icalable.blogspot.com

Tanggal : 6-April-2012