Pemrograman Berorientasi Obyek Lanjut (IT251) Ramos Somya, S.Kom., M.Cs.

dokumen-dokumen yang mirip
Pemrograman Berorientasi. Array dan Collections

KOLEKSI OBJECT. Farah Zakiyah Rahmanti, M.T Universitas Dian Nuswantoro

Pemrograman Berbasis Objek. Collections. Politeknik Elektronika Negeri Surabaya

Collections. Collections Framework

MODUL III ARRAYLIST TUGAS PENDAHULUAN

Jobsheet 16 String dan Collection (List, Set, Map)

IMPLEMENTASI STRUKTUR DATA LIST, QUEUE DAN STACK DALAM JAVA

Algoritma dan Struktur Data STACK

03/04/2018. Collection set List Map. Pemrograman Berorientasi Object

Struktur Data. Tumpukan : Definisi & Operasi. Pertemuan 4 PROBLEM ALGORITHM DATA IMPLEMENTATION. Pert. 4b Struktur Data - FMIPA USD

INSTITUT TEKNOLOGI SUMATERA COLLECTION: SET DAN MAP

PRAKTIKUM 20 JAVA COLLECTION FRAMEWORK : MAP

Algoritma dan Struktur Data. Queue

Modul 3: Tipe Data Abstrak Dinamis List, LinkList dan Model Antrian Stack & Queue

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK

Grouping Object. Viska Mutiawani, M.Sc

IF PEMROGRAMAN LANJUT GENERIC. Oleh : Andri Heryandi, M.T.

PEMROGRAMAN BERORIENTASI OBJEK COLLECTION DAN MULTITHREADING. ADAM MUKHARIL BACHTIAR TEKNIK INFORMATIKA UNIKOM

Java Generic & Collection

MAKALAH STRUKTUR DATA. DOSEN PEMBIMBING Nisa miftachurohmah, S.kom., M.Si PENYUSUN SITI JAMILATUL MU ADDIBAH ( )

Pemrograman Berorientasi Objek Collection dan Multithreading. Adam Mukharil Bachtiar Teknik Informatika UNIKOM

Algoritma Pemrograman [BS204]

*Sekumpulan elemen yang diatur secara terurut. *Linear List tidak sama dengan Connected-List

Score: 94.0 Persentage: % ~ u ~ Generated by Foxit PDF Creator Foxit Software For evaluation only.

Gambar 1. Single Linked List

Gambar 1. Single Linked List

A. TUJUAN PEMBELAJARAN 1. Memahami konsep dan operasi pada Stack. 2. Mampu mengimplementasikan struktur data Stack pada array dan List.

PRAKTIKUM ALGORITMA DAN STRUKTUR DATA MODUL KE-2 STACK DAN QUEUE

1. Latar Belakang Didalam pembuatan game java sering kali kita mendefinisikan banyak object seperti gambar, dan grafik geometri yang begitu banyak,

Arrays, Collections and Generics. Sisilia Thya Safitri, MT Agus Priyanto, MKom

Algoritma Dan Struktur Data II

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA QUEUE

Gambar 1. Single Linked List

Modul Praktikum 4 Pemograman Berorientasi Objek

2. Mahasiswa dapat membuat dan menggunakan array dan linked list dalam suatu kasus.

Algoritma Dan Struktur Data II

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA LINKED LIST (BAGIAN 2)

Algoritma Pemrograman & Struktur Data

Praktikum Stack. A. Stack Collection di java.util.collection. Percobaan 1. Percobaan 2. import java.util.iterator; import java.util.

Algoritma dan Pemrograman Array/Tabel[1] Oleh: Eddy Prasetyo N

IF PEMROGRAMAN LANJUT TUGAS 1. Oleh : Andri Heryandi, M.T.

Algoritma & Struktur Data. Array. Oleh : Nur Hayatin, M.Kom

Integer (Bilangan Bulat) Yang dimaksud bilangan bulat adalah, -1, -2, -3, 0, 1, 2, 3, 4 dan lain lain yang bukan merupakan bilangan pecahan.

BAB 2 COLLECTION & THREAD

Belajar ArrayList di Java

BAB VI ARRAY Mendeklarasikan Variabel Array int[ ] bilangan; int bilangan[ ]; Mendefinisikan Array Bilangan = new int[5]; Latihan 21. ArrSatu.

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA LINKED LIST (BAGIAN 1)

Masukan Judul... Infotype àsebuah tipe terdefinisi yang menyimpan informasi sebuah elemen list

STACK atau TUMPUKAN. Pertemuan 5 STACK (TUMPUKAN)

Everybody in this country should learn how to program a computer because it teaches you how to think. Steve Jobs

Boxing & AutoBoxing Java Collection Framework. Collection List Map Set. Generics vs Inheritance

MODUL 4. COLLECTIONS ARRAYS, QUEUE, dan STACK

Single Linked List (1)

Pendahuluan Struktur Data. Nisa ul Hafidhoh

SINGLE LINKED LIST (NON CIRCULAR)

Modul Praktikum Bahasa Pemrograman 1

Bab 8. Dasar-Dasar OOP

Java Collections Framework

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

BAB IX LINKED LIST (SENARAI BERANTAI)

Pertemuan 7. REVIEW dan QUIS

Pada pembuatan game di java, sering kali para programer. mendefinisikan banyak object seperti suara, gambar, dan grafik geometri yang

Gambar 1. Single Linked List

MINGGU X : COLLECTIONS

STRUKTUR DATA POKOK BAHASAN - 7 STACK ( TUMPUKAN )

Jika Anda ingin bisa/sukses dalam kuliah SDA ini, rajinlah mengimplementasikan ADT dan mengerjakan soal-soal yang diberikan.

LAPORAN PRAKTIKUM IX. Oleh:

GARIS-GARIS BESAR PROGRAM PERKULIAHAN (GBPP)

Politeknik Elektronika Negeri Surabaya

Review : Sifat Implementasi Linear List dengan Array

KUM 5 IMPLEMENTASI QUEUE

STACK (TUMPUKAN) Secara sederhana, sebuah tumpukan bisa kita ilustrasikan seperti gambar berikut.

A. TEORI ARRAY 1 DIMENSI

Pemrograman Berorientasi Obyek. Ramos Somya

Algoritma Dan Struktur Data II. Queue

Modul II Object Oriented Programming

Pemrograman Berorientasi Obyek (IT251) Ramos Somya, S.Kom., M.Cs.

Variabel dengan tipe dasar hanya dapat menyimpan sebuah nilai

Class & Object 2 ~Praktikum~ Imam Fahrur Rozi

Pemrograman. Pertemuan-3 Fery Updi,M.Kom

Larik/ Array int a1, a2, a3, a4, a5;

STRUKTUR DATA Pertemuan 1 s.d 8

Politeknik Elektronika Negeri Surabaya

Tipe data primitif adalah tipe data dasar yang dikenali oleh Java dan bukan merupakan class. Tipe data primitif ini dapat dikenali dengan ciri

PEMROGRAMAN JAVA : ARRAY

MODUL 1 PENGENALAN OOP

TIF 4201 Algoritma Dan Struktur Data

POINTER STACK DAN QUEUE. Institut Teknologi Sumatera

QUEUE (ANTREAN) Pertemuan 6 PENGERTIAN QUEUE (ANTREAN)

Objek Data, Variabel, dan Konstanta. Konsep Bahasa Pemrograman Materi 4 Yudianto Sujana, M.Kom

Data structure :Metode LINK LIST. Kusnawi, S.Kom, M.Eng STMIK AMIKOM Yogyakarta

Tumpukan (Stack) Stack bersifat LIFO (Last In First Out) LIFO Data yang terakhir masuk ke dalam stack menjadi data yang pertama keluar dari stack

04. Single Linked List

KUM 3 IMPLEMENTASI LIST

Array Pendeklarasian Array

PRAKTIKUM PEMROGRAMAN LANJUT MODUL 1

BAB II VARIABEL DAN TIPE DATA

2 TIPE DATA DAN VARIABEL

Identifier, Keywords, Variabel, Tipe Data Primitif dan Operator PBO. Ramos Somya

Pertemuan 4 Array pada Java

Transkripsi:

Pemrograman Berorientasi Obyek Lanjut (IT251) Ramos Somya, S.Kom., M.Cs.

Array pada Java adalah objek yang dapat digunakan untuk menyimpan data-data dengan tipe yang sama. Tipe dari data yang disimpan pada array dapat berupa tipe data primitive atau objek dari kelas tertentu.

Array dapat diibaratkan sebagai sebuah gedung yang memiliki beberapa ruangan dengan bentuk dan ukuran yang sama.

Cara mendeklarasikan array: tipe_data nama_array[]; atau tipe_data[] nama_array; Contoh: int nim[]; int[] nim;

Cara mengalokasikan ukuran array: Contoh: int[] daftarsiswa = new int[100]; char[] huruf = new char[92]; int[][] matriks = new int[3][3];

Cara memberikan nilai pada array: Contoh: int[] nim = new int[3]; nim[0]=1; nim[1]=2; nim[2]=3;

Indeks array yang alamatnya terdiri dari x dan y atau x, y, dan z, atau lebih dari 3.

Collection digunakan untuk menyimpan, mengambil, dan memanipulasi data. Salah satu collection paling sederhana adalah Array. Namun dalam Collection Framework, Java menawarkan berbagai bentuk lain dari Collection.

Karena Collection adalah interface, maka harus dibuat class yang mengimplementasikannya. Dalam Java API, sudah tersedia beberapa class yang sangat berguna untuk memanage object-object dalam Collection, sesuai sifat dan kebutuhannya.

Mengurangi effort dalam membuat program, karena sudah tersedia struktur data dan algoritma tanpa harus menulis sendiri. Meningkatkan performa, karena setiap implementasi dapat berfungsi maksimal sesuai kasus yang ada. Dapat dikembangkan dan fleksibel terhadap tipe object yang ada dalam Collection.

Semua class yang berhunbungan dengan Collection tergabung dalam Java Collection Framework dan terdapat dalam package java.util punya 2 interface utama : Collection dan Map.

Pada dasarnya ada 3 Interface yang digunakan, yaitu Set, List, dan Map. Kemudian ada 5 implementasi dasar yang digunakan pula, yaitu Hash Table, Resizable Array, Balanced Tree, Linked List, dan Hash Table + Linked List.

Berdasarkan teknik pengelompokkannya terbagi menjadi 3 : Set, List, dan Queue.

Set Merupakan cara pengelompokkan mengikuti model himpunan setiap anggotanya harus unik. List Merupakan pengelompokkan berdasarkan urutan seperti array. Isi list tidak harus unik. Contoh class List : Vector, Stack, linkedlist & ArrayList. Queue Merupakan pengelompokkan berdasarkan aturan FIFO. Contoh class : PriorityQueue & LinkedList.

Untuk menambahkan isi dari Map memerlukan sepasang objek, satu sebagai key satu lagi nilai yang akan disimpan. Map juga dikenal sebagai Dictionary : sifatnya mirip dengan kamus. Contoh class Map : HashTable, TreeMap, HashMap, LinkedHashmap.

Vector merupakan suatu bentuk array dinamis, sehingga kita tidak perlu mengubah ukuran array saat melakukan penambahan pada array yang sudah penuh. Perbedaan vector dengan array adalah pengaksesan elemen pada vector tidak bisa dilakukan secara langsung, tetapi harus menggunakan setter dan getter. Untuk menggunakan vector kita harus melakukan import java.util.vector;

Mendeklarasikan vector caranya: Vector<TipeData> namavector = new Vector<TipeData>(); Contoh: Vector<Integer> vec = new Vector<Integer>();

Contoh: misal nama vector-nya vec vec.size() adalah fungsi untuk mengembalikan jumlah elemen di dalam vektor. vec.addelement(obj) akan menambahkan Object obj di akhir vektor. vec.removeelement(obj) menghapus obj dari dalam vektor, kalau ada. Hanya objek pertama yang ditemui akan dihapus.

vec.removeelementat(n) menghapus elemen ke-n. N harus berada pada rentang 0 hingga vec.size() - 1. vec.setsize(n) akan mengubah ukuran vektor menjadi N. Jika di dalam vektor terdapat elemen yang jumlahnya lebih banyak dari N, maka elemen lainnya akan dihapus. vec.setelementat(object, index) akan mengubah elemen pada index yang diset dengan nilai baru

ArrayList digunakan untuk membuat array yang ukurannya dinamis. Berbeda dengan array biasa yang ukurannya harus ditentukan di awal deklarasi array, dengan ArrayList, ukurannya akan fleksibel tergantung banyaknya elemen yang dimasukkan.

Kelebihan lain collection framework ini adalah kemampuannya untuk membuat perulangan dirinya sendiri, sebab Collection framework mengimplementasikan interface Iterable. Sehingga untuk membuat perulangan for sebenarnya cukup dengan:

Stack merupakan sebuah collection sederhana yang menerapkan aturan LIFO (Last in First out). Artinya, elemen yang masuk terakhir akan dikeluarkan terlebih dahulu. Meskipun terdapat method add, get, dan remove karena Stack tetap inherit ke interface collection, namun method yang umum dipakai dalam Stack adalah push() untuk memasukkan elemen, pop() untuk mengeluarkan elemen, empy() untuk mengecek apakah stack kosong, dan peek() untuk melihat elemen teratas. Semua dilakukan sesuai urutan LIFO.

Linked List adalah salah satu bentuk struktur data, berisi kumpulan data (node) yang tersusun secara sekuensial, saling sambung-menyambung dan dinamis. Linked List sering disebut juga Senarai Berantai.

public class SenaraiBerkaitTunggal { private static LinkedList<Integer> l; public static void main(string[] args) { System.out.println("Program dengan LINKEDLIST default Java."); l = new LinkedList<Integer>(); Integer j = null; int i; System.out.println("starting..."); for (i = 0; i < 5; i++) { j = new Integer((int) (Math.random() * 100)); l.addfirst(j); System.out.println("add : " + j); }

for (; i < 10; i++) { j = new Integer((int) (Math.random() * 100)); l.addlast(j); System.out.println("addLast : " + j); } for (i = 0; i < l.size(); i++) { System.out.println("get " + i + " : " + l.get(i)); } for (i = 0; i < 5; i++) { System.out.println("remove : " + ((Integer) l.remove())); } while (!l.isempty()) { System.out.println("removeLast : " + ((Integer) l.removelast())); } } }

addfirst(e), menambahkan elemen di depan list addlast(e), menambahkan elemen di akhir list get(int), mendapatkan list berdasarkan indeks remove(), menghapus head/elemen pertama pada list removelast(), menghapus elemen terakhir pada list

Implementasi ketiga adalah dari Interface Map. Map berfungsi sebagai collection yang memetakan setiap value dengan key tertentu. Jika mencoba menambahkan elemen dengan key yang sama, maka elemen sebelumnya pada key tersebut akan ditindih sehingga hilang. Deklarasi HashMaps juga harus diikuti nama class yang akan menjadi key dan value-nya.