Keistimewaan OOP

a. Perkembangan Pemograman.
Sejarah perkembangan pemograman dimulai ketika manusia membutuhkan bantuan mesin, dimana proses aktifitas pekerjaan yang tidak dapat dilakukan sendiri. Disinilah pemograman mengambil peran yang sangat signifikan dalam menunjang pekerjaan manusia. Berdasarkan era terbitnya pemogrman sebagai berikut :
1. Bahasa Pemrograman Tingkat Rendah (Assembler)
STATUS           EQU 20H.0                         ;Bit 0 dari lokasi 20H
ORG 0H                               ;Mulai alamat 0000H
MULAI:            MOV SP,#60H                  ;Set Stack Pointer pd 60H
L1: MOV P1,#0AAH     ; 1010 1010 B
CALL DELAY
MOV P1,#55H                   ; 0101 0101 B
CALL DELAY
SJMP L1
END
DELAY: MOV R0,#100
L11: MOV R1,#10
L2: NOP
DJNZ R1,L2
DJNZ R0,L11
RET
Sumber(elista.akprind.ac.id/upload/files/6240_Assembly06.ppt)
2. Bahasa Pemrograman Tingkat Sedang (C, Pascal, Fortran)
Var I :integer;
Begin
For i:= 1 to 10
Writeln (‘Cetak bilangan ‘”,I,”’);
next
end
3. Bahasa Pemrograman Tingkat Tinggi (Java, C++, C#)
gambar1

Sumber (http://university.romisatriawahono.net/file.php?file=/2/romi-oop-01-oopconcepts-18nov2008.pdf)

b. OOP vs Pemograman Terstruktur

Pemrograman Terstruktur adalah suatu aktifitas pemrograman dengan memperhatikan urutan langkah-langkah perintah secara sistematis, logis , dan tersusun berdasarkan algoritma yang sederhana dan mudah dipahami. Dipelopori pertama kali oleh Professor Edsger Djikstra, PemrogramanTerstruktur mulai berkembang dengan suatu teori yang melemahkan penggunaan statement Go To pada suatu program. Selain memakan (relatif) banyak memori, penggunaan Go To membuat suatu alur penyelesaian masalah menjadi kurang efisien karena urutan penyelesaian menjadi tidak terurut dan cenderung menjadi rumit.
Selain menggunakan paradigma OOP, programer dapat menuliskan struktur kode program yang baik dengan menggunakan Procedural Programming, di mana programer membuat kode program dengan pendekatan procedural dan bekerja dengan function/procedure di dalam aplikasinya. 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 Anda buat. Jika Anda mempertimbangkan pemeliharaan dan pengembangan aplikasi yang e?sien di masa yang akan datang, mungkin Anda dapat memilih pendekatan OOP. Tetapi, jika aplikasi Anda merupakan program sederhana yang dapat dibuat dengan mudah dan cepat dengan function/procedure, gunakanlah pendekatan Procedural Programming. Semua itu juga tergantung pada Anda sebagai programer, untuk memilih pendekatan yang cocok dan lebih baik bagi Anda dalam mengerjakan sebuah aplikasi.

c. Lebih jauh tentang OOP
Untuk menangani berbagai kompleksitas yang terjadi maka programmer mengembangkan teknik yang diberi nama “Objcet Oriented Programming”, dengan tujuan yang sederhana yaitu mengatur kompleksitas dengan memodelkan aspek esensial yang ada. Jika model yang dikembangkan semakin mendekati problem yang akan dipecahkan maka semakin mudah persoalan tersebut dapat dimengerti sehingga program lebih mudah ditulis dan di-maintain.
Problem yang akan dipecahkan dan semua informasi yang berhubungan dengan problem tersebut sering disebut sebagai problem domain. Misal jika anda ingin membuat program untuk keperluan akademik di suatu perguruan tinggi maka problem domainnya adalah semua informasi tentang perguruan tinggi tersebut yang berhubungan dengan pengaturan dosen, mahasiswa, penilaian, jadwal mengajar dan lain-lainnya. Dosen dan Mahasiswa akan menjadi problem domain expert yang dapat membantu anda dalam menyelesaikan masalah.
Design dari Object Oriented harus berisi objek-objek yang ada pada problem domain tersebut. Sebagai contoh jika problem domainnya adalah mesin ATM maka objek didalamnya seharusnya adalah customer, rekening, dll.
Prinsip utama OOP adalah memperlakukan masing-masing bagian dari sebuah aplikasi sebagai object. Berbeda dengan Procedural Programming, di mana sebuah aplikasi terdiri kumpulan function dan instruksi. Masing-masing object pada OOP dapat menerima pesan, memproses data, dan mengirim pesan pada object lainnya, serta dapat dilihat sebagai sebuah item yang berdiri sendiri dengan tanggung jawab dan aturan tertentu. Pada sebuah object, Anda tidak perlu mengetahui bagaimana object itu bekerja. Anda hanya perlu mengetahui apa yang dilakukan object tersebut. Terdapat banyak contoh untuk menjelaskan konsep OOP, hal yang umum diberikan adalah contoh pada dunia nyata. Misalnya sebuah mobil, seekor [censored], ataupun makhluk dan benda lain yang dapat mewakili sebuah object. Tetapi bagi seorang programer, mungkin akan lebih cepat memahami jika diberikan contoh yang langsung diambil dari aplikasi. Bayangkan sebuah aplikasi katalog buku, dimana Anda memiliki kategori buku, kategori ini merupakan suatu object. Kategori tersebut memiliki nama, judul, nomor ID yang unik ataupun deskripsi yang lain. Deskripsi dari object ini disebut dengan property. Pada object kategori, Anda dapat menambahkan, menghapus, atau menampilkan kategori. Aksi-aksi pada object ini (simpan, hapus, tampilkan) disebut dengan method. Anda dapat menggunakan method dan property yang tersedia pada object tersebut pada aplikasi Anda.

Class
Pada OOP, Anda akan sering bekerja dengan class. Class dapat dianalogikan sebagai sebuah template, sebuah struktur yang meliputi method dan property. Pada sebuah class, property (yang mendeskripsikan object) merupakan variabel dan method (yang merupakan aksi dari object) adalah function. Property dan method yang didefinisikan pada class disebut dengan members.

gambar2

Inheritance, Encapsulation, dan Polymorphism
Anda dapat menambahkan fungsi dari sebuah class dengan konse inheritance. Pada contoh katalog, sebuah kategori dapat memiliki satu atau lebih produk, masing-masing produk memiliki kumpulan method dan property-nya yang diturunkan (inherit) dari property dan method dari kategori. Jika diambil contoh dari dunia nyata, Anda mungkin akan dihadapkan dengan silsilah [censored] untuk menjelaskan konsep inheritance, yang bagaimanapun juga, memang merupakan contoh yang sangat tepat. Pada OOP juga dikenal Encapsulation, dimana object terbungkus (terenkapsulasi) sebagai sebuah black box (kotak hitam) di mana Anda tidak perlu mengetahui bagaimana proses bekerjanya sebuah object. Object dapat berinteraksi satu sama lain dengan interface berupa members (kumpulan property dan method) yang dapat diakses. Members dapat dideklarasikan sebagai public, protected, dan private. Konsep Polymorphism digunakan untuk menerangkan dua atau lebih class yang memiliki reaksi berbeda pada pesan yang sama.
Inheritance
gambar3

Encapsulation

gambar4

d. OOP dalamAl-Qur’an
Manusia ketika Allah ciptakan ada dua potensi dalam dirinya yaitu potensi kebaikan dan potensi kejahatan, sebagai mana tertuang dalam surah Asy-Syams ayat 8.

gambar6

Demikianlah Allah memberikan tanda-tanda kekuasanya, penurusan kedua sifat manusia itu menandakan bahwa kitalah yang akan menentukan kemana arah diri kita apakah menuju kebaikan atau keburukan. Jadi mari pelihara sifat baik yang Allah anugerahkan kepada kita.
Wallahu’alam

~ by abumufid on July 28, 2009.

One Response to “Keistimewaan OOP”

  1. ASS.pak klo OOP tentang pengolahan data barang di swalayan itu gmn ya pak???mksh.Ws.wr.wb

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

 
Follow

Get every new post delivered to your Inbox.