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...

Belajar ArrayList di Java

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 : “);  int jlh_data = new Scanner(System.in).nextInt();
data = new int[jlh_data];

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<Integer> 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");
		
	}
}

About Author

Yudi Setiawan


Comment & Discussions

  • Gholib Nugroho Bz
    Mantaap mas, bermanfaat sekali ilmunya.

  • Samsul Arifin
    tanyak dong ?? kalau misalkan panjang lenght sesuai yang kita inputkan gimana ?? . misalkan contoh " masukkan panjang lenght yang anda inginkan :" terus diisi 10, berati panjangnya 10. kalau diisi 5 berati panjangnya 5. itu gimana caranya mas ?? butuh bantuan gan buat tugas kuliah :D pliiiis :D

    By Admin: www.modrevdl.net

    • Yudi Setiawan

      pakai perulangan mas. Jadi, diawal kan input dulu length-nya berapa. Kemudian, deklarasikan array listnya. Selanjutnya, pakai perulangan for dengan batas perulangannya itu sesuai dengan nilai yang di input tadi. Setelah itu, di dalam for buat statement untuk melakukan proses input ke dalam array list nya mas.


  • Please LOGIN before if you want to give the comment.