Minggu, 31 Maret 2013

Tugas1 : Resume Konsep OOP dan Java

Konsep Dasar Object Oriented Program (OOP)/ Pemrograman Berorientasi Objek (PBO)

Dalam dunia pemrograman, ada dua jenis metode pemrograman, yaitu Pemrograman Prosedural (Procedural) dan Pemrograman Berorientasi Objek (PBO)/ Object Oriented Program (OOP).
Pemrograman prosedural merupakan suatu metode menulis program yang didasarkan pada "serangkaian tugas yang diselesaikan dalam bentuk fungsi atau prosedur". Cara pandang pemrograman prosedural yaitu sebuah program adalah suatu urutan instruksi. Programmer harus mem-break down suatu problem/masalah menjadi sub problem yang lebih sederhana. Fokus utama metode prosedural ini adalah fungsi dan prosedur, dimana keduanya digunakan untuk memanipulasi data. Dalam hal ini data bersifat pasif. Contoh : Linux yang menggunakan bahasa C, atau Windows yang menggunakan bahasa Assembler.
Lain halnya dengan pemrograman berorientasi objek (OOP), fungsi dan data bukan menjadi dua hal yang terpisah. Fungsi dan data menjadi satu kesatuan yang disebut sebagai objek aktif. Cara pandang OOP ini yaitu sebuah program merupakan serangkaian objek yang bekerjasama untuk menyelesaikan suatu problem.
Dengan kata lain, metode prosedural berfokus pada cara komputer menangani tugas, sedangkan metode OOP berfokus pada tugas yang kita kembangkan untuk dieksekusi komputer. Kedua jenis metode pemrograman tersebut dapat digunakan untuk menangani masalah yang sama, asalkan bahasa pemrograman yang digunakan mendukung metode-metode tersebut. Contoh bahasa pemrograman yang mendukung OOP diantaranya : Java, C++, Pascal, Visual Basic .NET, Ruby, Python, PHP, C#, Delphi, Perl, dsb.
OOP memiliki karakteristik sbb :
1. Abstraksi/ Abstraction. 
Abstraction merupakan cara kita melihat suatu sistem dalam bentuk yang lebih sederhana, yaitu sebagai suatu kumpulan subsistem (object) yang berhubungan.
2. Pembungkusan/ Encapsulation.
Encapsulation suatu mekanisme menyembunyikan suatu proses dalam sistem untuk menghindari interferensi dan menyederhanakan penggunaan sistem itu sendiri.
3. Pewarisan/ Inheritence
Inheritance merupakan suatu Class yang dapat mewariskan Attribut dan method kepada class lain (subclass), serta membentuk class hierarchy.
4. Polimorfisme/ Banyak Rupa (Polymorphism)
Dalam java, method/ cara melakukan operasi sistem ini dapat dipakai fungsi-fungsi utamanya dan dapat juga dibuat atau dikembangkan sendiri.

Pengertian Java
Java adalah bahasa pemrograman yang multi platform dan multi device. Sekali menuliskan sebuah program dengan menggunakan Java, anda dapat menjalankannya hampir di semua komputer dan perangkat lain yang support Java, dengan sedikit perubahan atau tanpa perubahan sama sekali dalam kodenya. Aplikasi dengan berbasis Java ini dikompulasikan ke dalam p-code dan bisa dijalankan dengan Java Virtual Machine. Fungsionalitas dari Java ini dapat berjalan dengan platform yang berbeda karena sifatnya yang umum dan non-spesifik.



Slogan Java adalah “Tulis sekali, jalankan di manapun”. Sekarang ini Java menjadi sebuah bahasa pemrograman yang populer dan dimanfaatkan secara luas untuk pengembangan perangkat lunak. Kebanyakan perangkat lunak yang menggunakan Java adalah ponsel feature dan ponsel pintar atau smartphone. Dalam penggunaan penulisan Java bersifat case sensitif.

Kelebihan dan kekurangan Java
Kelebihan Java yang pertama tentu saja multiplatform. Java dapat dijalankan dalam beberapa platform komputer dan sistem operasi yang berbeda. Hal ini sesuai dengan slogannya yangs udah dibahas sebelumnya. Yang kedua adalah OOP atau Object Oriented Programming. Java memiliki library yang lengkap. Library disini adalah sebuah kumpulan dari program yang disertakan dalam Java. Hal ini akan memudahkan pemrograman menjadi lebih mudah. Kelengkapan library semakin beragam jika ditambah dengan karya komunitas Java.
Setiap hal pasti memiliki kelebihan dan kekurangan. Kekurangan yang dimiliki oleh Java adalah pada satu slogannya, takni “Tulis sekali dan jalankan dimana saja” ternyata tidak sepenuhnya benar. Beberapa hal harus disesuaikan jika dijalankan pada platform yang berbeda. Misalnya untuk J2SE dengan platform SWT-AWT bridge tidak dapat berfungsi di Mac OS X. Kekurangan lainnya adalah kemudahan aplikasi Java didekompilasi. Dekompilasi adalah suatu proses membalikkan sebuah aplikasi menjadi kode sumbernya. Hal ini memungkinkan terjadi pada Java karena berupa bytecode yang menyimpan bahasa tingkat tinggi. Hal ini terjadi pula pada platform .NET dari Microsoft sehingga program yang dihasilkan mudah dibajak kodenya karena sulit untuk disembunyikan.
Kekurangan Java yang lain adalah penggunaan memori yang cukup banyak, lebih besar daripada bahasa tingkat tinggi sebelum generasi Java. Namun hal ini memang sesuai dengan fitur beragam yang dimiliki oleh Java. Masalah memori ini juga tidak dialami oleh semua pengguna aplikasi Java. Mereka yang sudah menggunakan perangkat keras dengan teknologi terbaru tidak merasakan kelambatan dan konsumsi memori Java yang tinggi. Lain halnya dengan mereka yang menggunakan teknologi lama/komputer yang sudah berumur tua lebih dari empat tahun akan merasakan adanya kelambatan. Namun apapun kelemahan yang dimiliki Java, faktanya adalah Java merupakan bahasa pemrograman yang populer dan digunakan di seluruh dunia saat ini.

Bagian - Bagian dari Java :
1. Class, adalah wadah yang berisi kumpulan data, atribut, atau method dari suatu variabel/blue printnya. Fungsi class dipisah untuk memudahkan apabila ada perubahan dalam program tersebut, tidak merubah datanya secara keseluruhan, pemecahannya cukup sesuai dengan kebutuhan. Contoh ;
public class handphone {
StringmerkHP= "Blackberry",
jenisHP= "8330",
warnaHP= "Hitam",
}
 
2. Method, adalah sebuah tindakan atau cara untuk mengintruksikan/ menjalankan suatu operasi. Operasi Method diantaranya, yaitu ;
a. Bisa menerima dan memanipulasi data/field dalam diri method tsb. 
b. Bisa mempengaruhi nilai suatu object lain
Contoh ;
Class Buku {
        double panjang;
        double lebar;
}

3. Objek, adalah suatu data atau ukuran dan tingkah laku. di dalam Java rancangan sebuah objek ditulis dalam sebuah class dan diimplementasikan sebagai member variabel, sedangkan prosedur yang mengolah data tersebut diimplementasikan dalam method.
 

Resources/ Sumber :
  • Wikipedia 
  • Slide Presentasi Konsep Pemrograman Berorientasi Objek (lecturer.eepis-its.edu/~riyanto/oop1.pdf)
  • belajar-komputer-mu.com
  • synagabonar.files.wordpress.com
  • Modul Java - Nuri 2013