Kamis, 19 April 2012

Inheritance Dan Polimorfisme Pada Java

Nama                           : Annisa Anggi Ismandia        (50410908)
Rekan Kerja                 Meida Listyaningrum          (54410319)
Blog Rekan Kerja         :  http://meidamecil.blogspot.com/2012/04/inheritance-dan-polimorfisme-pada-java.html
Kelas                            : 2IA13
 
Inheritance Dan Polimorfisme Pada Java

Inheritance
 
Inheritance adalah konsep pemrograman berorientasi object yang memungkinkan membuat hubungan di mana ada class yang mewarisi semua attribute dan method dari class lain. Class baru yang lebih spesifik disebut subclass atau class turunan, sedangkan class yang diturunkan disebut superclass. 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. Kata kunci extends tersebut memberitahu kompiler Java bahwa kita ingin melakukan perluasan class.
Dibawah ini adalah contoh program Java Inheritance :
 
public class TipeRumah {
   public static void main ( String[]args )  {
      rumahindah C = new rumahindah();
      C.info();
   }
}
class Rumah {
   private String a = " Rumahmewah ";
   public void info() {
      //System.out.println (" Dipanggil pada  =  "+this);
      System.out.println (" ");
      System.out.println (" Rumah           = "+a);
   }
}
class rumahindah extends Rumah {
   private String b    =  " tombol alarm ";
   public void info(){
      System.out.println (" ");
      super.info();
      System.out.println (" rumahindah  = "+b);
   }
}
Simpan dengan nama TipeRumah.java. Dalam program di atas terdapat dua kelas yaitu kelas Rumah dan kelas rumahindah. Kelas rumahindah mewarisi sifat dari kelas Rumah. Dari kelas rumahindah dibuat objek bernama C yang memanggil method info pada kelas rumahindah serta mengoverload method info pada kelas Rumah.
Untuk menjalankannya, buka Terminal. Masuk ke direktori dimana anda menyimpan file TipeRumah.java. ketik “javac TipeRumah.java” dan “java TipeRumah” tanpa tanda kutip. Lalu akan terlihat outputnya sebagai berikut :
OUTPUT
Polomorfisme
Polimorfisme adalah Suatu kemampuan dari sebuah object untuk membolehkan mengambil beberapa bentuk yang berbeda agar tidak terjadi duplikasi object. Polimorfisme mengizinkan kelas induk untuk mendefinisikan sebuah method general (bersifat umum) untuk semua kelas turunanya, dan selanjutnya kelas-kelas turunan dapat memperbaharui implementasi dari method tersebut secara lebih spesifik sesuai dengan karakteristiknya masing-masing. Polimorfisme dimungkinkan karena adanya mekanisme ikatan dinamis (dynamic bindung). Ikatan dinamis adalah ikatan yang terjadi pada saat program dijalankan (run-time). Ikatan yang terjadi pada saat kompile disebut ikatan statis. Ikatan dinamis hanya dapat terjadi antara suatu objek dinamis dengan metode yang dinamis juga, dalam hal ini metode virtual (maya).
            Polimorfisme adalah kemampuan untuk memperoleh bentuk. Dua objek atau lebih dikatakan polimorfis, bila objek-objek itu mempunyai antar muka-antarmuka identik namun mempunyai perilaku-perilaku berbeda. Bentuk ini memungkinkan kita menganggap sekelompok objek dengan tipe-tipe berbeda seperti dimiliki oleh suatu tipe yang sama. Polimorfisme merupakan fitur yang terjadi karena interaksi setiap konsep pewarisan dan dynamic binding. Contohnya pintu dan jendela memiliki perilaku yang sama yaitu dapat dibuka dan ditutup, namun untuk menutup jendela dilakukan misalnya dari atas ke bawah (vetikal), sedangkan pintu dari depan ke belakang (horizontal).
Contoh program java polimorfisme :
public class StudentInfo{
   public static void main(String[] args){
   StudentGrad myStudent = new StudentGrad();
   myStudent.Write(4839838, 1,"Annisa","Listyaningrum", 2014,"Gunadarma Univercity");
   myStudent.Display();
   }
}
class Student {
   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 ID: " + m_ID);
      System.out.println("Student name : "+m_First + " " + m_Last);
      System.out.println("Graduated: " + m_Graduation);
   }
   private int m_ID, m_Graduation;
   private String m_First;
   private String m_Last;
}
class StudentGrad extends Student {
   public void Write(int ID, int Grad, String Fname, String Lname, int yrGrad, String unSch) {
      super.Write(ID, Grad, Fname, Lname);
      m_UndergradSchool = unSch;
      m_Grad = Grad;
      YearGraduated = yrGrad;
   }
   public void Display(){
      super.Display();
      System.out.println("Graduated From: "+ m_UndergradSchool);
      System.out.println("Graduation Year : "+ YearGraduated);
   }
   private Integer YearGraduated,m_Grad;
   private String m_UndergradSchool;
   private String m_Major;
}
OUTPUT

Sumber:

Kamis, 12 April 2012

Enkapsulasi Pada Java


Nama                            :  Annisa Anggi Ismandia       (50410908)
Rekan Kerja                  :  Meida Listyaningrum          (54410319)
Blog Rekan Kerja          :  http://meidamecil.blogspot.com/2012/04/enkapsulasi-pada-java.html
Kelas                             : 2IA13

Enkapsulasi
Enkapsulasi adalah pembungkus, pembungkus disini dimaksudkan untuk menjaga suatu proses program agar tidak dapat diakses secara sembarangan atau di intervensi oleh program lain. Konsep enkapsulasi sangat penting dilakukan untuk menjaga kebutuhan program agar dapat diakses sewaktu-waktu, sekaligus menjaga program tersebut.
Dalam kehidupan sehari hari enkapsulasi dapat dimisalkan sebagai arus listrik pada generator, dan sistem perputaran generator untuk menghasilkan arus listrik. Kerja arus listrik tidak mempengaruhi kerja dari sistem perputaran generator, begitu pula sebaliknya. Karena didalam arus listrik tersebut, kita tidak perlu mengetahui bagaimana kinerja sistem perputaran generator, apakah generator berputar kebelakang atau ke depan atau bahkan serong. Begitu pula dalam sistem perputaran generator, kita tidak perlu tahu bagaimana arus listrik, apakah menyala atau tidak. Begitulah konsep kerja dari enkapsulasi, dia akan melindungi sebuah program dari akses ataupun intervensi dari program lain yang mempengaruhinya. Hal ini sangat menjaga keutuhan program yang telah dibuat dengan konsep dan rencana yang sudah ditentukan dari awal.
Berikut ini keuntungan dari prinsip enkapsulasi :
  • Bersifat independen. Suatu modul yang terenkapsulasi dengan baik akan bersifat independen dari yang lain. Sehingga dapat digunakan pada bagian manapun dari program.
  • Bersifat transparan. Jika Anda melakukan modifikasi pada suatu modul, maka perubahan tersebut akan dirasakan oleh semua bagian yang menggunakan modul tersebut.
  • Menghindari dari efek yang diluar perencanaan. Modul yang terenkapsulasi dengan baik hanya akan berinteraksi dengan bagian program melalui variable input dan output yang telah didefinisikan sebelumnya. Sehingga dapat mengurangi kemungkinan bug.
Contoh Program Enkapsulasi pada Java :
Listing Program

public  class  siswa
{
private int nps=0;
public String nama;
public void isinps(int n) {
if (n>=1 && n<=10)
nps=n;
else
System.out.println("Error....!!!");
}
public static void main(String[]args) {
System.out.println("Saya siswa SMA BUDI UTOMO");
                }
}

Output


Logika Pemrograman

public class siswa
{
Class diatas mendeklarasikan sebuah class dengan nama. Jika diperhatikan keseluruhan deklarasi class ini diawali dengan { dan diakhir dengan }. Hal ini berarti bahwa semu yang berada didalam tanda tersebut merupakan bagain dari class ini.
private int
Dalam implementasi class umumnya data selalu dideklarasikan sebagai private, yaitu hanya dikenal oleh objek dari kelas tersebut. Untuk implementasi method apabila didefinisikan sebagai public berarti dapat diases oleh kelas lain, maka apabila didefinisikan sebagai private berarti method tersebut hanya dapat diases dari dalam kelas tersebut.
public String digunakan untuk mendefinisikan string yang konstant ( tidak bisa berubah ).
public void isinps Baris ini mengartikan suatu metode bernama isinps.
if (n>=1 && n<=10)
nps=n;
baris diatas mengartikan jika kita memasukan angka 1-10 untuk inputan.
System.out.println("Error....!!!"); baris ini digunakan untuk mencetak output.


Sumber : http://mahendra-f.blogspot.com/ http://7seasons.wordpress.com/tag/enkapsulasi-dalam-java/


Selasa, 03 April 2012

PERBEDAAN PEMROGRAMAN TERSTRUKTUR dan BERORIENTASI OBJEK

Tugas PBO tentang perbedaan pemrograman terstruktur dan berorientasi objek

Nama                            : Annisa Anggi Ismandia (50410908)
Rekan Kerja                  : Meida Listyaningrum (54410319)
Blog Rekan Kerja  : http://meidamecil.blogspot.com/2012/04/perbedaan-pemrograman-terstruktur-dan.html
Kelas                              : 2IA13
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. Visual Foxpro
  2. Java
  3. C++
  4. Pascal (bahasa pemrograman)
  5. Visual Basic.NET
  6. SIMULA
  7. Smalltalk
  8. Ruby
  9. Python
  10. PHP
  11. C#
  12. Delphi
  13. Eiffel
  14. Perl
  15. Adobe Flash AS 3.0
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. Cobol Turbo Prolog
  2. C
  3. Pascal
  4. Delphi
  5. Borland Delphi
Setelah mengetahu pengertiannya?
dilihat dari pengertian di atas, 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 ).
Sementara itu pemrograman berorientasi objek memliki beberapa keuntungan seperti :
1.maintenance; program lebih mudah dibaca dan dipahami, dan pemrograman berorientasi obyek mengontrol kerumitan program hanya dengan mengijinkan rincian yang dibutuhkan untuk programmer.
2.pengubahan program (berupa penambahan atau penghapusan fitur tertentu); perubahan yang dilakukan antara lain menyangkut penambahan dan penghapusan dalam suatu database program misalnya.
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.
permodelan yang mana yang lebh bagus? itu tergantung dari kebutuhan dan dari sudut pandang mana anda melihatnya. Yang perlu anda ingat adalah tujuan dari pemodelan itu sendiri, yang mana agar pada akhir proyek sistem dapat diperoleh sistem informasi yang memenuhi kebutuhan pemakai, tepat waktu dan sesuai anggaran, serta mudah digunakan, dimengerti dan dipelihara
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 OO dan “argument” pada terstruktur. “attribute” pada OO juga memiliki tatanan nama yang sepadan dengan “variabel” pada pemrograman terstruktur.
Persamaan kedua pemrogaman
adalah keduanya termasuk ke dalam pemodelan pemrograman yang digunakan dewasa ini.
Mana yang lebih baik
tidak ada yang dapat dikatakan lebih baik karena keduanya memiliki spesifikasi tersendiri dalam pemrogramannya. Hal ini juga tergantung pada bagaimana pribadi si pemrogram ingin menyusun program yang akan dibuatnya. Apakah lebih suka menggunakan yang berorientasikan pada objek maupun pemrograman yang terstruktur.
Kapan sama2 baik
Pemrograman prosedural akan dikatakan lebih baik apabila dalam segala situasi melibatkan kompleksitas moderat atau yang memerlukan signifikan kemudahan maintainability. Manfaat yang dirasakan dalam penggunaan pemrograman prosedural adalah kemampuan kembali menggunakan kode yang sama tanpa menggunakan kode yang berbeda ataupun mengkopinya kembali. Dengan menggunakan “goto”, memudahkan programmer melacak kumpulan data sehingga menghindarkan pemrograman terstruktur menjadi seperti spagethii code.
Pemrograman berorientasikan objek dikatakan lebih baik apabila 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.
sumber : http://dendibatinova.wordpress.com/2011/10/24/perbedaan-pemrograman-berorientasi-objek-dan-terstruktur/

our Friendship \(^.^)/

our Friendship \(^.^)/

About

mouse

Blogger templates

ANNISA ANGGI ISMANDIA, I'AM STUDENT AT GUNADARMA UNIVERSITY FACULTY OF TEHNICS