Object Oriented Programming - Introduction
-
Upload
dudy-ali -
Category
Technology
-
view
77 -
download
2
Transcript of Object Oriented Programming - Introduction
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
Object Oriented ProgrammingQ3M1
Dudy Fathan Ali, S.Kom (DFA)2016
CEP - CCITFakultas Teknik Universitas Indonesia
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
Target Materi Ajar
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
o Mahasiswa memiliki kemampuan pemrograman berorientasi objek untuk menganalisa dan memecahkan kasus
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.
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”
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”
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
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
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
Procedural VS OOP
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
Main
f1 f2 f3
Procedural VS OOP
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
Main
f1 f2 f3…. …. ….
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
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.
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
Object-Oriented
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
Grady BoochAmerican Software Engineer
Object memiliki karakteristik!
StateBehaviour
Identity
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
Object-Oriented
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
Apakah Benda Ini Termasuk Object?
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
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:
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
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()
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.
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
Analogi OOP
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
Nasi Goreng!
Enak Banget!
Analogi OOP
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
Nasi Goreng!
Analogi OOP
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
Enak Banget!
Implementasi Analogi OOP
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
class topi_berfikir{ ….};
• Kita bisa mengimplementasikan topi berfikir sebagai suatu Class.
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.
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)
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.
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.
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.
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.
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?
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?
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?
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 --
Q3M1 – OOP C# Dudy Fathan Ali S.Kom
Thank You!Dudy Fathan Ali, S.Kom