Perbedaan antara Pemrograman Terstruktur dan
Pemrograman Berbasis Objek
Sebelum
menjabarkan lebih lanjut tentang definisi dan perbedaan antara Pemrograman
Terstruktur dan Pemrograman Berorientasi Objek, ada baiknya dulu kami
mendefinisikan dulu apa itu pemrograman.
A. Definisi Pemrograman Pemrograman adalah
proses menulis, menguji dan memperbaiki (debug), dan memelihara kode yang
membangun sebuah program komputer. Kode ini ditulis dalam berbagai bahasa
pemrograman. Tujuan dari pemrograman adalah untuk memuat suatu program yang
dapat melakukan suatu perhitungan atau ‘pekerjaan’ sesuai dengan keinginan si
pemrogram. Untuk dapat melakukan pemrograman, diperlukan keterampilan dalam
algoritma, logika, dan bahasa pemrograman, dan di banyak kasus, pengetahuan-pengetahuan
lain seperti matematika. Pemrograman adalah sebuah seni dalam menggunakan satu
atau lebih algoritma yang saling berhubungan dengan menggunakan sebuah bahasa
pemrograman tertentu sehingga menjadi sebuah program komputer. Bahasa
pemrograman yang berbeda mendukung gaya pemrograman yang berbeda pula. Gaya
pemrograman ini biasa disebut paradigma pemrograman. Apakah memprogram
perangkat lunak lebih merupakan seni, ilmu, atau teknik telah lama
diperdebatkan. Pemrogram yang baik biasanya mengkombinasikan tiga hal tersebut,
agar dapat menciptakan program yang efisien, baik dari sisi waktu berjalan
(running time), atau memori.
B. Definisi 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.
Untuk
program yang simple / 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. 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: Cobol Turbo Prolog C Pascal Delphi Borland Delphi Dilihat dari
pengertian di atas, pemrograman terstruktur memilki beberapa sifat – sifat
seperti : Memuat teknik pemecahan masalah yang logis dan sistematis. Memuat
algoritma yang efisien, efektif dan sederhana. Program disusun dengan logika
yang mudah dipahami. Tidak menggunakan perintah GOTO. Biaya pengujian program
relatif rendah. Memiliki dokumentasi yang baik. Biaya perawatan dan dokumentasi
yang dibutuhkan relatif rendah. Berdasarkan penjelasan diatas, pemrograman
terstruktur unggul dalam melakukan pemrograman sederhana karena lebih efisien
dan lebih murah dalam hal perawatannya tetapi permodelan ini lebih sulit untuk
dipahami. C. Definisi Pemrograman Berorientasi Objek Pemrograman berorientasi
objek (Inggris: 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, Model data berorientasi objek
dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program,
dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi,
pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding
dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan
dirawat. Konsep dasar dari Pemrograman Berorientasi Objek Pemrograman
orientasi-objek menekankan konsep berikut: Kelas — kumpulan atas definisi data
dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh
‘class of dog’ adalah suatu unit yang terdiri atas definisi-definisi data dan
fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing.
Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman
berorientasi object. Sebuah class secara tipikal sebaiknya dapat dikenali oleh
seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada,
dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri
dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan
OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan
aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara
seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program
ataupun sebaliknya. Objek – membungkus data dan fungsi bersama menjadi suatu
unit dalam sebuah program; objek merupakan dasar dari modularitas dan struktur
dalam sebuah program komputer berorientasi objek. Abstraksi – Kemampuan sebuah
program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan
untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari
“pelaku” abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya,
dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan
bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga
dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah
pengabstrakan. Enkapsulasi – Memastikan pengguna sebuah objek tidak dapat
mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya
metode dalam objek tersebut yang diberi izin untuk mengakses keadaannya. Setiap
objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat
berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung
kepada representasi dalam objek tersebut. Polimorfisme melalui pengiriman
pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek
dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman
pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim.
Contohnya, bila sebuah burung menerima pesan “gerak cepat”, dia akan
menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama,
dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang
sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut
polimorfisme karena sebuah variabel tungal dalam program dapat memegang
berbagai jenis objek yang berbeda selagi program berjalan, dan teks program
yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda
dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang
mencapai polimorfisme melalui penggunaan fungsi kelas-pertama. Dengan
menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat
bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi
objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh
anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris,
petugas administrasi data dan lainnya. Misal manager tersebut ingin memperoleh
data dari bag administrasi maka manager tersebut tidak harus mengambilnya
langsung tetapi dapat menyuruh petugas bag administrasi untuk mengambilnya.
Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara
mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui
objek petugas adminiistrasi. Jadi untuk menyelesaikan suatu masalah dengan
kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi
tugasnya sendiri.
Bahasa pemrograman yang mendukung OOP antara
lain:
Visual Foxpro Java C++ Pascal (bahasa
pemrograman) Visual Basic.NET SIMULA Smalltalk Ruby Python PHP C# Delphi Eiffel
Perl Adobe Flash AS 3.0 Pemrograman berorientasi objek memliki beberapa
keuntungan seperti : Maintenance; program lebih mudah dibaca dan dipahami, dan
pemrograman berorientasi obyek mengontrol kerumitan program hanya dengan
mengijinkan rincian yang dibutuhkan untuk programmer. Pengubahan program
(berupa penambahan atau penghapusan fitur tertentu); perubahan yang dilakukan
antara lain menyangkut penambahan dan penghapusan dalam suatu database program
misalnya. 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. Pemrograman
berorientasi objek sangat cocok digunakan dalam kasus pembuatan software yang
rumit dan kompleks karena memberikan berbagai kemudahan kepada pemrogram
seperti yang telah disebutkan diatas. D. Perbedaan antara Pemrograman
Terstruktur dan Pemrograman Berbasis Objek Berikut perbedaan antara Pemrograman
Terstruktur dan Pemrograman Berbasis objek : Dengan menggunakan PBO maka dalam
melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara
menyelesaikan suatu masalah tersebut (terstruktur), tetapi objek-objek apa yang
dapat melakukan pemecahan masalah tersebut. Sedangkan untuk pemrograman
terstruktur, menggunakan prosedur/tata cara yang teratur untuk mengoperasikan
data struktur. Untuk tata nama, keduanya pun memiliki tatanan yang sama
walaupun memiliki pengertian tersendiri: PBO menggunakan “method” sedangkan
terstruktur menggunakan “function”. Bila di PBO sering didengar mengenai
“objects” maka di terstruktur kita mengenalnya dengan ”modules”. Begitu pula halnya
dengan “message” pada PBO dan “argument” pada terstruktur. “attribute” pada PBO
juga memiliki tatanan nama yang sepadan dengan “variabel” pada pemrograman
terstruktur. Pemrograman berorientasikan objek dikatakan lebih baik apabila
model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih,
kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala
besar. Lebih jauh lagi, pendukung PBO mengklaim bahwa PBO lebih mudah
dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan
PBO lebih mudah dikembangkan dan dirawat. Today Deal $50 Off :
https://goo.gl/efW8Ef
Today Deal $50 Off : https://goo.gl/efW8Ef
Today Deal $50 Off : https://goo.gl/efW8Ef

0 komentar: