Banner Java

Menyalin Elemen Larik Menggunakan Metoda arrayCopy

Semua nilai elemen sebuah larik tidak dapat disalin ke larik lain menggunakan assignment operator (=) sebagaimana pada tipe primitif.

   larikX = larikY;

Pernyataan di atas hanya memberikan acuan yang diacu oleh larikY ke larikX sehingga larikX dan larikY mengacu ke obyek larik yang sama. Apabila larikX sebelumnya mengacu ke obyek larik lain, maka obyek larik tersebut sudah tidak diacu lagi oleh larikX. Untuk menyalin nilai elemen larik, dapat digunakan metoda arraycopy dari kelas System yang ada di paket java.lang. Kelas System tidak perlu diimpor terlebih dahulu karena secara otomatis akan diimpor oleh kompiler Java saat digunakan. Berikut ini adalah sintaksis metoda arraycopy:

   arraycopy(larikSumber, posisi-sumber, larikTarget, posisi-target, jumlah-elemen);

posisi-sumber dan posisi-target menunjukkan posisi awal larikSumber dan larikTarget, sedangkan jumlah-elemen adalah banyaknya elemen larik yang akan disalin dari larikSumber ke larikTarget. Selain metoda arraycopy kelas System, menyalin larik juga dapat dilakukan menggunakan perulangan for sebagai berikut:

   char[] karakterSumber = {‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’};
   char[] karakterTarget = new char[karakterSumber.length];
   for (int x = 0; x <= karakterSumber.length; x++)
      karakterTarget[x] = karakterSumber[x];

Berikut ini adalah contoh program untuk menyalin elemen larik menggunakan metoda arraycopy dari kelas System. File program disimpan di direktori c:\hindro\javasc dengan nama MenyalinElemenLarik.java.

// Nama file : MenyalinElemenLarik.java
// Menyalin elemen dari larik satu ke larik lain

// Mengimpor kelas
import javax.swing.JOptionPane;
import javax.swing.JTextArea;

// Deklarasi kelas
public class MenyalinElemenLarik {

   // Metoda main
   public static void main(String[ ] args) {

      JTextArea areaTampilan;
      String stringTampil = "";
      char[ ] karakterSumber = {'A', 'B', 'C', 'D', 'E', 'F', 'G',
                               'H', 'I', 'j', 'K', 'L', 'M', 'N',
                               'O', 'P', 'Q', 'R', 'S'};
      char[ ] karakterTarget = new char[karakterSumber.length];

      // Menyalin elemen larik sumber ke larik target
      System.arraycopy(karakterSumber, 0, karakterTarget, 0, karakterSumber.length);

      // Menampilkan hasil
      stringTampil += "Elemen larik karakterSumber :\n";
      for (int x = 0; x < karakterSumber.length; x++)
         stringTampil += karakterSumber[x] + "  ";

      stringTampil += "\nElemen larik karakterTarget :\n";
      for (int x = 0; x < karakterTarget.length; x++)
         stringTampil += karakterTarget[x] + "  ";

      areaTampilan = new JTextArea();
      areaTampilan.setText(stringTampil);
      JOptionPane.showMessageDialog(null, areaTampilan, "Menyalin Elemen Larik",
         JOptionPane.INFORMATION_MESSAGE);

      // Mengakhiri aplikasi
      System.exit(0);
   }
}

Baris nomor 16 adalah deklarasi, membuat dan menginisialisi larik menggunakan array initializer. Larik karakterSumber mempunyai 19 elemen dengan tipe char. Baris nomor 19 adalah pernyataan untuk mendeklarasikan dan membuat larik karakterTarget yang mempunyai elemen tipe char dengan jumlah elemen sebanyak jumlah elemen larik karakterSumber (new char[karakterSumber.length]). Baris nomor 22 adalah pernyataan untuk menyalin semua nilai elemen larik karakterSumber ke larik karakterTarget menggunakan metoda arraycopy dari kelas System. Nilai elemen masing-masing larik kemudian disimpan ke variabel tipe String stringTampil menggunakan perulangan for (baris nomor 26 dan 30).

Menyalin elemen larik 

Baca artikel terkait lainnya:

Untuk memperbaiki mutu konten, Anda dapat berpartisipasi dengan cara melaporkan apabila menemukan kesalahan ketik, kata-kata rangkap, redaksi kurang pas (jelas), gambar pendukung tidak ada dan sebagainya melalui form Kontak Kami untuk mendapatkan perbaikan. Terima kasih atas kerjasamanya.

Hindro HindriantoHindro adalah pendiri sekaligus admin termasmedia.com dan topikit.com, blog online yang mengulas teknologi informasi. Dunia web mulai ditekuni tahun 2012 dengan mempelajari CMS Joomla dan Wordpress. Beberapa buku yang sekarang dipelajari antara lain PHP, HTML5, ASP.NET 4.5, JavaScript, CSS3, MySQL, Adobe Dreamweaver, Adobe Photoshop dan Adobe Flash.