Algoritma Pemrograman [BS204]

Ukuran: px
Mulai penontonan dengan halaman:

Download "Algoritma Pemrograman [BS204]"

Transkripsi

1 Algoritma Pemrograman [BS204] [1.2] Data Abstraction Robert Sedgewick, Kevin Wayne, Algorithms 4 th Ed., Chapter 1, Addison-Wesley Professional,

2 Tujuan Perkuliahan Mata kuliah ini mengajarkan tentang konsep-konsep algoritma dasar di dalam pemrograman Java. Mahasiswa mampu menggunakan abstraksi data agar mampu memahami analisis algoritma dan merancang algoritma yang optimal untuk memecahkan suatu kasus tertentu dengan abstraksi data. 2

3 Abstract Data Type(ADT) Tipe data yang representasi disembunyikan dari klien. Menerapkan ADT sebagai Java class tidak jauh berbeda dari pelaksanaan fungsi library sebagai seperangkat metode statis. Perbedaan utama adalah kita dapat mengasosiasikan data dengan implementasi fungsi dan menyembunyikan representasi data dari klien. (Algorithms, 4 ed ) ADT mendukung data encapsulation. Tujuan ADT : Menentukan masalah dalam bentuk API untuk digunakan oleh beragam klien. Penjelasan algoritma dan struktur data sebagai implementasi API. Tipe data abstrak merupakan kerangka kerja yang tepat untuk studi algoritma karena memungkinkan untuk menempatkan pengetahuan kinerja algoritma untuk segera digunakan : kita dapat menggantikan satu algoritma untuk yang lain untuk meningkatkan kinerja untuk semua klien tanpa mengubah kode klien apapun. 3

4 Using ADT (1) Kita tidak perlu tahu bagaimana tipe data diimplementasikan agar dapat digunakan tetapi kita perlu tahu bagaimana menulis program yang menggunakan tipe data sederhana. class Counter : class yang menjelaskan bagaimana menulis program yang menggunakan tipe data sederhana yang memiliki atribut nama dan bilangan bulat positif dan operasi serta menginisialisasi ke nol, penambahan satu nilai dan menampilkan nilai saat ini. Abstraksi ini berguna dalam banyak konteks. Sebagai contoh, kasus pemungutan suara elektronik atau melacak operasi dasar ketika menganalisis kinerja algoritma. 4

5 Using ADT (2) ADT memiliki banyak kesamaan dengan Java Library: Java class. Instance Methode dapat mengambil nol atau lebih argumen dari jenis tertentu, dipisahkan dengan koma dan diapit tanda kurung. (nilai untuk parameter) Dapat mengembalikan nilai(return) dari tipe tertentu atau tidak mengembalikan nilai(void). (function / procedure) Dan ada tiga perbedaan yang signifikan: Memiliki Constructor methode yang digunakan untuk create object dengan melakukan setting nilai awal atribut. Metode tanpa static digunakan untuk operasi pada ADT. Terdapat inherits methods yang sesuai dengan konvensi milik Java. (di gambar ditandakan dengan warna abu-abu) 5

6 Inherited Methods Method dapat di inherit dari Object class atau Parent class. Inherit method dari kelas Object : tostring() : mengembalikan nilai-nilai atribut dalam bentuk String getclass() : what class is this object? equals() : equivalent relation compareto() : comparable relation hashcode() : has code for this object 6

7 Objects Karakter dari Object memiliki 3 sifat penting : State : State dari sebuah object adalah nilai dari tipe datanya. Date, Time, Point, dll. Identity : Membedakan satu objek dari yang lain. birthdate vs hiredate. Behavior : Efek dari operasi data-tipe. Date : addday(), addmonth(), addyear(), dll. Mekanisme untuk melakukan akses ke Object adalah Reference. 7

8 Creating Objects Biasa disebut instansiasi Keyword : new Sintaks : Tipe_Data_Class nama_object = new Constructor(); Setiap kali klien menggunakan new(), sistem : Membuat anggaran ruang memori untuk object. Memanggil konstruktor untuk menginisialisasi nilainya. Mengembalikan referensi ke object. 8

9 Invoking Instance Methods 9

10 Implementing ADT Instance Variables (Attribute) Constructors (default / overloading) Instance Methods (default / overloading) Scope (Parameter variables, Local variables, Instance variables) 10

11 Instance Variables (Attribute) Atribut pada Date? day, month, year, Atribut pada Mahasiswa? nim, name, jeniskelamin, umur, Atribut pada Point? x, y 11

12 Constructors (default / overloading) Public class Manusia { private String nama; public Manusia() { nama = null; } //Constructor Default Public Manusia(String nama) { this.nama = nama; } //Constructor Overloading public String tostring() { return Nama Manusia : + nama; } Public class AppManusia { } public static void main( ) { Manusia m1 = new Manusia(); Manusia m2 = new Manusia( Andi ); Manusia m3 = m2; } } 12

13 Instance Methods (default / overloading) dapat berupa function / procedure Public class Manusia { private int umur; public String makan() { return nama + sedang makan ; } //method default public String makan(string lauk) { return nama + sedang makan + lauk; } //method overloading public void kalkulasiumur(date tgllahir) { umur = (new Date() tgllahir) / 365; } Public class AppManusia { } public static void main( ) { Manusia m1 = new Manusia(); System.out.println(m1.makan()); System.out.println(m1.makan( Nasi Goreng )); m1.kalkulasiumur(new Date(10, 10, 1990)); } } 13

14 Anatomy of a class that defines a data type 14

15 Scope (Parameter variables, Local variables, Instance variables) 15

16 API, Client s, Implementation s, Application 16

17 Data-typed Design Encapsulation : Atribut disembunyikan, behaviour diperlihatkan Designing APIs : Satu class design untuk banyak program Algorithms and abstract data types : StaticSETofInts.java Interface Inheritance : seperti adaptor Implementation Inheritance : child class dapat memiliki behaviour dari parent class String Conversion : tostring() and Parsing Wrapper Types : Boxing and UnBoxing Equality : equals() Memory Management : Pointer and GarbageCollector Immutability : tidak berubah vs Muttability : diharuskan berubah Design by Contract : Exceptions and Errors : throwable / try...catch... Assertions : Ekspresi boolean untuk menegaskan TRUE pada saat didalam program. 17

18 18

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

C#, Programming, Object-oriented. Pengenalan C# Erick Pranata. Edisi I 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

Lebih terperinci

Encapsulation (Encapsulasi) Minggu 5 Pemrograman Berorientasi Objek Alfa Faridh Suni

Encapsulation (Encapsulasi) Minggu 5 Pemrograman Berorientasi Objek Alfa Faridh Suni Encapsulation (Encapsulasi) Minggu 5 Pemrograman Berorientasi Objek Alfa Faridh Suni Enkapsulasi u Dapat dikatakan sebagai penyembunyian data/informasi (Information hiding). u Implementasi ke bahasa Pemrograman

Lebih terperinci

Pemrograman Berorientasi. Class dan Obyek 2

Pemrograman Berorientasi. Class dan Obyek 2 Pemrograman Berorientasi Obyek Class dan Obyek 2 anton@ukdw.ac.id Method main pada Java public static void main(string[] args) Merupakan bagian yang dieksekusi oleh program Java Sifat: public, static,

Lebih terperinci

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

Other OOP Basic. Viska Mutiawani, M.Sc. 1 Viska Mutiawani - Informatika FMIPA Unsyiah Other OOP Basic Viska Mutiawani, M.Sc 1 Viska Mutiawani - Informatika FMIPA Konsep penting Method overloading Encapsulation this keyword final static 2 Viska Mutiawani - Informatika FMIPA Visualisasi Class

Lebih terperinci

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

Pengenalan OOP. Object-Oriented programming (OOP) Menitikberatkan pada konsep object sebagai elemen dasar dari program. Class & Objek Pengenalan OOP Object-Oriented programming (OOP) Menitikberatkan pada konsep object sebagai elemen dasar dari program. Object tersebut dikarakterisasi oleh property dan behavior. Pengenalan

Lebih terperinci

Other OOP Basic. Viska Mutiawani, M.Sc

Other OOP Basic. Viska Mutiawani, M.Sc Other OOP Basic Viska Mutiawani, M.Sc Konsep penting Method overloading Encapsulation this keyword final static Visualisasi Class Class divisualisasikan dalam UML sebagai kotak persegi dengan 3 ruang:

Lebih terperinci

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

Object Oriented Programming (Class, Inheritance, Encapsulation dan Interface) Object Oriented Programming (Class, Inheritance, Encapsulation dan Interface) Ramos Somya Object sebuah benda (entity) yang memiliki batasan (boundary) dan identitas (identity) yang terdefinisi dengan

Lebih terperinci

PEWARISAN. Disusun Oleh: Reza Budiawan. Untuk: Tim Dosen Algoritma & Pemrograman Lanjut

PEWARISAN. Disusun Oleh: Reza Budiawan. Untuk: Tim Dosen Algoritma & Pemrograman Lanjut MI1274 Algoritma & Pemrograman Lanjut Genap 2015-2016 PEWARISAN Disusun Oleh: Reza Budiawan Untuk: Tim Dosen Algoritma & Pemrograman Lanjut Hanya dipergunakan untuk kepentingan pengajaran di lingkungan

Lebih terperinci

INTERAKSI ANTAR OBJECT

INTERAKSI ANTAR OBJECT INTERAKSI ANTAR OBJECT Farah Zakiyah Rahmanti, M.T 2015 Overview Constructor Overloading Constructor Hak Akses (public, protected, private) Contoh Static Class Constructor (konstruktor) Constructor adalah

Lebih terperinci

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

06/03/2018. Tidak memiliki parameter. Melakukan inisialisasi semua variabel private dengan nilai awal. Pemrograman Berorientasi Object constructor operator new garbage collection and finalizers this constructor untuk inisialisasi suatu nilai 1 2 Class adalah template/blueprint untuk instant/object dari

Lebih terperinci

Algoritma Pemrograman [BS204]

Algoritma Pemrograman [BS204] Algoritma Pemrograman [BS204] [1.3] Bag, Queue, Stack Robert Sedgewick, Kevin Wayne, Algorithms 4 th Ed., Chapter 1, Addison-Wesley Professional, 2011 1 Tujuan Perkuliahan Menekankan gagasan cara kita

Lebih terperinci

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

KARAKTERISTIK PEMROGRAMAN BERORIENTASI OBJEK (OOP) Pemrograman berorientasi Objek mempunyai karakterisitik sebagai berikut: KARAKTERISTIK PEMROGRAMAN BERORIENTASI OBJEK (OOP) Pemrograman berorientasi Objek mempunyai karakterisitik sebagai berikut: a. Abstraksi (abstraction) b. Pembungkusan (encapsulation) c. Pewarisan (inheritence)

Lebih terperinci

PRAKTIKUM I Class dan Obyek

PRAKTIKUM I Class dan Obyek PRAKTIKUM I Class dan Obyek Obyek merupakan dasar dari struktur Pemograman Berorientasi Obyek (OOP). Fitur dari OOP adalah Abstraksi, Enkapsulasi, Pewarisan, dan Polymorphism. Fitur Abstraksi yaitu mengkarakteristikan

Lebih terperinci

Pemrograman Lanjut Review Class dan Object PTIIK

Pemrograman Lanjut Review Class dan Object PTIIK Pemrograman Lanjut Review Class dan Object PTIIK - 2013 Objectives Mengingat kembali tentang Class dan Object Class Class adalah template atau blueprint dari objectobject yang dibuat. Class mempunyai:

Lebih terperinci

Bab 8. Dasar-Dasar OOP

Bab 8. Dasar-Dasar OOP Bab 8. Dasar-Dasar OOP Pemrograman Berorientasi Obyek Politeknik Elektronika Negeri Surabaya 2007 Overview Introduction Encapsulation Information Hiding Interface to access data Constructor Overloading

Lebih terperinci

CLASS PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM JOGJAKARTA

CLASS PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM JOGJAKARTA CLASS PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM JOGJAKARTA OBJEK Contoh : Meja, Kursi, Orang, dll Karakteristik yang utama pada sebuah objek, yaitu : Setiap objek memiliki atribut sebagai

Lebih terperinci

Dasar-Dasar OOP di Java

Dasar-Dasar OOP di Java Dasar-Dasar OOP di Java Information hiding Pada bab sebelumnya telah dibahas bagaimana mengakses anggota class, baik yang berupa atribut ataupun method. Misalnya saja kita mempunyai sebuah class seperti

Lebih terperinci

Abstrak data tipe. Struktur data-arita witanti ozzy suria Ganjil 2017

Abstrak data tipe. Struktur data-arita witanti ozzy suria Ganjil 2017 Abstrak data tipe Struktur data-arita witanti ozzy suria Ganjil 2017 1 Tujuan Memahami pengertian tipe data (Data Type) dan tipe data abstrak (Abstract Data Type) Mampu memodelkan persoalan yang ada dalam

Lebih terperinci

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM 1. Praktikan memahami perbedaan objek dan class pada Java. 2. Praktikan memahami konsep berorientasi objek. 3. Praktikan dapat membuat program sederhana dengan

Lebih terperinci

PRAKTIKUM OBJECT ORIENTED PROGRAMING

PRAKTIKUM OBJECT ORIENTED PROGRAMING PRAKTIKUM OBJECT ORIENTED PROGRAMING Class, Object dan Elemen dalam Class Pada Java Disusun oleh: KELOMPOK 1 STMIK STIKOM INDONESIA (STIKI)-BALI 2016 KATA PENGANTAR Puji syukur penulis panjatkan kehadiran

Lebih terperinci

Bahasa Pemrograman 2.

Bahasa Pemrograman 2. Bahasa Pemrograman 2 Desain Class dan Obyek anton@ukdw.ac.id Konstruktor Konstruktor digunakan pada saat instansiasi i i sebuah object. Melakukan instansiasi adalah mengalokasikan sejumlah memory dari

Lebih terperinci

Class & Object 2. Imam Fahrur Rozi

Class & Object 2. Imam Fahrur Rozi Class & Object 2 Imam Fahrur Rozi Materi * Enkapsulasi * Access Modifier * Konstruktor * Atribut/Method Klass * Atribut/Method Instansiasi Enkapsulasi * Merupakan konsep dasar OOP dimana atribut dan method

Lebih terperinci

BAB IV HASIL PENELITIAN DAN PENERAPAN

BAB IV HASIL PENELITIAN DAN PENERAPAN 87 BAB IV HASIL PENELITIAN DAN PENERAPAN 4.1 Karakteristik bahasa pemrograman DOGI Berikut ini akan dijabarkan karakteristik-karakteristik bahasa pemrograman DOGI yang mempengaruhi readability, writability

Lebih terperinci

Praktikum 6 Class Design (Encapsulation)

Praktikum 6 Class Design (Encapsulation) Praktikum 6 Class Design (Encapsulation) Tujuan Mengetahui bagaimana cara mendeklarasikan suatu class beserta atribut dan metodenya, serta mengakses anggota dari suatu obyek. Dasar Teori Deklarasi class

Lebih terperinci

Pemrograman Berorientasi. Abstract & Interface

Pemrograman Berorientasi. Abstract & Interface Pemrograman Berorientasi Obyek Abstract & Interface anton@ukdw.ac.id Latar Belakang Kita sudah mengenal pewarisan, bahwa class anak akan selalu mendapat warisan atribut dan behavior dari class induk Class

Lebih terperinci

Pemrograman Lanjut. Class, dan Instance Variable. Aryo Pinandito, ST, M.MT Team Teaching Pemrograman Lanjut

Pemrograman Lanjut. Class, dan Instance Variable. Aryo Pinandito, ST, M.MT Team Teaching Pemrograman Lanjut Pemrograman Lanjut Class, dan Instance Variable Aryo Pinandito, ST, M.MT Team Teaching Pemrograman Lanjut Objectives Mampu mendeklarasikan class dan menggunakannya untuk membuat object. Mampu mendeklarasikan

Lebih terperinci

Pengenalan pemrograman berorientasi obyek

Pengenalan pemrograman berorientasi obyek Pengenalan pemrograman berorientasi obyek Oleh: Ali Ridho Barakbah Pemrograman Berbasis Obyek Pertemuan 6 IT-EEPIS Keuntungan OOP Reusabilitas Pembangunan program lebih cepat Fleksibilitas lebih tinggi

Lebih terperinci

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

Pemrograman Lanjut Jurusan S1 Teknik Informatika. 9/17/2012 Ratno Pemrograman Lanjut Jurusan S1 Teknik Informatika 9/17/2012 Ratno Object Oriented Programming Object Pada dunia perangkat lunak, sebuah obyek adalah sebuah komponen perangkat lunak yang stukturnya mirip

Lebih terperinci

Tutorial FDM Nurul Huda 2008, bundled by samsonasik. Modul Java 1

Tutorial FDM Nurul Huda 2008, bundled by samsonasik. Modul Java 1 Modul Java 1 Persiapan : 1. Install Java-nya 2. Setting Path dan Classpath a. Jalankan Control Panel b. Pilih System c. Klik Advanced Klik tombol Environtment Variables. d. Pada System variables, cari

Lebih terperinci

Dasar Pemrograman Java

Dasar Pemrograman Java Dasar Pemrograman Java Tessy Badriyah, SKom. MT. http://lecturer.eepis-its.edu/~tessy Tujuan Pembelajaran Penggunaan Komentar dalam program Memahami perbedaan identifier yang valid dan yang tidak valid

Lebih terperinci

Pemrograman Lanjut Tipe Data dan Constructor PTIIK

Pemrograman Lanjut Tipe Data dan Constructor PTIIK Pemrograman Lanjut Tipe Data dan Constructor PTIIK - 2013 Objectives Mengetahui perbedaan antara tipe data primitive dan reference. Mampu mendeklarasikan dan menggunakan constructor untuk memastikan bahwa

Lebih terperinci

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

9/26/2011. Tujuan. Bekerja dengan Java Class Library. Pengenalan OOP. Pengenalan OOP. Class dan Object. Enkapsulasi Tujuan Pada akhir pembahasan, siswa diharapkan dapat : JAVA Education Network Indonesia Bekerja dengan Java Class Library Pengenalan Pemrograman 1 Menjelaskan OOP dan beberapa konsepnya Membedakan antara

Lebih terperinci

Pemrograman Lanjut. Class : Deeper Look 2

Pemrograman Lanjut. Class : Deeper Look 2 Pemrograman Lanjut Class : Deeper Look 2 PTIIK - 2013 Objectives Mampu menggunakan variabel dan method static dan final. Mampu meng-import static member dari sebuah kelas. Mampu membuat package dan meng-import

Lebih terperinci

Jobsheet 09. Overloading and Overriding Method

Jobsheet 09. Overloading and Overriding Method Jobsheet 09 Overloading and Overriding Method 1. Kompetensi Setelah menempuh pokok bahasan ini, mahasiswa mampu : 1) Memahami konsep overloading dan overriding, 2) Memahami perbedaan overloading dan overriding,

Lebih terperinci

Dasar-Dasar OOP di Java

Dasar-Dasar OOP di Java Pertemuan 7 - Pemrograman Berbasis Obyek Oleh: Ali Ridho Barakbah Information hiding Dasar-Dasar OOP di Java Pada bab sebelumnya telah dibahas bagaimana mengakses anggota class, baik yang berupa atribut

Lebih terperinci

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM Materi kuliah ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM Ir. Roedi Goernida, MT. (roedig@yahoo.com) Program Studi Sistem Informasi Fakultas Rekayasa Industri Institut Teknologi Telkom Bandung

Lebih terperinci

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

BAHASA PEMROGRAMAN. Untuk SMK. Kadarisman Tejo Yuwono Totok Sukardiyono Adi Dewanto. : Ratu Amilia Avianti. Perancang Kulit BAHASA PEMROGRAMAN Untuk SMK Penulis Editor Perancang Kulit Ukuran Buku : Suprapto Kadarisman Tejo Yuwono Totok Sukardiyono Adi Dewanto : Ratu Amilia Avianti : Tim : 18,2 x 15,7 cm Direktorat Pembinaan

Lebih terperinci

Konsep Dasar Pemrograman Berorientasi Obyek I JAVA. Anugrah Kusuma Seno Adi Putra

Konsep Dasar Pemrograman Berorientasi Obyek I JAVA. Anugrah Kusuma Seno Adi Putra Konsep Dasar Pemrograman Berorientasi Obyek I JAVA Anugrah Kusuma Seno Adi Putra Konsep Dasar Pemrograman Berorientasi Obyek I JAVA @2007 Java Competency Center - Institut Teknologi Bandung Penulis : Anugrah

Lebih terperinci

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING A. TUJUAN 1. Konstruktor 2. Overloading terhadap konstruktor 3. Overloading pada metode B. DASAR TEORI Deklarasi contructor (konstruktor) Contructor (konstruktor)

Lebih terperinci

Pemrograman Berorientasi. Inheritance

Pemrograman Berorientasi. Inheritance Pemrograman Berorientasi Obyek Inheritance anton@ukdw.ac.id Inheritance Silsilah Pohon Keluarga Relasi is-a Selain melakukan kategorisasi terhadap objek yang memiliki sekumpulan atribut dan perilaku yang

Lebih terperinci

Pemrograman Lanjut. Constructor. Aryo Pinandito, ST, M.MT Team Teaching Pemrograman Lanjut

Pemrograman Lanjut. Constructor. Aryo Pinandito, ST, M.MT Team Teaching Pemrograman Lanjut Pemrograman Lanjut Constructor Aryo Pinandito, ST, M.MT Team Teaching Pemrograman Lanjut Objectives Mengetahui dan memahami constructor Mampu mendeklarasikan dan menggunakan constructor untuk memastikan

Lebih terperinci

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

Overriding. Subclass yang berusaha memodifikasi tingkah laku yang diwarisi dari superclass. Tujuan: subclass memiliki tingkah laku yang lebih Overriding, Overloading, Polymorphism Pertemuan 10 Pemrograman Berbasis Obyek Oleh Tita Karlita Topik Overriding Overloading Constructor overloading Polymorphism Virtual Method Invocation Polymorphic arguments

Lebih terperinci

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

1. Manakah jawaban yang benar,pada saat Anda mengcompile dan menjalankan class berikut ini: 1. Manakah jawaban yang benar,pada saat Anda mengcompile dan menjalankan class berikut ini: Program dapat di-compile dan output-nya adalah 5 Program dapat di-compile dan output-nya adalah 6 Program akan

Lebih terperinci

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

PEMROGRAMAN JAVA. Yoannita, S.Kom. Class & Method sederhana Konsep Pemrograman Berorientasi Objek. Company LOGO Company LOGO PEMROGRAMAN JAVA Yoannita, S.Kom Class & Method sederhana Konsep Pemrograman Berorientasi Objek Method Method atau metode adalah fungsi yang didefinisikan di dalam kelas dan beroperasi pada

Lebih terperinci

Inheritance dan Kata Kunci static

Inheritance dan Kata Kunci static Inheritance dan Kata Kunci static PEWARISAN (INHERITANCE) Salah satu fitur yang paling kuat dalam OOP adalah penggunaan kode kembali (code reuse). Sekali sebuah prosedur dibuat, maka kita bisa menggunakannya

Lebih terperinci

Polymorphism. Materi ke-8 Pemrograman Berbasis Objek

Polymorphism. Materi ke-8 Pemrograman Berbasis Objek Polymorphism Materi ke-8 Pemrograman Berbasis Objek Pengertian Polymorphism = polimorfisme Poly (banyak) + morphos (bentuk) : banyak bentuk Kemampuan untuk menghandle banyak bentuk Kemampuan untuk memproses

Lebih terperinci

MODUL 1. CLASS, OBJECT, CONSTRUCTOR DAN METHOD

MODUL 1. CLASS, OBJECT, CONSTRUCTOR DAN METHOD MODUL 1. CLASS, OBJECT, CONSTRUCTOR DAN METHOD MODUL 1 Class, Object, Constructor dan Method TUJUAN PRAKTIKUM 1. Praktikan dapat memahami dan menerapkan pengertian object dan class dalam java 2. Praktikan

Lebih terperinci

UML (Unified Modelling Language)

UML (Unified Modelling Language) Pertemuan ke-5 Pengertian UML Unified Modelling Language (UML) adalah sebuah bahasa yg telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML

Lebih terperinci

Pemrograman Lanjut. Instance Variable Access Modifier Set dan Get Method

Pemrograman Lanjut. Instance Variable Access Modifier Set dan Get Method Pemrograman Lanjut Instance Variable Access Modifier Set dan Get Method PTIIK - 2014 Objectives Mampu mendeklarasikan class dan menggunakannya untuk membuat object. Mampu mendeklarasikan methods dalam

Lebih terperinci

Pemrograman Web. Object Oriented Programming in PHP 5

Pemrograman Web. Object Oriented Programming in PHP 5 Pemrograman Web Object Oriented Programming in PHP 5 Pengantar OOP PHP pada awalnya hanyalah kumpulan script sederhana. Dimulai sejak PHP 4 -> OOP Script yang menggunakan konsep object-oriented akan lebih

Lebih terperinci

IKG2I4 / Software Project I

IKG2I4 / Software Project I IKG2I4 / Software Project I Mahmud Imrona, M.T. Izzatul Ummah, M.T. Kelompok Keahlian Algoritma dan Komputasi LECTURE NOTE WEEK 2 1 3/11/2015 WEEK 2 Class Driver Constructor Public vs private Get dan set

Lebih terperinci

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

OBJECT, CLASS DAN METHOD. 1. Mengetahui pengertian dari objek & class 2. Dapat membuat program sederhana dari java dengan menggunakna objek dan class OBJECT, CLASS DAN METHOD Obyektif : 1. Mengetahui pengertian dari objek & class 2. Dapat membuat program sederhana dari java dengan menggunakna objek dan class Object dan Class class Dalam dunia nyata,

Lebih terperinci

Pemrograman Berorientasi. Methods

Pemrograman Berorientasi. Methods Pemrograman Berorientasi Obyek Methods anton@ukdw.ac.id Tanya jawab(1) Tanya jawab(2) Java Naming conventions Package names: start with lowercase letter E.g. java.util, java.net, java.io... Class names:

Lebih terperinci

Bahasa Pemrograman 2.

Bahasa Pemrograman 2. Bahasa Pemrograman 2 Class & Object anton@ukdw.ac.id Pengantar Pengantar Procedural vs Object Oriented Procedural: bagaimana memecahkan suatu masalah? lh? Inputs Proses Outputs Pengantar Procedural: memisahkan

Lebih terperinci

Pemrograman Berbasis Objek (Polimorfisme)

Pemrograman Berbasis Objek (Polimorfisme) Pemrograman Berbasis Objek (Polimorfisme) Kelompok 9 : Irwan Nugraha (53412824) M. Furqon Rahawarin (54412958) Niken Annisa (55412313) Prasetyo Nugroho (55412692) BAB I PENDAHULUAN I.1 Latar belakang Dalam

Lebih terperinci

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

Apa yang menjadi output potongan kode diatas? Error karena tidak ada String yang di-passing kedalam konstruktor Bapak Waktu Sisa : 0:59:57 1. Apa yang menjadi output potongan kode diatas? Error karena tidak ada String yang di-passing kedalam konstruktor Bapak Output: Bapak null Anak Error karena constructor Bapak(String

Lebih terperinci

Pertemuan 11 Object Oriented Program

Pertemuan 11 Object Oriented Program Pertemuan 11 Object Oriented Program OOP Pengertian OOP Pemrograman yang menitikberatkan kepada objek-objek (Seperti Pengiriman Nilai, Pesan atau Pernyataan Objek) untuk menyelesaikan tugas atau proses

Lebih terperinci

2 TIPE DATA DAN VARIABEL

2 TIPE DATA DAN VARIABEL BAB 2 TIPE DATA DAN VARIABEL Kompetensi Dasar dan Indikator : Setelah mengikuti materi kuliah ini mahasiswa mampu menggunakan tipe data dan variable yang ada dalam Java, dengan indikator mahasiswa mampu:

Lebih terperinci

PEMROGRAMAN BERORIENTASI OBJEK

PEMROGRAMAN BERORIENTASI OBJEK MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK NINF615 SEMESTER GASAL 2016/2017 PROGRAM STUDI S1 TEKNIK INFORMATIKA MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK DISUSUN OLEH: Tim Asisten Praktikum Jurusan

Lebih terperinci

Membuat dan Menggunakan Class

Membuat dan Menggunakan Class Pertemuan 3 Halaman 1/1 Membuat class pada java : Untuk mendefinisikan suatu class pada java digunakan : class ClassName { suatu class dapat terdiri dari - attribute / data field - method Attribute Attribute

Lebih terperinci

BEKERJA DENGAN JAVA CLASS LIBRARY

BEKERJA DENGAN JAVA CLASS LIBRARY MK. Pemrograman Berorientasi Objek BEKERJA DENGAN JAVA CLASS LIBRARY (CLASS-METHOD-OBJECT) KARMILASARI ANALOGI OBJEK DALAM DUNIA NYATA Objek di dunia nyata = Objek dalam perangkat lunak Atribut di dunia

Lebih terperinci

Object Oriented Programming 1

Object Oriented Programming 1 Object Oriented Programming 1 PEMROGRAMAN BERORIENTASI OBYEK Pemrograman beriorientasi obyek (Object Oriented Programming = OOP) berbeda dengan pemrograman konvensional pada umumnya, terutama dalam memperlakukan

Lebih terperinci

Enum. Yuliana Setiowati

Enum. Yuliana Setiowati Enum Yuliana Setiowati Kebutuhan tipe baru sebelum J2SE 5.0, solusi untuk menangani masalah sekumpulan nilai konstanta, dicontohkan seperti di bawah ini: (jenis credit card yang bisa diterima oleh aplikasi)

Lebih terperinci

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM 1 INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM INHERITANCE Pewarisan atribut dan method pada sebuah class yang diperoleh dari class yang direferensi sebagai induk

Lebih terperinci

Bahasa Pemograman II. Object Oriented Programming

Bahasa Pemograman II. Object Oriented Programming Bahasa Pemograman II Object Oriented Programming Pemograman Berorientasi Objek Salah satu paradigma pemograman Usaha untuk merepresentasikan perangkat lunak lebih dekat dengan cara pandang manusia terhadap

Lebih terperinci

LAPORAN PERCOBAAN IV PEMBUATAN CALCULATOR ( MENGHITUNG GAJI KARYAWAN DAN TUNJANGANNYA) BERBASIS JAVA

LAPORAN PERCOBAAN IV PEMBUATAN CALCULATOR ( MENGHITUNG GAJI KARYAWAN DAN TUNJANGANNYA) BERBASIS JAVA LAPORAN PERCOBAAN IV PEMBUATAN CALCULATOR ( MENGHITUNG GAJI KARYAWAN DAN TUNJANGANNYA) BERBASIS JAVA Oleh : Putri Indriyaningsih NPM. 1142208 Sekolah Tinggi Manajemen Informatika dan Komputer STMIK AMIKBANDUNG

Lebih terperinci

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

3/31/2011. Tujuan. Inheritance, Polymorphism,& Interfaces. Inheritance / pewarisan. Inheritance / pewarisan. Inheritance / pewarisan Tujuan JAVA Education Network Indonesia Inheritance,,& Interfaces Pengenalan Pemrograman 1 Pada akhir bab, Anda diharapkan mampu untuk Menjelaskan super class dan subclass Meng-override method dari superclass

Lebih terperinci

Konsep Pemrograman Berbasis Obyek

Konsep Pemrograman Berbasis Obyek Konsep Pemrograman Berbasis Obyek Tujuan Pembelajaran Memahami konsep Pemrograman Berbasis Obyek atau Object Oriented Programming (OOP) Memahami perbedaan antara pemrograman OOP dengan pemrograman prosedural

Lebih terperinci

KUM 3 IMPLEMENTASI LIST

KUM 3 IMPLEMENTASI LIST PRAKTIKUM KUM 3 IMPLEMENTASI LIST TUJUAN PEMBELAJARAN: 1. Mengimplementasikan struktur data LIST menggunakan array. 2. Menggunakan interface untuk mendefinisikan sekumpulan method generik dan dapat diimplementasikan

Lebih terperinci

Konsep Dasar Pemrograman Berorientasi Objek

Konsep Dasar Pemrograman Berorientasi Objek Konsep Dasar Pemrograman Berorientasi Objek CLASS & OBJECT Kita dapat membuat banyak OBJECT dari satu CLASS Untuk membuat banyak OBJECT, kita cukup gunakan keyword new berulang kali Misal: Rekening CLASS

Lebih terperinci

Pemograman Berorientasi Objek

Pemograman Berorientasi Objek Pemograman Berorientasi Objek C# #2 Mengimplementasikan Kelas dan Method 2017 Kompetensi Dasar Setelah mengikuti mata kuliah ini diharapkan mahasiswa memiliki kemampuan untuk: 1. Menguraikan konsep dasar

Lebih terperinci

JAVA BASIC PROGRAMMING Joobshet

JAVA BASIC PROGRAMMING Joobshet JAVA BASIC PROGRAMMING Joobshet 1. KOMPETENSI Mahasiswa dapat memahami jenis jenis tipe data Mahasiswa dapat memahami jenis jenis variable Mahasiswa dapat memahami jenis jenis seleksi kondisi Mahasiswa

Lebih terperinci

Inheritance (Pewarisan) Pengertian dasar inheritance

Inheritance (Pewarisan) Pengertian dasar inheritance Inheritance (Pewarisan) Pengertian dasar inheritance Inheritance (Pewarisan) merupakan salah satu dari tiga konsep dasar OOP. Konsep inheritance ini mengadopsi dunia riil dimana suatu entitas/obyek dapat

Lebih terperinci

MODUL 1. Class, Object, Constructor dan Method

MODUL 1. Class, Object, Constructor dan Method MODUL 1 Class, Object, Constructor dan Method TUJUAN PRAKTIKUM 1. Praktikan dapat memahami dan menerapkan pengertian object dan class dalam java 2. Praktikan dapat memahami pengertian dan penggunaan Constructor

Lebih terperinci

Polymorphism (Polimorfisme)

Polymorphism (Polimorfisme) Polymorphism (Polimorfisme) Pemrograman Berorientasi Objek Minggu 7 Alfa Faridh Suni Polymorphisme * Poly + morph = banyak + bentuk * Polymorphism yang berarti satu objek dapat memiliki banyak bentuk yang

Lebih terperinci

PEMROGRAMAN BERORIENTASI OBJEK KONSEP PBO

PEMROGRAMAN BERORIENTASI OBJEK KONSEP PBO PEMROGRAMAN BERORIENTASI OBJEK KONSEP PBO Budhi Irawan, S.Si, M.T 1 PENDAHULUAN Meskipun bahasa C adalah bahasa pemrograman yang berkekuatan tinggi (powerful) atau bisa digunakan untuk membuat program

Lebih terperinci

Game Technology Design Course College of Multi Media Yogyakarta Spring Tri Anggraeni, S.Kom., M.Sc.

Game Technology Design Course College of Multi Media Yogyakarta Spring Tri Anggraeni, S.Kom., M.Sc. Meeting 12 & 13 Class, String, set & get Function Game Technology Design Course College of Multi Media Yogyakarta Spring 2016-2017 Tri Anggraeni, S.Kom., M.Sc. Reference : Deitel, P. & Deitel, H. (2014).

Lebih terperinci

ENKAPSULASI Data Hiding

ENKAPSULASI Data Hiding PEMROGRAMAN LANJUT Sistem Informasi FILKOM UB Semester Genap 2016/2017 ENKAPSULASI Data Hiding Dr. Eng. Herman Tolle, ST., MT Fakultas Ilmu Komputer, Universitas Brawijaya Pemrograman Lanjut 1. Nama Matakuliah

Lebih terperinci

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING A. TUJUAN 1. Memahami mengenai Konstruktor. 2. Dapat melakukan Overloading terhadap konstruktor. 3. Dapat melakukan Overloading pada metode. B. DASAR TEORI Deklarasi

Lebih terperinci

Kurikulum Qt. { Basic OOP } Chapter 6. Class dan Object

Kurikulum Qt. { Basic OOP } Chapter 6. Class dan Object Kurikulum Qt { Basic OOP } Chapter 6 Class dan Object. Agenda Pengantar PBO Class dan Object Member variabel Member function/method Hak akses public dan private Accessor method Mutator method Constructor

Lebih terperinci

OVERLOADING, CONSTRUCTOR DAN DESTRUCTOR. Dewi Sartika, M.Kom

OVERLOADING, CONSTRUCTOR DAN DESTRUCTOR. Dewi Sartika, M.Kom OVERLOADING, CONSTRUCTOR DAN DESTRUCTOR OVERLOADING METHOD Overloading method merupakan kemampuan dalam pemrograman berorientasi objek yang mengizinkan beberapa method memiliki nama yang sama dengan jumlah/jenis

Lebih terperinci

MODUL 6 PERULANGAN. A. String. 1. Instansiasi dan Inisialisasi. M0601xxyyy.jar

MODUL 6 PERULANGAN. A. String. 1. Instansiasi dan Inisialisasi. M0601xxyyy.jar MODUL 6 PERULANGAN Topik-topik yang dibahas pada modul ini adalah mengenai kelas String, kelas Random, dan konsep perulangan. Pertanyaan-pertanyaan yang dijawab dalam bentuk teks harus Anda kumpulkan dengan

Lebih terperinci

Bahasa Pemrograman :: Java Class Library

Bahasa Pemrograman :: Java Class Library Bahasa Pemrograman :: Java Class Library Julio Adisantoso ILKOM IPB 3 Mei 2010 Objek Objek sebagai dasar element dari program Setiap objek memiliki karakteristik berupa atribut (properties) dan tingkah

Lebih terperinci

LAPORAN PERCOBAAN V ( APLIKASI NILAI MAHASISWA) BERBASIS JAVA

LAPORAN PERCOBAAN V ( APLIKASI NILAI MAHASISWA) BERBASIS JAVA LAPORAN PERCOBAAN V ( APLIKASI NILAI MAHASISWA) BERBASIS JAVA Oleh : Putri Indriyaningsih NPM. 1142208 Sekolah Tinggi Manajemen Informatika dan Komputer STMIK AMIKBANDUNG Jl. Jakarta no. 28 Bandung 1 BAB

Lebih terperinci

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

E-Book PEMROGRAMAN BERORIENTASI OBJEK. Disusun Oleh: Arfian Hidayat, S.Kom E-Book PEMROGRAMAN BERORIENTASI OBJEK Disusun Oleh: Arfian Hidayat, S.Kom http://arfianhidayat.com FAKULTAS ILMU KOMPUTER UNIVERSITAS DIAN NUSWANTORO SEMARANG 2013 Daftar Isi Daftar Isi... i Daftar Gambar...

Lebih terperinci

Pengenalan pemrograman berorientasi obyek. Politeknik Elektronika Negeri Surabaya. Topik

Pengenalan pemrograman berorientasi obyek. Politeknik Elektronika Negeri Surabaya. Topik Pengenalan pemrograman berorientasi obyek Topik MENGENAL OBJEK & CLASS Fitur OOP Deklarasi class Deklarasi Atribut Deklarasi metode Pengaksesan anggota obyek Life Cycle dari Objek Tipe Reference Pass by

Lebih terperinci

BAB II VARIABEL DAN TIPE DATA

BAB II VARIABEL DAN TIPE DATA BAB II VARIABEL DAN TIPE DATA Bahasa pemrograman pada umumnya, mengenal adanya variabel yang digunakan untuk menyimpan nilai atau data. Sedangkan Java sendiri dikenal sebagai bahasa pemrograman dengan

Lebih terperinci

PEMROGRAMAN JAVA. Petunjuk Penulisan Program Token Aturan Penamaan Identifier Lingkungan /Scope dari variabel Tipe Data (i) Yoannita

PEMROGRAMAN JAVA. Petunjuk Penulisan Program Token Aturan Penamaan Identifier Lingkungan /Scope dari variabel Tipe Data (i) Yoannita PEMROGRAMAN JAVA Petunjuk Penulisan Program Token Aturan Penamaan Identifier Lingkungan /Scope dari variabel Tipe Data (i) Yoannita Education is not the filling of a pail, but the lighting of a fire. (William

Lebih terperinci

Design. Creational. Pattern. Adam Hendra Brata. Factory Method, Abstract Factory, Singleton

Design. Creational. Pattern. Adam Hendra Brata. Factory Method, Abstract Factory, Singleton Design Pattern Creational Pattern Factory Method, Abstract Factory, Singleton Adam Hendra Brata PPP Tujuan Perkuliahan Memahami creational pattern : Factory Method Memahami creational pattern : Abstract

Lebih terperinci

Java Application. Aplikasi: Menampilkan Tulisan

Java Application. Aplikasi: Menampilkan Tulisan Java Application Aplikasi: Menampilkan Tulisan //Welcome1.java Public class Welcome1 { //main method memulai eksekusi aplikasi java public static void main (String args[]) { System.out.println( Welcome

Lebih terperinci

MEMBUAT KELAS SENDIRI. Dewi Sartika, M.Kom

MEMBUAT KELAS SENDIRI. Dewi Sartika, M.Kom MEMBUAT KELAS SENDIRI Dewi Sartika, M.Kom MENDEFINISIKAN KELAS SENDIRI class ...... DEKLARASI ATRIBUT [=]; Contoh Instance variable : private

Lebih terperinci

Pemograman Berorientasi Objek. Week 4 Initialization dan Instance dalam Kelas

Pemograman Berorientasi Objek. Week 4 Initialization dan Instance dalam Kelas Pemograman Berorientasi Objek c# Week 4 Initialization dan Instance dalam Kelas Constructor Konstruktor adalah method yang pertama kali dikerjakan ketika suatu kelas (class) diciptakan Bertugas untuk melakukan

Lebih terperinci

OBJECT ORIENTED PROGRAMMING DENGAN PHP. Janitra Panji

OBJECT ORIENTED PROGRAMMING DENGAN PHP. Janitra Panji OBJECT ORIENTED PROGRAMMING DENGAN PHP Janitra Panji Overview Class Properti / Atribut Method Visibilitas Member Object Constructor & Destructor Inheritance Definisi Class Class disusun berdasarkan karakteristik

Lebih terperinci

GARIS-GARIS BESAR PROGRAM PERKULIAHAN (GBPP)

GARIS-GARIS BESAR PROGRAM PERKULIAHAN (GBPP) GARIS-GARIS BESAR PROGRAM PERKULIAHAN (GBPP) Mata Kuliah: Pemrograman Berorientasi Objek; Kode/Bobot: TSK 502 / 3 sks; Deskripsi Mata Kuliah: Mata kuliah ini berisi konsep pemrograman berorientasi objek

Lebih terperinci

Satuan Acara Perkuliahan (SAP) UNIVERSITAS GUNADARMA

Satuan Acara Perkuliahan (SAP) UNIVERSITAS GUNADARMA Mata Kuliah : Teknik Pemrograman Terstruktur 2 Fakultas/Jurusan : Ilmu Komputer/Manajemen Informatika Satuan Acara Perkuliahan (SAP) UNIVERSITAS GUNADARMA Minggu Pokok Bahasan/Materi 1 Pokok Bahasan :

Lebih terperinci

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK BAB 1 PEMROGRAMAN BERORIENTASI OBJEK Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan

Lebih terperinci

TUGAS AKHIR APLIKASI KALKULATOR BOLA BERBASIS JAVA

TUGAS AKHIR APLIKASI KALKULATOR BOLA BERBASIS JAVA TUGAS AKHIR APLIKASI KALKULATOR BOLA BERBASIS JAVA Oleh : Putri Indriyaningsih NPM. 1142208 Sekolah Tinggi Manajemen Informatika dan Komputer STMIK AMIKBANDUNG Jl. Jakarta no. 28 Bandung BAB I Pendahuluan

Lebih terperinci

PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA

PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA Asep Herman Suyanto info@bambutechno.com http://www.bambutechno.com Bahasa pemrograman pada umumnya, mengenal adanya variabel yang digunakan untuk menyimpan nilai

Lebih terperinci

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

1. Keyword mana yang memiliki fungsi sama dengan keyword this dan menyediakan reference ke atribut turunan dari objek? super Your browser does not support inline frames or is currently configured not to display inline frames. Waktu Sisa : 1:58:53 1. Keyword mana yang memiliki fungsi sama dengan keyword this dan menyediakan reference

Lebih terperinci

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

Pemrograman Lanjut Jurusan S1 Teknik Informatika. 9/17/2012 Ratno Pemrograman Lanjut Jurusan S1 Teknik Informatika 9/17/2012 Ratno Object Oriented Programming Object Pada dunia perangkat lunak, sebuah obyek adalah sebuah komponen perangkat lunak yang stukturnya mirip

Lebih terperinci