Translate

 
Senin, 20 Agustus 2012

Pemrograman Berbasis Object (Object Oriented Programming/OOP) vs Pemrograman Terstruktur

Paradigma pemrograman adalah pandangan mendasar terkait tentang formulasi sebuah solusi dalam bahasa pemrograman. Paradigma pemrograman menjelaskan tentang perspektif/pandangan pemrogram tentang program yang akan dibuatnya. Saat ini terdapat dua jenis paradigm pemrograman yaitu pemrogram berbasis object (OOP) dan pemrograman terstruktur. Dari kedua jenis paradigm ini yang sering digunakan saat ini adalah pemrograman berbasis object. Model data berorientasi objek dapat dikatakan 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.

Pemrograman terstruktur adalah suatu proses untuk mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dalam bentuk program. Paradigma ini pertama kali diungkapkan oleh Professor Edsger Djikstra dari Universitas Eindhoven sekitar tahun 1965. Prinsip dari pemrograman terstruktur adalah bahwa Apabila kita sudah sampai pada langkah tertentu, kita tidak boleh mengeksekusi langkah sebelumnya. Hal ini dikecualikan pada langkah-langkah untuk proses berulang. Sedangkan pemrograman berbasis obyek (OOP) mendasarkan pada konsep object dan interaksinya. Pada jenis paradigm ini, program bukan urut-urutan instruksi tapi diselesaikan oleh obyek-obyek yang bekerjasama untuk menyelesaikan masalah. OO sebagai tool untuk memodelkan sistem di dunia nyata (tujuan bahasa Simula-67) setiap sistem selalu dapat digambarkan melalui object-object penyusunnya dan bagaimana object-object tersebut saling berinteraksi.

Tujuan Pemrograman Terstruktur Tujuan dari pemrograman terstruktur dapat diuraikan sebagai berikut :

a. Untuk meningkatkan kualitas dan kehandalan program

b. Untuk memudahkan pemahaman terhadap isi program

c. Untuk menyederhanakan program

d. Untuk maintenance (pemeliharaan) program

e. Untuk meningkatkan produktifitas program Sifat-sifat Pemrograman 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 dbuthkan relatif rendah

Terdapat beberapa langkah pemrograman terstruktur yaitu : identifikasi masalah, analisis kebutuhan pengguna, penyusunan dan disain algoritma, coding, penyusunan program, evaluasi error, dokumentasi, dan pemeliharaan program. Identifikasi masalah dilakukan untuk memperoleh pemahaman mengenai permasalahan yang ada. Melalui pemahaman ini diharapkan dapat ditemukan solusi optimal dalam memecahkan permasalahan tersebut. Analisis kebutuhan dalam hal ini adalah menentukan spesifikasi fungsi dan fasilitas yang akan diimplementasikan pada program. Analisis kebutuhan pengguna sangat penting dilakukan karena program sepenuhnya disusun untuk memberikan solusi permasalahan pengguna. Analisis kebutuhan dilakukan untuk mengetahui siapa yang akan menggunakan program, apa saja yang akan ditampilkan dan lain-lain. Coding adalah penerjemahan algoritma kedalam kode program. Bahasa pemrograman merupakan jembatan yang menghubungkan manusia dengan komputer. Testing merupakan tahap yang paling penting dalam penyusunan program. Pada tahap ini diharapkan tidak terdapat error sehingga program tidak dapat digunakan, dan permasalahan tidak terpecahkan. Dokumentasi merupakan informasi tambahan untuk lenih memahami kode-kode yang disusun.

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

Kelebihan OO Sebagai Model Representasi

•Natural: mengikuti cara berpikir manusia (manusia memandang dunianya sebagai kumpulan object yang berinteraksi)

•Abstraksi: menjelaskan makna sebuah entitas secara cepat dan mudah

•Enkapsulasi: dapat menyembunyikan detil yang tidak perlu

•Modular: object adalah entitas yang independen

Beda nyata antara prosedural dan OOP

• Prosedural Fokus pada bagaimana cara komputer menangani masalah

• OOP Fokus pada masalah yang ditangani dengan menggunakan computer

Tetapi, tidak ada jawaban yang benar-benar tepat jika Anda diberi pertanyaan: apakah sebaiknya menggunakan OOP atau Procedural Programming? Karena jawabannya sangat relatif, terutama tergantung pada aplikasi yang ingin dibuat. Jika mempertimbangkan pemeliharaan dan pengembangan aplikasi yang eļ¬sien di masa yang akan datang, mungkin dapat memilih pendekatan OOP. Tetapi, jika aplikasi tersebut merupakan program sederhana yang dapat dibuat dengan mudah dan cepat dengan function/procedure, gunakanlah pendekatan Procedural Programming. Pada pemrograman terstruktur, jika ingin membuat perubahan maka harus diubah dari awal karena ada yang namanya variable global dan variable local. Hal itu juga dapat menimbulkan kesulitan dalam mencari error. Semua itu juga tergantung pada Anda sebagai programer, untuk memilih pendekatan yang cocok dan lebih baik bagi Anda dalam mengerjakan sebuah aplikasi.

Kembali pada perbandingan antara OOP dengan Procedural Programming, keduanya memiliki struktur yang baik untuk membuat sebuah aplikasi, di mana OOP menekankan pada penggunaan object sementara Procedural Programming menekankan pada penggunaan function/procedure. Anda dapat melihat persamaannya, yaitu diperlukan kemampuan untuk menuliskan kode program secara terstruktur dan rapi, yang sangat penting untuk pembuatan aplikasi yang membutuhkan team work yang baik, ataupun untuk pengembangan aplikasi di masa yang akan datang.

Definisi dan Pengenalan Algoritma

Definisi

Definisi algoritma adalah urutan langkah-langkah logis penyeselaian masalah yang disusun secara sistematis dan logis. Kata logis (logika) merupakan kata kunci dalam algoritma. Langkah-langkah dalam algoritma harus dapat ditentukan bernilai benar atau salah.

Algoritma Dalam Kehidupan

Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer yang diacu dalam terminologi algoritma. Namun algoritma juga digunakan dalam kehidupan sehari-hari, contohnya resep makanan. Di dalam resep makanan terdapat langkah-langkah yang merupakan algoritma. Selain itu masih banyak contoh algoritma yang lain.

Bahasa Pemrograman

Untuk melaksanakan suatu algoritma diperlukan suatu bahasa pemrograman, contoh bahasa pemrograman adalah : Pascal, C++, Basic, dll. Notasi algoritma dapat diterjemahkan kedalam bahasa pemrograman apapun, dengan kata lain notasi algoritma bersifat independen.

Flowchart

Suatu flowchart adalah suatu representasi secara diagram yang mengilustrasikan urutan dari operasi yang dilakukan untuk mendapatkan suatu hasil. Dengan kata lain, flowchart membantu kita untuk mengerti dan melihat bentuk algoritma dengan menampilkan algoritma dalam simbol-simbol gambar.
Dalam menggambar flowchart, digunakan simbol tertentu seperti diatas. Contoh berikut bisa digunakan untuk lebih mengerti perbedaan kegunaan simbol-simbol tersebut. Misal kita ingin mencari jumlah dari 2 buah bilangan, maka flowchart-nya adalah sebagai berikut :

Contoh lain, misalkan kita ingin mengetahui apakah sebuah bilangan ganjil atau genap. Untuk itu kita harus membuat flowchart seperti ini :
Pseudo Code

Pseudo Code adalah urutan baris algoritma seperti kode pemrograman dan tidak memiliki sintak yang baku. Pseudo Code lebih umum digunakan oleh programmer yang berpengalaman. Akan tetapi, flowchart lebih mudah dimengerti oleh programmer pemula, pseudo code sangat mudah diimplementasikan ke dalam kode program dibandingkan dengan flowchart. Kita bisa bebas menulis pseudo code selama itu mudah dimengerti bagi orang lain. Tetapi disarankan untuk menggunakan keyword yang umum digunakan seperti : if, then, else, while, do, repeat, for, dan lainnya. Dan ikuti gaya penulisan pemrograman seperti Pascal, C++, dll. Perhatikan kode dibawah ini :

   1. Mulai
   2. Masukkan sebuah angka
   3. Masukkan sebuah angka dan tampilkan
   4. Ambil angka yang sebelumnya dan tampilkan
   5. Selesai

Walaupun pseudo code diatas masih bisa dimengerti tetapi ada beberapa statemen yang ambigu. Dari baris kedua, kita tidak tahu kemana angka tersebut disimpan dan kita juga tidak tahu angka yang mana yang dimaksud untuk “angka yang sebelumnya”. Apakah angka yang pertama atau yang kedua. Pseudo Code diatas dapat dimodifikasi menjadi seperti berikut :

   1. Start
   2. Masukkan A
   3. Masukkan B, Tampilkan B
   4. Tampilkan A
   5. End

Pseudo Code diatas lebih baik dibandingkan sebelumnya. Kita bisa dengan jelas melihat dimana angka disimpan dan angka yang mana yang ditampilkan. Sekarang kita akan mengubah flowchart pada gambar 1.2

   1. Start
   2. Masukkan A dan B
   3. C = A + B
   4. Tampilkan C
   5. End

4 komentar:

Rizka Muslimaturrohmah mengatakan...

kita juga punya nih jurnal mengenai object oriented programming, silahkan dikunjungi dan dibaca , berikut linknya
http://repository.gunadarma.ac.id/bitstream/123456789/3407/1/Rancang%20Bangun%20Program%20Aplikasi%20Kamus%20Elektronik%20Untuk%20Perangkat%20Sistem%20Komputasi%20Bergerak%20berbasiskan%20Java%20MIDP.pdf

mahasiswa teladan mengatakan...

saya mahasiswa dari Jurusan Informatika
Artikel yang sangat menarik, bisa buat referensi ini ..
terimakasih ya infonya :)

jams adjah mengatakan...

artikelnya mantap smoga bermanfaat wt yang ingin belajar ane juga mw share cara membuat aplikasi pembayaran angsuran bank menggunakan oop dengan php bis visit cara.byethost7.com

College of Science qassim mengatakan...

I'm really enjoying the design and layout of your website.
Qassim & QU

Posting Komentar

Breaking News

« »
« »
« »
Get this widget

Updates Via E-Mail