on 20 April 2012

        Enkapsulasi merupakan teknik yang membuat variabel/field class menjadi bersifat privat dan menyediakan akses ke variabel/field melalui public method. Jika field di deklarasikan sebagai private, maka field ini tidak bisa diakses oleh siapapun diluar class, dengan demikian field disembunyikan di dalam class. Dengan kata lain enkapsulasi juga berfungsi untuk menyembunyikan data. Encapsulation juga merupakan tembok penghalang yang mencegah kode atau data diakses oleh data lain di luar class. Akses ke kode dan data di kontrol melalui interface. Manfaat utama teknik encapsulation adalah kita mampu memodifikasi kode tanpa merusak kode yang telah digunakan pada class lain.

Dua hal yang mendasar dalam enkapsulasi yakni : 

1    1. 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.
      
2    2. 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.


Kelas Orang

Kelas Mahasiswa



Kelas Pekerja


Kelas CallOrang


Output


Sumber : http://yaniarprayogo.wordpress.com/2010/09/27/contoh-polimorfisme-di-java/

Nama : Nama : Priyo Santoso
NPM : 55410403

Partner

Nama :  Fauzan Mulya Adiputra
NPM : 52410642
Web  : zan440.blogspot.com



on 19 April 2012

Inheritance adalah teknik yang menyatakan bahwa anak dari objek akan mewarisi  data/atribut dan metode dari induknya langsung.mAtribut dan metode dari objek dari objek induk diturunkan kepada anak objek, demikian seterusnya. Inheritance mempunyai arti bahwa atribut dan operasi yang dimiliki bersama di anatara kelas yang mempunyai hubungan secara hirarki.
Suatu kelas dapat ditentukan secara umum, kemudian ditentukan spesifik menjadi subkelas. Setiap subkelas mempunyai hubungan atau mewarisi semua sifat yang dimiliki oleh kelas induknya, dan ditambah dengan sifat unik yang dimilikinya. Kelas Objek dapat didefinisikan atribut dan service dari kelas Objek lainnya.Inheritance menggambarkan generalisasi sebuah kelas

Contoh :
- Sedan dan Sepeda Motor adalah subkelas dari Kendaraan  Bermotor.
- Kedua subkelas mewarisi sifat yang dimiliki oleh Kendaraan Bermotor, yaitu mempunyai mesin dan dapat berjalan.
- Kedua subkelas mempunyai sifat masing-masing yang berbeda, misalnya jumlah roda, dan kemampuan untuk        berjalan mundur yang tidak dimiliki oleh sepeda motor.

//ini class induk
class Induknya {
//variabel
private String dataKhusus; //hak akses private bera-t tidak dapat diakses oleh
public String dataUmum; //hakakses public berarti dapat diakses oleh kls anak
//konstruktor
Induknya () {
System.out.println ("konstruktor kls induk");
}
//method
public void cetakDataKhusus () {
dataKhusus = "dataKhusus yang hanya dapat diakses induk";
System.out.println ("mencetak "+dataKhusus+"\n");
}
}
//class anak
class Anaknya extends Induknya {
//'keyword extends rrenunjuban bahwa class Anaknya akan mewarisi sifat (variabel)
//dan tingkah laku (method) class Induknya
private String dataAnak; //variabel
//konstruktor
Anaknya(){
System.out.println ("konstruktor kls anak");
}
public void cetakData(){
dataUmum = "ini data warisan Induk"; //variabel milik Induk
dataAnak = "ini data milik anak";
System.out.println (dataUmum);
System.out.println(dataAnak);
cetakDataKhusus(); //method milik lnduk
}
}
class DemoPewarisan {
public static void main (String args[]) {
System.out.println("====Demo Pewarisan====");
Anaknya anak = new Anaknya ();
anak.cetakData();
}
}





Sumber

Nama  : Priyo Santoso
NPM   : 55410403

Partner
Nama :Fauzan Mulya Adiputra

on 12 April 2012

Enkapsulapsi

Enkapsulasi merupakan teknik yang membuat variabel/field class menjadi bersifat privat dan menyediakan akses ke variabel/field melalui public method. Jika field di deklarasikan sebagai private, maka field ini tidak bisa diakses oleh siapapun diluar class, dengan demikian field disembunyikan di dalam class. Dengan kata lain enkapsulasi juga berfungsi untuk menyembunyikan data. Encapsulation juga merupakan tembok penghalang yang mencegah kode atau data diakses oleh data lain di luar class. Akses ke kode dan data di kontrol melalui interface. 

Manfaat utama teknik encapsulation adalah kita mampu memodifikasi kode tanpa merusak kode yang telah digunakan pada class lain.

 Dua hal yang mendasar dalam enkapsulasi yakni : 

1.        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.

2.        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.

Contoh program

Belajar.Java
class belajar{
public String X ="Pintar";
public String Y = "Java";
}

Pintar.Java
public class Pintar{
public static void main(String[]args){
belajar panggil = new belajar();
System.out.println("Panggil X : "+panggil.X);
System.out.println("Panggil Y : "+panggil.Y);
}}

Pertama-tama, kita buat 2 buah program yang berbeda. Pertama, kita buat program dengan nama class belajar. Selanjutnya, kita deklarasikan 2 buah variabel string yang bersifat public. Pada program kedua dengan class Pintar, kita buat sebuah method untuk memanggil class belajar. Terakhir, kita cetak outputnya.


Nama  : Priyo Santoso
NPM  : 55410403

Partner
Nama : Fauzan Mulya Adiputra
NPM  : 52410642
web   : zan440.blogspot.com


Sumber
http://littlebro-note.blogspot.com/2008/10/java-enkapsulasi.html
http://dear-gun.blogspot.com/2012/04/pengertian-enkapsulasi-dan-contoh.html
http://setyonugroho09.wordpress.com/2010/02/17/konsep-enkapsulasiencapsulation-pada-object-oriented-programming-dengan-java/
on 05 April 2012


Pemrograman Terstruktur

Pemrograman terstruktur adalah proses untuk mengimplementasikan urutan langkah penyelesaian masalah suatu program. Prinsip dari pemrograman ini apabila kita sudah berada pada langkah tertentu, kita tidak bisa kembali ke langkah sebelumnya kecuali pada langkah-langkah untuk proses berulang. Berikut tujuan dari pemrograman terstruktur :
  1. Meningkatkan kualitas dan kehandalan program.
  2. Memudahkan pemahaman terhadap isi program.
  3. Menyederhanakan program.
  4. Maintenance (pemeliharaan) program.
  5. Meningkatkan produktifitas program Sifat-sifat Pemrograman Terstruktur.
dan berikut sifat-sifat yang dimiliki pemrograman terstruktur :
  1. Memuat teknik pemecahan masalah yang logis dan sistematis.
  2. Memuat algoritma yang efisien, efektif dan sederhana.
  3. Program disusun dengan logika yang mudah dipahami.
  4. Tidak menggunakan perintah GOTO.
  5. Biaya pengujian program relatif rendah.
  6. Memiliki dokumentasi yang baik..
  7. Biaya perawatan dan dokumentasi yang dibutuhkan relatif rendah.
Bahasa pemrograman yang mendukung pemrograman terstruktur:
1.      Cobol Turbo Prolog
2.      C
3.      Pascal
4.      Delphi
5.      Borland Delphi
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.


Pemrograman Bebasis Objek

adalah sebuah sistem operasi yang internal menggunakan metodologi berorientasi object. Sebuah sistem operasi berorientasi objek ini berbeda dengan objek-berorientasi user interface atau pemrograman kerangka kerja , yang dapat ditempatkan di atas sistem operasi non-object-oriented seperti DOS , Microsoft windows atau Unix . Hal ini dapat berpendapat, bagaimanapun, bahwa sudah ada konsep berorientasi objek yang terlibat dalam desain sebuah sistem operasi yang lebih khas seperti Unix. Sementara bahasa yang lebih tradisional seperti C tidak mendukung orientasi objek sebagai lancar sebagai bahasa yang lebih baru, gagasan, misalnya, berkas , aliran , atau device criver (di Unix, masing-masing diwakili sebagai file descriptor ) dapat dianggap sebagai yang baik contoh dari orientasi objek: mereka, setelah semua, tipe data abstrak , dengan berbagai metode dalam bentuk panggilan sistem , yang perilakunya bervariasi berdasarkan jenis objek, yang pelaksanaannya rincian tersembunyi dari pemanggil, dan bahkan mungkin menggunakan warisan di mereka yang mendasari kode.

Metode OOAD melakukan pendekatan terhadap masalah dari perspektif obyek, tidak pada perspektif fungsional seperti pada pemrograman terstruktur. Akhir-akhir ini penggunakan OOAD meningkat dibandingkan dengan pengunaan metode pengembangan software dengan metode tradisional. Sebagai metode baru dan sophisticated bahasa pemrograman berorientasi obyek diciptakan, hal tersebut untuk memenuhi peningkatan kebutuhan akan pendekatan berorientasi obyek pada aplikasi bisnis.
Metode pengembangan perangkat lunak berorientasi objek yang sudah dikenal, dan diantaranya adalah :
·         Object Oriented Analysis (OOA) dan Object Oriented Design (OOD) dari Peter Coad dan Edward Yourdon [1990].
·         Object Modeling Technique (OMT) dan James Rumbaugh, Michael Blaha, William Premerlan, Frederick Eddy dan William Lorensen [1991].
·         Object Oriented Software Engineering (OOSE) dan Ivar Jacobson [1992].
·         Booch Method dan Grady Booch [1994].
·         Sritrop dan Steve Cook dan John Daniels [1994].
·         UML (Unified Modeling Language) dari James Rumbaugh. Grady Booch dan Ivar Jacobson [1997].
Metodologi pengembangan sistem berorientasi objek mempunyai tiga karakteristik utama, yaitu:
1.      Encapsulation
·          Encapsulation merupakan dasar untuk pembatasan ruang lingkup program terhadap data yang diproses.
·          Data dan prosedur atau fungsi dikemas bersama-sama dalam suatu objek, sehingga prosedur atau fungsi lain dari luar tidak dapat mengaksesnya.
·          Data terlindung dari prosedur atau objek lain, kecuali prosedur yang berada dalam objek itu sendiri.
2.      Inheritance
·          Inheritance adalah teknik yang menyatakan bahwa anak dari objek akan mewarisi data/atribut dan metode dari induknya langsung. Atribut dan metode dari objek dari objek induk diturunkan kepada anak objek, demikian seterusnya.
·         Inheritance mempunyai arti bahwa atribut dan operasi yang dimiliki bersama di anatara kelas yang mempunyai hubungan secara hirarki.
·          Inheritance menggambarkan generalisasi sebuah kelas.
3.     Polymorphism
·          Polimorfisme yaitu konsep yang menyatakan bahwa sesuatu yang sama dapat mempunyai bentuk dan perilaku berbeda.
·          Kemampuan objek-objek yang berbeda untuk melakukan metode yang pantas dalam merespon message yang sama.
·          Seleksi dari metode yang sesuai bergantung pada kelas yang seharusnya menciptakan objek.

Bahasa pemrograman  yang mendukung OOP antara lain:
1.      Visual Foxpro 
2.      Java 
3.      C++ 
5.      Visual Basic.NET 
6.      SIMULA 
7.      Smalltalk 
8.      Ruby 
9.      Python 
10.  PHP 
11.  C# 
12.  Delphi 
13.  Eiffel 
14.  Perl 



Kelebihan dan Kekurangan

Pemrograman terstruktur :

kelebihan

·         Milestone diperlihatkan dengan jelas yang memudahkan dalam manajemen proyek
·         SSAD merupakan pendekatan visual, ini membuat metode ini mudah dimengerti oleh pengguna atau programmer.
·         Penggunaan analisis grafis dan tool seperti DFD menjadikan SSAD menjadikan bagus untuk digunakan.
·         SSAD merupakan metode yang diketahui secara umum pada berbagai industry.
·         SSAD sudah diterapkan begitu lama sehingga metode ini sudah matang dan layak untuk digunakan.
·         SSAD memungkinkan untuk melakukan validasi antara berbagai kebutuhan
·         SSAD relatif simpel dan mudah dimengerti.

Kekurangan

SSAD berorientasi utama pada proses, sehingga mengabaikan kebutuhan non-fungsional.
·  Sedikit sekali manajemen langsung terkait dengan SSAD
·  Prinsip dasar SSAD merupakan pengembangan non-iterative (waterfall), akan tetapi kebutuhan akan berubah pada setiap proses.
·  Interaksi antara analisis atau pengguna tidak komprehensif, karena sistem telah didefinisikan dari awal, sehingga tidak adaptif terhadap perubahan (kebutuhan-kebutuhan baru).
·  Selain dengan menggunakan desain logic dan DFD, tidak cukup tool yang digunakan untuk mengkomunikasikan dengan pengguna, sehingga sangat sliit bagi pengguna untuk melakukan evaluasi.
·  Pada SAAD sliit sekali untuk memutuskan ketika ingin menghentikan dekomposisi dan mliai membuat sistem.
·  SSAD tidak selalu memenuhi kebutuhan pengguna.
·  SSAD tidak dapat memenuhi kebutuhan terkait bahasa pemrograman berorientasi obyek, karena metode ini memang didesain untuk mendukung bahasa pemrograman terstruktur, tidak berorientasi pada obyek (Jadalowen, 2002).

Pemrograman Berbasis Objek

Kelebihan

Dibandingkan dengan metode SSAD, OOAD lebih mudah digunakan dalam pembangunan sistem
·  Dibandingkan dengan SSAD, waktu pengembangan, level organisasi, ketangguhan,dan penggunaan kembali (reuse) kode program lebih tinggi dibandingkan dengan metode OOAD (Sommerville, 2000).
·  Tidak ada pemisahan antara fase desain dan analisis, sehingga meningkatkan komunikasi antara user dan developer dari awal hingga akhir pembangunan sistem.
·  Analis dan programmer tidak dibatasi dengan batasan implementasi sistem, jadi desain dapat diformliasikan yang dapat dikonfirmasi dengan berbagai lingkungan eksekusi.
·  Relasi obyek dengan entitas (thing) umumnya dapat di mapping dengan baik seperti kondisi pada dunia nyata dan keterkaitan dalam sistem. Hal ini memudahkan dalam mehami desain (Sommerville, 2000).
·  Memungkinkan adanya perubahan dan kepercayaan diri yang tinggi terhadap kebernaran software yang membantu untuk mengurangi resiko pada pembangunan sistem yang kompleks (Booch, 2007).
·  Encapsliation data dan method, memungkinkan penggunaan kembali pada proyek lain, hal ini akan memperingan proses desain, pemrograman dan reduksi harga.
·  OOAD memungkinkan adanya standarisasi obyek yang akan memudahkan memahami desain dan mengurangi resiko pelaksanaan proyek.
·  Dekomposisi obyek, memungkinkan seorang analis untuk memcah masalah menjadi pecahan-pecahan masalah dan bagian-bagian yang dimanage secara terpisah. Kode program dapat dikerjakan bersama-sama. Metode ini memungkinkan pembangunan software dengan cepat, sehingga dapat segera masuk ke pasaran dan kompetitif. Sistem yang dihasilkan sangat fleksibel dan mudah dalam memelihara.

Kekurangan

·         Pada awal desain OOAD, sistem mungkin akan sangat simple.
·         Pada OOAD lebih fockus pada coding dibandingkan dengan SSAD.
·         Pada OOAD tidak menekankan pada kinerja team seperti pada SSAD.
·         Pada OOAD tidak mudah untuk mendefinisikan class dan obyek yang dibutuhkan sistem.
·         Sering kali pemrogramam berorientasi obyek digunakan untuk melakukan anlisisis terhadap fungsional siste, sementara metode OOAD tidak berbasis pada fungsional sistem.
·         OOAD merupakan jenis manajemen proyek yang tergolong baru, yang berbeda dengan metode analisis dengan metode terstruktur. Konsekuensinya adalah, team developer butuh waktu yang lebih lama untuk berpindah ke OOAD, karena mereka sudah menggunakan SSAD dalam waktu yang lama ( Hantos, 2005).
·         Metodologi pengembangan sistem dengan OOAD menggunakan konsep reuse. Reuse merupakan salah satu keuntungan utama yang menjadi alasan digunakannya OOAD. Namun demikian, tanpa prosedur yang emplisit terhadap reuse, akan sangat sliit untuk menerapkan konsep ini pada skala besar (Hantos, 2005).

Sumber :
  1. http://eziekim.wordpress.com/2011/11/08/perbedaan-antara-perancangan-terstruktur-dan-berorientasi-objek/
  2. http://bosadetaqwa.wordpress.com/2012/04/01/perbedaan-pemrograman-terstruktur-dan-berbasis-objek/
  3. http://gutti211.blogspot.com/2011/10/perbedaan-pemograman-berorientasi-objek.html
  4. http://dendibatinova.wordpress.com/2011/10/24/perbedaan-pemrograman-berorientasi-objek-dan-terstruktur/
  5. http://shandy-06shihab.blogspot.com/2010/10/pemrograman-terstruktur.html


Nama    : Priyo santoso (55410403)
Partner  : Fauzan Mulya Adiputra (52410642)

pengumuman

selamat datang di blognya priyo silahkan di follow ya

Isi priyo's blog

Powered By Blogger

Monggo di cari