Jumat, 13 April 2012


Nama : Valda iriando(58410344)
         Gilang wicaksono(59410130)

ENKAPSULASI

Definisi enkapsulasi sendiri yaitu Pembungkusan variabel dan method dalam sebuah obyek yang terlindungi serta menyediakan interface untuk mengakses variabel tersebut.
Selain itu Enkapsulasi  dapat di definisikan sebagai pembungkus, pembungkus disini dimaksudkan untuk menjaga suatu proses program agar tidak dapat diakses secara sembarangan atau di intervensi oleh program lain.
Macam-macam enkapsulasi yaitu:
a. private = tidak bisa diakses oleh sembarang class
b. public = bisa diakses oleh siapapun, semua default method, class atau variable itu public       jika tidak diberi enkapsulasi
c. protected
Fungsi atau kegunaan dari enkapsulasi. Ada beberapa alasan, diantaranya :

1. Membuat struktur program semakin gamblang. Pemrogram dan orang yang membaca dokumentasinya (seandainya suatu saat programnya terbuka kodenya/open source) tidak akan kebingungan lagi dalam melakukan analisis terhadap kode yang jumlahnya ratusan hingga jutaan.

2. Mengurangi kesulitan terhadap proses debugging. Dengan menerapkan konsep enkapsulasi berarti telah mendukung modularitas seutuhnya. Program besar dapat dipecah menjadi subprogram. Berbeda dengan prosedural(dulu pernah merasakan pertama kali belajar pemrograman semester satu make bahasa c++), sepertinya mudah di awal. Tetapi ketika muncul bugs, baru kita pontang-panting mencarinya. Apalagi saat menambahkan fitur, susahnya minta ampun ketika programnya mau dibongkar-pasang. Inilah keunggulan modularitas OOP, yang mengusung enkapsulasi.

3. Tidak terjadi tumpang tindih(misal penggunaan variable di satu method atau kelas, yang namanya bisa aja sama dengan variable yang ada di method atau kelas lain) antara satu dengan lainnya.

4. Kita tidak perlu tahu bagaimana para perancang program membuat programnya secara teliti dan rinci/detail. Misalnya, Anda ingin membeli mobil. Otomatis Anda tidak harus tahu dulu bagaimana mobil tersebut di buat, menggunakan mesin arsitektur apa, penjelasan tentang mengapa kursi dipasang dengan posisi sedemikian, bagaimana cara mobil mengaliri tenaga listrik ke seluruh tubuhnya(secara detail, semenjak mesin dihidupkan) dan segenap kerumitan lain. Yang harus anda tahu hanyalah, prosedur pembelian mobil, cara menyetir mobil, dan beberapa argumen lain yang lebih mengedepankan fungsionalitas dari barang yang kita beli. Ketika ditransformasi di dunia pemrograman, 
hukum yang sama berlaku. Kita tidak harus tahu bagaimana sulitnya programmer merancang algoritma, mengetik kode sumber, mengcompile program, melakukan debugging, hingga menjadi program utuh. Belum lagi ketika masih dalam versi beta, sehingga proses maintenance masih dijalankan pada program.

contoh:
1.       pertama buat file enkapulasi sederhana.

class belajar{

public String x =”Pintar”;

private String y = “Java”;

}
simpan dalam belajar.java
disini kita membuat class yang bernama belajar lalu didalam class terserbut ada beberapa pendeklarasian suatu object yaitu x dan y yang bertipe data string dan  berisi sebuah string “Pintar” pada x dan “Java” pada x. file ini dimaksudnya untuk enkapulasi, nanti akan dipanggil  pada program utama yang akan dibuat. Pada variabel x dan y harus dibuat public, jika dibuat private di program utama tidak akan bisa diakses. Karena jika diberi private berarti variable tersebut hanya bisa digunakan pada file itu sendiri.
2.       Buat file program utamanya

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);
}}
simpan dalam pintar.java
Pembuatan variabel “panggil” dengan menghubungkan nya dengan file enkapulasi “belajar” yang telah kita buat tadi. Lalu cara memanggil objek yang berada di file enkapulasi seperti yang ada diatas yaitu : (variabel yang telah disesuaikan dengan file yang duhbungkan ex:panggil).(variabel yang ingin diambil). Contoh diatas panggil.x, variabel yang telah dihubungkan dengan file enkapulasinya dalah “panggil” lalu yang ingin variabel object yang akan dipanggil adalah “x” yang berisi string “Pintar. Untuk menjalankan program, file yang di compile adalah file enkapulasinya dan file utama, tapi yang akan di run cukup file utamanya karena di file utama akan memanggil file enkapulasinya. Begini outputnya : 


Jumat, 06 April 2012

Tugas PBO

Nama:   Valda Iriando Paiki (58410344)
             Gilang Wicaksono  (59410130)


perbedaan pemrograman terstruktur dan berbasis objek
Sebelum kita mengulas apa itu perbedaan pemrograman terstruktur dengan pemrograman berorientasi objek. Terlebih dahulu kita mengetahui masing – masing dari arti pemrograman terstruktur dan pemrograman berorientasi objek itu sendiri.......
OOP (Object-Oriented Programming)
Pemrograman berorientasi objek ( lebih di kenal dengan 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


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
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
A. Pengertian Sistem Pemrograman Terstruktur
Pemrograman Terstruktur adalah pemrograman yang mendukung abstraksi data, pengkodean terstruktur dan kontrol program terstruktur.
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).
Untuk program yang simpel/sederhana biasanya menggunakan pemrograman terstruktur karena masih mudah dan tidak banyak dilakukan perubahan yang berarti, sedangkan untuk line lebih dari 100 atau bisa dikatakan rumit, maka digunakan pemrograman berorientasi objek. Pemrograman Terstruktur terdiri dari pemecahan masalah yang besar menjadi masalah yang lebih kecil dan seterusnya, sedangkan untuk pemrograman berorientasi objek terdiri dari pengkelompokan kode dengan data yang mana setiap objek berfungsi secara independen sehingga untuk setiap perubahan kode tidak tergantung pada kode yang lainnya, atau lebih dikenal dengan modular. Terdapat juga perbedaan secara spesifik antara Pemrograman Berorientasi Objek dengan Pemrograman Terstruktur, yaitu pada kelas dan objek. Pada Pemrograman Terstruktur tidak terdapat kelas dan objek.
Kontrol program terstruktur:
1.Runtun – urut (sequence)
2.Pilihan (selection)
3.Pengulangan (repetition – loop)
B. Pengertian Sistem Orientasi Objek
Sebuah sistem operasi berorientasi obyek 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 sebaga
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.
C.Perbedaan Orientasi Objek Dengan Terstruktur
Sifat-sifat dari pemrograman terstruktur dapat diuraikan sebagai berikut :
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
Berbeda dengan OOP. Suatu program disebut dengan pemrograman berbasis obyek (OOP) karena terdapat :
•           Encapsulation (pembungkusan)
Encapsulation adalah mekanisme pemrograman yang membungkus kode dan data yang dimanipulasi dan menjaganya supaya terhindar dari interferensi dan penggunaan yang tidak perlu. Salah satu caranya dengan membentuk objek.
•             Inheritance (pewarisan)
Inheritance memungkinkan programer meletakkan member yang sama dalam satu class dan class-class lain dapat mewarisi member tersebut. Class yang mengandung member yang sama dari beberapa class lain dinamakan superclass atau parent class. Class yang mewarisi dinamakan subclass atau child class. Inheritance menghasilkan class hierarchy.
Polymorphism (polimorfisme –perbedaan bentuk)
Polymorphisme artinya mempunyai banyak bentuk. Dua objek atau lebih dikatakan sebagai polymorphic, bila objek-objek itu mempunyai antar muka yang identik namun mempunyai perilaku-perilaku yang berbeda.
Bisa dikatakan pada pemrograman berorientasi objek, dapat dilakukan sebuah programming terhadap code yang lebih baik daripada pemrograman terstruktur, itu juga untuk kaliber atau skala rumit atau besar, sedangkan untuk coding yang skala kecil lebih mudah menggunakan pemrograman terstruktur dikarenakan lebih singkat dan mudah tanpa banyak perubahan yang penting.
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.
Sumber: