Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Object Oriented Programming - Introduction

281 views

Published on

Introduction to OOP

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Object Oriented Programming - Introduction

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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
  10. 10. Procedural VS OOP Q3M1 – OOP C# Dudy Fathan Ali S.Kom Main f1 f2 f3
  11. 11. Procedural VS OOP Q3M1 – OOP C# Dudy Fathan Ali S.Kom Main f1 f2 f3…. …. ….
  12. 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. 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. 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. 15. Object-Oriented Q3M1 – OOP C# Dudy Fathan Ali S.Kom Grady Booch American Software Engineer Object memiliki karakteristik! State Behaviour Identity
  16. 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
  17. 17. Object-Oriented Q3M1 – OOP C# Dudy Fathan Ali S.Kom Apakah Benda Ini Termasuk Object?
  18. 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. 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. 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. 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. 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. 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
  24. 24. Analogi OOP Q3M1 – OOP C# Dudy Fathan Ali S.Kom
  25. 25. Analogi OOP Q3M1 – OOP C# Dudy Fathan Ali S.Kom Nasi Goreng!
  26. 26. Analogi OOP Q3M1 – OOP C# Dudy Fathan Ali S.Kom Enak Banget!
  27. 27. Implementasi Analogi OOP Q3M1 – OOP C# Dudy Fathan Ali S.Kom class topi_berfikir { …. }; • Kita bisa mengimplementasikan topi berfikir sebagai suatu Class.
  28. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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 --
  38. 38. Q3M1 – OOP C# Dudy Fathan Ali S.Kom Thank You! Dudy Fathan Ali, S.Kom dudy.fathan@eng.ui.ac.id

×