Jumat, 31 Oktober 2008

Artikel OOP dan Pemrograman Prosedural

OBJECT-ORIENTED PROGRAMMING (OOP)

Pemrograman berorientasi objek (OOP) merupakan metode yang paling populer dalam dunia rekayasa perangkat lunak saat ini. OOP membuat proses pengembangan perangkat lunak dapat dilakukan secara modular yang berarti sistem dapat dikembangkan tahap demi tahap tanpa mengubah (banyak) fondasi perangkat lunak yang sudah ada.

Object-Oriented Programming adalah sebuah pendekatan untuk pengembangan / development suatu software dimana dalam struktur software tersebut didasarkan kepada interaksi object dalam penyelesaian suatu proses/tugas. Interaksi tersebut mengambil form dari pesan-pesan dan mengirimkannya kembali antar object tersebut. Object akan merespon pesan tersebut menjadi sebuah tindakan /action atau metode. Jika kita mencoba melihat bagaimana tugas disekitar kita diselesaikan, kita akan mengetahui bahwa kita berinteraksi dalam sebuah object-oriented world. Jika akan bepergian kita pasti berinteraksi dengan object mobil. Sebagai sebuah object, mobil berisi object-object lain yang berinteraksi untuk melakukan tugasnya membawa kita

Karakteristik OOP

Suatu program disebut dengan pemrograman berbasis obyek (OOP) karena terdapat :

  1. Encapsulation (pembungkusan)

  2. Inheritance (pewarisan)

  3. Polymorphism (polimorfisme – perbedaan bentuk)


Inheritance

Banyak objects diklasifikasikan menurut hirarki. Contoh, kamu dapat mengklasifikasikan sebuah mobil yang mempunyai karakteristik umumnya mobil, seperti mempunyai ban, mesin, serta body. Keturunan berikutnya diklasifikasikan dengan atribut umum seperti ukuran, jumlah roda, isi silinder dll atau mengklasifikasikan mereka atas dasar daya angkutnya. Contoh, ada kendaraan komersial atau kendaraan pribadi, ada truk atau mobil penumpang. Kamu menggunakan inheritance dalam OOP untuk mengklasifikasikan objects dalam program sesuai karakteristik umum dan fungsinya.

  1. Sebuah class bisa mewariskan atribut dan method-nya ke class yang lain

  2. Class yang mewarisi disebut superclass

  3. Class yang diberi warisan disebut subclass

  4. Sebuah subclass bisa mewariskan atau berlaku sebagai superclass bagi class yang lain => disebut multilevel inheritance.

Contoh Pewarisan

  1. Class Nenek adalah superclass dari class Ibu

  2. Class Ibu adalah superclass dari class Anak

  3. Sebuah subclass memiliki beberapa kesamaan dengan superclass-nya, dalam hal atribut/variabel dan method yang dimilikinya

  4. Contoh pewarisan yang lain : class kendaraan merupakan superclass bagi class mobil, truk dan bis


Polymorphism

Polymorphisms adalah kemampuan 2 buah object yang berbeda untuk merespon pesan permintaan yang sama dalam suatu cara yang unik. Contoh, saya melatih anjing saya dengan perintah untuk menggonggong dan juga saya melatih burung untuk merespon perintah saya untuk berkicau. Saya lakukan latihan untuk merespon kepada mereka dengan perintah lisan. Melalui polymorphism saya tahu bahwa anjing dan burung akan merespon dengan gonggongan atau kicauan.

Encapsulation

Ciri penting lainnya dari OOP adalah encapsulation. Encapsulation adalah sebuah proses dimana tidak ada akses langsung ke data yang diberikan, bahkan hidden. Jika kamu ingin mendapat data, kamu harus berinteraksi dengan object yang bertanggung jawab atas dara tersebut. Dalam contoh inventory, jika kita ingin melihat atau mengupdate informasi atas produk, kita seharusnya bekerja melalui object produk. Untuk membaca data, kita mengirimkan pesan ke object produk, kemudian object produk akan membaca pesan dan mengirim pesan balik ke kamu.

  1. Variabel dan method dalam suatu obyek dibungkus agar terlindungi

  2. Untuk mengakses, variabel dan method yang sudah dibungkus tadi perlu interface

  3. Setelah variabel dan method dibungkus, hak akses terhadapnya bisa ditentukan.

  4. Konsep pembungkusan ini pada dasarnya merupakan perluasan dari tipe data struktur



PEMROGRAMAN PROSEDURAL

Algoritma berisi urutan langkah-langkah penyelesaian masalah. Ini berarti Algoritma adalah proses yang procedural.

  1. 1. Algoritma

Algoritma adalah serangkaian langkah-langkah yang tepat, terperinci, dan terbatas untuk menyelesaikan suatu masalah. Langkah yang tepat artinya serangkaian langkah tersebut selalu benar untuk menyelesaikan masalah yang diberikan. Langkah yang tidak memberikan hasil yang benar untuk domain masalah yang diberikan bukanlah sebuah algoritma.

Langkah yang terperinci artinya setiap langkah diberikan secara detail dan dapat dieksekusi oleh komputer, instruksi seperti “angkat sedikit ke kiri” merupakan contoh instruksi yang tidak tepat, karena “sedikit” tidak menyatakan sesuatu dengan tepat.

  • 2. Konstruktor (elemen) Pemrograman Prosedural

Elemen bahasa pemrograman procedural adalah:

  1. 1. Program utama

  2. 2. Tipe

  3. 3. Konstanta

  4. 4. Variabel

  1. 5. Ekspresi, operator, dan operand

  2. 6. Struktur Data

  3. 7. Instruksi dasar

  4. 8. Program Moduler

  5. 9. File eksternal

  6. 10. Rekurens

  1. 3. Input, Proses, dan Output

Bagian input, proses, dan output dikerjakan secara sekuensial, dan dalam setiap bagian mungkin akan ada input, proses, dan output.


Struktur Bahasa Program Procedural

Secara umum, bahasa pemrograman yang berbasiskan prosedur terdiri dari blok/sub program. Yang memiliki dua bagian utama yaitu:

1. Bagian deklarasi

2. Bagian Statement


1. Bagian Deklarasi

Bagian deklarasi merupakan bagian program untuk mendefinisikan tipe data suatu variable, konstanta, serta fungsi dan prosedur yang akan digunakan pada program. Selain itu, bagian deklarasi dapat juga digunakan untuk memberi nilai awal suatu variable. Dengan kata lain, deklarasi digunakan untuk memperkenalkan suatu nama kepada Compiler program.

2. Bagian Statement

Bagian statement merupakan bagian program yang berisi perintah yang akan dieksekusi/dijalankan. Pada bahasa Pascal, bagian statement selalu diawali dengan reserved word begin dan end. Apabila blok statement adalah blok utama program, maka reserved word end harus diakhiri dengan tanda titik(.), sebaliknya jika blok statement bukan blok utama program maka reserved word end diakhiri dengan tanda titik koma (;). Sebaliknya pada bahasa C, dimulai dari deklarasi variable hingga akhir statement diawali dan diakhiri dengan tanda kurung kurawal { dan }. Berikut adalah contoh potongan kode untuk implementasi menghitung luas lingkaran dengan Bahasa Pascal (kiri) dan Bahasa C (kanan).

Bahasa Pascal:

procedure Cetak (kal: String);

function Tambah (a,b:Integer): Integer;

Bahasa C:

void Cetak (char *String);

int Tambah (int a, int b);

uses crt;

const phi = 3.14;

var diameter, radius,

Luas : real;

begin

readln(diameter);

radius := diameter / 2;

Luas := phi * radius * radius;

writeln(Luas);

end.

#include

void main()

{ const phi = 3.14;

float diameter, radius, Luas;

scanf(“%f”, &diameter);

radius = diameter / 2.0;

Luas = phi * radius * radius;

printf(“%f”,Luas);

}