Pemrograman Terstruktur vs Pemrograman Berorientasi Objek
Pemrograman Berorientasi Objek (OOP) dan Pemrograman Terstruktur adalah dua paradigma pemrograman. Paradigma pemrograman adalah gaya dasar pemrograman komputer. Paradigma pemrograman berbeda dalam bagaimana setiap elemen program diwakili dan bagaimana langkah-langkah didefinisikan untuk memecahkan masalah. Seperti namanya, OOP berfokus pada representasi masalah menggunakan objek dunia nyata dan perilakunya, sedangkan Pemrograman Terstruktur berkaitan dengan pengorganisasian program dalam struktur logis.
Apa itu Pemrograman Terstruktur?
Diasumsikan bahwa tahun kelahiran Pemrograman Terstruktur adalah 1970. Pemrograman terstruktur dianggap sebagai bagian dari pemrograman imperatif. Program terstruktur terdiri dari struktur aliran program sederhana, yang diatur secara hierarkis. Yaitu urutan, seleksi dan pengulangan. Urutan adalah urutan pernyataan. Seleksi berarti memilih pernyataan dari sekumpulan pernyataan berdasarkan keadaan program saat ini (misalnya menggunakan pernyataan if) dan pengulangan berarti mengeksekusi pernyataan sampai keadaan tertentu tercapai (misalnya menggunakan pernyataan for atau while). ALGOL, Pascal, Ada dan PL/I adalah beberapa bahasa pemrograman terstruktur yang digunakan saat ini.
Apa itu Pemrograman Berorientasi Objek?
Dalam OOP, fokusnya adalah memikirkan masalah yang harus dipecahkan dalam hal elemen dunia nyata dan mewakili masalah dalam hal objek dan perilakunya. Kelas menggambarkan representasi abstrak dari objek dunia nyata. Kelas seperti cetak biru atau template, yang mengumpulkan item serupa atau hal-hal yang dapat dikelompokkan bersama. Kelas memiliki properti yang disebut atribut. Atribut diimplementasikan sebagai variabel global dan instan. Metode di kelas mewakili atau mendefinisikan perilaku kelas-kelas ini. Metode dan atribut kelas disebut anggota kelas. Sebuah instance dari kelas disebut objek. Oleh karena itu, objek adalah struktur data yang sangat mirip dengan beberapa objek dunia nyata.
Ada beberapa konsep penting OOP seperti Data abstraction, Encapsulation, Polymorphism, Messaging, Modularity dan Inheritance. Biasanya, enkapsulasi dicapai dengan membuat atribut menjadi pribadi, sambil membuat metode publik yang dapat digunakan untuk mengakses atribut tersebut. Warisan memungkinkan pengguna untuk memperluas kelas (disebut sub kelas) dari kelas lain (disebut kelas super). Polimorfisme memungkinkan pemrogram untuk mengganti objek kelas di tempat objek kelas supernya. Biasanya, kata benda yang ditemukan dalam definisi masalah langsung menjadi kelas dalam program. Demikian pula, kata kerja menjadi metode. Beberapa bahasa OOP yang paling populer adalah Java dan C.
Apa perbedaan antara Pemrograman Terstruktur dan Pemrograman Berorientasi Objek?
Perbedaan utama antara Pemrograman Terstruktur dan OOP adalah fokus Pemrograman Terstruktur adalah menyusun program ke dalam hierarki subprogram, sedangkan fokus OOP adalah memecah tugas pemrograman menjadi objek, yang merangkum data dan metode. OOP dianggap lebih fleksibel daripada pemrograman terstruktur, karena OOP memisahkan program ke dalam jaringan subsistem daripada menyusun program ke dalam hierarki. Meskipun penataan memberikan kejelasan tertentu, perubahan kecil pada program terstruktur yang sangat besar dapat menyebabkan efek riak karena harus mengubah beberapa subprogram.