33
PEMROGRAMAN BERORIENTASI OBJECT Indra Gunawan, ST., M.Kom., CEH., CHFI

PEMROGRAMAN BERORIENTASI OBJECT · 03.02.2016  · Object Oriented Programming Introduction. 2. JavascriptIntroduction. 3.JavascriptObject and Class/Function. 4. Javascript Data Type

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PEMROGRAMAN BERORIENTASI OBJECT · 03.02.2016  · Object Oriented Programming Introduction. 2. JavascriptIntroduction. 3.JavascriptObject and Class/Function. 4. Javascript Data Type

PEMROGRAMAN BERORIENTASI OBJECT

Indra Gunawan, ST., M.Kom., CEH., CHFI

Page 2: PEMROGRAMAN BERORIENTASI OBJECT · 03.02.2016  · Object Oriented Programming Introduction. 2. JavascriptIntroduction. 3.JavascriptObject and Class/Function. 4. Javascript Data Type

OUTLINE MATERI

1. Object Oriented Programming Introduction.

2. Javascript Introduction.

3. Javascript Object and Class/Function.

4. Javascript Data Type.

5. Javascript Array.

6. Javascript Conditional Statement.

7. Javascript Looping.

8. Javascript Closures and Prototype.

9. Javascript Inheritance using Closure and Prototype.

10.Javascript Encapsulation using Document Object Model (DOM) .

11.Javascript Polymorhpism.

12.Javascript and JSON.

13.Case Study.

Page 3: PEMROGRAMAN BERORIENTASI OBJECT · 03.02.2016  · Object Oriented Programming Introduction. 2. JavascriptIntroduction. 3.JavascriptObject and Class/Function. 4. Javascript Data Type

REFERENSI

1. Prof Cesare Tautasso, “Object-Oriented JavaScript Dynamic HTML”, 2007.2. Department of Computer & Information Science, “Introducing Object-

Oriented Programming (OOP)” , 2005.3. JavaScript, Third Edition.4. Stoyan Stefanov ,“Object-Oriented JavaScript”, 2008, Yahoo! Inc, 5. Noname, “Object Oriented Javascript”. 6. http://w3schools.com

Referensi dapat didownload di blog saya :http://digital4rainsick.wordpress.com

Page 4: PEMROGRAMAN BERORIENTASI OBJECT · 03.02.2016  · Object Oriented Programming Introduction. 2. JavascriptIntroduction. 3.JavascriptObject and Class/Function. 4. Javascript Data Type

Functions

� Functions are objects

� They have properties

� They have methods

� Can be copied, deleted, augmented...

� Special feature: invokable

� All functions always return a value

� If a function doesn’t return a value explicitly, it returns undefined

� Functions can return objects, including other functions

Page 5: PEMROGRAMAN BERORIENTASI OBJECT · 03.02.2016  · Object Oriented Programming Introduction. 2. JavascriptIntroduction. 3.JavascriptObject and Class/Function. 4. Javascript Data Type

FUNCTION

� Functions are objects

� Only invokable

� Methods: call(), apply()

� Properties: length, name, prototype

Page 6: PEMROGRAMAN BERORIENTASI OBJECT · 03.02.2016  · Object Oriented Programming Introduction. 2. JavascriptIntroduction. 3.JavascriptObject and Class/Function. 4. Javascript Data Type

FUNCTION - EXAMPLEExample 1 :

function say(what) {

return what;

}

Example 2 :var say = function(what) {

return what;

};

Example 3 :var say = function say(what) {

return what;

};

Page 7: PEMROGRAMAN BERORIENTASI OBJECT · 03.02.2016  · Object Oriented Programming Introduction. 2. JavascriptIntroduction. 3.JavascriptObject and Class/Function. 4. Javascript Data Type

EXAMPLE 1 :

>>> say.length

1

>>> say.name

"boo"

EXAMPLE 2 :

>>> var tell = say;

>>> tell("doodles")

"doodles"

>>> tell.call(null, "moo!");

"moo!"

Functions are objects

Page 8: PEMROGRAMAN BERORIENTASI OBJECT · 03.02.2016  · Object Oriented Programming Introduction. 2. JavascriptIntroduction. 3.JavascriptObject and Class/Function. 4. Javascript Data Type

JAVASCRIPT OBJECT

var obj = {};

obj.name = 'my object';

obj.shiny = true;

Page 9: PEMROGRAMAN BERORIENTASI OBJECT · 03.02.2016  · Object Oriented Programming Introduction. 2. JavascriptIntroduction. 3.JavascriptObject and Class/Function. 4. Javascript Data Type

A SIMPLE OBJECT - EXAMPLE

var obj = {

shiny: true,

isShiny: function() {

return this.shiny;

}

};

obj.isShiny(); // true

Page 10: PEMROGRAMAN BERORIENTASI OBJECT · 03.02.2016  · Object Oriented Programming Introduction. 2. JavascriptIntroduction. 3.JavascriptObject and Class/Function. 4. Javascript Data Type

JAVASCRIPT OBJECT

Page 11: PEMROGRAMAN BERORIENTASI OBJECT · 03.02.2016  · Object Oriented Programming Introduction. 2. JavascriptIntroduction. 3.JavascriptObject and Class/Function. 4. Javascript Data Type

JAVASCRIPT OBJECT IS VARIABLE

Page 12: PEMROGRAMAN BERORIENTASI OBJECT · 03.02.2016  · Object Oriented Programming Introduction. 2. JavascriptIntroduction. 3.JavascriptObject and Class/Function. 4. Javascript Data Type

EXAMPLE <!DOCTYPE html><html><body>

<p>Creating a JavaScript Object.</p>

<p id="demo"></p>

<script>var person = {

firstName : "John",lastName : "Doe",age : 50,eyeColor : "blue"

};

document.getElementById("demo").innerHTML =person.firstName + " " + person.lastName;</script>

</body></html>

Page 13: PEMROGRAMAN BERORIENTASI OBJECT · 03.02.2016  · Object Oriented Programming Introduction. 2. JavascriptIntroduction. 3.JavascriptObject and Class/Function. 4. Javascript Data Type

OBJECT PROPERTIES

Page 14: PEMROGRAMAN BERORIENTASI OBJECT · 03.02.2016  · Object Oriented Programming Introduction. 2. JavascriptIntroduction. 3.JavascriptObject and Class/Function. 4. Javascript Data Type

METHOD

�When a property is a functionwe can call it a method

�An object method is a function that is attached to an object.

� Typically a method performs some action relating to its object. Like private properties, private methods may be used only by code internal to the object and are inaccessible elsewhere, whereas public methods are for outside use, and form part of the interface of the object with other code.

Page 15: PEMROGRAMAN BERORIENTASI OBJECT · 03.02.2016  · Object Oriented Programming Introduction. 2. JavascriptIntroduction. 3.JavascriptObject and Class/Function. 4. Javascript Data Type

OBJECT METHOD

Page 16: PEMROGRAMAN BERORIENTASI OBJECT · 03.02.2016  · Object Oriented Programming Introduction. 2. JavascriptIntroduction. 3.JavascriptObject and Class/Function. 4. Javascript Data Type

CREATING OBJECT

Page 17: PEMROGRAMAN BERORIENTASI OBJECT · 03.02.2016  · Object Oriented Programming Introduction. 2. JavascriptIntroduction. 3.JavascriptObject and Class/Function. 4. Javascript Data Type

EXAMPLE<!DOCTYPE html><html><body>

<p>Creating a JavaScript Object.</p>

<p id="demo"></p>

<script>var person = {

firstName : "John",lastName : "Doe",age : 50,eyeColor : "blue"

};

document.getElementById("demo").innerHTML =person.firstName + " is " + person.age + " years old.";</script>

</body></html>

Page 18: PEMROGRAMAN BERORIENTASI OBJECT · 03.02.2016  · Object Oriented Programming Introduction. 2. JavascriptIntroduction. 3.JavascriptObject and Class/Function. 4. Javascript Data Type

USING AN OBJECT LITERAL

Page 19: PEMROGRAMAN BERORIENTASI OBJECT · 03.02.2016  · Object Oriented Programming Introduction. 2. JavascriptIntroduction. 3.JavascriptObject and Class/Function. 4. Javascript Data Type

JAVASCRIPT KEYWORD

Page 20: PEMROGRAMAN BERORIENTASI OBJECT · 03.02.2016  · Object Oriented Programming Introduction. 2. JavascriptIntroduction. 3.JavascriptObject and Class/Function. 4. Javascript Data Type

KEYWORD - EXAMPLE<!DOCTYPE html><html><body>

<p id="demo"></p>

<script>var person = new Object();person.firstName = "John";person.lastName = "Doe";person.age = 50;person.eyeColor = "blue";

document.getElementById("demo").innerHTML =person.firstName + " is " + person.age + " years old.";</script>

</body></html>

Page 21: PEMROGRAMAN BERORIENTASI OBJECT · 03.02.2016  · Object Oriented Programming Introduction. 2. JavascriptIntroduction. 3.JavascriptObject and Class/Function. 4. Javascript Data Type

Constructor functions

� When invoked with new, functions return an object known as this

� You can modify this before it’s returned

� A function meant to be called with new

� Returns an object

Page 22: PEMROGRAMAN BERORIENTASI OBJECT · 03.02.2016  · Object Oriented Programming Introduction. 2. JavascriptIntroduction. 3.JavascriptObject and Class/Function. 4. Javascript Data Type

Constructor functions - EXAMPLE

var Person = function(name) {

this.name = name;

this.getName = function() {

return this.name;

};

};

Page 23: PEMROGRAMAN BERORIENTASI OBJECT · 03.02.2016  · Object Oriented Programming Introduction. 2. JavascriptIntroduction. 3.JavascriptObject and Class/Function. 4. Javascript Data Type

var me = new Person("Stoyan");

me.getName(); // "Stoyan"

Using the constructor

Page 24: PEMROGRAMAN BERORIENTASI OBJECT · 03.02.2016  · Object Oriented Programming Introduction. 2. JavascriptIntroduction. 3.JavascriptObject and Class/Function. 4. Javascript Data Type

Built-in constructors

� Object

� Array

� Function

� RegExp

� Number

� String

� Boolean

� Date

� Error, SyntaxError, ReferenceError…

Page 25: PEMROGRAMAN BERORIENTASI OBJECT · 03.02.2016  · Object Oriented Programming Introduction. 2. JavascriptIntroduction. 3.JavascriptObject and Class/Function. 4. Javascript Data Type

constructor property

EXAMPLE 1 :

>>> function Person(){};

>>> var jo = new Person();

>>> jo.constructor === Person

True

EXAMPLE 2 :

>>> var o = {};

>>> o.constructor === Object

true

>>> [1,2].constructor === Array

true

Page 26: PEMROGRAMAN BERORIENTASI OBJECT · 03.02.2016  · Object Oriented Programming Introduction. 2. JavascriptIntroduction. 3.JavascriptObject and Class/Function. 4. Javascript Data Type

CONSTRUCTOR

Page 27: PEMROGRAMAN BERORIENTASI OBJECT · 03.02.2016  · Object Oriented Programming Introduction. 2. JavascriptIntroduction. 3.JavascriptObject and Class/Function. 4. Javascript Data Type

OBJECT CONSTRUCTOR

Page 28: PEMROGRAMAN BERORIENTASI OBJECT · 03.02.2016  · Object Oriented Programming Introduction. 2. JavascriptIntroduction. 3.JavascriptObject and Class/Function. 4. Javascript Data Type

OBJECT CONSTRUCTOR - EXAMPLE<!DOCTYPE html><html><body>

<p id="demo"></p>

<script>function person(first, last, age, eye) {

this.firstName = first;this.lastName = last;this.age = age;this.eyeColor = eye;

}

var myFather = new person("John", "Doe", 50, "blue");var myMother = new person("Sally", "Rally", 48, "green");

document.getElementById("demo").innerHTML ="My father is " + myFather.age + ". My mother is " + myMother.age; </script>

</body></html>

Page 29: PEMROGRAMAN BERORIENTASI OBJECT · 03.02.2016  · Object Oriented Programming Introduction. 2. JavascriptIntroduction. 3.JavascriptObject and Class/Function. 4. Javascript Data Type

KEYWORD - THIS

Page 30: PEMROGRAMAN BERORIENTASI OBJECT · 03.02.2016  · Object Oriented Programming Introduction. 2. JavascriptIntroduction. 3.JavascriptObject and Class/Function. 4. Javascript Data Type

BUILT IN CONSTRUCTOR

Page 31: PEMROGRAMAN BERORIENTASI OBJECT · 03.02.2016  · Object Oriented Programming Introduction. 2. JavascriptIntroduction. 3.JavascriptObject and Class/Function. 4. Javascript Data Type

JAVASCRIPT OBJECTS ARE MUTABLE

Page 32: PEMROGRAMAN BERORIENTASI OBJECT · 03.02.2016  · Object Oriented Programming Introduction. 2. JavascriptIntroduction. 3.JavascriptObject and Class/Function. 4. Javascript Data Type

EXAMPLE<!DOCTYPE html><html><body>

<p>JavaScript objects are mutable.</p><p>Any changes to a copy of an object will also change the original.</p>

<p id="demo"></p>

<script>var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"}

var x = person;x.age = 10;

document.getElementById("demo").innerHTML =person.firstName + " is " + person.age + " years old.";</script>

</body></html>

Page 33: PEMROGRAMAN BERORIENTASI OBJECT · 03.02.2016  · Object Oriented Programming Introduction. 2. JavascriptIntroduction. 3.JavascriptObject and Class/Function. 4. Javascript Data Type

�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������