Download - Object Oriented Programming - Introduction
![Page 1: Object Oriented Programming - Introduction](https://reader036.vdocument.in/reader036/viewer/2022062523/58b8882e1a28ab44078b77e1/html5/thumbnails/1.jpg)
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
Object Oriented ProgrammingQ3M1
Dudy Fathan Ali, S.Kom (DFA)2016
CEP - CCITFakultas Teknik Universitas Indonesia
![Page 2: Object Oriented Programming - Introduction](https://reader036.vdocument.in/reader036/viewer/2022062523/58b8882e1a28ab44078b77e1/html5/thumbnails/2.jpg)
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
![Page 3: Object Oriented Programming - Introduction](https://reader036.vdocument.in/reader036/viewer/2022062523/58b8882e1a28ab44078b77e1/html5/thumbnails/3.jpg)
Target Materi Ajar
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
o Mahasiswa memiliki kemampuan pemrograman berorientasi objek untuk menganalisa dan memecahkan kasus
![Page 4: Object Oriented Programming - Introduction](https://reader036.vdocument.in/reader036/viewer/2022062523/58b8882e1a28ab44078b77e1/html5/thumbnails/4.jpg)
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.
![Page 5: Object Oriented Programming - Introduction](https://reader036.vdocument.in/reader036/viewer/2022062523/58b8882e1a28ab44078b77e1/html5/thumbnails/5.jpg)
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”
![Page 6: Object Oriented Programming - Introduction](https://reader036.vdocument.in/reader036/viewer/2022062523/58b8882e1a28ab44078b77e1/html5/thumbnails/6.jpg)
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”
![Page 7: Object Oriented Programming - Introduction](https://reader036.vdocument.in/reader036/viewer/2022062523/58b8882e1a28ab44078b77e1/html5/thumbnails/7.jpg)
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
![Page 8: Object Oriented Programming - Introduction](https://reader036.vdocument.in/reader036/viewer/2022062523/58b8882e1a28ab44078b77e1/html5/thumbnails/8.jpg)
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 utamao Fungsi dan prosedur digunakan untuk memanipulasi
datao Programmer harus mem-break down suatu problem
menjadi sub problem yang lebih simpelo Cara pandang → program adalah suatu urutan
instruksi
![Page 9: Object Oriented Programming - Introduction](https://reader036.vdocument.in/reader036/viewer/2022062523/58b8882e1a28ab44078b77e1/html5/thumbnails/9.jpg)
Object-Oriented Programming
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
o Fokus utama pada Class dan Objecto Fungsi dan data bukan menjadi dua hal yang terpisaho Fungsi dan data menjadi satu kesatuan yang disebut
dengan Objecto Cara pandang → program adalah serangkaian object
yang bekerjasama untuk menyelesaikan suatu problem
![Page 10: Object Oriented Programming - Introduction](https://reader036.vdocument.in/reader036/viewer/2022062523/58b8882e1a28ab44078b77e1/html5/thumbnails/10.jpg)
Procedural VS OOP
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
Main
f1 f2 f3
![Page 11: Object Oriented Programming - Introduction](https://reader036.vdocument.in/reader036/viewer/2022062523/58b8882e1a28ab44078b77e1/html5/thumbnails/11.jpg)
Procedural VS OOP
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
Main
f1 f2 f3…. …. ….
![Page 12: Object Oriented Programming - Introduction](https://reader036.vdocument.in/reader036/viewer/2022062523/58b8882e1a28ab44078b77e1/html5/thumbnails/12.jpg)
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
![Page 13: Object Oriented Programming - Introduction](https://reader036.vdocument.in/reader036/viewer/2022062523/58b8882e1a28ab44078b77e1/html5/thumbnails/13.jpg)
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.
![Page 14: Object Oriented Programming - Introduction](https://reader036.vdocument.in/reader036/viewer/2022062523/58b8882e1a28ab44078b77e1/html5/thumbnails/14.jpg)
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
![Page 15: Object Oriented Programming - Introduction](https://reader036.vdocument.in/reader036/viewer/2022062523/58b8882e1a28ab44078b77e1/html5/thumbnails/15.jpg)
Object-Oriented
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
Grady BoochAmerican Software Engineer
Object memiliki karakteristik!
StateBehaviour
Identity
![Page 16: Object Oriented Programming - Introduction](https://reader036.vdocument.in/reader036/viewer/2022062523/58b8882e1a28ab44078b77e1/html5/thumbnails/16.jpg)
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
![Page 17: Object Oriented Programming - Introduction](https://reader036.vdocument.in/reader036/viewer/2022062523/58b8882e1a28ab44078b77e1/html5/thumbnails/17.jpg)
Object-Oriented
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
Apakah Benda Ini Termasuk Object?
![Page 18: Object Oriented Programming - Introduction](https://reader036.vdocument.in/reader036/viewer/2022062523/58b8882e1a28ab44078b77e1/html5/thumbnails/18.jpg)
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
![Page 19: Object Oriented Programming - Introduction](https://reader036.vdocument.in/reader036/viewer/2022062523/58b8882e1a28ab44078b77e1/html5/thumbnails/19.jpg)
Object-Oriented
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
Class : MobilObject : Toyota, Daihatsu
Class : ToyotaObject : Kijang, Yaris, Camry
Class : ManusiaObject : Irfan, Budi, Iwan
Class : BinatangObject : Rusa, Kambing, Kucing
Perhatikan hubungan antara class dengan object berikut ini:
![Page 20: Object Oriented Programming - Introduction](https://reader036.vdocument.in/reader036/viewer/2022062523/58b8882e1a28ab44078b77e1/html5/thumbnails/20.jpg)
Object-Oriented
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
Perhatikan hubungan antara class dengan object berikut ini:
Class : MobilObject : Toyota, DaihatsuAttribute/ Variabel : Merek StringBBM StringKapasitas int
Class : ManusiaObject : Irfan, Budi, Iwan Attribute/ Variabel : Nama StringJenis_Kelamin StringTinggi intBerat int
![Page 21: Object Oriented Programming - Introduction](https://reader036.vdocument.in/reader036/viewer/2022062523/58b8882e1a28ab44078b77e1/html5/thumbnails/21.jpg)
Object-Oriented
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
Perhatikan hubungan antara class dengan object berikut ini:
Class : MobilObject : Toyota, DaihatsuAttribute/ Variabel : Merek StringBBM StringKapasitas intBehaviour : Hidupkan_Mesin()Hidupkan_Lampu()Ganti_Gigi()
Class : ManusiaObject : Irfan, Budi, Iwan Attribute/ Variabel : Nama StringJenis_Kelamin StringTinggi intBerat intBehaviour : Makan ()Bernafas()Berjalan()
![Page 22: Object Oriented Programming - Introduction](https://reader036.vdocument.in/reader036/viewer/2022062523/58b8882e1a28ab44078b77e1/html5/thumbnails/22.jpg)
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.
![Page 23: Object Oriented Programming - Introduction](https://reader036.vdocument.in/reader036/viewer/2022062523/58b8882e1a28ab44078b77e1/html5/thumbnails/23.jpg)
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
![Page 24: Object Oriented Programming - Introduction](https://reader036.vdocument.in/reader036/viewer/2022062523/58b8882e1a28ab44078b77e1/html5/thumbnails/24.jpg)
Analogi OOP
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
Nasi Goreng!
Enak Banget!
![Page 25: Object Oriented Programming - Introduction](https://reader036.vdocument.in/reader036/viewer/2022062523/58b8882e1a28ab44078b77e1/html5/thumbnails/25.jpg)
Analogi OOP
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
Nasi Goreng!
![Page 26: Object Oriented Programming - Introduction](https://reader036.vdocument.in/reader036/viewer/2022062523/58b8882e1a28ab44078b77e1/html5/thumbnails/26.jpg)
Analogi OOP
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
Enak Banget!
![Page 27: Object Oriented Programming - Introduction](https://reader036.vdocument.in/reader036/viewer/2022062523/58b8882e1a28ab44078b77e1/html5/thumbnails/27.jpg)
Implementasi Analogi OOP
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
class topi_berfikir{ ….};
• Kita bisa mengimplementasikan topi berfikir sebagai suatu Class.
![Page 28: Object Oriented Programming - Introduction](https://reader036.vdocument.in/reader036/viewer/2022062523/58b8882e1a28ab44078b77e1/html5/thumbnails/28.jpg)
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.
![Page 29: Object Oriented Programming - Introduction](https://reader036.vdocument.in/reader036/viewer/2022062523/58b8882e1a28ab44078b77e1/html5/thumbnails/29.jpg)
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)
![Page 30: Object Oriented Programming - Introduction](https://reader036.vdocument.in/reader036/viewer/2022062523/58b8882e1a28ab44078b77e1/html5/thumbnails/30.jpg)
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.
![Page 31: Object Oriented Programming - Introduction](https://reader036.vdocument.in/reader036/viewer/2022062523/58b8882e1a28ab44078b77e1/html5/thumbnails/31.jpg)
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.
![Page 32: Object Oriented Programming - Introduction](https://reader036.vdocument.in/reader036/viewer/2022062523/58b8882e1a28ab44078b77e1/html5/thumbnails/32.jpg)
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.
![Page 33: Object Oriented Programming - Introduction](https://reader036.vdocument.in/reader036/viewer/2022062523/58b8882e1a28ab44078b77e1/html5/thumbnails/33.jpg)
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.
![Page 34: Object Oriented Programming - Introduction](https://reader036.vdocument.in/reader036/viewer/2022062523/58b8882e1a28ab44078b77e1/html5/thumbnails/34.jpg)
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?
![Page 35: Object Oriented Programming - Introduction](https://reader036.vdocument.in/reader036/viewer/2022062523/58b8882e1a28ab44078b77e1/html5/thumbnails/35.jpg)
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?
![Page 36: Object Oriented Programming - Introduction](https://reader036.vdocument.in/reader036/viewer/2022062523/58b8882e1a28ab44078b77e1/html5/thumbnails/36.jpg)
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?
![Page 37: Object Oriented Programming - Introduction](https://reader036.vdocument.in/reader036/viewer/2022062523/58b8882e1a28ab44078b77e1/html5/thumbnails/37.jpg)
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 --
![Page 38: Object Oriented Programming - Introduction](https://reader036.vdocument.in/reader036/viewer/2022062523/58b8882e1a28ab44078b77e1/html5/thumbnails/38.jpg)
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
Thank You!Dudy Fathan Ali, S.Kom