Langsung ke konten utama

Belajar Java: Mengenal dan Memahami Class HashMap di Java

Belajar Java: Mengenal dan Memahami Class HashMap di Java


Tutorial belajar Pemrograman Java
Jika kamu sebelumnya pernah belajar tentang Array dan ArrayList, maka saya yakin kamu akan mudah mencerna materi ini.
Pada kesempatan kali ini, kita akan belajar tentang HashMap. HashMap kadang sering digunakan dalam pembuatan aplikasi Java. Karena itu, HashMap penting untuk kita ketahui.
Ok, langsung saja. Mari kita mulai…

Apa itu HashMap?

Class HashMap merupakan class turunan dari class AbstractMap dan implementasi dari interface Map.
Asal usul Hashmap
HashMap adalah sebuah class yang berisi sekumpulan pasangan nilai (value) dan kunci (key).
Nilai bisa dalam bentuk string, integer, boolean, float, double, dan objek. Sedangkan untuk key biasanya dalam bentuk string dan integer.
HashMap bisa dibilang seperti Array asosiatif dalam Java.
Coba perhatikan tabel berikut:
Hashmap
Tabel di atas terdiri dari pasangan key dan value, seperti inilah isi dari class atau objek HashMap.

Cara Membuat HashMap

Sebelum bisa menggunakan HashMap, kita harus mengimpornya terlebih dahulu:
import java.util.HashMap;
Setelah itu baru kita bisa menggunakannya.
Nah!, untuk menggunakan HashMap, kita harus membuat objeknya terlebih dahulu. Objek dari Hashmap dapat dibuat dengan kata kunci new.
Namun, ada sedikit tambahan untuk menentukan tipe data untuk key dan value yang akan disimpan.
Membuat objek hashmap
Contoh:
HashMap<Integer, String> days = new HashMap<Integer,String>
Pada contoh di atas, kita membuat objek HashMap bernama days. Objek ini dapat kita gunakan untuk menyimpan koleksi data.
Tipe data yang digunakan untuk key adalah Integer dan value adalah String.
Artinya: key harus bertipe Integer dan nilai yang tersimpan harus dalam bertipe String.
Untuk lebih jelasnya, silahkan lanjutkan…

Mengisi Nilai ke HashMap

Tadi kita sudah membuat objek hashmap bernama days dengan tipe data:
  • K (key): Integer
  • V (value): String
Untuk mengisi nilai ke objek days, kita dapat menggunakan method put seperti ini:
days.put(1, "Minggu");
days.put(2, "Senin");
days.put(3, "Selasa");
days.put(4, "Rabu");
days.put(5, "Kamis");
days.put(6, "Jum'at");
days.put(7, "Sabtu");
Perhatikan!
Objek HashMap days berisi nama-nama hari dengan key 17. Kalau tidak percaya, silahkan coba compile contoh program ini:
import java.util.HashMap;

public class CobaHashMap {
    public static void main(String[] args) {
        // membuat objek hashmap
        HashMap<Integer, String> days = new HashMap<Integer,String>();
        
        // mengisi nilai ke objek days
        days.put(1, "Minggu");
        days.put(2, "Senin");
        days.put(3, "Selasa");
        days.put(4, "Rabu");
        days.put(5, "Kamis");
        days.put(6, "Jum'at");
        days.put(7, "Sabtu");
        
        // mencetak semua isi dari objek days
        System.out.println("Isi objek days: " + days);
    }
}
Hasilnya:
Isi objek hashmap

Mengambil Nilai dari HashMap

Untuk mengambil nilai dari HashMap, kita bisa menggunakan method get() dengan parameter kuncinya.
Contoh:
// mengambil hari senin
days.get(2)
Parhatikan!
Kenapa di sana kita isi parameternya 2?
Jawabannya karena kita ingin mengambil nilai senin dan nilai tersebut telah diasosiasikan pada objek HashMap dengan key 2.
Contoh kode lengkap:
import java.util.HashMap;

public class CobaHashMap {
    public static void main(String[] args) {
        // membuat objek hashmap
        HashMap<Integer, String> days = new HashMap<Integer,String>();
        
        // mengisi nilai ke objek days
        days.put(1, "Minggu");
        days.put(2, "Senin");
        days.put(3, "Selasa");
        days.put(4, "Rabu");
        days.put(5, "Kamis");
        days.put(6, "Jum'at");
        days.put(7, "Sabtu");
        
        // mencetak semua isi dari objek days
        System.out.println("Isi objek days: " + days);
        // mengambil hari senin
        System.out.println("Hari kedua: " + days.get(2));
    }
}
Hasilnya:
Mengambil nilai dari HashMap
Coba juga untuk mengambil nilai yang lain, seperti Rabu, Kamis, dan Jum'at.

Menghapus Nilai dari HashMap

Ada dua method yang dapat digunakan untuk menghapus nilai dari HashMap:
  1. remove() menghapus salah satu nilai;
  2. clear() menghapus semua nilai;
Mari kita coba:

import java.util.HashMap;

public class CobaHashMap {
    public static void main(String[] args) {
        // membuat objek hashmap
        HashMap<Integer, String> days = new HashMap<Integer,String>();
        
        // mengisi nilai ke objek days
        days.put(1, "Minggu");
        days.put(2, "Senin");
        days.put(3, "Selasa");
        days.put(4, "Rabu");
        days.put(5, "Kamis");
        days.put(6, "Jum'at");
        days.put(7, "Sabtu");
        
        // mencetak semua isi dari objek days
        System.out.println("Isi objek days: " + days);
        System.out.println("Hari kedua: " + days.get(2));
        
        // menghapus malam minggu <-- jomblo detected :D
        days.remove(1);
        System.out.println("Isi objek days: " + days);
        
        // menghapus semua hari <-- oh tidak kiamat donk!
        days.clear();
        System.out.println("Isi objek days: " + days);
    }
}
Hasilnya:
Menghapus nilai dari HashMap

Mengubah Nilai dan Kunci dari HashMap

Ada dua method yang dapat digunakan untuk mengubah nilai di dalam HashMap:
  1. Method put()
  2. Method replace()
Apa bedanya?
Saya kira tidak ada perbedaan. Keduanya sama-sama bisa digunakan untuk mengubah nilai.
Namun, sepertinya untuk method replace()
…nilai yang akan diubah harus sudah ada di dalam HashMap.
Sedangkan untuk method put(), dia akan menambahkan yang baru apabila belum ada di dalam HashMap.
Mari kita coba:
import java.util.HashMap;

public class CobaHashMap {
    public static void main(String[] args) {
        // membuat objek hashmap
        HashMap<Integer, String> days = new HashMap<Integer,String>();
        
        // mengisi nilai ke objek days
        days.put(1, "Minggu");
        days.put(2, "Senin");
        days.put(3, "Selasa");
        days.put(4, "Rabu");
        days.put(5, "Kamis");
        days.put(6, "Jum'at");
        days.put(7, "Sabtu");
        
        // mengubah hari menggu menjadi hari ahad
        days.put(1, "Ahad");
        
        // mengubah hari rabu menjadi rabo
        days.replace(4, "Rabo");
        
        // mencetak semua isi dari objek days
        System.out.println("Isi objek days: " + days);
        
    }
}
Hasilnya:
Mengubah nilai dari HashMap

Method-method HashMap

Method-method diatas adalah method-method yang biasa digunakan di dalam HashMap. Sebenarnya masih banyak lagi method lain yang perli kita coba-coba.
Untuk melihatnya, silahkan tekan tombol Ctrl+Spasi pada Netbeans saat menggunakan objek HashMap.
Method dalam objek HashMap
Berikut ini penjelasan beberapa method:
  • clear() untuk membersihkan isi HashMap;
  • isEmpty() untuk mengecek apakah HashMap dalam keadaan kosong atau tidak;
  • size() untuk mengambil ukuran HashMap (jumlah item di dalam hashmap);
  • values() untuk mengambil semua nilai yang ada di dalam HashMap;
  • keySet() untuk mengambil semua key yang ada di dalam HashMap;
  • clone() untuk menggandakan objek HashMap;
  • dll.

Bonus: Contoh Program dengan HashMap

Program ini terdiri dari dua class, yaitu: Buku.java dan BukuHashMap.java. Kedua class ini berada dalam satu package.
Pada program ini, kamu akan menemukan contoh HashMap yang berisi sekumpulan objek.
Berikut ini isi class Buku.java:
public class Buku {
    
    private String title;
    private String author;

    public Buku(String title, String author) {
        this.title = title;
        this.author = author;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }
    
}
Berikut ini isi class BukuHashMap.java:
import java.util.HashMap;
import java.util.Map;

public class BukuHashMap {
    public static void main(String[] args) {
        
        // membuat objek hashmap
        HashMap<String, Buku> books = new HashMap<String, Buku>();
        
        // membuat objek buku
        Buku bukuJava = new Buku("Tutorial Java", "Petani Kode");
        Buku bukuKotlin = new Buku("Pemrograman Kotlin", "Petani Kode");
        Buku bukuAndroid = new Buku("Pemrograman Android", "Petani Kode");
        
        // mengisi objek hashmap dengan objek buku
        books.put("java", bukuJava);
        books.put("kotlin", bukuKotlin);
        books.put("android", bukuAndroid);
        
        // cetak semua buku
        for(Map.Entry b: books.entrySet()){
            Buku buku = (Buku) b.getValue();
            System.out.println(b.getKey() + ": "+ buku.getTitle());
        }
        
    }
}
Silahkan coba compile sendiri dan pahami maksud dari kode program di atas.
Berikut ini hasil outputnya:
Hashmap dengan isi sekumpulan objek

Akhir Kata…

Selamat, kamu sudah mengenal HashMap. 🎉
Hashmap kadang nanti akan banyak digunakan dalam pembuatan aplikasi. Karena itu, kamu harus memahaminya.
Namun, jangan khawatir. Jika kamu masih belum paham, bisa ditanyakan langsung melalui komentar.

Komentar

Postingan populer dari blog ini

PROSEDUR PEMBUATAN INDIKATOR

PROSEDUR PEMBUATAN INDIKATOR 1. EBT (ERIOCROM BLACK T) Timbang 100 mg serbuk zat warna EBT ,10 gram Kristal NaCl atau Kristal Na2SO4 an hidrat. Kedua zat tersebut dicampur dengan cara menggerus didalam mortar sampai halus dan merata. Penggunaannya 100 mg (seujung spatel ) untuk satu kali titrasi. 2. Merah metil Larutkan 25 mg metil P dengan 0,95 ml larutan Natrium hidroksida 0,05 N dan 5 ml etanol 95 % setelah larut sempurna, tambahkan etanol 50 % secukupnya hingga 250,0 ml 3. Jingga metil Larutkan jingga metil P 0,04 % b/v dalam etanol 20 % 4. BTB Larutkan 100 mg biru brom timol P dengan 3,2 ml Natrium Hidroksida 0,05 N dan 5 ml etanol 90 % ,setelah larut sempurna tambahkan etanol 20 % secukupnya hingga 250,0 ml. 5. MUREXIDE Haluskan 100 mg serbuk murexide dengan 10 gram KNO3 atau 10 gram NaCl . Pada pemakaiannya 100 gram serbuk murexide tiap volume 150 sampai 200 ml. 6. Larutan indicator Fenolftalein 0,035 %. Timbang ± 0,035 gram Fenolftalein ,lar

LARUTAN PADA KIMIA ANALITIK KUANTITATIF

LARUTAN PADA KIMIA ANALITIK KUANTITATIF 1.        LARUTAN NaOH 0,1  N                 4 gram NaOH dalam 1 Liter 2.        LARUTAN HCl 0,1 N HCl pekat = 37% HCl pekat = 12 M = 12 N                 8,33 mL HCl pekat = 1 Liter 0,1 N 3.        LARUTAN H 2 SO 4 0,1 N H 2 SO 4 pekat = 96 % H 2 SO 4 pekat = 17,63 M = 18 M = 36 N        2,78 mL H 2 SO 4 pekat = 1 liter 0,1 N 4.        LARUTAN CH 3 COOH 0,1 N CH 3 COOH pekat = 99,5 % CH 3 COOH pekat = 17 M = 17 N        5,88 mL CH 3 COOHpekat = 1 liter 0,1 N 5.        LARUTAN Na 2 S 2 O 3 0,1 N             26 gram Na 2 S 2 O 3 dengan 0,2   g Na 2 CO 3 dilarutkan dalam air bebas CO 2 segar sampai volume 1000 ml 6.        LARUTAN KIO 3 0,1 N             3 , 5 g KIO 3 encerkan dengan air hingga 1000 m L 7.        LARUTAN KMnO 4 0,1 N      3,3 gram Kalium Permanganat P adat dilarutkan dalan air hingga 1000 ml 8.        LARUTAN IODIUM (I 2 ) 0,1 N 12,69 gram I 2 P adat ke dalam la

C++ #03 Mengenal Fungsi Input dan Output

Belajar C++ #03: Mengenal Fungsi Input dan Output pada C++ #  C++ Pada dasarnya, program komputer hanya terdiri dari tiga bagian: Input  adalah sesuatu data yang kita masukan ke dalam program. Input biasanya diambil dari perangakat inputan seperti keyboard, mouse, kamera, microphone, dll. Proses  adalah langkah-langkah yang harus dilakukan program untuk menghasilkan output. Output  adalah informasi yang dihasilkan setelah dilakukan proses. Output biasanya ditampilkan ke layar komputer. Pada bahasa pemrograman C++, terdapat beberapa fungsi dasar untuk menampilkan output dan mengambil input. Apa saja itu? Mari kita bahas… Fungsi Output pada C++ C++ memiliki empat fungsi dasar untuk menampilkan output: cout  untuk menampilkan teks ke layar; cerr  untuk menampilkan error; clog  untuk menampilkan log; printf()  untuk menampilkan output, fungsi ini dari C; Kita akan fokus memabahas yang dua saja, yakni  cout  dan  printf() . Soalnya  cerr  dan  clog