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

dokumen-dokumen yang mirip
Object Oriented Programming (Class, Inheritance, Encapsulation dan Interface)

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

Algoritma Pemrograman [BS204]

Pemrograman Lanjut. Class : Deeper Look 2

Membuat dan Menggunakan Class

Pemrograman Berorientasi. Inheritance

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

PEMOGRAMAN JAVA. Yoannita. Class(iii) [Constructor] [keyword this] Passing parameter [by value] [by references]

Bab 8. Dasar-Dasar OOP

Other OOP Basic. Viska Mutiawani, M.Sc

Other OOP Basic. Viska Mutiawani, M.Sc. 1 Viska Mutiawani - Informatika FMIPA Unsyiah

Pemrograman Berorientasi Objek / Object Oriented Programming / (OOP) Nur Hasanah, M.Cs

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

3/31/2011. Tujuan. Inheritance, Polymorphism,& Interfaces. Inheritance / pewarisan. Inheritance / pewarisan. Inheritance / pewarisan

INTERAKSI ANTAR OBJECT

Pengenalan pemrograman berorientasi obyek

Polymorphism (Polimorfisme)

Pemrograman Berorientasi. Class dan Obyek 2

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PENGENALAN OBJECT ORIENTED PROGRAMMING

Bahasa Pemrograman 2.

JAVA FUNDAMENTAL ATURAN PERKULIAHAN SILABUS

Inheritance (Pewarisan) Pengertian dasar inheritance

Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN

9/26/2011. Tujuan. Bekerja dengan Java Class Library. Pengenalan OOP. Pengenalan OOP. Class dan Object. Enkapsulasi

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

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

Bahasa Pemograman II. Object Oriented Programming

Nama : Julian Chandra W Telp :

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation

1. Keyword mana yang memiliki fungsi sama dengan keyword this dan menyediakan reference ke atribut turunan dari objek? super

PEMOGRAMAN JAVA. Yoannita, S.Kom. Class(ii) [Constructor] [keyword this] Modifier Passing parameter [by value] [by references]

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

Pertemuan 11 Object Oriented Program

Pemograman Berorientasi Objek. Week 3 Abstrak dan Interface dalam suatu kelas

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

Pemrograman Lanjut. Instance Variable Access Modifier Set dan Get Method

Dasar Pemrograman Java

Pemograman Berorientasi Objek. Week 4 Initialization dan Instance dalam Kelas

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

UNIVERSITAS GUNADARMA

Pemrograman Lanjut Tipe Data dan Constructor PTIIK

OBJECT, CLASS DAN METHOD. 1. Mengetahui pengertian dari objek & class 2. Dapat membuat program sederhana dari java dengan menggunakna objek dan class

BAHASA PEMROGRAMAN. Untuk SMK. Kadarisman Tejo Yuwono Totok Sukardiyono Adi Dewanto. : Ratu Amilia Avianti. Perancang Kulit

Pemograman Berorientasi Objek

BEKERJA DENGAN JAVA CLASS LIBRARY

E-Book PEMROGRAMAN BERORIENTASI OBJEK. Disusun Oleh: Arfian Hidayat, S.Kom

Percabangan & Perulangan

Inheritance dan Kata Kunci static

(INHERITANCE) Nurochman

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

Keyword this untuk memanggil private String pengarang; private String judul;

Dasar-Dasar OOP di Java

Java - Belajar Object Oriented Programming (OOP) (Part 1 - Class, Method, Getter, Setter)

KONSEP OBJEK ORIENTASI PROGRAM

PEMROGRAMAN BERORIENTASI OBJEK KONSEP PBO

PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

CLASS PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM JOGJAKARTA

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

SUMBER BELAJAR PENUNJANG PLPG

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

MINGGU VI : PBO (LANJUTAN)

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

Overriding. Subclass yang berusaha memodifikasi tingkah laku yang diwarisi dari superclass. Tujuan: subclass memiliki tingkah laku yang lebih

PRAKTIKUM 2. Variabel, Tipe Data dan Operator. Tipe data dan variabel. - Microsoft Visual Studio 2010

BAB VII. CLASS DAN OBJECT

Konsep Dasar Pemrograman Berorientasi Objek

Konsep Pemrograman Berbasis Obyek

PEWARISAN D E W I S A R T I K A, M. K O M

Dasar-Dasar OOP di Java

Praktikum 3 Konsep Class, Attribute dan Method

UML (Unified Modelling Language)

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

PEMROGRAMAN BERORIENTASI OBJEK

Bahasa Pemrograman :: Object Oriented Programming

Modul II Object Oriented Programming

1. Manakah jawaban yang benar,pada saat Anda mengcompile dan menjalankan class berikut ini:

Class dan Object. PBO/Java/Ayuliana/Revisi

Variabel dengan tipe dasar hanya dapat menyimpan sebuah nilai

Pemrograman Lanjut Review Class dan Object PTIIK

Object Oriented Programming LOGO

[Lanjutan] Nurochman

Overriding Overloading Polymorphism

5/23/12. Inheritance. Pengertian inheritance Deklarasi inheritance Single inheritance Multilevel inheritance Access Control super keyword

OBJECT ORIENTED PROGRAMMING DENGAN PHP. Janitra Panji

Classes. class class_name { permission_label_1: member1; permission_label_2: member2;... } object_name;

BAB II VARIABEL DAN TIPE DATA

Pengenalan pemrograman berorientasi obyek. Politeknik Elektronika Negeri Surabaya. Topik

2 TIPE DATA DAN VARIABEL

Pemrograman Lanjut Jurusan S1 Teknik Informatika. 9/17/2012 Ratno

IKG2I4 / Software Project I

Satuan Acara Perkuliahan (SAP) UNIVERSITAS GUNADARMA

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA FAKULTAS ILMU KOMPUTER UNIVERSITAS BRAWIJAYA

Konsep Pemrograman Berorientasi Obyek. Maria Ulfah S Nurochman

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

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

Apa yang menjadi output potongan kode diatas? Error karena tidak ada String yang di-passing kedalam konstruktor Bapak

Transkripsi:

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

Karakteristik C# (C Sharp) merupakan bahasa garapan Microsoft yang merujuk pada kultur Java yang dilengkapi dengan kemampuan C++. Mengusung kepopuleran Java, C# menjadi bahasa yang patut dipertimbangkan. C# memiliki sintaks yang serupa dengan java. Perhatikan potongan program berikut: Code 1. Hello World using System; class Hello static void Main() Console.WriteLine("Hello World"); Code 1 menunjukkan sebuah source code dengan nama Hello yang memiliki method Main yang berfungsi untuk mencetak string Hello World. Perhatikan bahwa potongan program tersebut mirip dengan Java. Tipe Data Gambar 1 Tipe Data dalam C# Gambar 1 menunjukkan jenis-jenis data yang dapat ditangani. Seluruh tipe data merupakan derivasi dari Object. Dengan demikian, seluruh operasi Object juga dapat diterapkan pada tipe-tipe tersebut. Erick Pranata - Pengenalan C# - Maret 2013 1

Tipe Value vs Reference Salah satu contoh tipe data reference adalah Class, sementara Struct merupakan contoh tipe data value. Terdapat perbedaan mendasar antartipe tersebut, sebagai berikut: Tabel 1 Perbedaan Tipe Data Value dan Reference Tipe Value Tipe Reference variabel berisi value Reference disimpan di stack Heap inisialisasi 0, false, \0 null assignment menyalin value menyalin reference contoh int i = 10; String s = Hello ; int j = i; String s1 = s; i j 10 10 s s1 Hello Boxing dan Unboxing Ingat kembali, setiap tipe data dalam C# dapat diperlakukan sebagai Object. Dengan demikian, bilamana suatu nilai bertipe primitif ingin diubah menjadi object, lakukan hal berikut: Code 2. Boxing Object obj = 5; Dan untuk mengembalikannya, gunakan code berikut: Code 3. Unboxing int x = (int) obj; Teknik ini berperan penting dalam polymorphism. Erick Pranata - Pengenalan C# - Maret 2013 2

Object Oriented Programming Class maupun struct memiliki komposisi sebagai berikut: class C... fields, constants... // untuk OOP... methods...... constructors, destructors...... properties... // for component-based programming... events...... indexers... // for kemudahan... overloaded operators...... nested types (classes, interfaces, structs, enums, delegates)... Class memiliki karakteristik: 1. Dialokasikan di heap 2. Objek dibentuk dengan keyword new 3. Inherit satu Class saja 4. Inherit banyak Interface Struct memiliki karakteristik: 1. Dialokasikan di stack; Lebih cepat. 2. Dialokasikan dengan keyword new 3. Field tidak boleh diinisialisasi saat deklarasi 4. Constructor wajib memiliki parameter 5. Tidak mengenal inheritance, namun bisa inherit banyak Interface Mengenai encapsulation, C# hanya mengenal private (merupakan default) dan public. C# mengenal overloading. C# mengenal static constructor: constructor yang dijalankan satu kali, saat class tersebut pertama kali digunakan. C# mengenal destructor: aksi yang dijalankan saat suatu objek dibebaskan dari memori. Sebaiknya dihindarkan. Erick Pranata - Pengenalan C# - Maret 2013 3

Inheritance Hanya method dengan keyword virtual yang dapat di-override, dan method yang meng-override harus menggunakan keyword override. Derived class (class turunan) dapat memiliki field maupun method dengan nama yang sama dengan Base class (class yang di-extend) tanpa harus meng-override field maupun method tersebut, dengan TIDAK menggunakan keyword virtual (akan muncul warning) atau dengan menambahkan keyword new. Dengan demikian, keyword new akan menyembunyikan field maupun method pada base class dengan nama sama. C# mendukung abstract class. C# mendukung sealed class, sehingga class berjenis ini tidak dapat diturunkan. Operator Overloading C# menyediakan fitur untuk mengalihfungsikan beberapa operator yang biasanya ditemui pada operasi tipe data primitif seperti int, string, dll. Berikut merupakan contoh penulisannya: Code 4. Contoh Operator Overloading struct Fraction int x, y; public Fraction (int x, int y) this.x = x; this.y = y; public static Fraction operator +(Fraction a, Fraction b) return new Fraction(a.x * b.y + b.x * a.y, a.y * b.y); Implementasi operator overloading wajib mengembalikan nilai. Erick Pranata - Pengenalan C# - Maret 2013 4

Conversion Operator Pengubahan nilai dari tipe data tertentu menjadi tipe data lain dapat dilakukan dengan menggunakan conversion. Secara default, C# sudah menyediakan beberapa conversion standar, seperti (int), (string), dll. Namun, C# menyediakan fitur untuk membuat conversion buatan sendiri, seperti contoh berikut: Code 5. Contoh Conversion Buatan Sendiri struct Fraction int x, y; public static implicit operator Fraction(int x) return new Fraction(x,1); public static explicit operator int(fraction f) return f.x/f.y; Delegate Fitur lain yang cukup menarik dari C# adalah tipe data yang dapat diisi dengan method (baca: delegate). Code 6. Deklarasi Delegate class Program Notifier n; delegate void Notifier(String sender); public Program() n = new Notifier(Cetak1); void Cetak1(String sender) Console.WriteLine(sender); Erick Pranata - Pengenalan C# - Maret 2013 5

Potongan program pada code 6 dapat digunakan sebagai berikut: Code 7. Penggunaan Delegate class ProgramUtama public static void Main(String[] args) Program p = new Program(); p.n("sesuatu"); //akan menjalankan method Cetak1 Referensi B. Albahari, P. Drayton, B. Merrill, C# Essentials, O'Reilly, 2001 H. Mössenböck, Introduction to C#, University of Linz, Austria S. Robinson et al, Professional C#, Wrox Press, 2001 Erick Pranata - Pengenalan C# - Maret 2013 6