Banner Java

Metoda Yang Mengembalikan Larik (Array)

Sebuah metoda dapat mempunyai dua kemungkinan yaitu mengembalikan nilai dan tidak mengembalikan nilai. Umumnya, metoda yang mengembalikan nilai akan mengembalikan (menghasilkan) nilai dengan tipe-tipe data primitif. Sebenarnya, sebuah metoda juga dapat mengembalikan sebuah obyek, misalnya obyek larik. Metoda dapat diberi argumen larik dan mengembalikannya berupa larik pula. Dari format dasar pendeklarasian metoda, perlu ditentukan atau diatur bahwa tipe-nilai-dikembalikan adalah berupa larik.

Berikut ini adalah contoh program yang mendeklarasikan sebuah metoda yang diberi argumen larik dan akan mengembalikan atau menghasilkan larik pula. Larik hasil pengembalian metoda mempunyai elemen yang urutannya terbalik (reverse). File kode program disimpan di direktori c:\hindro\javasc dengan nama MembalikUrutanElemen.java.

// Nama file : MembalikUrutanElemen.java
// Membalik urutan elemen larik

// Mengimpor Java predifined class
import javax.swing.JOptionPane;
import javax.swing.JTextArea;

// Deklarasi kelas
public class MembalikUrutanElemen {

   // Metoda main
   public static void main(String[] args) {
  
      String tampilan = "Membalik Urutan Elemen Larik\n\n";
      JTextArea areaTampilan;
      char[] karakterSatu = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
                             'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',
                             'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X',
                             'Y', 'Z'};
      
      // Menampilkan elemen karakterSatu
      tampilan += "Urutan elemen larik karakterSatu :\n";
      for (int x = 0; x < karakterSatu.length; x++) {
         tampilan += karakterSatu[x] + "  ";
         if ((x + 1) % 10 == 0)
            tampilan += "\n";
      }

      // Memberikan larik sebagai argumen metoda
      char[] karakterDua = membalikElemen(karakterSatu);

      // Menampilkan elemen karakterDua
      tampilan += "\n\nUrutan elemen larik karakterDua :\n";
      for (int x = 0; x < karakterDua.length; x++) {
         tampilan += karakterDua[x] + "  ";
         if ((x + 1) % 10 == 0)
            tampilan += "\n";
      }

      // Menampilkan hasil
      areaTampilan = new JTextArea();
      areaTampilan.setText(tampilan);
      JOptionPane.showMessageDialog(null, areaTampilan,
         "Membalik Urutan Elemen Larik", JOptionPane.INFORMATION_MESSAGE);

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

   // Mendefinisikan metoda
   public static char[] membalikElemen(char[] larikA) {

      char[] larikB = new char[larikA.length];
  
      // Membalik urutan elemen larik
      for (int a = 0, b = larikB.length - 1; a < larikA.length; a++, b--)
         larikB[b] = larikA[a];

      return larikB;
   }
}

Baris nomor 16 adalah deklarasi, membuat dan menginisialisi larik karakterSatu dengan elemen tipe char. Larik karakterSatu mempunyai 26 elemen berupa karakter huruf besar. Baris nomor 23 – 27 adalah perulangan for untuk menampilkan nilai elemen larik karakterSatu. Perulangan for melakukan iterasi sebanyak 26 kali, sesuai dengan jumlah elemen larik karakterSatu (x < karakterSatu.length). Perulangan for ini mendeklarasikan variabel kontrol x dengan nilai awal 0, disesuaikan dengan indek awal setiap larik, zeroth element. Nilai elemen larik karakterSatu yang akan ditampilkan, kemudian disimpan ke variabel tipe String tampilan.

Baris nomor 30 adalah deklarasi, pembuatan dan penginisialisian larik karakterDua. Elemen karakterDua merupakan hasil pemanggilan metoda membalikElemen dengan argumen parameter metoda berupa larik karakterSatu. Metoda membalikElemen menghasilkan larik yang elemennya berasal dari larik karakterSatu yang urutannya telah disusun terbalik. Saat metoda membalikElemen dipanggil, alir kontrol program meninggalkan blok metoda main dan menuju ke blok metoda membalikElemen (baris nomor 51 - 60).

Metode membalikElemen memerlukan argumen berupa variabel yang mengacu ke obyek larik. Di deklarasi metode membalikElemen, larikA adalah argumen sementara metode membalikElemen. Saat program dijalankan, veriabel larikA diganti dengan variabel larik karakterSatu. Perulangan for yang berada di blok metoda membalikElemen mendeklarasikan variabel kontrol a dan b. Variabel kontrol a diberi nilai awal 0, menunjukkan indek awal larik larikB dan variabel kontrol b diberi nilai indek terakhir larik larikB. Di setiap iterasi perulangan for, nilai variabel kontrol a ditambah 1 dan nilai variabel b dikurangi 1.

Saat proses iterasi berjalan, pernyataan pemberian di baris nomor 57 akan dieksekusi. Di iterasi pertama perulangan for, larikB dengan indek terakhir diberi nilai dari larik larikA dengan indek pertama. Di iterasi kedua, larikB dengan indek terakhir kedua diberi nilai larik larikA dengan indek kedua. Proses pemberian terus berlangsung selama iterasi berikutnya berjalan. Apabila argumen metoda membalikElemen adalah larik karakterSatu, maka larik larikB akan diisi dengan elemen dari larik karakterSatu dengan urutan elemen yang dibalik. Setelah proses iterasi selesai, pernyataan return di baris nomor 59 dieksekusi. Eksekusi ini akan mengembalikan alir kontrol program kembali ke metoda main.

Baris nomor 34 – 38 adalah perulangan for yang menampilkan nilai elemen larik karakterDua. Perulangan for melakukan iterasi sebanyak 26 kali, sesuai dengan jumlah elemen dari larik karakterDua (x < karakterdua.length). Perulangan for ini mendeklarasikan variabel kontrol x dengan nilai awal 0 (disesuaikan dengan indek awal setiap larik, zeroth element). Nilai elemen larik karakterDua yang ditampilkan, kemudian di tambahkan ke nilai yang sudah tersimpan di variabel tampilan.

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.