Belajar ArrayList di Java Oleh: Yudi Setiawan
Apa itu ArrayList? Sebenarnya, ArrayList itu merupakan salah satu fitur yang paling saya senangi dalam melakukan penyimpanan Data yang jumlahnya tidak dikit. Saya sering pakai fitur ini ketika jumlah Data itu tidak bisa Anda(baca : Programmer) tentukan sendiri melainkan dari si User. Contoh program sede...
Apa itu ArrayList ? Sebenarnya, ArrayList itu merupakan salah satu fitur yang paling saya senangi dalam melakukan penyimpanan Data yang jumlahnya tidak dikit. Saya sering pakai fitur ini ketika jumlah Data itu tidak bisa Anda(baca : Programmer) tentukan sendiri melainkan dari si User. Contoh program sederhananya saja seperti program Sequential Searching yang pernah saya bagi sebelumnya. Pada program itu, bisa Anda lihat bahwa jumlah Data sebenarnya bisa di modifikasi menjadi 2 pilihan yakni, Jumlah Data ditentukan sendiri oleh si Programmer dan Jumlah Data di input oleh si User. Untuk ditentukan oleh Programmer saya rasa hal itu cukuplah mudah untuk melakukannya. Bahkan, dengan fitur Array biasa pun Anda bisa melakukannya. Namun, ketika program Anda dibuat menggunakan jumlah Data yang jumlahnya itu ditentukan oleh si User maka, Anda tidak bisa menggunakan fitur Array biasa. Sebenarnya bisa sih menggunakan Array biasa. Seperti berikut ini contohnya. int[] data = null; System.out.print(“Masukkan jumlah Data : “); Scanner(System.in).nextInt(); data = new int[jlh_data];
int jlh_data = new
Bisa kan? Dari kode diatas, bisa Anda lihat pertama Anda deklarasikan sebuah Array dengan jumlah elemennya belum Anda ketahui atau null. Kemudian, buat statement untuk membuat si User melakukan input jumlah Data yang di inginkannya dan simpan dalam variable jlh_data. Kemudian, deklarasikan lagi Array data dengan jumlah elemennya menggunakan variable jlh_data. Tapi, sebenarnya Array biasa itu tidak bersifat fleksible yang berarti, ketika Anda ingin membuat jumlah data baru lagi maka, Anda terpaksa harus menulis kode yang berulang – ulang yakni, pertama Anda harus mendeklarasikan Array biasa dengan jumlah elemen null dan yang kedua Anda harus deklarasi lagi Array biasa itu dengan jumlah elemen yang di simpan dalam variable dari si User. Jelas hal itu tidaklah efektif untuk menulis kode Anda. Di Java, Anda bisa menggunakan ArrayList untuk penyimpanan Data yang banyak dan sifatnya itu fleksible. Mau tau caranya tapi, sebelumnya mari saya beri sedikit perbedaan antara Array biasa dengan ArrayList. 1. Array biasa tidak bersifat fleksible yang berarti mau gimana pun Anda perlu mendeklarasikannya dengan jumlah elemen yang dibatasi. 2. ArrayList bersifat fleksible dan mudah digunakan dalam berbagai kasus untuk penyimpanan Data yang tidak tentu jumlahnya. Dan juga ArrayList umumnya hanya bisa menyimpan value dengan tipe data Object.
Untuk menggunakan ArrayList Anda perlu melakukan import library ArrayList yang berada di java.util.ArrayList. Dan berikut ialah contoh sederhana membuat program Input Data dengan jumlah Datanya di input oleh user dan Hapus Data. import java.util.ArrayList; import java.util.Scanner; /** * * @author Yudi Setiawan * * Input Data dengan ArrayList * */ public class InputData { public static void main(String[] args) { // Buat Objek dari ArrayList ArrayList arr_data = new ArrayList(); // Input jumlah Data yang di inginkan oleh User System.out.print("Input jumlah Data : "); int jlh_data = new Scanner(System.in).nextInt(); // Input Data dan masukkan ke dalam objek ArrayList yang telah Anda buat for(int a = 0; a < jlh_data; a++) { System.out.print("Masukkan Data ke-"+(a+1)+": "); arr_data.add(new Scanner(System.in).nextLine()); } //
Tampilkan nilai yang di simpan di dalam
ArrayList System.out.println("\nTampilkan Data yang di input"); for(Object o : arr_data) { System.out.println(o); } // Masukkan Data yang akan dihapus System.out.print("\nInput Data yang akan dihapus : "); String data_hapus = new Scanner(System.in).nextLine(); // Lakukan penghapusan Data di dalam ArrayList arr_data.remove(data_hapus); //
Tampilkan kembali nilai yang di simpan di dalam
ArrayList System.out.println("\nTampilkan kembali Data yang ada di dalam ArrayList"); for(Object o : arr_data) System.out.println(o); } } Gimana gampangkan? Berikut sedikit penjelasan dari saya untuk kode diatas. ●
●
●
add digunakan untuk memasukkan sebuah value ke dalam ArrayList. Sedikit catatan, bahwa pada umumnya ArrayList hanya bisa menyimpan tipe data Object. Namun, Anda bisa mengubahnya sesuai keinginan Anda dengan cara mem-parsing tipe datanya dari object ke tipe data lainnya seperti integer, double dan lainnya. Bisa Anda lihat pada contoh berikutnya. remove digunakan untuk menghapus sebuah value dari daftar ArrayList yang tersedia menggunakan nomor index maupun langsung dari value-nya. Sedikit catatan, bahwa ketika sebuah value dimasukkan ke dalam ArrayList maka, index pertamanya selalu dimulai dari nol(0) dan secara otomatis indexnya akan bertambah dengan sendirinya. Hal inilah yang saya sebut tadi dengan fleksible. Jumlah Datanya tidak terbatas. Object o : arr_data berarti, Anda akan melakukan perulangan sebanyak jumlah Data yang terisi di dalam ArrayList.
Biar lebih paham, berikut saya berikan 1 contoh lagi untuk sample program Sequential Searching dengan menggunakan ArrayList. import java.util.ArrayList; import java.util.Scanner; /** * * @author Yudi Setiawan * * Contoh Program Sequential Searching dengan fitur ArrayList * */ public class SequentialSearchingArrayList { public static void main(String[] args) { // Buat Objek ArrayList dan set datanya menjadi integer ArrayList
arr_data = new ArrayList(); // Buat Objek Scanner Scanner scan = new Scanner(System.in); // Input jumlah Data yang di inginkan oleh User System.out.print("Input jumlah Data : "); int
jlh_data = scan.nextInt(); // Input tiap nilai dan masukkan ke dalam ArrayList System.out.println("\nInput nilai Data"); for(int a = 0; a < jlh_data; a++) { System.out.print("Data ke-"+(a+1)+" : "); int value = scan.nextInt(); // Membaca inputan dari si User // Masukkan ke dalam ArrayList arr_data.add(value); } // Tampilkan Data hasil inputan System.out.println("\nData yang ada di dalam ArrayList"); int posisi = 1; for(Integer i : arr_data) { System.out.println("-->Data ke-"+posisi+" : "+i); posisi++; } // Input Data yang akan dicari System.out.print("\nInput Data yang akan dicari : "); int cari = scan.nextInt(); // Proses Pencarian di dalam ArrayList int iterasi = 1; boolean temu = false; for(Integer i : arr_data) { if(i == cari) { System.out.println("Iterasi ke-"+iterasi); System.out.println(i+" == "+cari); temu = true; break; } else { System.out.println("Iterasi ke-"+iterasi); System.out.println(i+" != "+cari); } iterasi++; System.out.println(); } if(temu == true) System.out.println("\nData ditemukan pada iterasi ke-"+iterasi);
else System.out.println("\nData tidak ditemukan"); } }
Tentang Penulis Yudi Setiawan Saat ini aktif sebagai Mahasiswa di salah satu Universitas di kota Medan dengan mengambil bidang Fakultas Teknik dan Ilmu Komputer. Sangat senang dengan bahasa pemrograman Java dan Android.