SlideShare a Scribd company logo
1 of 28
Download to read offline
Object Oriented
Programming
Introduction
Tata Tertib Perkuliahan Daring
• Menggunakan Nama Asli
• Menyalakan Video (memastikan anda mengikuti
kuliah)
• Presensi di SIM
• Mute pada saat perkuliahan kecuali diberi
pertanyaan / bertanya / diijinkan dosen
• Hadir tepat waktu, keterlambatan maksimal 15
menit setelah kelas dimulai
Kontrak Kuliah
• Tugas & Quiz (Jawab Pertanyaan) = 60%
• Kehadiran = 10%
• Ujian = 30%
Kuliah berbasis skill, mahasiswa aktif mempelajari
materi dan ditunjukkan di dalam kelas saat
perkuliahan
Paradigma Pemrograman &
Model Komputasi
• Paradigma menurut KBBI : model dalam teori ilmu
pengetahuan; kerangka berpikir
• Paradigma pemrograman = paradigma model
komputasi.
• Paradigma pemrograman adalah bentuk
pemecahan masalah mengikuti aliran atau “genre”
tertentu dari program dan bahasa.
Paradigma Pemrograman &
Model Komputasi
Empat paradigma pemrograman yang sangat mendasar dan
berbeda pada tiga dekade
terakhir adalah:
• Imperative programming
• Object-oriented programming
• Functional programming
• Logic programming
Beberapa bahasa dirancang mendukung lebih dari satu paradigma.
Sebagai contoh, C++ merupakan campuran antara bahasa
imperative dan object- oriented, sedangkan Leda dirancang untuk
mendukung paradigma pemrograman imperative, object-oriented,
functional, dan logic.
Imperative Programming
• Merupakan paradigma pemrograman paling tua
• Pada model ini, program dan variabelnya disimpan
bersama, dan program terdiri atas perintah-
perintah yang membentuk perhitungan,
penyimpanan nilai ke variabel, membaca input,
menghasilkan output, atau mengarahkan kontrol
dari deret instruksi dalam program.
Imperative Programming
• Abstraksi prosedural/terstruktur membentuk blok
untuk imperative programming, misalnya
penugasan (assignment), pengulangan (loop),
sekuensial, pernyataan kondisi, dan penanganan
pengecualian (exception handling).
• Bahasa Pemrograman yang masuk ke dalam
paradigma ini antara lain Cobol, Fortran, C, Ada,
dan Perl.
Object-Oriented Programming
(OOP)
• Menyediakan model dimana program merupakan
kumpulan obyek yang berinteraksi satu sama lain.
• Program dalam OOP membungkus (encapsulate)
data dan fungsi (atau prosedur) dalam suatu obyek
yang umumnya diimplementasikan sebagai suatu
kelas (class).
• Klasifikasi obyek, pewarisan, dan message passing
merupakan prinsip- prinsip dasar dalam OOP.
• Bahasa yang mendukung OOP antara lain Smalltalk,
C++, Java, dan C#.
Functional Programming
• Memodelkan suatu masalah komputasi sebagai kumpulan
fungsi matematiks, dimana setiap input merupakan domain
atau daerah fungsi, dan output berupa range atau wilayah
fungsi.
• Hal ini menjadikan functional programming sebagai bagian
dari bahasa yang tidak membenarkan pernyataan
penugasan, seperti x = x + 1, yang tidak berlaku baik pada
functional programming maupun dalam matematika.
• Fungsi berinteraksi dengan yang lain menggunakan
komposisi fungsi, kondisional, dan rekursif.
• Bahasa pemrograman yang masuk dalam kelompok ini
adalah Lisp (List Programming), Scheme, Haskell, dan ML
(MetaLanguage).
Logic Programming
• Disebut sebagai declarative programming
memodelkan masalah dengan menggunakan
bahasa deklaratif, yang diimplementasikan dalam
bentuk fakta dan aturan.
• Maka dari itu, bahasa ini juga disebut sebagai rule-
based languages.
• Contoh bahasa pemrograman kelompok ini adalah
Prolog (Programming in Logic).
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.
• Prinsip dari pemrograman terstruktur adalah Apabila kita
sudah sampai pada langkah tertentu, kita tidak boleh
mengeksekusi langkah sebelumnya. Hal ini dikecualikan
pada langkah-langkah untuk proses berulang.
• Bahasa pemrograman yang mendukung pemrograman
terstruktur: Cobol, Prolog, C, Pascal, Delphi, Borland Delphi,
dan lain-lain.
Prosedural VS OOP
Bahasa Prosedural
• Serangkaian tugas diselesaikan dalam bentuk fungsi
atau prosedur.
• Cara pandang à program adalah suatu urutan
instruksi.
• Programer harus me-break down suatu problem
menjadi sub problem yang lebih simple.
• Fungsi dan prosedur menjadi fokus utama.
• Fungsi dan prosedur digunakan untuk
memanipulasi data.
• Data bersifat pasif.
Pemrograman Prosedural
F(1)
F(2)
….
A
B
C
Pemrograman Berorientasi Obyek
• Fungsi dan data bukan menjadi dua hal yang
terpisah.
• Fungsi dan data menjadi satu kesatuan yang
disebut sebagai obyek aktif.
• Cara pandang à program adalah serangkaian
obyek yang bekerjasama untuk menyelesaikan
suatu problem.
Pemrograman berorientasi obyek
F(1)
F(2)
….
Konsep OOP
Apa itu Obyek (Object)
• Semua benda yang ada di dunia nyata dapat
dianggap sebagai obyek.
• Contoh : rumah, mobil, sepeda motor, gelas,
komputer, meja dll.
• Object dalam OOP juga dapat
merepresentasikan object dalam dunia
nyata.
Object
• Setiap obyek memiliki atribut / properti / state.
• Setiap obyek memiliki tingkah laku / method /
function
• Contoh: obyek sepeda
• Memiliki atribut à: warna, jumlah roda, merk, dll.
• Memiliki method à : mempercepat, melambat,
perpindahan gigi sepeda, berhenti, dll
Object
•Penggambaran pemrograman
berorientasi obyek = penggambaran
pada dunia nyata.
•Pada pemrograman berorientasi obyek:
• Atribut (state) disimpan pada à variabel
• Tingkah laku disimpan pada à method
OOP Characteristics
Suatu program disebut pemrograman berbasis obyek
(OOP) karena diantaranya terdapat :
• Kelas
• Objek
• Encapsulation (pembungkusan)
• Inheritance (pewarisan)
• Polymorphism (polimorfisme –perbedaan bentuk)
Kelas (Class)
• Definisi class: merupakan template/ prototipe /
blue prints yang mendefinisikan variabel dan
method secara umum untuk membuat object.
• Obyek merupakan hasil instansiasi dari suatu kelas.
• Proses pembentukan obyek dari suatu class disebut
dengan instantiation.
• Obyek disebut juga instances di dalam OOP
Class and Object
Class in UML
Class in Java
Kelebihan OOP
•Reusabilitas
•Fleksibilitas lebih tinggi
•Ekstensibilitas
•Less maintenance
Istilah-istilah dalam OOP
• Enkapsulasi à menyembunyikan struktur
data dan implementasi suatu class.
• Inheritansi à merepresentasikan
keterhubungan struktural antar class
• Polymorphism à kemampuan untuk
merepresentasikan 2 bentuk obyek yang
berbeda
• And more..
Terima Kasih
• Next programming with Java SE…

More Related Content

Similar to OOP DAN PARADIGMA PEMROGRAMAN

PERTEMUAN 2-KONSEP OOP.ppt
PERTEMUAN 2-KONSEP OOP.pptPERTEMUAN 2-KONSEP OOP.ppt
PERTEMUAN 2-KONSEP OOP.pptarfa442827
 
Modul 1 Algoritma Dan Pemrograman II
Modul 1 Algoritma Dan Pemrograman IIModul 1 Algoritma Dan Pemrograman II
Modul 1 Algoritma Dan Pemrograman IIsyahril17
 
Object Oriented Programming - Introduction
Object Oriented Programming - IntroductionObject Oriented Programming - Introduction
Object Oriented Programming - IntroductionDudy Ali
 
2. konsep Pemrograman Berorientasi Obyek
2. konsep Pemrograman Berorientasi Obyek2. konsep Pemrograman Berorientasi Obyek
2. konsep Pemrograman Berorientasi ObyekTeknik Informatika UII
 
Pengenalan C++ dan Pemograman Berorientasi Objek
Pengenalan C++ dan Pemograman Berorientasi ObjekPengenalan C++ dan Pemograman Berorientasi Objek
Pengenalan C++ dan Pemograman Berorientasi ObjekTetty Prasetyo
 
Pertemuan 2 Konsep Dasar Pemrograman OOP
Pertemuan 2 Konsep Dasar Pemrograman OOPPertemuan 2 Konsep Dasar Pemrograman OOP
Pertemuan 2 Konsep Dasar Pemrograman OOPProdiTIPenusa
 
Bidangpembelajaran5 1-120925005019-phpapp01
Bidangpembelajaran5 1-120925005019-phpapp01Bidangpembelajaran5 1-120925005019-phpapp01
Bidangpembelajaran5 1-120925005019-phpapp01Bazlin Ahmad
 
Bab 1a Paradigma Bahasa Pemrograman
Bab 1a   Paradigma Bahasa PemrogramanBab 1a   Paradigma Bahasa Pemrograman
Bab 1a Paradigma Bahasa PemrogramanDimara Hakim
 
Uts pemrograman berbasis obj
Uts pemrograman berbasis objUts pemrograman berbasis obj
Uts pemrograman berbasis objJulianGultom2
 
Second task bu okta 2 edit
Second task bu okta 2 editSecond task bu okta 2 edit
Second task bu okta 2 editFhaiz Al-Ghazaly
 
rekayaperangkatlunakmateri1pbokelasxisemester1.pptx
rekayaperangkatlunakmateri1pbokelasxisemester1.pptxrekayaperangkatlunakmateri1pbokelasxisemester1.pptx
rekayaperangkatlunakmateri1pbokelasxisemester1.pptxLuthfiFadhlullah1
 

Similar to OOP DAN PARADIGMA PEMROGRAMAN (20)

PERTEMUAN 2-KONSEP OOP.ppt
PERTEMUAN 2-KONSEP OOP.pptPERTEMUAN 2-KONSEP OOP.ppt
PERTEMUAN 2-KONSEP OOP.ppt
 
1. Pengantar PBO.pdf
1. Pengantar PBO.pdf1. Pengantar PBO.pdf
1. Pengantar PBO.pdf
 
Rpp
RppRpp
Rpp
 
Algoritma Pemrograman
Algoritma PemrogramanAlgoritma Pemrograman
Algoritma Pemrograman
 
Modul 1 Algoritma Dan Pemrograman II
Modul 1 Algoritma Dan Pemrograman IIModul 1 Algoritma Dan Pemrograman II
Modul 1 Algoritma Dan Pemrograman II
 
Object Oriented Programming - Introduction
Object Oriented Programming - IntroductionObject Oriented Programming - Introduction
Object Oriented Programming - Introduction
 
2. konsep Pemrograman Berorientasi Obyek
2. konsep Pemrograman Berorientasi Obyek2. konsep Pemrograman Berorientasi Obyek
2. konsep Pemrograman Berorientasi Obyek
 
Berken
BerkenBerken
Berken
 
Pengenalan C++ dan Pemograman Berorientasi Objek
Pengenalan C++ dan Pemograman Berorientasi ObjekPengenalan C++ dan Pemograman Berorientasi Objek
Pengenalan C++ dan Pemograman Berorientasi Objek
 
Pertemuan 2 Konsep Dasar Pemrograman OOP
Pertemuan 2 Konsep Dasar Pemrograman OOPPertemuan 2 Konsep Dasar Pemrograman OOP
Pertemuan 2 Konsep Dasar Pemrograman OOP
 
TD-635-01-PSBO
TD-635-01-PSBOTD-635-01-PSBO
TD-635-01-PSBO
 
RPS OOP
RPS OOPRPS OOP
RPS OOP
 
Bidang pembelajaran-5-1
Bidang pembelajaran-5-1Bidang pembelajaran-5-1
Bidang pembelajaran-5-1
 
Bidangpembelajaran5 1-120925005019-phpapp01
Bidangpembelajaran5 1-120925005019-phpapp01Bidangpembelajaran5 1-120925005019-phpapp01
Bidangpembelajaran5 1-120925005019-phpapp01
 
Bab 1a Paradigma Bahasa Pemrograman
Bab 1a   Paradigma Bahasa PemrogramanBab 1a   Paradigma Bahasa Pemrograman
Bab 1a Paradigma Bahasa Pemrograman
 
Ai 4
Ai 4Ai 4
Ai 4
 
Uts pemrograman berbasis obj
Uts pemrograman berbasis objUts pemrograman berbasis obj
Uts pemrograman berbasis obj
 
Ai 4
Ai 4Ai 4
Ai 4
 
Second task bu okta 2 edit
Second task bu okta 2 editSecond task bu okta 2 edit
Second task bu okta 2 edit
 
rekayaperangkatlunakmateri1pbokelasxisemester1.pptx
rekayaperangkatlunakmateri1pbokelasxisemester1.pptxrekayaperangkatlunakmateri1pbokelasxisemester1.pptx
rekayaperangkatlunakmateri1pbokelasxisemester1.pptx
 

OOP DAN PARADIGMA PEMROGRAMAN

  • 2. Tata Tertib Perkuliahan Daring • Menggunakan Nama Asli • Menyalakan Video (memastikan anda mengikuti kuliah) • Presensi di SIM • Mute pada saat perkuliahan kecuali diberi pertanyaan / bertanya / diijinkan dosen • Hadir tepat waktu, keterlambatan maksimal 15 menit setelah kelas dimulai
  • 3. Kontrak Kuliah • Tugas & Quiz (Jawab Pertanyaan) = 60% • Kehadiran = 10% • Ujian = 30% Kuliah berbasis skill, mahasiswa aktif mempelajari materi dan ditunjukkan di dalam kelas saat perkuliahan
  • 4. Paradigma Pemrograman & Model Komputasi • Paradigma menurut KBBI : model dalam teori ilmu pengetahuan; kerangka berpikir • Paradigma pemrograman = paradigma model komputasi. • Paradigma pemrograman adalah bentuk pemecahan masalah mengikuti aliran atau “genre” tertentu dari program dan bahasa.
  • 5. Paradigma Pemrograman & Model Komputasi Empat paradigma pemrograman yang sangat mendasar dan berbeda pada tiga dekade terakhir adalah: • Imperative programming • Object-oriented programming • Functional programming • Logic programming Beberapa bahasa dirancang mendukung lebih dari satu paradigma. Sebagai contoh, C++ merupakan campuran antara bahasa imperative dan object- oriented, sedangkan Leda dirancang untuk mendukung paradigma pemrograman imperative, object-oriented, functional, dan logic.
  • 6. Imperative Programming • Merupakan paradigma pemrograman paling tua • Pada model ini, program dan variabelnya disimpan bersama, dan program terdiri atas perintah- perintah yang membentuk perhitungan, penyimpanan nilai ke variabel, membaca input, menghasilkan output, atau mengarahkan kontrol dari deret instruksi dalam program.
  • 7. Imperative Programming • Abstraksi prosedural/terstruktur membentuk blok untuk imperative programming, misalnya penugasan (assignment), pengulangan (loop), sekuensial, pernyataan kondisi, dan penanganan pengecualian (exception handling). • Bahasa Pemrograman yang masuk ke dalam paradigma ini antara lain Cobol, Fortran, C, Ada, dan Perl.
  • 8. Object-Oriented Programming (OOP) • Menyediakan model dimana program merupakan kumpulan obyek yang berinteraksi satu sama lain. • Program dalam OOP membungkus (encapsulate) data dan fungsi (atau prosedur) dalam suatu obyek yang umumnya diimplementasikan sebagai suatu kelas (class). • Klasifikasi obyek, pewarisan, dan message passing merupakan prinsip- prinsip dasar dalam OOP. • Bahasa yang mendukung OOP antara lain Smalltalk, C++, Java, dan C#.
  • 9. Functional Programming • Memodelkan suatu masalah komputasi sebagai kumpulan fungsi matematiks, dimana setiap input merupakan domain atau daerah fungsi, dan output berupa range atau wilayah fungsi. • Hal ini menjadikan functional programming sebagai bagian dari bahasa yang tidak membenarkan pernyataan penugasan, seperti x = x + 1, yang tidak berlaku baik pada functional programming maupun dalam matematika. • Fungsi berinteraksi dengan yang lain menggunakan komposisi fungsi, kondisional, dan rekursif. • Bahasa pemrograman yang masuk dalam kelompok ini adalah Lisp (List Programming), Scheme, Haskell, dan ML (MetaLanguage).
  • 10. Logic Programming • Disebut sebagai declarative programming memodelkan masalah dengan menggunakan bahasa deklaratif, yang diimplementasikan dalam bentuk fakta dan aturan. • Maka dari itu, bahasa ini juga disebut sebagai rule- based languages. • Contoh bahasa pemrograman kelompok ini adalah Prolog (Programming in Logic).
  • 11. 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. • Prinsip dari pemrograman terstruktur adalah Apabila kita sudah sampai pada langkah tertentu, kita tidak boleh mengeksekusi langkah sebelumnya. Hal ini dikecualikan pada langkah-langkah untuk proses berulang. • Bahasa pemrograman yang mendukung pemrograman terstruktur: Cobol, Prolog, C, Pascal, Delphi, Borland Delphi, dan lain-lain.
  • 13. Bahasa Prosedural • Serangkaian tugas diselesaikan dalam bentuk fungsi atau prosedur. • Cara pandang à program adalah suatu urutan instruksi. • Programer harus me-break down suatu problem menjadi sub problem yang lebih simple. • Fungsi dan prosedur menjadi fokus utama. • Fungsi dan prosedur digunakan untuk memanipulasi data. • Data bersifat pasif.
  • 15. Pemrograman Berorientasi Obyek • Fungsi dan data bukan menjadi dua hal yang terpisah. • Fungsi dan data menjadi satu kesatuan yang disebut sebagai obyek aktif. • Cara pandang à program adalah serangkaian obyek yang bekerjasama untuk menyelesaikan suatu problem.
  • 18. Apa itu Obyek (Object) • Semua benda yang ada di dunia nyata dapat dianggap sebagai obyek. • Contoh : rumah, mobil, sepeda motor, gelas, komputer, meja dll. • Object dalam OOP juga dapat merepresentasikan object dalam dunia nyata.
  • 19. Object • Setiap obyek memiliki atribut / properti / state. • Setiap obyek memiliki tingkah laku / method / function • Contoh: obyek sepeda • Memiliki atribut à: warna, jumlah roda, merk, dll. • Memiliki method à : mempercepat, melambat, perpindahan gigi sepeda, berhenti, dll
  • 20. Object •Penggambaran pemrograman berorientasi obyek = penggambaran pada dunia nyata. •Pada pemrograman berorientasi obyek: • Atribut (state) disimpan pada à variabel • Tingkah laku disimpan pada à method
  • 21. OOP Characteristics Suatu program disebut pemrograman berbasis obyek (OOP) karena diantaranya terdapat : • Kelas • Objek • Encapsulation (pembungkusan) • Inheritance (pewarisan) • Polymorphism (polimorfisme –perbedaan bentuk)
  • 22. Kelas (Class) • Definisi class: merupakan template/ prototipe / blue prints yang mendefinisikan variabel dan method secara umum untuk membuat object. • Obyek merupakan hasil instansiasi dari suatu kelas. • Proses pembentukan obyek dari suatu class disebut dengan instantiation. • Obyek disebut juga instances di dalam OOP
  • 26. Kelebihan OOP •Reusabilitas •Fleksibilitas lebih tinggi •Ekstensibilitas •Less maintenance
  • 27. Istilah-istilah dalam OOP • Enkapsulasi à menyembunyikan struktur data dan implementasi suatu class. • Inheritansi à merepresentasikan keterhubungan struktural antar class • Polymorphism à kemampuan untuk merepresentasikan 2 bentuk obyek yang berbeda • And more..
  • 28. Terima Kasih • Next programming with Java SE…