Konsep Dasar Pemrograman
Berorientasi Objek (OOP)
Pertemuan 2
Apa itu Pemrograman?
Pemrograman
• Arti program menurut KBBI yaitu urutan perintah yang diberikan
pada komputer untuk membuat fungsi atau tugas tertentu.
Sedangkan, Definisi pemrograman menurut wikipedia yaitu
proses menulis, menguji, dan memperbaiki (debug), dan
memelihara kode yang membangun suatu program komputer.
Jadi, pemrograman adalah proses menentukan serangkaian
instruksi yang dikerjakan untuk melakukan suatu fungsi
spesifik pada komputer.
• Pemrograman itu sendiri pada dasarnya terbagi menjadi
beberapa jenis. Yaitu pemrograman untuk sistem operasi,
aplikasi (desktop /mobile), web, dan pemrograman game.
Setiap jenis pemrograman dapat menggunakan berbagai
bahasa pemrograman. Contohnya seperti java, phyton, ruby,
php, javascript, dan masih banyak lagi. Untuk saat ini bahasa
pemrograman yang masih banyak diminati di seluruh dunia
menurut survey stackoverflow yaitu phyton, javascript, dan
java.
Pemrograman Berorientasi Objek
• Setelah kita mengetahui apa itu pemrograman, saatnya kita
membahas salah satu konsep pemrograman, yaitu pemrograman
berbasis objek. OOP (Object Oriented Programming) adalah suatu
bentuk pemrograman yang direpresentasikan dalam sebuah objek
yang dapat berisi data dimana memiliki fungsi/prosedur atau dikenal
juga sebagai method (tingkah laku). OOP juga dikenal sebagai teknik
pemrograman modern yang lebih efisien dan paling banyak
digunakan.
• Model data berorientasi objek dapat membuat struktur program kita
menjadi lebih rapi dan efektif untuk data dalam jumlah besar dan
kompleks, serta memiliki kemudahan dalam mengubah program atau
memelihara apabila terjadi bug/error. 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 (Procedural)
• Pemrograman Terstruktur merupakan suatu proses untuk
mengimplementasikan urutan langkah penyelesaian suatu masalah
dalam bentuk program dan merupakan suatu aktifitas pemrograman
yang dilakukan dengan memperhatikan setiap urutan dari setiap
langkah perintah yang dikerjakan secara sistematis, logis, dan
tersusun berdasarkan algoritma yang sederhana dan dapat dengan
mudah dipahami. Prinsip dari pemrograman terstruktur adalah Jika
suatu proses telah sampai pada suatu titik ataupun langkah tertentu,
maka proses selanjutnya tidak boleh mengeksekusi langkah
sebelumnya ataupun kembali ke baris sebelumnya, kecuali pada
langkah - langkah untuk proses pengulangan atau berulang (Loop).
Perbedaan Pemrograman Terstruktur
dan Pemrograman Berorientasi Objek
• Perbedaan mendasar antara Pemrograman
Berorientasi Objek dan Pemrograman Terstruktur
adalah dengan menggunakan Pemrograman
Berorientasi Objek 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.
Perbedaan Pemrograman Terstruktur
dan Pemrograman Berorientasi Objek
• Untuk program yang simpel/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.
Perbedaan Pemrograman Terstruktur
dan Pemrograman Berorientasi Objek
• Kalau di Terstruktur ada "function", di
OOP ada "method".
• Kalau di Terstruktur ada "modules", di
OOP ada "objects".
• Kalau di Terstruktur ada "argument",
di OOP ada "message".
• Begitu juga dengan "variabel" yang
ada di Terstruktur, di OOP lebih
dikenal dengan nama "atribut".
Untuk membedakan antara pemrograman prosedural dan pemrograman
berorientasi objek bisa menggunakan kriteria kriteria yang ada pada Tabel
OOP VS Procedural
Pada dasarnya Pemrograman Berorientasi Objek maupun Terstruktur tidak
ada yang dapat dikatakan lebih baik karena keduanya memiliki spesifikasi
tersendiri dalam pemrogramannya. Pemrograman Terstruktur fokus pada
bagaimana cara komputer menangani masalah, sedangkan Pemrograman
Berorientasi Objek fokus pada masalah yang ditangani dengan
menggunakan komputer. Pemrograman Terstruktur biasanya digunakan
untuk membuat program yang simpel/sederhana karena masih mudah dan
tidak banyak dilakukan perubahan yang berarti, sedangkan Pemrograman
Berorientasi Objek cocok digunakan untuk pembuatan software yang rumit
dan kompleks karena memberikan berbagai kemudahan kepada
programmer seperti yang telah disebutkan diatas. Pemrograman
Berorientasi Objek lebih mudah dipelajari bagi pemula dibanding dengan
pendekatan sebelumnya, dan pendekatan Pemrograman Berorientasi Objek
lebih mudah dikembangkan dan dirawat.
Keunggulan Pemrograman Berorientasi Objek?
Kelebihan dari pemrograman berorientasi objek ini sangat berguna bagi
seorang programmer, developer maupun software enginering. Berikut
kelebihan yang disuguhkan model OOP ini :
1. Modifikasi sistem dapat dilakukan tanpa melibatkan banyak modul,
2. Proses maintenance lebih mudah meskipun data dalam jumlah yang
besar dan kompleks,
3. Dapat mempercepat penyelesaian program, karna didukung banyak
library objek,
4. Menghemat memory, mengurangi biaya yang dibutuhkan.
5. Kualitas software yang dihasilkan sangat baik.
Jenis OOP dalam beberapa bahasa pemrograman
• Bahasa OOP Murni adalah sebuah bahasa yang
mengharuskan program ditulis hanya berupa object saja.
Contoh – Eifel, Smaltalk, Ruby, Jade dan lain-lain.
• Bahasa OOP Hybrid adalah bahasa yang dirancang
untuk pemrograman object dengan beberapa elemen
procedural.
• Bahasa OOP Hybrid dalam Web sama seperti Bahasa
OOP Hybrid, yang berbeda hanyalah, konsep ini sering
digunakan dalam pemrograman Web.
Istilah dalam pemrograman
berorientasi objek
Pemrograman berorientasi objek ini didukung oleh
banyak sekali bahasa pemrograman. Antara lain :
PHP, Java, Pyhton, Ruby, C++, Delphi, C#, NET, Perl.
Selain itu setiap bahasa pemrograman menginisiali
OOP ini berbeda-beda, namun memiliki arti dan
konsep yang sama. berikut beberapa istilah dalam
bahasa pemrogrman berorientasi objek.
1. Class adalah blueprint dari object. Sebuah class berisi kode-kode yang
menjelaskan bagaimana sebuah object akan berperilaku dan berinteraksi
satu sama lain.
2. Method adalah fungsi atau perilaku yang ada didalam class. Contoh
dalam dunia nyata seperti objek yang kita amati adalah pohon, maka
methodnya yaitu fotosintesis.
3. Property yaitu variable yang dideklarasikan di dalam sebuah class,
tetapi tidak berada di dalam fungsi atau method dari suatu class.
4. Object merupakan bagian dari program yang didalam nya terdapat
variabel dan method yang saling terhubung.
5. Overloading adalah pemisalan dalam sebuah class. Contoh : class
motor terdapat method berjalan, dan class mobil juga terdapat method
yang sama.
6. Abstraksi yaitu kemampuan sebuah program dalam melewati aspek
informasi yang diproses olehnya, yaitu kemampuan untuk memfokus
pada inti program.
7. Enkapsulasi adalah sebuah metode untuk mengatur struktur class
dengan cara menyembunyikan alur kerja dari class tersebut.
8. Polimorfisme adalah konsep dimana terdapat banyak class yang
memiliki signature method yang sama.
9. Inheritas (pewarisan), konsep inheritas mempunyai fungsi mengatur
polimorfise dan enkapsulasi dengan mengizinkan objek didefinisikan dan
diciptakan dengan jenis khusus dari objek yang sudah ada. Objek-objek
ini dapat membagi dan memperluas perilaku mereka tanpa
mengimplementasikan perilaku tersebut.
10.Dan masih banyak lagi.
Contoh Penerapan OOP pada Objek Dunia Nyata
Misalkan kita ambil contoh pada tubuh manusia. Dari gambar diatas dapat
kita ketahui bahwa :
• Class : Terdiri dari beberapa objek seperti tangan, kaki, kepala, dan lain
sebagainya yang merupakan komponen dari tubuh manusia itu sendiri.
• Attribute private : Atribut yang tidak diizinkan untuk diperlihatkan. yaitu
darah, sel, tulang.
• Method : Merupakan perilaku atau aktifitas dari objek, contohnya memukul,
berjalan,menunduk , dan lain sebagainya. penulisan dari method seperti
pada gambar diatas “main()”.
• Enkapsulasi : Perbedaan dari beberapa method tersebutlah untuk tujuan
adanya enkapsulasi.
Thank you
See You Next Week

Pertemuan 2 Konsep Dasar Pemrograman OOP

  • 2.
  • 3.
  • 4.
    Pemrograman • Arti programmenurut KBBI yaitu urutan perintah yang diberikan pada komputer untuk membuat fungsi atau tugas tertentu. Sedangkan, Definisi pemrograman menurut wikipedia yaitu proses menulis, menguji, dan memperbaiki (debug), dan memelihara kode yang membangun suatu program komputer. Jadi, pemrograman adalah proses menentukan serangkaian instruksi yang dikerjakan untuk melakukan suatu fungsi spesifik pada komputer. • Pemrograman itu sendiri pada dasarnya terbagi menjadi beberapa jenis. Yaitu pemrograman untuk sistem operasi, aplikasi (desktop /mobile), web, dan pemrograman game. Setiap jenis pemrograman dapat menggunakan berbagai bahasa pemrograman. Contohnya seperti java, phyton, ruby, php, javascript, dan masih banyak lagi. Untuk saat ini bahasa pemrograman yang masih banyak diminati di seluruh dunia menurut survey stackoverflow yaitu phyton, javascript, dan java.
  • 5.
    Pemrograman Berorientasi Objek •Setelah kita mengetahui apa itu pemrograman, saatnya kita membahas salah satu konsep pemrograman, yaitu pemrograman berbasis objek. OOP (Object Oriented Programming) adalah suatu bentuk pemrograman yang direpresentasikan dalam sebuah objek yang dapat berisi data dimana memiliki fungsi/prosedur atau dikenal juga sebagai method (tingkah laku). OOP juga dikenal sebagai teknik pemrograman modern yang lebih efisien dan paling banyak digunakan. • Model data berorientasi objek dapat membuat struktur program kita menjadi lebih rapi dan efektif untuk data dalam jumlah besar dan kompleks, serta memiliki kemudahan dalam mengubah program atau memelihara apabila terjadi bug/error. 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.
  • 7.
    Pemrograman Terstruktur (Procedural) •Pemrograman Terstruktur merupakan suatu proses untuk mengimplementasikan urutan langkah penyelesaian suatu masalah dalam bentuk program dan merupakan suatu aktifitas pemrograman yang dilakukan dengan memperhatikan setiap urutan dari setiap langkah perintah yang dikerjakan secara sistematis, logis, dan tersusun berdasarkan algoritma yang sederhana dan dapat dengan mudah dipahami. Prinsip dari pemrograman terstruktur adalah Jika suatu proses telah sampai pada suatu titik ataupun langkah tertentu, maka proses selanjutnya tidak boleh mengeksekusi langkah sebelumnya ataupun kembali ke baris sebelumnya, kecuali pada langkah - langkah untuk proses pengulangan atau berulang (Loop).
  • 8.
    Perbedaan Pemrograman Terstruktur danPemrograman Berorientasi Objek • Perbedaan mendasar antara Pemrograman Berorientasi Objek dan Pemrograman Terstruktur adalah dengan menggunakan Pemrograman Berorientasi Objek 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.
  • 9.
    Perbedaan Pemrograman Terstruktur danPemrograman Berorientasi Objek • Untuk program yang simpel/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.
  • 10.
    Perbedaan Pemrograman Terstruktur danPemrograman Berorientasi Objek • Kalau di Terstruktur ada "function", di OOP ada "method". • Kalau di Terstruktur ada "modules", di OOP ada "objects". • Kalau di Terstruktur ada "argument", di OOP ada "message". • Begitu juga dengan "variabel" yang ada di Terstruktur, di OOP lebih dikenal dengan nama "atribut".
  • 11.
    Untuk membedakan antarapemrograman prosedural dan pemrograman berorientasi objek bisa menggunakan kriteria kriteria yang ada pada Tabel
  • 12.
    OOP VS Procedural Padadasarnya Pemrograman Berorientasi Objek maupun Terstruktur tidak ada yang dapat dikatakan lebih baik karena keduanya memiliki spesifikasi tersendiri dalam pemrogramannya. Pemrograman Terstruktur fokus pada bagaimana cara komputer menangani masalah, sedangkan Pemrograman Berorientasi Objek fokus pada masalah yang ditangani dengan menggunakan komputer. Pemrograman Terstruktur biasanya digunakan untuk membuat program yang simpel/sederhana karena masih mudah dan tidak banyak dilakukan perubahan yang berarti, sedangkan Pemrograman Berorientasi Objek cocok digunakan untuk pembuatan software yang rumit dan kompleks karena memberikan berbagai kemudahan kepada programmer seperti yang telah disebutkan diatas. Pemrograman Berorientasi Objek lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan Pemrograman Berorientasi Objek lebih mudah dikembangkan dan dirawat.
  • 13.
    Keunggulan Pemrograman BerorientasiObjek? Kelebihan dari pemrograman berorientasi objek ini sangat berguna bagi seorang programmer, developer maupun software enginering. Berikut kelebihan yang disuguhkan model OOP ini : 1. Modifikasi sistem dapat dilakukan tanpa melibatkan banyak modul, 2. Proses maintenance lebih mudah meskipun data dalam jumlah yang besar dan kompleks, 3. Dapat mempercepat penyelesaian program, karna didukung banyak library objek, 4. Menghemat memory, mengurangi biaya yang dibutuhkan. 5. Kualitas software yang dihasilkan sangat baik.
  • 14.
    Jenis OOP dalambeberapa bahasa pemrograman • Bahasa OOP Murni adalah sebuah bahasa yang mengharuskan program ditulis hanya berupa object saja. Contoh – Eifel, Smaltalk, Ruby, Jade dan lain-lain. • Bahasa OOP Hybrid adalah bahasa yang dirancang untuk pemrograman object dengan beberapa elemen procedural. • Bahasa OOP Hybrid dalam Web sama seperti Bahasa OOP Hybrid, yang berbeda hanyalah, konsep ini sering digunakan dalam pemrograman Web.
  • 15.
    Istilah dalam pemrograman berorientasiobjek Pemrograman berorientasi objek ini didukung oleh banyak sekali bahasa pemrograman. Antara lain : PHP, Java, Pyhton, Ruby, C++, Delphi, C#, NET, Perl. Selain itu setiap bahasa pemrograman menginisiali OOP ini berbeda-beda, namun memiliki arti dan konsep yang sama. berikut beberapa istilah dalam bahasa pemrogrman berorientasi objek.
  • 16.
    1. Class adalahblueprint dari object. Sebuah class berisi kode-kode yang menjelaskan bagaimana sebuah object akan berperilaku dan berinteraksi satu sama lain. 2. Method adalah fungsi atau perilaku yang ada didalam class. Contoh dalam dunia nyata seperti objek yang kita amati adalah pohon, maka methodnya yaitu fotosintesis. 3. Property yaitu variable yang dideklarasikan di dalam sebuah class, tetapi tidak berada di dalam fungsi atau method dari suatu class. 4. Object merupakan bagian dari program yang didalam nya terdapat variabel dan method yang saling terhubung. 5. Overloading adalah pemisalan dalam sebuah class. Contoh : class motor terdapat method berjalan, dan class mobil juga terdapat method yang sama.
  • 17.
    6. Abstraksi yaitukemampuan sebuah program dalam melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti program. 7. Enkapsulasi adalah sebuah metode untuk mengatur struktur class dengan cara menyembunyikan alur kerja dari class tersebut. 8. Polimorfisme adalah konsep dimana terdapat banyak class yang memiliki signature method yang sama. 9. Inheritas (pewarisan), konsep inheritas mempunyai fungsi mengatur polimorfise dan enkapsulasi dengan mengizinkan objek didefinisikan dan diciptakan dengan jenis khusus dari objek yang sudah ada. Objek-objek ini dapat membagi dan memperluas perilaku mereka tanpa mengimplementasikan perilaku tersebut. 10.Dan masih banyak lagi.
  • 18.
    Contoh Penerapan OOPpada Objek Dunia Nyata
  • 19.
    Misalkan kita ambilcontoh pada tubuh manusia. Dari gambar diatas dapat kita ketahui bahwa : • Class : Terdiri dari beberapa objek seperti tangan, kaki, kepala, dan lain sebagainya yang merupakan komponen dari tubuh manusia itu sendiri. • Attribute private : Atribut yang tidak diizinkan untuk diperlihatkan. yaitu darah, sel, tulang. • Method : Merupakan perilaku atau aktifitas dari objek, contohnya memukul, berjalan,menunduk , dan lain sebagainya. penulisan dari method seperti pada gambar diatas “main()”. • Enkapsulasi : Perbedaan dari beberapa method tersebutlah untuk tujuan adanya enkapsulasi.
  • 20.