Fondasi Pemrograman & Struktur Data

Slides:



Advertisements
Presentasi serupa
Double Linked List.
Advertisements

LINKED LIST.
Struktur Data Queue Sandy dan Erick.
Struktur Data & Algoritma Suryana Setiawan, Ruli Manurung & Ade Azurat (acknowledgments: Denny) ‏ 1 Fasilkom UI SUR – HMM – AAFasilkom UI - IKI20100/ IKI80110P.
Implementasi Binary Tree
Queue.
STACK (TUMPUKAN).
Algoritma dan Struktur Data
STACK (Tumpukan).
STRUKTUR DATA (4) Array Stack(Tumpukkan) dan Queue (Antrian)
STACK.
Queue.
KELAS INNER, KELAS ABSTRACT, DAN INTERFACE
Struktur Data Stack.
- PERTEMUAN 4 - PERULANGAN
Algoritma & Struktur Data Linked List Evangs Mailoa.
Struktur Data List Linear : Linked List (Double Linkedlist)
Algorithm and Data Structures.
Algoritma dan Struktur Data
Linear Data Structures (Stack)
Algoritma dan Struktur Data
1 DATA STRUCTURE “ STACK” SHINTA P STMIK MDP APRIL 2011.
stack ==tumpukan== Tenia wahyuningrum st3 telkom purwokerto
Struktur Data List Linear : Linked List (Single Linkedlist)
Pemrograman Berorientasi Obyek Lanjut (IT251)
IKI 20100: Struktur Data & Algoritma Ruli Manurung & Ade Azurat (acknowledgments: Denny, Suryana Setiawan) ‏ 1 Fasilkom UI Ruli Manurung & Ade AzuratFasilkom.
Matakuliah : T0534/Struktur Data Tahun : 2005 Versi : September 2005
Pertemuan 5 STACK & QUEUE
ANTRIAN Farid Wajdi Yusuf Pendidikan Teknik Informatika dan Komputer
Apakah Stack itu ?. Apakah Stack itu ? Pengertian STACK Secara sederhana diartikan dengan : sebagai tumpukan dari benda sekumpulan data yang seolah-olah.
Pertemuan 7 stack jual [Valdo] Lunatik Chubby Stylus.
Algoritma & Pemrograman 1
STACK.
Algoritma dan Struktur Data
Pertemuan Linked list jual [Valdo] Lunatik Chubby Stylus.
Fondasi Pemrograman & Struktur Data
Universitas Budi Luhur
Fondasi Pemrograman & Struktur Data
Stack (Tumpukan) Pertemuan 4 Season 1
8. Singly Linear Linked List
STRUKTUR DATA QUIZ.
Stack Stack atau tumpukan adalah suatu stuktur data yang penting dalam pemrograman Bersifat LIFO (Last In First Out) Benda yang terakhir masuk ke dalam.
Pemprograman Berorientasi Objek
DASAR DASAR JAVA Dengan Netbans PBO Java.
Matakuliah : T0534/Struktur Data Tahun : 2005 Versi : September 2005
Linear Data Structures (Stack)
STRUKTUR DATA – Pertemuan 6
STACK 6.3 & 7.3 NESTED LOOP.
STACK (Tumpukan).
Struktur Data Khoiriya Latifa, M.Kom.
Pertemuan 5 Review Berbagai Struktur Data
Pertemuan 4 Modularitas
STACK (Tumpukan).
STACK / TUMPUKAN Struktur Data.
STACK Yohana Nugraheni.
Algoritma dan Struktur Data
Algoritme dan Stuktur Data
STACK & QUEUE Struktur Data.
Bahasa Pemrograman (Pemrograman Visual)
QUEUE (ANTRIAN) Queue atau antrian didefinisikan sebagai kumpulan dari obyek-obyek yang homogen dengan operasi penambahan elemen (Enqueue) dan pengambilan.
STACK (TUMPUKAN) Stack atau tumpukan didefinisikan sebagai kumpulan dari obyek-obyek yang homogen dengan operasi penambahan dan pengambilan elemen melalui.
Double STACK 6.3 & 7.3 NESTED LOOP.
TIF 4201 Algoritma Dan Struktur Data Abstract Data Type
Struktur Data Linear Created by Fifth Group, S3B TI Anggota
Teknik Pemrograman Lanjut
FONDASI PEMROGRAMAN & STRUKTUR DATA #4 - 1
FONDASI PEMROGRAMAN & STRUKTUR DATA #6
Bahasa Pemrograman (Pemrograman Visual)
FONDASI PEMROGRAMAN & STRUKTUR DATA #9
FONDASI PEMROGRAMAN & STRUKTUR DATA #3 - 3
Transcript presentasi:

Fondasi Pemrograman & Struktur Data Sort with java API serta Stack & Queue AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF

Universitas Pembangunan Jaya – SIF_TIF Tujuan Pertemuan Mampu menggunakan sort dengan java API Memahami prinsip Stack. Memahami tentang teknik membuat antrian (queue). Mampu membuat stack. Mampu membuat program antrian (queue) AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF

Universitas Pembangunan Jaya – SIF_TIF Sort dengan Java API Kita sudah mengetahui berbagai teknik sort seperti bubble, selection dan Insertion sort. Algoritma teknik sort tersebut perlu diketahui terkait kebutuhan pengurutan data. Java library telah memiliki method sort yang efisien, general, dan tepat. Method sort pada java library tersebut adalah: java.util.Arrays.sort(); AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF

Sort dengan Java API Arrays.sort() Dengan method Arrays.sort() kita dapat melakukan pengurutan suatu array dengan tipe primitive dan tipe object. Metode pengurutan bisa dilakukan terhadap seluruh isi array maupun terhadap suatu range tertentu pada array. Untuk array tipe object dapat ditambahkan comparator untuk menentukan bagaimana suatu pengurutan harus dilakukan. AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF

Sort dengan Java API Syntax Arrays.sort() Method Description Arrays sort methods Arrays.sort(pa); Sorts the elements of the array of a primitive type into ascending order using their natural ordering. Arrays.sort(pa, from, to); Sorts the elements pa [from]...pa[to-1] of a primitive type. into ascending order. Arrays.sort(oa); Sorts the elements of the array of an object type into ascending order, using the order defined by Comparable interface, which defines the compareTo method. Note that many Java classes such as String (but not StringBuffer), Double, BigInteger, etc implement Comparable. Arrays.sort(oa, from, to); Sorts the elements of the array, in the range from...to of an object type into ascending order. Arrays.sort(oa, comp); Sorts the elements of the array of an object type into ascending order, using the Comparator comp. Arrays.sort(oa, from, to, comp); Sorts the elements of the array, in the range from...to of an object type into ascending order using the Comparator comp. AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF

Sort dengan Java API Contoh import java.util.Arrays; Import java.util.Collections; public class sortAPI_Array { //============================================ main === public static void main(String[] args) { //... 1. Sort strings - or any other Comparable objects. String[] names = {"Zoe", "Alison", "David"}; Arrays.sort(names); System.out.println(Arrays.toString(names)); //... reverse order with comparator collections , comply with object type array only Arrays.sort(names, Collections.reverseOrder()); //... 2. Sort doubles or other primitives. double[] lengths = {120.0, 0.5, 0.0, 999.0, 77.3}; Arrays.sort(lengths); System.out.println(Arrays.toString(lengths)); } Output-nya: [Alison, David, Zoe] [Zoe, David, Alison] [0.0, 0.5, 77.3, 120.0, 999.0] AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF

Sort dengan Java API Contoh Berdasarkan kode program pada slide sebelumnya, jika dilakukan perubahan maka: double[] lengths = {120.0, 0.5, 0.0, 999.0, 77.3}; Arrays.sort(lengths, 2, 4); System.out.println(Arrays.toString(lengths)); double[] lengths = {120.0, 0.5, 0.0, 999.0, 77.3}; Arrays.sort(lengths, 1, 5); System.out.println(Arrays.toString(lengths)); Output-nya: [120.0, 0.5, 0.0, 999.0, 77.3] Output-nya: [120.0, 0.0, 0.5, 77.3, 999.0] double[] lengths = {120.0, 0.5, 0.0, 999.0, 77.3}; Arrays.sort(lengths, 1, 4); System.out.println(Arrays.toString(lengths)); Output-nya: [120.0, 0.0, 0.5, 999.0, 77.3] AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF

Stack & Queue Pengertian Stacks dan Queues digunakan sebagai kontainer untuk menampung object dan mengeluarkannya kembali dengan urutan tertentu. Stacks dan Queues memfasilitasi berbagai tipe operasi untuk dilakukan pada object di dalamnya. AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF

Universitas Pembangunan Jaya – SIF_TIF Stack Beroperasi dengan cara First In Last Out (FILO) atau Last in First Out (LIFO). Stack dapat di-ilustrasikan seperti tumpukan buku; letakkan buku pertama di atas meja, kemudian tambahkan buku kedua di atasnya demikian seterusnya untuk buku-buku selanjutnya. Buku 4 Exit Entry Buku 3 Buku 2 Buku 1 AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF

Universitas Pembangunan Jaya – SIF_TIF Stack Push Push  Operasi penambahan item di atas tumpukan (stack). Proses push selalu menambahkan item baru di tumpukan paling atas (terakhir) pada stack. AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF

Universitas Pembangunan Jaya – SIF_TIF Stack Pop Pop  Operasi pengambilan atau mengeluarkan item dari tumpukan (stack). Proses pop dimulai dari item pada tumpukan paling atas (terakhir) pada stack. AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF

Stack Basic Code with Array public class ArrayStack { private Object[] objects; private int topIndex = -1; public ArrayStack( int size ) { objects = new Object[ size ]; } public void push( Object o ) { if( topIndex > objects.length ) { return; objects[ ++topIndex ] = o; public Object pop() { if( topIndex == -1 ) { return null; return objects[ topIndex-- ]; public Object bacaAtas() { return objects[topIndex]; public class cobaStack { public static void main(String[] args) { ArrayStack tumpukanBuku = new ArrayStack(5); String buku="buku1"; tumpukanBuku.push("buku1"); tumpukanBuku.push("buku2"); tumpukanBuku.push("buku3"); tumpukanBuku.push("buku4"); tumpukanBuku.push("buku5"); System.out.println(tumpukanBuku.bacaAtas() + " pada posisi paling atas sekarang"); System.out.println(tumpukanBuku.pop() + " keluar"); System.out.println(tumpukanBuku.pop() + " keluar" ); } AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF

Universitas Pembangunan Jaya – SIF_TIF Node Salah satu Struktur Data Dinamis yang paling sederhana adalah Linked List atau Struktur Berkait, yaitu suatu kumpulan komponen yang disusun secara berurutan dengan bantuan Pointer. Masing-masing komponen pada Linked List dinamakan dengan Simpul (Node). Linked List data1 next data2 next data2 next Node data pointer Berisi penunjuk pada node berikutnya Berisi Data AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF

Stack Basic Code with Node public class LinkedStack { private Node top = null; public void push( Object o ) { Node node = new Node(); node.object = o; node.next = top; top = node; } public Object pop() { if( top == null ) { return null; Object o = top.object; top = top.next; return o; public Object bacaAtas() { return top.object; class Node { public Object object; public Node next; public class cobaStack { public static void main(String[] args) { LinkedStack tumpukanBuku = new LinkedStack(); String buku="buku1"; tumpukanBuku.push("buku1"); tumpukanBuku.push("buku2"); tumpukanBuku.push("buku3"); tumpukanBuku.push("buku4"); tumpukanBuku.push("buku5"); System.out.println(tumpukanBuku.bacaAtas() + " pada posisi paling atas sekarang"); System.out.println(tumpukanBuku.pop() + " keluar"); System.out.println(tumpukanBuku.pop() + " keluar" ); } buku5 next buku4 next buku3 next buku2 next buku1 next top null AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF

Universitas Pembangunan Jaya – SIF_TIF Queue Queue (antrian) beroperasi secara First In First Out (FIFO) / pertama masuk pertama keluar. Queue dapat di-ilustrasikan seperti antrian pada kasir; orang yang pertama datang akan dilayani kasir kemudian dia keluar terlebih dahulu, demikian seterusnya untuk orang-orang dalam antrian dibelakang. Exit Buku 1 Buku 2 Buku 3 Buku 4 Entry AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF

Universitas Pembangunan Jaya – SIF_TIF Tugas Buat class Queue dengan menggunakan node (untuk kelompok 1) Buat Program untuk menggunakan class Queue, yang melakukan memasukkan 10 data dan selanjutnya mengeluarkan 5 data. (untuk kelompok 2) Masing-masing kelompok melakukan presentasi program dan cara kerjanya pada sessi berikutnya (minggu depan). File: queue.java public class queue { private Node head, pointer; Node node = new Node(o); public void enqueue( Object o ) { if(head==null) { head = node; } pointer = head; else { pointer.next=node; pointer = node; public Object dequeue(){ if (head!=null) { Object objKeluar = head.o; return objKeluar; head = head.next; return null; class Node { public Object o; public Node next; public Node( Object o ) { this.o = o; next = null; public class cobaQueue { public static void main(String[] args) { queue antrian = new queue(); antrian.enqueue("rani"); antrian.enqueue("Ani"); antrian.enqueue("Stella"); antrian.enqueue("Martha"); antrian.enqueue("Andri"); antrian.enqueue(“Boy"); antrian.enqueue(“Riani"); antrian.enqueue(“Budi"); antrian.enqueue(“Evelyn"); antrian.enqueue(“Jack"); System.out.println(antrian.dequeue()); AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF

Universitas Pembangunan Jaya – SIF_TIF See You Next Session Thank’s AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF