SlideShare une entreprise Scribd logo
1  sur  38
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
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 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
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
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 Booch
American Software Engineer
Object memiliki karakteristik!
State
Behaviour
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 : 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:
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
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()
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
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
dudy.fathan@eng.ui.ac.id

Contenu connexe

En vedette

System Analysis and Design - Basic Characteristic of Object-Oriented Analysis
System Analysis and Design - Basic Characteristic of Object-Oriented AnalysisSystem Analysis and Design - Basic Characteristic of Object-Oriented Analysis
System Analysis and Design - Basic Characteristic of Object-Oriented AnalysisDudy Ali
 
Solid as OOP abstraction
Solid as OOP abstractionSolid as OOP abstraction
Solid as OOP abstractionPawel Klimczyk
 
Simply - OOP - Simply
Simply - OOP - SimplySimply - OOP - Simply
Simply - OOP - SimplyThomas Bahn
 
Mimbar Ilmiah 18 01 08
Mimbar Ilmiah 18 01 08Mimbar Ilmiah 18 01 08
Mimbar Ilmiah 18 01 08Soetam Rizky
 
Exchange 2010 New England Vmug
Exchange 2010 New England VmugExchange 2010 New England Vmug
Exchange 2010 New England Vmugcsharney
 
Prosiding semnasteknomedia 2013 | STMIK AMIKOM YOGYAKARTA
Prosiding semnasteknomedia 2013 | STMIK AMIKOM YOGYAKARTAProsiding semnasteknomedia 2013 | STMIK AMIKOM YOGYAKARTA
Prosiding semnasteknomedia 2013 | STMIK AMIKOM YOGYAKARTAAinul Yaqin
 
Aplikasi Pemesanan Bus Berbasis Desktop
Aplikasi Pemesanan Bus Berbasis DesktopAplikasi Pemesanan Bus Berbasis Desktop
Aplikasi Pemesanan Bus Berbasis Desktopdwireksapermana
 
Technical Excellence - OOP Munich 2015
Technical Excellence - OOP Munich 2015Technical Excellence - OOP Munich 2015
Technical Excellence - OOP Munich 2015James Grenning
 
Sistem Informasi Persediaan Barang
Sistem Informasi Persediaan BarangSistem Informasi Persediaan Barang
Sistem Informasi Persediaan BarangFirman Alex
 
Object Oriented Programming In .Net
Object Oriented Programming In .NetObject Oriented Programming In .Net
Object Oriented Programming In .NetGreg Sohl
 
OOP Basic - PHP
OOP Basic - PHPOOP Basic - PHP
OOP Basic - PHPSulaeman .
 
Materi Dasar JAVA Programming
Materi Dasar JAVA ProgrammingMateri Dasar JAVA Programming
Materi Dasar JAVA ProgrammingHani Nurrahmi
 
Project Management Life Cycle - 13410100139
Project Management Life Cycle - 13410100139Project Management Life Cycle - 13410100139
Project Management Life Cycle - 13410100139amiruzg
 
OOP programming
OOP programmingOOP programming
OOP programminganhdbh
 
P4 membangun hotspot menggunakan mikro tik rb941 2nd
P4 membangun hotspot menggunakan mikro tik rb941 2ndP4 membangun hotspot menggunakan mikro tik rb941 2nd
P4 membangun hotspot menggunakan mikro tik rb941 2ndKarya Gunawan
 
contoh Program sederhana Java dan penjelasan programnya
contoh Program sederhana Java dan penjelasan programnyacontoh Program sederhana Java dan penjelasan programnya
contoh Program sederhana Java dan penjelasan programnyastephan EL'wiin Shaarawy
 
Perancangan sistem informasi inventori
Perancangan sistem informasi inventoriPerancangan sistem informasi inventori
Perancangan sistem informasi inventoriMeli Amelia
 

En vedette (20)

System Analysis and Design - Basic Characteristic of Object-Oriented Analysis
System Analysis and Design - Basic Characteristic of Object-Oriented AnalysisSystem Analysis and Design - Basic Characteristic of Object-Oriented Analysis
System Analysis and Design - Basic Characteristic of Object-Oriented Analysis
 
Solid as OOP abstraction
Solid as OOP abstractionSolid as OOP abstraction
Solid as OOP abstraction
 
Simply - OOP - Simply
Simply - OOP - SimplySimply - OOP - Simply
Simply - OOP - Simply
 
Mimbar Ilmiah 18 01 08
Mimbar Ilmiah 18 01 08Mimbar Ilmiah 18 01 08
Mimbar Ilmiah 18 01 08
 
Exchange 2010 New England Vmug
Exchange 2010 New England VmugExchange 2010 New England Vmug
Exchange 2010 New England Vmug
 
Prosiding semnasteknomedia 2013 | STMIK AMIKOM YOGYAKARTA
Prosiding semnasteknomedia 2013 | STMIK AMIKOM YOGYAKARTAProsiding semnasteknomedia 2013 | STMIK AMIKOM YOGYAKARTA
Prosiding semnasteknomedia 2013 | STMIK AMIKOM YOGYAKARTA
 
Aplikasi Pemesanan Bus Berbasis Desktop
Aplikasi Pemesanan Bus Berbasis DesktopAplikasi Pemesanan Bus Berbasis Desktop
Aplikasi Pemesanan Bus Berbasis Desktop
 
Technical Excellence - OOP Munich 2015
Technical Excellence - OOP Munich 2015Technical Excellence - OOP Munich 2015
Technical Excellence - OOP Munich 2015
 
OOP Basics
OOP BasicsOOP Basics
OOP Basics
 
Sistem Informasi Persediaan Barang
Sistem Informasi Persediaan BarangSistem Informasi Persediaan Barang
Sistem Informasi Persediaan Barang
 
Object Oriented Programming In .Net
Object Oriented Programming In .NetObject Oriented Programming In .Net
Object Oriented Programming In .Net
 
Oop basic overview
Oop basic overviewOop basic overview
Oop basic overview
 
OOP Basic - PHP
OOP Basic - PHPOOP Basic - PHP
OOP Basic - PHP
 
Materi Dasar JAVA Programming
Materi Dasar JAVA ProgrammingMateri Dasar JAVA Programming
Materi Dasar JAVA Programming
 
Project Management Life Cycle - 13410100139
Project Management Life Cycle - 13410100139Project Management Life Cycle - 13410100139
Project Management Life Cycle - 13410100139
 
OOP programming
OOP programmingOOP programming
OOP programming
 
P4 membangun hotspot menggunakan mikro tik rb941 2nd
P4 membangun hotspot menggunakan mikro tik rb941 2ndP4 membangun hotspot menggunakan mikro tik rb941 2nd
P4 membangun hotspot menggunakan mikro tik rb941 2nd
 
contoh Program sederhana Java dan penjelasan programnya
contoh Program sederhana Java dan penjelasan programnyacontoh Program sederhana Java dan penjelasan programnya
contoh Program sederhana Java dan penjelasan programnya
 
Oop Introduction
Oop IntroductionOop Introduction
Oop Introduction
 
Perancangan sistem informasi inventori
Perancangan sistem informasi inventoriPerancangan sistem informasi inventori
Perancangan sistem informasi inventori
 

Similaire à Object Oriented Programming - Introduction

Algorithm & Data Structure - Pengantar
Algorithm & Data Structure - PengantarAlgorithm & Data Structure - Pengantar
Algorithm & Data Structure - PengantarDudy Ali
 
Meet 1 - Introduction of OOP.pdf
Meet 1 - Introduction of OOP.pdfMeet 1 - Introduction of OOP.pdf
Meet 1 - Introduction of OOP.pdfSamFChaerul
 
Pemrograman berbasis Objek
Pemrograman berbasis ObjekPemrograman berbasis Objek
Pemrograman berbasis ObjekRobby Firmansyah
 
#3 OOP.pptx
#3 OOP.pptx#3 OOP.pptx
#3 OOP.pptxGDSC2
 
Pemrograman c-wakuadratn
Pemrograman c-wakuadratnPemrograman c-wakuadratn
Pemrograman c-wakuadratnLanoy Jr.
 
Modul pratikum pbo - Class dan Object
Modul pratikum pbo - Class dan ObjectModul pratikum pbo - Class dan Object
Modul pratikum pbo - Class dan Objectrahmantoyuri
 
Membuat model machine learning tanpa coding tia dwi setiani
Membuat model machine learning tanpa coding   tia dwi setianiMembuat model machine learning tanpa coding   tia dwi setiani
Membuat model machine learning tanpa coding tia dwi setianiRaka Prasetyo
 
Dasar Algoritma
Dasar Algoritma Dasar Algoritma
Dasar Algoritma casnadi
 
PERTEMUAN 2-KONSEP OOP.ppt
PERTEMUAN 2-KONSEP OOP.pptPERTEMUAN 2-KONSEP OOP.ppt
PERTEMUAN 2-KONSEP OOP.pptarfa442827
 
10 pemrograman berorientasi objek di php
10 pemrograman berorientasi objek di php10 pemrograman berorientasi objek di php
10 pemrograman berorientasi objek di phpJamil Jamil
 
Computational Thinking: Pseudocode
Computational Thinking: PseudocodeComputational Thinking: Pseudocode
Computational Thinking: PseudocodeHeruSukoco6
 
dasar program berorientasi objek pada power builder
dasar program berorientasi objek pada power builderdasar program berorientasi objek pada power builder
dasar program berorientasi objek pada power builderFariszal Nova
 
Modul 4 representasi pengetahuan
Modul 4   representasi pengetahuanModul 4   representasi pengetahuan
Modul 4 representasi pengetahuanahmad haidaroh
 
Pengantar Pemrograman Berorientasi Objek
Pengantar Pemrograman Berorientasi ObjekPengantar Pemrograman Berorientasi Objek
Pengantar Pemrograman Berorientasi Objekwawanext01
 

Similaire à Object Oriented Programming - Introduction (20)

Algorithm & Data Structure - Pengantar
Algorithm & Data Structure - PengantarAlgorithm & Data Structure - Pengantar
Algorithm & Data Structure - Pengantar
 
Meet 1 - Introduction of OOP.pdf
Meet 1 - Introduction of OOP.pdfMeet 1 - Introduction of OOP.pdf
Meet 1 - Introduction of OOP.pdf
 
Tutorial borland c tea.
Tutorial borland c tea.Tutorial borland c tea.
Tutorial borland c tea.
 
Pemrograman berbasis Objek
Pemrograman berbasis ObjekPemrograman berbasis Objek
Pemrograman berbasis Objek
 
#3 OOP.pptx
#3 OOP.pptx#3 OOP.pptx
#3 OOP.pptx
 
Pemrograman c-wakuadratn
Pemrograman c-wakuadratnPemrograman c-wakuadratn
Pemrograman c-wakuadratn
 
3-1 Algoritma.pptx
3-1 Algoritma.pptx3-1 Algoritma.pptx
3-1 Algoritma.pptx
 
Modul PBO Bab-03 - Kelas & Objek
Modul PBO Bab-03 - Kelas & ObjekModul PBO Bab-03 - Kelas & Objek
Modul PBO Bab-03 - Kelas & Objek
 
Modul pratikum pbo - Class dan Object
Modul pratikum pbo - Class dan ObjectModul pratikum pbo - Class dan Object
Modul pratikum pbo - Class dan Object
 
Membuat model machine learning tanpa coding tia dwi setiani
Membuat model machine learning tanpa coding   tia dwi setianiMembuat model machine learning tanpa coding   tia dwi setiani
Membuat model machine learning tanpa coding tia dwi setiani
 
Dasar Algoritma
Dasar Algoritma Dasar Algoritma
Dasar Algoritma
 
PERTEMUAN 2-KONSEP OOP.ppt
PERTEMUAN 2-KONSEP OOP.pptPERTEMUAN 2-KONSEP OOP.ppt
PERTEMUAN 2-KONSEP OOP.ppt
 
Algoritma Pemrogaman
Algoritma PemrogamanAlgoritma Pemrogaman
Algoritma Pemrogaman
 
Modul algoritma dan struktur data i
Modul algoritma dan struktur data iModul algoritma dan struktur data i
Modul algoritma dan struktur data i
 
10 pemrograman berorientasi objek di php
10 pemrograman berorientasi objek di php10 pemrograman berorientasi objek di php
10 pemrograman berorientasi objek di php
 
Algoritma Pemrograman 2
Algoritma Pemrograman 2Algoritma Pemrograman 2
Algoritma Pemrograman 2
 
Computational Thinking: Pseudocode
Computational Thinking: PseudocodeComputational Thinking: Pseudocode
Computational Thinking: Pseudocode
 
dasar program berorientasi objek pada power builder
dasar program berorientasi objek pada power builderdasar program berorientasi objek pada power builder
dasar program berorientasi objek pada power builder
 
Modul 4 representasi pengetahuan
Modul 4   representasi pengetahuanModul 4   representasi pengetahuan
Modul 4 representasi pengetahuan
 
Pengantar Pemrograman Berorientasi Objek
Pengantar Pemrograman Berorientasi ObjekPengantar Pemrograman Berorientasi Objek
Pengantar Pemrograman Berorientasi Objek
 

Plus de Dudy Ali

Understanding COM+
Understanding COM+Understanding COM+
Understanding COM+Dudy Ali
 
Distributed Application Development (Introduction)
Distributed Application Development (Introduction)Distributed Application Development (Introduction)
Distributed Application Development (Introduction)Dudy Ali
 
Java CRUD Mechanism with SQL Server Database
Java CRUD Mechanism with SQL Server DatabaseJava CRUD Mechanism with SQL Server Database
Java CRUD Mechanism with SQL Server DatabaseDudy Ali
 
Network Socket Programming with JAVA
Network Socket Programming with JAVANetwork Socket Programming with JAVA
Network Socket Programming with JAVADudy Ali
 
Review Materi ASP.NET
Review Materi ASP.NETReview Materi ASP.NET
Review Materi ASP.NETDudy Ali
 
XML Schema Part 2
XML Schema Part 2XML Schema Part 2
XML Schema Part 2Dudy Ali
 
XML Schema Part 1
XML Schema Part 1XML Schema Part 1
XML Schema Part 1Dudy Ali
 
Rendering XML Document
Rendering XML DocumentRendering XML Document
Rendering XML DocumentDudy Ali
 
Pengantar XML
Pengantar XMLPengantar XML
Pengantar XMLDudy Ali
 
Pengantar XML DOM
Pengantar XML DOMPengantar XML DOM
Pengantar XML DOMDudy Ali
 
Pengantar ADO.NET
Pengantar ADO.NETPengantar ADO.NET
Pengantar ADO.NETDudy Ali
 
Database Connectivity with JDBC
Database Connectivity with JDBCDatabase Connectivity with JDBC
Database Connectivity with JDBCDudy Ali
 
XML - Displaying Data ith XSLT
XML - Displaying Data ith XSLTXML - Displaying Data ith XSLT
XML - Displaying Data ith XSLTDudy Ali
 
Algorithm & Data Structure - Algoritma Pengurutan
Algorithm & Data Structure - Algoritma PengurutanAlgorithm & Data Structure - Algoritma Pengurutan
Algorithm & Data Structure - Algoritma PengurutanDudy Ali
 
Object Oriented Programming - Value Types & Reference Types
Object Oriented Programming - Value Types & Reference TypesObject Oriented Programming - Value Types & Reference Types
Object Oriented Programming - Value Types & Reference TypesDudy Ali
 
Object Oriented Programming - Inheritance
Object Oriented Programming - InheritanceObject Oriented Programming - Inheritance
Object Oriented Programming - InheritanceDudy Ali
 
Object Oriented Programming - File Input & Output
Object Oriented Programming - File Input & OutputObject Oriented Programming - File Input & Output
Object Oriented Programming - File Input & OutputDudy Ali
 
Object Oriented Programming - Constructors & Destructors
Object Oriented Programming - Constructors & DestructorsObject Oriented Programming - Constructors & Destructors
Object Oriented Programming - Constructors & DestructorsDudy Ali
 
Object Oriented Programming - Abstraction & Encapsulation
Object Oriented Programming - Abstraction & EncapsulationObject Oriented Programming - Abstraction & Encapsulation
Object Oriented Programming - Abstraction & EncapsulationDudy Ali
 
Web Programming Syaria - Pengenalan Halaman Web
Web Programming Syaria - Pengenalan Halaman WebWeb Programming Syaria - Pengenalan Halaman Web
Web Programming Syaria - Pengenalan Halaman WebDudy Ali
 

Plus de Dudy Ali (20)

Understanding COM+
Understanding COM+Understanding COM+
Understanding COM+
 
Distributed Application Development (Introduction)
Distributed Application Development (Introduction)Distributed Application Development (Introduction)
Distributed Application Development (Introduction)
 
Java CRUD Mechanism with SQL Server Database
Java CRUD Mechanism with SQL Server DatabaseJava CRUD Mechanism with SQL Server Database
Java CRUD Mechanism with SQL Server Database
 
Network Socket Programming with JAVA
Network Socket Programming with JAVANetwork Socket Programming with JAVA
Network Socket Programming with JAVA
 
Review Materi ASP.NET
Review Materi ASP.NETReview Materi ASP.NET
Review Materi ASP.NET
 
XML Schema Part 2
XML Schema Part 2XML Schema Part 2
XML Schema Part 2
 
XML Schema Part 1
XML Schema Part 1XML Schema Part 1
XML Schema Part 1
 
Rendering XML Document
Rendering XML DocumentRendering XML Document
Rendering XML Document
 
Pengantar XML
Pengantar XMLPengantar XML
Pengantar XML
 
Pengantar XML DOM
Pengantar XML DOMPengantar XML DOM
Pengantar XML DOM
 
Pengantar ADO.NET
Pengantar ADO.NETPengantar ADO.NET
Pengantar ADO.NET
 
Database Connectivity with JDBC
Database Connectivity with JDBCDatabase Connectivity with JDBC
Database Connectivity with JDBC
 
XML - Displaying Data ith XSLT
XML - Displaying Data ith XSLTXML - Displaying Data ith XSLT
XML - Displaying Data ith XSLT
 
Algorithm & Data Structure - Algoritma Pengurutan
Algorithm & Data Structure - Algoritma PengurutanAlgorithm & Data Structure - Algoritma Pengurutan
Algorithm & Data Structure - Algoritma Pengurutan
 
Object Oriented Programming - Value Types & Reference Types
Object Oriented Programming - Value Types & Reference TypesObject Oriented Programming - Value Types & Reference Types
Object Oriented Programming - Value Types & Reference Types
 
Object Oriented Programming - Inheritance
Object Oriented Programming - InheritanceObject Oriented Programming - Inheritance
Object Oriented Programming - Inheritance
 
Object Oriented Programming - File Input & Output
Object Oriented Programming - File Input & OutputObject Oriented Programming - File Input & Output
Object Oriented Programming - File Input & Output
 
Object Oriented Programming - Constructors & Destructors
Object Oriented Programming - Constructors & DestructorsObject Oriented Programming - Constructors & Destructors
Object Oriented Programming - Constructors & Destructors
 
Object Oriented Programming - Abstraction & Encapsulation
Object Oriented Programming - Abstraction & EncapsulationObject Oriented Programming - Abstraction & Encapsulation
Object Oriented Programming - Abstraction & Encapsulation
 
Web Programming Syaria - Pengenalan Halaman Web
Web Programming Syaria - Pengenalan Halaman WebWeb Programming Syaria - Pengenalan Halaman Web
Web Programming Syaria - Pengenalan Halaman Web
 

Object Oriented Programming - Introduction

  • 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
  • 10. Procedural VS OOP Q3M1 – OOP C# Dudy Fathan Ali S.Kom Main f1 f2 f3
  • 11. Procedural VS OOP Q3M1 – OOP C# Dudy Fathan Ali S.Kom Main f1 f2 f3…. …. ….
  • 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
  • 17. Object-Oriented Q3M1 – OOP C# Dudy Fathan Ali S.Kom Apakah Benda Ini Termasuk Object?
  • 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
  • 24. Analogi OOP Q3M1 – OOP C# Dudy Fathan Ali S.Kom
  • 25. Analogi OOP Q3M1 – OOP C# Dudy Fathan Ali S.Kom Nasi Goreng!
  • 26. Analogi OOP Q3M1 – OOP C# Dudy Fathan Ali S.Kom Enak Banget!
  • 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 --
  • 38. Q3M1 – OOP C# Dudy Fathan Ali S.Kom Thank You! Dudy Fathan Ali, S.Kom dudy.fathan@eng.ui.ac.id