OOP
Introduction
Ketut Agus Seputra
Profil
Ir. Ketut Agus Seputra, S.ST., M.T
• - D3 MI Undiksha
• - D4 Teknik Elektro ITB
• - S2 Manajemen SI & Komputer Udayana
Profesional
• - Web Programmer 2014 (Duniaprestasi.com)
• - Web Programmer 2015 (Hybridbooking.com)
• - Web Programmer 2016 ) UPT TIK Undiksha)
Proyek Riset Aplikasi Mobile
• - Aplikasi Satgas Gotong Royong (Si Garong) Pendataan Aktivitas COvid
• - APLIKASI MOBILE SISTEM INFORMASI PRODUK PERTANIAN KABUPATEN BULELENG
• - Aplikasi Rekam Medis Terintegrasi
• - Hai Mentor | Aplikasi Pendidikan Kerjasama Kedaireka
• - Undiksha Sehat
• - Aplikasi untuk pendataan Tanaman Pangan berbasis Remote Sensing | Proyek Thailand
Lectures Contract
SIKAP 20
• Weekly Progress
• Attendance
TUGAS 40
• OOP Concept
• Java Fundamentals
• Java OOP
• Design Patterns
UTS 15
• Java OOP
UAS 25
• Project with Data
Management in
Java
Grade
+
Grade A
Certification & Other
Bootcamp Activitiesin
Java or Mobile
Programming
Pemrograman Mobile |Agus Seputra
Week 1
Introduction
to OOP
Week 2 - 3
Structure class &
Object Java
Week 4 - 5
Encapsulation &
Constructor
Week 6 - 8
Inheritance &
Polymorphism
Week 9
Middle Exam
Week 10
Design Patterns
Week 10 - 14
CRUD with OOP
Week 15
Progress Project
Week 16
Final Project
Topics Start Week 5 Student Define the Case Study for the Project
Agus Seputra
Jurusan Teknik Informatika
Universitas Pendidikan Ganesha
Introduction
• What is Programming?
• Do I need to be good in maths?
• What about logic?
• What is Computer Programming?
• Designing and building executable computer
programs
Jurusan Teknik Informatika
Universitas Pendidikan Ganesha
Programming Paradigm
Jurusan Teknik Informatika
Universitas Pendidikan Ganesha
Programming Paradigm
• Declarative programming is a style of
building programs that expresses the logic
of a computation without talking about its
control flow.
Jurusan Teknik Informatika
Universitas Pendidikan Ganesha
Programming Paradigm
• The paradigm consists of several
statements, and after the execution of all
of them, the result is stored. It’s about
writing a list of instructions to tell the
computer what to do step by step.
• In an imperative programming paradigm,
the order of the steps is crucial, because a
given step will have different
consequences depending on the current
values of variables when the step is
executed.
Jurusan Teknik Informatika
Universitas Pendidikan Ganesha
Evolution of Programming Techniques
Procedural
Programming
(PP)
Structured
Programming
Object
Oriented
Programming
Jurusan Teknik Informatika
Universitas Pendidikan Ganesha
Procedural Programming
• Views a program as a series of steps
(procedures) to be carried out;
• Uses a list of instructions; and
• Takes inputs and returns outputs
• Division into functions
• Each function has a clearly defined
purpose and a clearly defined interface
to the other functions in the program.
• The idea of breaking a program into
functions can further be extended by
grouping a number of functions
together into a larger entity called a
module
Jurusan Teknik Informatika
Universitas Pendidikan Ganesha
Procedural
Programming
Jurusan Teknik Informatika
Universitas Pendidikan Ganesha
Procedural
Programming
• In multi function programs, important data
items are placed as global data so that they
may be accessed by all functions.
• Each function may as well have its own
local data
Jurusan Teknik Informatika
Universitas Pendidikan Ganesha
Procedural
Programming
Jurusan Teknik Informatika
Universitas Pendidikan Ganesha
Procedural
Programming
Causes of Problems
• Unrestricted Access to Data
• Global data/variable is allowed
Access to data by multiple functions means many
connections between functions
Programs become more difficult to understand
• Poor Modeling of Real World Things
• Real world things are integral collections of data
(Attributes/properties/features) and functions
(Behaviour)
• ve.g. a car: has data (make, model etc.) and
functions (acceleration)
• Procedural languages do not tie up data with
functions
Jurusan Teknik Informatika
Universitas Pendidikan Ganesha
Procedural
Programming
Jurusan Teknik Informatika
Universitas Pendidikan Ganesha
What is OOP?
Need For OOP
Programming Approach
• The typical procedural program structure consist of program data in
the form of variables and the functions that operates on the data.
• The program data in the procedural programming is generally global.
The global data can be operated upon by any function. It was dificult
to protect the data from such inadvertent changes.
• The unrestricted access to the program data makes it venerable
because the data can be easily modified by any function.
• OOP was introduced to overcome the flaws in procedural
programming such as reusability and maintainability.
• Views a program as a group of objects that have certain properties
and can perform certain functions
proceduralprogram structure
What Is Object Oriented
Programming ?
• In OOP programming approach , it was much easier to control the
access to the data. It also became much easier to model the real
world objects in the OOP programming style.
• Object oriented programming (OOP ) is an approach to the
programming that is based on the concept of object and class.
• For example, the student , instructor , course , department are few
examples of the objects in case of software application for the
college.
Jurusan Teknik Informatika
Universitas Pendidikan Ganesha
The Object-oriented Approach
• The fundamental idea is to combine into a single unit both
data/variable (features) and functions that operate on the data
• In OOP program , we combine the group of variables related to
the object and the methods to operate on the data as a single
unit.
• An object is the smallest component in the OOP program. Each
object has some State ( Properties ) and behavior (Methods ).
• Data of an object can be accessed only by the functions
associated with that object
• Communication of objects is done through functions.
• Data and its function are said to be encapsulated into a single
entity called a class
• Data encapsulation and data hiding are key elements of object
oriented languages
Jurusan Teknik Informatika
Universitas Pendidikan Ganesha
What Is Object In OOP ?
• The object is a real world entity that needs to
be represented into the software
application. The world around us is full of
objects such as pen , lamp , house , car , cat
, dog are all examples of object.
• Each object has unique identity and a state.
The state of an object is deLned by its
member variables. The object behavior is
deLned by its member methods.
Jurusan Teknik Informatika
Universitas Pendidikan Ganesha
Example Of Object In
OOP
• Each object has a state that is deLned
by its properties ( Data ). The object
properties are represented by the data
( also referred as variables ).
• Each object has also exhibits some
behavior. The object behavior deLned
by its methods.
• Each object in the OOP program has a
unique identity.
Jurusan Teknik Informatika
Universitas Pendidikan Ganesha
What Is Class In OOP ?
• A class is a user defined data type that we can use
in our program, and it works as a blueprint for
creating objects but it doesn't actually provide any
real content itself
• The car class may specify that the color and model
are necessary for defining a car, but it will not
actually state what a specific car’s color or model is
• Classes enable the creation of specific instances of
the system being modeled (Object).
• Atributes and methods are basically variables and
functions that belongs to the class. There are often
referred to as class members
Jurusan Teknik Informatika
Universitas Pendidikan Ganesha
Object
versus
Class??
Jurusan Teknik Informatika
Universitas Pendidikan Ganesha
Object versus
Class??
Jurusan Teknik Informatika
Universitas Pendidikan Ganesha
Object versus
Class??
Jurusan Teknik Informatika
Universitas Pendidikan Ganesha
Object versus
Class??
Jurusan Teknik Informatika
Universitas Pendidikan Ganesha
Object versus
Class??
Jurusan Teknik Informatika
Universitas Pendidikan Ganesha
Example
• In OOP methodology , the
program code is organized in
the form of set of classes. The
class deLnes the object in the
program code.
Jurusan Teknik Informatika
Universitas Pendidikan Ganesha
Principles Of Object
Oriented Programming
Jurusan Teknik Informatika
Universitas Pendidikan Ganesha
A&Q
https://medium.com/@icodewithben/1-classs-and-object-orientated-programming-basics-d33a0533d6e4
https://www.learncomputerscienceonline.com/object-oriented-programming/
https://www.linkedin.com/pulse/object-oriented-programming-fundamentals-c-sharp-2-versus-verma

Introduction Object Oriented Programming Concept in Java

  • 1.
  • 2.
    Profil Ir. Ketut AgusSeputra, S.ST., M.T • - D3 MI Undiksha • - D4 Teknik Elektro ITB • - S2 Manajemen SI & Komputer Udayana Profesional • - Web Programmer 2014 (Duniaprestasi.com) • - Web Programmer 2015 (Hybridbooking.com) • - Web Programmer 2016 ) UPT TIK Undiksha) Proyek Riset Aplikasi Mobile • - Aplikasi Satgas Gotong Royong (Si Garong) Pendataan Aktivitas COvid • - APLIKASI MOBILE SISTEM INFORMASI PRODUK PERTANIAN KABUPATEN BULELENG • - Aplikasi Rekam Medis Terintegrasi • - Hai Mentor | Aplikasi Pendidikan Kerjasama Kedaireka • - Undiksha Sehat • - Aplikasi untuk pendataan Tanaman Pangan berbasis Remote Sensing | Proyek Thailand
  • 3.
    Lectures Contract SIKAP 20 •Weekly Progress • Attendance TUGAS 40 • OOP Concept • Java Fundamentals • Java OOP • Design Patterns UTS 15 • Java OOP UAS 25 • Project with Data Management in Java Grade + Grade A Certification & Other Bootcamp Activitiesin Java or Mobile Programming Pemrograman Mobile |Agus Seputra Week 1 Introduction to OOP Week 2 - 3 Structure class & Object Java Week 4 - 5 Encapsulation & Constructor Week 6 - 8 Inheritance & Polymorphism Week 9 Middle Exam Week 10 Design Patterns Week 10 - 14 CRUD with OOP Week 15 Progress Project Week 16 Final Project Topics Start Week 5 Student Define the Case Study for the Project Agus Seputra Jurusan Teknik Informatika Universitas Pendidikan Ganesha
  • 4.
    Introduction • What isProgramming? • Do I need to be good in maths? • What about logic? • What is Computer Programming? • Designing and building executable computer programs Jurusan Teknik Informatika Universitas Pendidikan Ganesha
  • 5.
    Programming Paradigm Jurusan TeknikInformatika Universitas Pendidikan Ganesha
  • 6.
    Programming Paradigm • Declarativeprogramming is a style of building programs that expresses the logic of a computation without talking about its control flow. Jurusan Teknik Informatika Universitas Pendidikan Ganesha
  • 7.
    Programming Paradigm • Theparadigm consists of several statements, and after the execution of all of them, the result is stored. It’s about writing a list of instructions to tell the computer what to do step by step. • In an imperative programming paradigm, the order of the steps is crucial, because a given step will have different consequences depending on the current values of variables when the step is executed. Jurusan Teknik Informatika Universitas Pendidikan Ganesha
  • 8.
    Evolution of ProgrammingTechniques Procedural Programming (PP) Structured Programming Object Oriented Programming Jurusan Teknik Informatika Universitas Pendidikan Ganesha
  • 10.
    Procedural Programming • Viewsa program as a series of steps (procedures) to be carried out; • Uses a list of instructions; and • Takes inputs and returns outputs • Division into functions • Each function has a clearly defined purpose and a clearly defined interface to the other functions in the program. • The idea of breaking a program into functions can further be extended by grouping a number of functions together into a larger entity called a module Jurusan Teknik Informatika Universitas Pendidikan Ganesha
  • 11.
  • 12.
    Procedural Programming • In multifunction programs, important data items are placed as global data so that they may be accessed by all functions. • Each function may as well have its own local data Jurusan Teknik Informatika Universitas Pendidikan Ganesha
  • 13.
  • 14.
    Procedural Programming Causes of Problems •Unrestricted Access to Data • Global data/variable is allowed Access to data by multiple functions means many connections between functions Programs become more difficult to understand • Poor Modeling of Real World Things • Real world things are integral collections of data (Attributes/properties/features) and functions (Behaviour) • ve.g. a car: has data (make, model etc.) and functions (acceleration) • Procedural languages do not tie up data with functions Jurusan Teknik Informatika Universitas Pendidikan Ganesha
  • 15.
  • 16.
  • 17.
    Need For OOP ProgrammingApproach • The typical procedural program structure consist of program data in the form of variables and the functions that operates on the data. • The program data in the procedural programming is generally global. The global data can be operated upon by any function. It was dificult to protect the data from such inadvertent changes. • The unrestricted access to the program data makes it venerable because the data can be easily modified by any function. • OOP was introduced to overcome the flaws in procedural programming such as reusability and maintainability. • Views a program as a group of objects that have certain properties and can perform certain functions proceduralprogram structure
  • 18.
    What Is ObjectOriented Programming ? • In OOP programming approach , it was much easier to control the access to the data. It also became much easier to model the real world objects in the OOP programming style. • Object oriented programming (OOP ) is an approach to the programming that is based on the concept of object and class. • For example, the student , instructor , course , department are few examples of the objects in case of software application for the college. Jurusan Teknik Informatika Universitas Pendidikan Ganesha
  • 19.
    The Object-oriented Approach •The fundamental idea is to combine into a single unit both data/variable (features) and functions that operate on the data • In OOP program , we combine the group of variables related to the object and the methods to operate on the data as a single unit. • An object is the smallest component in the OOP program. Each object has some State ( Properties ) and behavior (Methods ). • Data of an object can be accessed only by the functions associated with that object • Communication of objects is done through functions. • Data and its function are said to be encapsulated into a single entity called a class • Data encapsulation and data hiding are key elements of object oriented languages Jurusan Teknik Informatika Universitas Pendidikan Ganesha
  • 20.
    What Is ObjectIn OOP ? • The object is a real world entity that needs to be represented into the software application. The world around us is full of objects such as pen , lamp , house , car , cat , dog are all examples of object. • Each object has unique identity and a state. The state of an object is deLned by its member variables. The object behavior is deLned by its member methods. Jurusan Teknik Informatika Universitas Pendidikan Ganesha
  • 21.
    Example Of ObjectIn OOP • Each object has a state that is deLned by its properties ( Data ). The object properties are represented by the data ( also referred as variables ). • Each object has also exhibits some behavior. The object behavior deLned by its methods. • Each object in the OOP program has a unique identity. Jurusan Teknik Informatika Universitas Pendidikan Ganesha
  • 22.
    What Is ClassIn OOP ? • A class is a user defined data type that we can use in our program, and it works as a blueprint for creating objects but it doesn't actually provide any real content itself • The car class may specify that the color and model are necessary for defining a car, but it will not actually state what a specific car’s color or model is • Classes enable the creation of specific instances of the system being modeled (Object). • Atributes and methods are basically variables and functions that belongs to the class. There are often referred to as class members Jurusan Teknik Informatika Universitas Pendidikan Ganesha
  • 23.
  • 24.
    Object versus Class?? Jurusan TeknikInformatika Universitas Pendidikan Ganesha
  • 25.
    Object versus Class?? Jurusan TeknikInformatika Universitas Pendidikan Ganesha
  • 26.
    Object versus Class?? Jurusan TeknikInformatika Universitas Pendidikan Ganesha
  • 27.
    Object versus Class?? Jurusan TeknikInformatika Universitas Pendidikan Ganesha
  • 28.
    Example • In OOPmethodology , the program code is organized in the form of set of classes. The class deLnes the object in the program code. Jurusan Teknik Informatika Universitas Pendidikan Ganesha
  • 29.
  • 30.
  • 31.