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
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
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..