Dictionary (Icomparable dan IComparer) Eka, Erick, Reddy © Sekolah Tinggi Teknik Surabaya 1.

Slides:



Advertisements
Presentasi serupa
TURUNAN/ DIFERENSIAL.
Advertisements

Pengendalian Proses : Seleksi (Conditional)
Menempatkan Pointer Q 6.3 & 7.3 NESTED LOOP.
Malang,22 November 2012
Membuat class sendiri.
SOAL ESSAY KELAS XI IPS.
Algoritma dan Struktur Data
TRANSFORMASI-Z Transformsi-Z Langsung Sifat-sifat Transformasi-Z
Soal-Soal Latihan Mandiri
Array.
Algoritma Struktur Data
Silahkan Salin Jawaban Anda DiKertas Sertakan : NIM. : Nama. : Kelas
Subprogram Program kecil yang melakukan tugas tertentu dan merupakan bagian dari program secara keseluruhan Keuntungan : Mudah dikodekan Mudah dipahami.
LINKED LIST.
Database Android Dwi Muktianto
Pemrograman Web Perl.
Hashing Eka, Erick, Reddy
LIMIT FUNGSI LIMIT FUNGSI ALJABAR.
Modul 6: Abstract Class, abstract method
Workshop SCS: Java Game Programming
Pemrograman Berorientasi Objek
Struktur Data Queue Sandy dan Erick.
SEARCHING ( PENCARIAN )
7. STRUCT.
Lecture 8 Set and Dictionary Sandy Ardianto & Erick Pranata © Sekolah Tinggi Teknik Surabaya 1.
Algoritma dan Struktur Data
Luas Daerah ( Integral ).
Struktur Data & Algoritma Suryana Setiawan, Ruli Manurung & Ade Azurat (acknowledgments: Denny) ‏ 1 Fasilkom UI SUR – HMM – AAFasilkom UI - IKI20100/ IKI80110P.
PERTEMUAN KE 9 MENU TUNGGAL.
Lecture 2 Introduction to C# - Object Oriented Sandy Ardianto & Erick Pranata © Sekolah Tinggi Teknik Surabaya 1.
Struktur Data & Algoritma Suryana Setiawan, Ruli Manurung & Ade Azurat (acknowledgments: Denny) ‏ 1 Fasilkom UI SUR – HMM – AAFasilkom UI - IKI20100/ IKI80110P.
Modul 1- Review Java.
Implementasi Binary Tree
Introduction to Data Structures Erick, Eka, Reddy © Sekolah Tinggi Teknik Surabaya 1.
Pertemuan 5 P.D. Tak Eksak Dieksakkan
Lecture 9 Single Linked List Sandy Ardianto & Erick Pranata © Sekolah Tinggi Teknik Surabaya 1.
KONTROL ALUR EKSEKUSI PROGRAM
Pemrogramman Terstruktur
SLIDE OTOMATIS PINDAH DALAM WAKTU 4-5 MENIT. A:kiriB:kanan Deklarasikan sebuah variabel dengan nama ‘isi’ yang mempunyai type array of double dengan ukuran.
Lecture 7 Backward Chaining Erick Pranata © Sekolah Tinggi Teknik Surabaya 1.
ITK-121 KALKULUS I 3 SKS Dicky Dermawan
Struktur Kontrol.
Array, Class, Obyek, Method danConstructor.
Pertemuan 8 Pemrograman Berbasis Obyek Oleh Tita Karlita
PD Tingkat/orde Satu Pangkat/derajat Satu
I/O Stream lanjutan.
Lecture 2 Object-oriented Programming Concepts Erick Pranata © Sekolah Tinggi Teknik Surabaya 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 DPK Issa Arwani, S.kom, M.sc.
Pemrograman Berorientasi Obyek Oleh Tita Karlita
Algoritma dan Struktur Data
PENYELESAIAN PERSAMAAN KUADRAT
WISNU HENDRO MARTONO,M.Sc
Queue.
Dasar Pemrograman Java Nana Ramadijanti Laboratorium Computer Vision Politeknik Elekltronika Negeri Surabaya PENS-ITS 2008.
Struktur Data List Linear : Linked List (Double Linkedlist)
Linear Data Structures (Stack)
Struktur Data & Algoritma Suryana Setiawan, Ruli Manurung & Ade Azurat (acknowledgments: Denny) ‏ 1 Fasilkom UI SUR – HMM – AAFasilkom UI - IKI20100/ IKI80110P.
Abstract Data Type (C++ and Java)
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.
METHOD, ARRAY DAN STRING
Pertemuan 7 stack jual [Valdo] Lunatik Chubby Stylus.
IKI 20100: Struktur Data & Algoritma Ruli Manurung & Ade Azurat (acknowledgments: Denny, Suryana Setiawan) 1 Fasilkom UI Ruli Manurung & Ade AzuratFasilkom.
MEMBUAT KELAS SENDIRI Dewi Sartika, M.Kom.
DIG1G3 Implementasi Struktur Data
Fondasi Pemrograman & Struktur Data
Linear Data Structures (Array)
Praktikum PBO Array dan Class.
STRUKTUR DATA.
Transcript presentasi:

Dictionary (Icomparable dan IComparer) Eka, Erick, Reddy © Sekolah Tinggi Teknik Surabaya 1

» Setiap array memiliki method SORT untuk mengurutkan element-element array » Secara default Ascending » Syntax: Array.Sort(varArray); 2 © Sekolah Tinggi Teknik Surabaya

» Priority Queue adalah sebuah array yang memiliki prioritas. Dengan kata lain, data yang ada dalam array tersebut akan diurutkan berdasarkan prioritas. » Contoh: class Mahasiswa { public String nama; public String nrp; public Double ipk; } 3 © Sekolah Tinggi Teknik Surabaya Salah satu dari atribut tersebut dapat dijadikan prioritas

» Prioritas dapat berupa: Nama NRP IPK » Untuk itu perlu adanya sebuah method untuk membandingkan ˃ IComparable  “Dapat dibandingkan” ˃ IComparer  “Pembanding” 4 © Sekolah Tinggi Teknik Surabaya Ascending atau Descending

class Mahasiswa : IComparable { public String nama; public String nrp; public Double ipk; int IComparable.CompareTo(object obj) { Mahasiswa c = (Mahasiswa)obj; return this.nrp.CompareTo(c.nrp); //return String.Compare(this.nrp, c.nrp); } 5 © Sekolah Tinggi Teknik Surabaya

private class sortIPKAscHelper : IComparer { int IComparer.Compare(object a, object b) { Mahasiswa c1 = (Mahasiswa)a; Mahasiswa c2 = (Mahasiswa)b; if (c1.ipk > c2.ipk) return 1; if (c1.ipk < c2.ipk) return -1; else return 0; } 6 © Sekolah Tinggi Teknik Surabaya

public static IComparer sortIPKAscanding() { return (IComparer)new sortIPKAscHelper(); } 7 © Sekolah Tinggi Teknik Surabaya

Nilai -1 akan dikeluarkan terlebih dahulu Nilai 0 akan dikeluarkan berikutnya Nilai 1 akan dikeluarkan pada urutan terakhir Sehingga, beri nilai -1 pada data yang ingin dikeluarkan terleih dahulu

9 © Sekolah Tinggi Teknik Surabaya Collection SetList Dictionary Stack Queue Linked List HashSet SortedSet Menampung seluruh jenis data IndexUnik Associative

» Persamaan: ˃Merupakan associative array ˃Pasangan Key dan Value » Perbedaan: 10 © Sekolah Tinggi Teknik Surabaya DictionaryHashTable Lebih baru, pengembanganLebih tua, lebih lambat System.Collection.GenericSystem.Collection Data yang disimpan ditentukan jenisnyaSeluruh data disimpan sebagai Object Dictionary dictionary = new Dictionary (); Hashtable numbers = new Hashtable();

» Hashtable and Dictionary are collection of data structures to hold data as key-value pairs. » Dictionary is generic type, hash table is not a generic type. » The Hashtable is a weakly typed data structure, so you can add keys and values of any Object Type to the Hashtable. » The Dictionary class is a strongly types and you must specify the data types for both the key and value. 11 © Sekolah Tinggi Teknik Surabaya

Syntax: Dictionary varName = new Dictionary (); Contoh: Dictionary kamus = new Dictionary (); 12 © Sekolah Tinggi Teknik Surabaya

Syntax: Asign: varName.Add(Key, Val); Contoh: kamus.Add("one", 1) kamus.Add("twenty", 20); 13 © Sekolah Tinggi Teknik Surabaya

Syntax: Access: ValType temp = varName[Key]; Contoh: int x = kamus["one"]; foreach (String key in kamus.Keys) { Console.WriteLine(kamus[key]); } 14 © Sekolah Tinggi Teknik Surabaya

Contoh: foreach (KeyValuePair pair in kamus) { Console.WriteLine(pair.Key); Console.WriteLine(pair.Value); } 15 © Sekolah Tinggi Teknik Surabaya

Syntax: varName.Remove(key); varName.Clear(); Contoh: kamus.Remove("one"); kamus.Clear(); 16 © Sekolah Tinggi Teknik Surabaya

17 © Sekolah Tinggi Teknik Surabaya Daftar Method AddGetObjectData ClearGetType ContainsKeyMemberwiseClone ContainsValueOnDeserialization Equals(Object)Remove FinalizeToString GetEnumeratorTryGetValue GetHashCode

int temp = kamus.Sum(x => x.Value); Double y = kamus.Average(x => x.Value); 18 © Sekolah Tinggi Teknik Surabaya

Mengurutkan isi kamus berdasarkan Key secara Ascanding kamus = kamus.OrderBy(x=>x.Key).ToDictionary(x=>x.Key, x=>x.Value); Kamus = kamus.OrderByDescending(x=>x.Key).ToDictionary(x => x.Key, x => x.Value); 19 © Sekolah Tinggi Teknik Surabaya

Dictionary kamus1 = new Dictionary (); kamus1.Add("ani", 60); kamus1.Add("budi", 80); kamus1.Add("jeni", 90); kamus1.Add("jono",70); Dictionary kamus2 = new Dictionary (); kamus2.Add("amir", 60); kamus2.Add("adi", 80); kamus2.Add("jeni", 90); kamus2.Add("luna", 70); Dictionary kamus3 = new Dictionary (); 20 © Sekolah Tinggi Teknik Surabaya

kamus3 = kamus1.Keys.Intersect(kamus2.Keys).ToDictionary(t => t, t => kamus1[t]); Output: jeni, © Sekolah Tinggi Teknik Surabaya

kamus3 = kamus1.Where(x => kamus2.ContainsKey(x.Key)).ToDictionary(x => x.Key, x => x.Value); Output: jeni © Sekolah Tinggi Teknik Surabaya

kamus3 = kamus1.Union(kamus2).ToDictionary(x => x.Key, x => x.Value); Output: ani 60 budi 80 jeni 90 jono 70 amir 60 adi 80 luna © Sekolah Tinggi Teknik Surabaya

» us/library/xfhwa508(v=vs.110).aspx 24 © Sekolah Tinggi Teknik Surabaya