MATERI 3a Pemrograman Berorientasi Objek (S3)

dokumen-dokumen yang mirip
Pemrograman Web. Object Oriented Programming in PHP 5

Adam Hendra Brata Teknik Informatika FILKOM UB Semester Genap 2015/2016

Pemrograman Lanjut. Interface

Pemrograman Lanjut. Class and Object

Bahasa Pemograman II. Object Oriented Programming

Pemodelan Sistem Perangkat Lunak. Andronicus Riyono, M.T. Universitas Kristen Duta Wacana

KONSEP Pemrograman Berorientasi Objek KARMILASARI

(INHERITANCE) Nurochman

PEMROGRAMAN JAVA. Yoannita. Konsep Pemrograman Berorientasi Objek. Company LOGO

Covered Topics. Course Map OOP Concept

Pemrograman Berorientasi. Inheritance

Object Oriented Programming (Class, Inheritance, Encapsulation dan Interface)

SYLLABUS DAN PENDAHULUAN. Astrid Lestari Tungadi, S.Kom., M.TI.

Konsep Pemrograman Berbasis Obyek

INTRODUCTION OBJECT ORIENTED ANALYSIS & DESIGN

Object Oriented Analysis and Design -Pendahuluan- Nisa ul Hafidhoh

Membangun Menara karakter (Indonesian Edition)

JAVA FUNDAMENTAL ATURAN PERKULIAHAN SILABUS

Pemrograman Berbasis. Strategy dan Observer Pattern

Agi Putra Kharisma., S.T., M.T. Pengembangan Berorientasi Penggunaan Ulang

Pemrograman Berorientasi Obyek. Ramos Somya

Pemrograman Lanjut Class and Object PTIIK

BAB III PERANCANGAN PROGRAM

Pertemuan 8 Pemrograman

ALGORITMA PEMROGRAMAN 1C PENDAHULUAN KONSEP BAHASA PEMROGRAMAN

Konsep Pemrograman Berorientasi Obyek

Konsep Pemrograman Berorientasi Obyek. Pertemuan 1

Algoritma Pemrograman [BS204]

Sistem Informasi OOAD dengan UML (1) Teknik Informatika UNIKOM

Konsep Pemrograman Berorientasi Obyek

Pendahuluan Rekayasa Perangkat Lunak II. Alif Finandhita. Teknik Informatika UNIKOM

OBJEK DALAM BAHASA S Agus Mohamad Soleh

KONSEP OOP: POLYMORPHISM

REKAYASA PERANGKAT LUNAK II

Pemrograman Berorientasi Obyek. Konsep OOP

Nama : Julian Chandra W Telp :

06/03/2018. Tidak memiliki parameter. Melakukan inisialisasi semua variabel private dengan nilai awal.

PEMROGRAMAN WEB 09 JavaScript Lanjut

CSG2H3 Object Oriented Programming. Inheritance -RSM-

Object Oriented Programming LOGO

Mengenal Object Oriented Programming (OOP)

Pengenalan pemrograman berorientasi obyek

Object Oriented Programming (OOP) --Polimorphisme-- Saniati STMIK Teknokrat, Bandar Lampung

Object Oriented Programming (OOP) --Inheritance- Saniati STMIK Teknokrat, Bandar Lampung

Object Oriented Programming 1

Pemodelan Berorientasi Objek

BAHASA PEMROGRAMAN. Merupakan prosedur/tata cara penulisan program.

Bahasa Pemrograman I VB.Net. Oleh: Erik Perdana Ibrahim, S.Kom 2011

Pemrograman Berbasis Objek Operator dan Assignment

PEMROGRAMAN JAVA. Yoannita, S.Kom. Class & Method sederhana Konsep Pemrograman Berorientasi Objek. Company LOGO

Data Structures. Class 5 Pointer. Copyright 2006 by The McGraw-Hill Companies, Inc. All rights reserved.

C#, Programming, Object-oriented. Pengenalan C# Erick Pranata. Edisi I

DASAR PEMROGRAMAN. Konsep Pemrograman Berorientasi Objek. Yoannita

Introduction Object Oriented Analysis & Design. Chapter I

Pemrograman Berorientasi. Abstract & Interface

STK 571 KOMPUTASI STATISTIK. Perangkat Lunak Komputasi Statistik R

Konsep Dasar Pemrograman Berorientasi Objek

STMIK AMIKOM YOGYAKARTA YOGYAKARTA 2008 WIDHIARTA, S. KOM

Pemrograman Berorientasi Object. IMade Suartana, S.Kom, M.Kom

KONSEP OOP: POLYMORPHISM

TESTING DAN IMPLEMENTASI SISTEM. WAHYU PRATAMA, S.Kom., MMSI.

Operator dan Assignment

Inner Class adalah class yang berada (didefinisikan) di dalam sebuah Class

Connection Oriented. Kholid F.

( MAKALAH ) Inheritance, Polymorphism, Enkapsulasi. Mata Kuliah Object Oriented Programming (OOP) Dosen Pembina Agung Darmawan.

.NET Controls. Control Creation

Pertemuan 11 Object Oriented Program

KARAKTERISTIK PEMROGRAMAN BERORIENTASI OBJEK (OOP) Pemrograman berorientasi Objek mempunyai karakterisitik sebagai berikut:

PEMROGRAMAN BERORIENTASI OBJEK. Nurochman

REKAYASA PERANGKAT LUNAK (RPL) Implementasi PL

Pengenalan Obyek. Arna Fariza. Materi

Pengantar Analisis dan Desain Berbasis Obyek. Object Oriented Analysis and Design

PEMROGRAMAN BERORIENTASI OBJEK LANJUT

Pemograman Berorientasi Objek

Pengantar Analisis dan Desain Berbasis Obyek (Object Oriented Analysis and Design)

POLIMORPHISM PEMROGRAMAN LANJUT. Dr. Eng. Herman Tolle. Sistem Informasi FILKOM UB Semester Genap 2016/2017

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

Teknik Informatika S1

OBJECT ORIENTED PROGRAMMING

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation

Fungsi Bahasa pemrograman adalah sebagai media untuk menyusun dan memahami serta sebagai alat komunikasi antara pemrogram dengan computer.

Teknik Informatika S1

Pengembangan Media Pembelajaran pada Pemrograman Terstruktur dan Pemrograman Berorientasi Objek dengan Visualisasi Bangun Datar Menggunakan Processing

A L G O R I T M A D A N P E M R O G R A M A N 1 C D I S A R I K A N D A R I : B I N A N T O, I W A N K O N S E P B A H A S A P E M R O G R

Kualitas bahasa pemrograman: Ekspresivitas : secara jelas menggambarkan algoritma yang dibuat oleh programmer

Pengenalan OOP. Object-Oriented programming (OOP) Menitikberatkan pada konsep object sebagai elemen dasar dari program.

MODUL 5 PEMROGRAMAN VISUAL BASIC.NET DENGAN OOP (I)

Teori Algoritma Pertemuan 2 (11 Maret 2014) Object Oriented Programming (OOP) Functionally Terstruktur Modular Visual & Even Driven Programming

Polymorphism. Materi ke-8 Pemrograman Berbasis Objek

Bahasa Pemrograman 2.

DEVAL GUSRION, S.KOM, M.KOM MATAKULIAH BAHASA PEMOGRAMAN JAVA LANJUTAN III

Praktikum Minggu VI 1 dan 2 Dasar-dasar Object Oriented Programming PHP

Konsep Objek Oriented

BAB 1 PENGENALAN PEMROGRAMAN BERORIENTASI OBJEK

Reserved words Reserved words atau keywords merupakan kata-kata spesifik digunakan oleh compiler untuk keperluan pemrograman. Contoh reserved words

PertemuanI. Object Oriented

MANAJEMEN DATA MENGGUNAKAN R

Teknik Informatika S1

MODUL VII PEMROGRAMAN BERORIENTASI OBJEK

MODUL 6. PEMROGRAMAN VISUAL BASIC.NET DENGAN OOP (II) dan STRING

Transkripsi:

MATERI 3a Pemrograman Berorientasi Objek (S3) STK372 KOMPUTASI STATISTIK II Agus Mohamad Soleh

Outline Object dan Classes Konsep pemrograman berorientasi object (OOP) OOP dalam R: Sistem S3 dan Sistem S4 Ilustrasi 2 of 21

Objek dan Class Objek: Kamus Webster: Object: a visible or tangible thing of relative stable form; A thing that may be apprehended intellectually; A thing to which thought or action is directed Pemrograman: Objek memiliki state, behavior, and identity (Booch)

Objek dan Class Objek The state of an object encompasses all of the (static) properties of the object plus the current (dynamic) values of each of these properties Behavior is how an object acts and reacts, in terms of state changes and interactions with other objects. Identity is the property of an object that distinguishes it from all other objects. Class adalah kumpulan objek yang berbagi struktur dan tingkah laku yg sama/umum Class merupakan abstraksi dari objek

Konsep Pemrograman OO Tidak semua konsep dari pemrograman berorientasi objek diterapkan dalam R Konsep yang diimplementasikan: Encapsulation Inheritance Polymorphism

Encapsulation Encapsulation means that a group of related properties, methods, and other members are treated as a single unit or object. Objects can control how properties are changed and methods are executed. Why: Makes it easier to change your implementation at a later date by letting you hide implementation details of your objects, a practice called data hiding.

Inheritance Inheritance describes the ability to create new classes based on an existing class. The new class inherits all the properties and methods and events of the base class, and can be customized with additional properties and methods. Why: Promotes code reuse since the code for the methods of the subclasses do not need to be rewritten.

Polymorphism Polymorphism means that you can have multiple classes that can be used interchangeably, even though each class implements the same properties or methods in different ways. Polymorphism is essential to object-oriented programming because it allows you to use items with the same names, no matter what type of object is in use at the moment. Why: Polymorphism becomes more flexible. Subclasses can keep some methods inherited from their super classes and override others.

OOP dalam R Semua dalam R adalah objek Fungsi class digunakan untuk melihat tipe dari objek numeric logical character complex List Class yang lebih kompleks: matrix atau array

Ilustrasi Objek Suatu objek untuk manipulasi data numerik yang direpresentasikan dalam suatu lokasi koordinat x y. Cara mudah untuk menyimpan vektor lokasi koordinat adalah dalam list pts <- list (x=round(rnorm(5),2), y=round(rnorm(5),2))

Menambahkan sebagai Class Untuk menjadikan sebagai objek gunakan fungsi class

Perhatian!!!! Langkah sederhana dalam membuat objek sebelumnya sangat tidak dianjurkan karena nilai-nilai instan-nya mungkin tidak tepat Sebuah fungsi konstruktor dibutuhkan untuk mengecek instan sesuai dengan objek Misal: x dan y harus berupa numerik vektor tidak boleh NA, NaN, Inf Vektor harus memiliki panjang yang sama

Fungsi konstrukror

Menggunakan fungsi konstruktor

Menghilangkan informasi class Kadang tidak dibutuhkan informasi dalam bentuk class Gunakan fungsi unclass

Fungsi Aksesor Walaupun objek coords dapat diperlakukan sebagai list untuk akses data, tetapi akan lebih baik digunakan fungsi aksesor sendiri Akan membuat lebih modular dan mudah di modifikasi

Fungsi Generik dan Metode Atribut Class adalah dasar dari mekanisme OO sederhana sistem objek S3 Mekanisme menggunakan tipe fungsi yang disebut fungsi generik Fungsi generik bertindak untuk beralih memilih fungsi tertentu atau metode tertentu yang dijalankan Metode tertentu yang dipilih tergantung dalam class argumen pertama Contoh: Akan lebih baik jika fungsi print untuk class coords memiliki metode yang berbeda dengan print list

Metode print

Metode length Fungsi generik lain misal length yang bisa dibangkitkan untuk kasus ini

Menciptakan fungsi generik Metode hanya dapat didefinisikan untuk fungsi yang generik Untuk menciptakan fungsi generik

Menciptakan Metode bbox

Menambahkan nilai dalam coords Diinginkan sebuah objek yang berisi lokasi (coords) dan nilai (value) Diperlukan menciptakan objek baru dari class vcoords Objek akan dilabeli dengan class baru atau yang lama sehingga masih dapat menggunakan metode yang sudah dibuat

Fungsi konstruktor

Menggunakan konstruktor

Mendefinisikan Metode print Metode print pada class coords sudah tidak tepat lagi

Hasil Metode print: Metode bbox untuk kasus ini masih tepat, jadi tidak perlu diubah

Transformasi Matematika Objek vcoords berisi slot numerik yang dapat diubah dengan transformasi matematika Diinginkan: fungsi matematika untuk nilai (tidak koordinat) penambahan, pengurangan, perkalian dan pembagian dari dua buah objek Membandingkan nilai dua objek dll

Fungsi Matematika Misal fungsi cos atau sin untuk objek

Metode grup: Math Hampir semua fungsi matematika membutuhkan identifikasi yang sama Langkah lebih cepat menggunakan fungsi get(.generic) Ekspresi get(.generic) mengambil fungsi dengan nama Math.vcoords yang dijalankan

Hasil

Metode grup: Ops Mendefinisikan metode untuk Ops generik membuat mungkin secara simultan mendefinisikan metode untuk semua operasi biner: Metode supaya berjalan secara tepat diperlukan untuk menyakinkan lokasi dari vcoords adalah identik

Metode Grup: Ops

Hasil

Kompleksitas Sesuatu mungkin lebih kompleks dibanding sebelumnya Perbandingan (==,!=, <, <=, dll) mengembalikan nilai logik sehingga menghasilkan hasil vcoords yang tidak perlu dalam kasus ini Hanya satu argumen operator biner yang dibutuhkan. Dibutuhkan pemeriksaan tipe

Memeriksa Class objek Untuk memeriksa class objek disarankan menggunakan fungsi inherits:

Ilustrasi

Ilustrasi

Subset Diinginkan untuk memiliki akses terhadap metode subset Ekspresi berikut misal diinginkan: Dapat ditangani dengan mendefiniskan metode untuk [

Metode Subset

Assign terhadap subset Syntax yang diinginkan: Ekspresi ini secara formal equivalen: Fungsi [<- adalah generik dan mungkin mendefinisikan metode untuk hal ini

Definisi Metode Assign Subset

Ilustrasi

Penggantian umum Secara umum, mungkin untuk mendefinisikan untuk semua bentuk ekspresi: Menggunakan sehingga efek tepat dapat diperoleh dengan mendefinisikan secara tepat dari fun<- Evaluator R juga dapat dipanggil secara nested sepeti

Ilustrasi

Masalah dalam Sistem Objek S3 Sistem Objek S3 dalam R memberikan fasilitas objectoriented, tetapi terlalu longgar Ekspresi berikut diperbolehkan dalam R Sistem objek S3 tidak secara lengkap dapat dipercaya Masih banyak technical issue dalam sistem objek S3

AKHIR MATERI