Object Oriented Programming vs Procedural Programming
Sebelumnya, sudah pernah mendengan apa itu Procedural Programming (Pemrograman Terstruktur) dan Object Oriented Programming (Pemrograman Berbasis Objek) ? Keduanya merupakan bentuk struktur data yang berbeda algoritma pemrogramannya. Maka dari itu, akan saya bahas perbedaannya pada blog ini. Semoga dengan blog ini dapat memberi ilham yang baik. Enjoy!
Definisi / De.fi.ni.si /
Pemrograman Terstruktur (Procedural Programming) merupakan langkah penyelesaian suatu masalah dalam bentuk program yang memperhatikan urutan dari setiap langkah (kodingan) yang kita buat. Maka dari itu, jika kita menggunakan bahasa dengan pemrograman terstruktur, harus dikerjakan secara sistematis, logis, dan tersusun sesuai dengan output yang kita harapkan. Prinsip sederhananya, jika suatu proses telah sampai pada titik tertentu, maka proses selanjutnya tidak boleh mengeksekusi langkah sebelumnya ataupun kembali ke baris sebelumnya, kecuali pada langkah - langkah untuk proses pengulangan atau berulang (Loop).
Pemrograman Berorientasi Objek ( Object Oriented Programming) merupakan langkah penyelesaian suatu masalah dalam bentuk program yang mengkelas kelaskan fungsinya (menjadi objek). Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya.
Perbedaan / Per.be.da.an /
Pemrograman Terstruktur
|
Pemrograman Berorientasi Objek
|
Memecah program dalam fungsi dan data
|
Menggabungkan fungsi dan data dalam kelas – kelas atau objek - objek
|
Memiliki ciri Sequence (berurutan), Selection (pemilihan) dan Repetition (perulangan)
|
Memiliki ciri Encapsulation (pengemasan), Inheritance (penurunan sifat) dan Polymorphism (perbedaan bentuk dan perilaku)
|
Struktur program rumit karena berupa urutan proses dan fungsi-fungsi
|
Struktur program ringkas, cukup dengan membuat Objek dan class lalu bekerja berdasarkan object dan class tersebut.
|
Re-use kode program kurang
|
Kode program sangat re-usable. object dan class dapat digunakan berkali-kali, sehingga dapat menghemat space memori.
|
Efektif digunakan untuk menyelesaikan masalah kecil dan tidak cocok untuk menyelesaikkan masalah yang rumit, karena nantinya akan kesulitan menemukan solusi permasalahan ketika terjadi error
|
Efektif digunakan untuk menyelesaikan masalah besar, karena OOP terdiri dari class-class yang memisahkan setiap kode program menjadi kelompok - kelompok kecil, sesuai dengan fungsinya
|
Mudah diawal, namun kompleks diproses selanjutnya
|
Sulit diawal (karena harus membuat class) namun selanjutnya akan terasa mudah dan cepat
|
Eksekusi lebih lambat karena setiap perintah dikerjakan berurutan
|
Eksekusi lebih cepat karena dieksekusi bersamaan, program hanya mengatur Objek, properties dan method-nya saja
|
Contoh Source Code
Pemrograman berstruktur
Pada kali ini pemrograman berstruktur saya implementasikan untuk membuat segitiga pascal menggunakan bahasa C. Berikut source code dibawah ini:
menggunakan bahasa C yang bersifat struktural (menggunakan objek terbatas, seperti misal loop, for dll) |
OUTPUT yang terjadi :
Pemrograman Berbasis Objek
pada kasus ini, saya akan menghitung luas segitiga menggunakan java. berikut source code dibawah :
import java.util.Scanner;
public class luassegitiga{
public static void main(String[] args) {
int alas;
int tinggi;
double luas;
Scanner scan = new Scanner(System.in);
System.out.print("Masukan Alas: ");
alas = scan.nextInt();
System.out.print("Masukan Tinggi : ");
tinggi = scan.nextInt();
luas = ((alas*tinggi/2);
System.out.printIn("Luas Segitiga = " +luas);
}
}
Output yang terjadi :
Comments
Post a Comment