1. Q3M1 – OOP C# Dudy Fathan Ali S.Kom
Object Oriented Programming
Q3M1
Dudy Fathan Ali, S.Kom (DFA)
2016
CEP - CCIT
Fakultas Teknik Universitas Indonesia
2. Manfaat Materi Ajar
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
o Mahasiswa dapat mempelajari konsep pemrograman
berorientasi objek (object-oriented) yang berbeda dari
konsep pemrograman prosedural dan dapat diaplikasikan
dalam kasus real
3. Target Materi Ajar
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
o Mahasiswa memiliki kemampuan pemrograman
berorientasi objek untuk menganalisa dan memecahkan
kasus
4. Standarisasi Project Q3M1
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
o Mahasiswa diwajibkan membuat aplikasi berbasis console
dengan mengimplementasikan konsep OOP dan melakukan
pengolahan data dari file teks.
5. Pendahuluan
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
Algoritma?
Program Komputer?
Algoritma adalah langkah-langkah
dalam suatu proses.
Program Komputer adalah
kumpulan instruksi untuk komputer.
“Setiap Program Komputer adalah Algoritma”
6. Pendahuluan
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
• Struktur yang kompleks
• Memiliki media penyimpanan yang kecil
• Program yang dijalankan lebih simple
• Komputer hanya bisa mengeksekusi 1 program dalam waktu yang sama
Komputer “Jadul”
7. Pendahuluan
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
• Lebih kecil
• Struktur lebih kompleks
• Mengeksekusi banyak program diwaktu yang sama
• Para ahli telah menggagas tentang Object dan Object Oriented Programming
untuk membantu mengikuti perkembangan dan kompleksitas dari komputer
modern
Komputer Modern
8. Procedural Programming
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
o Serangkaian tugas diselesaikan dalam bentuk fungsi
atau prosedur
o Fungsi dan prosedur menjadi fokus utama
o Fungsi dan prosedur digunakan untuk memanipulasi
data
o Programmer harus mem-break down suatu problem
menjadi sub problem yang lebih simpel
o Cara pandang → program adalah suatu urutan
instruksi
9. Object-Oriented Programming
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
o Fokus utama pada Class dan Object
o Fungsi dan data bukan menjadi dua hal yang terpisah
o Fungsi dan data menjadi satu kesatuan yang disebut
dengan Object
o Cara pandang → program adalah serangkaian object
yang bekerjasama untuk menyelesaikan suatu
problem
12. Object-Oriented
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
o Apa itu Object?
• Seluruh benda di sekitar Anda dapat dianggap
sebagai object
• Contoh: dogs, komputer, meja, gelas, dll
13. Object-Oriented
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
o Karakteristik Object
• Setiap object memiliki atribut sebagai status (state)
• Setiap object memiliki tingkah laku (behaviour)
• Contoh: Object Sepeda
• State : jumlah roda, warna, merk.
• Behaviour: kecepatan naik, kecepatan turun, pindah gigi
sepeda.
14. Object-Oriented
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
o Karakteristik Object
• Penggambaran pemrograman berorientasi object =
penggambaran pada dunia nyata
• Pada pemrograman berorientasi object:
• State disimpan pada → variable
• Tingkah laku disimpan pada → method
• Mengidentifikasi state dan behaviour adalah
langkah awal dan terbaik dalam cara berfikir OO
15. Object-Oriented
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
Grady Booch
American Software Engineer
Object memiliki karakteristik!
State
Behaviour
Identity
16. Object-Oriented
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
Apakah Mobil
Termasuk Object?
Ya!
State : warna, merk, bbm, kapasitas
Behaviour : maju, mundur (bergerak)
Identity : plat nomor mobil
18. Object-Oriented
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
o Apa itu Class?
• Definisi Class: merupakan template untuk membuat
object
• Definisi Class: merupakan prototipe/blueprints yang
mendefinisikan variable dan method secara umum
• Object merupakan permisalan dari suatu Class
• Proses pembentukan Object dari suatu Class
disebut dengan instantiation
• Object disebut juga dengan instances
19. Object-Oriented
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
Class : Mobil
Object : Toyota, Daihatsu
Class : Toyota
Object : Kijang, Yaris, Camry
Class : Manusia
Object : Irfan, Budi, Iwan
Class : Binatang
Object : Rusa, Kambing, Kucing
Perhatikan hubungan antara class dengan object berikut ini:
20. Object-Oriented
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
Perhatikan hubungan antara class dengan object berikut ini:
Class : Mobil
Object : Toyota, Daihatsu
Attribute/ Variabel :
Merek String
BBM String
Kapasitas int
Class : Manusia
Object : Irfan, Budi, Iwan
Attribute/ Variabel :
Nama String
Jenis_Kelamin String
Tinggi int
Berat int
21. Object-Oriented
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
Perhatikan hubungan antara class dengan object berikut ini:
Class : Mobil
Object : Toyota, Daihatsu
Attribute/ Variabel :
Merek String
BBM String
Kapasitas int
Behaviour :
Hidupkan_Mesin()
Hidupkan_Lampu()
Ganti_Gigi()
Class : Manusia
Object : Irfan, Budi, Iwan
Attribute/ Variabel :
Nama String
Jenis_Kelamin String
Tinggi int
Berat int
Behaviour :
Makan ()
Bernafas()
Berjalan()
22. Analogi OOP
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
Kita akan mencoba untuk
menganalogikan OOP
dengan menggunakan
benda disamping!
Yang akan dilakukan
adalah mendeskripsikan
“Topi Berfikir” disamping
berdasarkan hal yang bisa
dilakukannya.
23. Analogi OOP
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
o Topi ini memiliki dua slot
untuk menyimpan kertas
yang sudah ditulis kalimat.
o Jika tombol warna hijau
ditekan, maka topi akan
membacakan kertas yang
sudah dimasukkan ke slot
warna hijau.
o Begitu juga dengan tombol
merah
27. Implementasi Analogi OOP
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
class topi_berfikir
{
….
};
• Kita bisa
mengimplementasikan
topi berfikir sebagai suatu
Class.
28. Implementasi Analogi OOP
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
class topi_berfikir
{
string k_hijau;
string k_merah;
};
• Class akan memiliki 2
komponen yaitu
k_hijau dan k_merah.
Komponen ini akan
berperan sebagai media
penyimpanan kertas yang
akan dimasukkan.
29. Implementasi Analogi OOP
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
class topi_berfikir
{
string k_hijau;
string k_merah;
fslot(k_hijau,k_merah)
{
……;
}
t_hijau()
{
……;
}
t_merah()
{
……;
}
};
• Class ini akan memiliki 3
fungsi yaitu :
• Fungsi pada saat
memasukkan kertas
(f_slot)
• Fungsi pada saat
tombol hijau ditekan
(t_hijau)
• Fungsi pada saat
tombol merah ditekan
(t_merah)
30. Implementasi Analogi OOP
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
Static void main()
{
}
• Pada saat topi ini akan
dijalankan, maka program
membutuhkan 1 fungsi
utama untuk memanggil
class topi berfikir ini.
31. Implementasi Analogi OOP
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
Static void main()
{
topi_berfikir murid;
}
• Pada kode disamping,
anda telah membuat 1
object dengan nama
“murid” dari class
topi_berfikir.
• “murid” akan memiliki
sifat dan karakteristik dari
kelas topi_berfikir.
32. Implementasi Analogi OOP
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
Static void main()
{
topi_berfikir murid;
murid.f_slot;
}
• Pada saat kertas
dimasukan, maka object
akan memanggil fungsi
f_slot();
• Cara pemanggilan dengan
menyertakan tanda titik
sebelum nama fungsi yang
akan dipanggil.
33. Implementasi Analogi OOP
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
Static void main()
{
topi_berfikir murid;
murid.f_slot(“nasi”,”goreng”);
}
• Perlu diingat bahwa
f_slot
membutuhkan 2
inputan yang harus
disertakan.
• Anda bisa langsung
memasukkan
kalimat kedalam
f_slot.
34. Implementasi Analogi OOP
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
Static void main()
{
topi_berfikir murid;
murid.f_slot(“nasi”,”goreng”);
murid.t_hijau();
murid.t_merah();
murid.t_merah();
murid.t_hijau();
murid.t_hijau();
}
• Sekarang, anda
tinggal memanggil
fungsi pada saat
menekan tombol
pada topi.
• Kata apakah yang
akan disebutkan
oleh topi berfikir?
35. Implementasi Analogi OOP
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
Static void main()
{
topi_berfikir murid;
topi_berfikir guru;
murid.f_slot(“bakso”,”ketoprak”);
guru.f_slot(“enak”,”tidak enak”);
murid.t_hijau();
guru.t_merah();
murid.t_merah();
guru.t_hijau();
}
Identifikasilah kode dibawah, kata apa saja yang akan
disebutkan oleh Topi Berfikir?
36. Implementasi Analogi OOP
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
Static void main()
{
topi_berfikir murid;
topi_berfikir guru;
murid.f_slot(“bakso”,”ketoprak”);
guru.f_slot(“enak”,”tidak enak”);
murid.t_hijau();
guru.t_merah();
murid.t_merah();
guru.t_hitam();
}
Identifikasilah kode dibawah, kata apa saja yang akan
disebutkan oleh Topi Berfikir?
Apa yang terjadi
apabila kode
disamping
dieksekusi?
37. Latihan Mandiri
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
o Buatlah minimal 10 Object yang ada disekitar anda dengan
mengidentifikasi State, Behaviour, dan Identity pada
masing-masing Object
o Tulislah jawaban anda pada kertas selembar, jangan lupa
untuk mencantumkan nama, tanggal, dan kelas.
-- Selamat Mengerjakan --