Sebenarnya, selain mengembalikan tipe-tipe data primitif, sebuah metoda juga dapat mengembalikan sebuah obyek, misalnya obyek larik. Metoda dapat diberi atau menerima argumen larik dan juga bisa mengembalikan atau menghasilkan larik pula. Dari format deklarasi metoda di Java, perlu ditentukan atau diatur bahwa tipe-nilai-dikembalikan adalah berupa larik.
Berikut ini adalah contoh program Java terkait dengan deklarasi sebuah metoda yang diberi argumen larik (array) dan akan mengembalikan atau menghasilkan larik pula. Larik hasil pengembalian metoda mempunyai elemen larik yang urutannya terbalik (reverse).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | // 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 menginisialisasi larik karakterSatu dengan elemen tipe char. Larik karakterSatu mempunyai 26 elemen karakter huruf besar. Baris nomor 23 – 27 adalah perulangan for untuk menampilkan nilai elemen larik karakterSatu. Perulangan for melakukan iterasi sebanyak 26 kali sesuai jumlah elemen larik karakterSatu (x < karakterSatu.length).
Baca artikel:
- Pengertian Dan Deklarasi Larik (Array) Di Java
- Menggunakan Notasi Pendek Larik (Array Initializer) Di Java
Perulangan for mendeklarasikan variabel kontrol x dengan nilai awal 0 sesuai indek awal setiap larik, zeroth element. Nilai elemen larik karakterSatu kemudian disimpan ke variabel tipe String tampilan. Baris nomor 30 adalah deklarasi, membuat dan menginisialisasi larik karakterDua. Elemen larik karakterDua adalah hasil memanggil metoda membalikElemen dengan argumen parameter berupa larik karakterSatu.
Baca artikel:
- Menyalin Elemen Larik Menggunakan Metoda arrayCopy Di Java
- Mengurutkan (Sorting) Nilai Elemen Larik (Array) Di Java
Metoda membalikElemen baris nomor 51 - 60 akan mengembalikan atau menghasilkan larik dengan elemen berasal dari larik karakterSatu yang susunan elemennya terlah dibalik. Ketika metoda membalikElemen dipanggil, alir kontrol program meninggalkan blok metoda main dan menuju ke blok metoda membalikElemen ini.
Metode membalikElemen memerlukan argumen variabel yang mengacu ke obyek larik. Di deklarasi metode membalikElemen, larikA adalah argumen sementara metoda membalikElemen. Saat program dijalankan, veriabel larikA diganti variabel larik karakterSatu. Perulangan for di dalam blok metoda membalikElemen mendeklarasikan variabel kontrol a dan b.
Baca artikel:
- Mencari Elemen Larik (Array) Dengan Pendekatan Linear Search Di Java
- Mencari Elemen Larik (Array) Dengan Pendekatan Binary Search Di Java
Variabel kontrol a diberi nilai awal 0, sesuai 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 iterasi berjalan, pernyataan baris nomor 57 dieksekusi. Di iterasi pertama perulangan for, larikB dengan indek terakhir diberi nilai dari larik larikA dengan indek pertama.
Pada iterasi kedua, larikB dengan indek terakhir kedua diberi nilai larik larikA dengan indek kedua. Proses pemberian terus berlangsung selama iterasi berjalan. Bila argumen metoda membalikElemen adalah larik karakterSatu, maka larik larikB akan diisi elemen dari larik karakterSatu dengan urutan elemen dibalik.
Setelah proses iterasi selesai, pernyataan return baris nomor 59 dieksekusi yang mengembalikan alir kontrol program ke metoda main
. Baris nomor 34 – 38 adalah perulangan for yang menampilkan nilai elemen larik karakterDua. Perulangan for melakukan iterasi sebanyak 26 kali, sesuai jumlah elemen dari larik karakterDua (x < karakterdua.length).
Perulangan for ini mendeklarasikan variabel kontrol x dengan nilai awal 0, sesuai dengan indek awal setiap larik, zeroth element. Nilai elemen larik karakterDua kemudian di tambahkan ke nilai yang sudah tersimpan di variabel tampilan.