Cara Bertukar Objek Java dan Fungsinya
Memahami Pertukaran Objek dalam Java
Dalam Java, objek dimanipulasi oleh referensi, yang berarti ketika pengembang meneruskan objek sebagai parameter ke metode atau menetapkannya ke variabel. Pengembang sebenarnya meneruskan atau menetapkan referensi ke objek, bukan objek itu sendiri. Menukar objek melibatkan pertukaran referensi ini antara variabel.// Program java
// mendemonstrasikan
// pertukaran dua objek
// anggota.
// sebuah car dengan class
// number car.
class Car
{
int no;
Car(int no)
{ this.no = no; }
}
// Sebuah class menggunakan
// objek car
class Main
{
/* tukar c1 dan c2 */
public static void swap(Car c1, Car c2)
{
int temp = c1.no;
c1.no = c2.no;
c2.no = temp;
}
/* Driver method */
public static void main(String[] args)
{
Car c1 = new Car(1);
Car c2 = new Car(2);
swap(c1, c2); /*tukar nilai*/
System.out.println("c1.no = "
+ c1.no);
System.out.println("c2.no = "
+ c2.no);
}
}
c2.no = 1
Jika Nilai Anggota dari Car Tidak Diketahui
Solusi sebelumnya dapat dijalankan jika hanya terdapat satu anggota "no" pada class Car. Namun, bagaimana jika tidak diketahui nilai anggota dari Car atau list anggota nilainya terlalu besar. Hal ini adalah situasi umum dimana class menggunakan beberapa class lain dan tidak dapat mengakses anggota class. Berikut solusi yang dapat digunakan.// Program java
// mendemonstrasikan
// pertukaran sederhana,
// dimana objek referensi
// tidak berfungsi.
// constructor car dengan
// angka dan nama.
class Car
{
int model, no;
/* Constructor */
Car(int model, int no){
this.model = model;
this.no = no;}
// method utility untuk
// mencetak nilai car.
void print() {
System.out.println("no = "
+no
+", model = "
+ model);}
}
// sebuah class yang
// menggunakan Car.
class Main
{
// swap() tidak dapat menukar
// nilai c1 dan c2.
public static void swap(Car c1, Car c2)
{
Car temp = c1;
c1 = c2;
c2 = temp;
}
/* Driver method */
public static void main(String[] args)
{
Car c1 = new Car(101, 1);
Car c2 = new Car(202, 2);
swap(c1, c2);
c1.print();
c2.print();
}
}
no = 2, model = 202
Dari hasil ouput program sebelumnya, nilai objek tidak mengalami pertukaran apapun. Telah dibahas pada materi sebelumnya, bahwa parameter hanya dilewati oleh nilai pada Java. Jadi, ketika c1 dan c2 ditukar (swap()), maka fungsi swap() akan menciptakan duplikasi dari referensi.
Baca Juga:
// Program Java
// mendemonstrasikan
// penggunaan wrapper class
// untuk menukar objek.
/* car dengan model dan no */
class Car
{
int model, no;
/* Constructor */
Car(int model, int no){
this.model = model;
this.no = no;}
// Utility method untuk
// mencetak rincian object.
void print(){
System.out.println("no = "
+no
+", model = "
+ model);}
}
// Wrapper class digunakna
// untuk menukar.
class CarWrapper
{
Car c;
/* Constructor */
CarWrapper(Car c) {this.c = c;}
}
// sebuah class yang
// menggunakan car dan swap
// objek dari car menggunakan
// CarWrapper.
class Main
{
// method ini menukar object
// car dapat wrapper.
/* cw1 dan cw2 */
public static void swap(CarWrapper cw1, CarWrapper cw2)
{
Car temp = cw1.c;
cw1.c = cw2.c;
cw2.c = temp;
}
/* Driver method */
public static void main(String[] args)
{
Car c1 = new Car(101, 1);
Car c2 = new Car(202, 2);
CarWrapper cw1 = new CarWrapper(c1);
CarWrapper cw2 = new CarWrapper(c2);
swap(cw1, cw2);
cw1.c.print();
cw2.c.print();
}
}
no = 1, model = 101
Penggunaan wrapper class dapat bekerja sebagai solusi bahkan jika user class tidak memiliki akses terhadap anggota dari class dimana object-nya akan ditukar.
Sintaksis untuk Menukar Objek
- Membuat Objek Sementara: Pertama, buat objek sementara untuk menahan salah satu objek selama proses pertukaran.
- Menukar Referensi: Menetapkan referensi dari objek yang akan ditukar satu sama lain.
- Memperbarui Variabel: Memperbarui variabel dengan referensi baru setelah pertukaran.
public class PertukaranObjek {
public static void
tukarObjek(Object[] array, int i, int j)
{
Object temp = array[i];
array[i] = array[j];
array[j] = temp;
}
public static void
main(String[] args)
{
Integer[] array = {
1, 2, 3, 4, 5};
System.out.println("Sebelum
pertukaran: "
+ Arrays.toString(array));
tukarObjek(array, 0, 4);
System.out.println("Setelah
pertukaran: "
+ Arrays.toString(array));
}
}
Fungsi-fungsi Pertukaran Objek
- Mengurutkan Elemen: Menukar objek memungkinkan untuk mengurutkan elemen dalam struktur data seperti array atau daftar. Ini berguna untuk algoritma pengurutan dan operasi lain di mana posisi elemen perlu diubah.
- Optimalisasi Algoritma: Beberapa algoritma mungkin memerlukan pertukaran objek sebagai bagian dari proses optimalisasinya. Misalnya, dalam algoritma grafik seperti Dijkstra atau Kruskal, pertukaran objek dapat mengoptimalkan proses penjelajahan atau pencarian jalur.
- Manajemen Sumber Daya: Pertukaran objek dapat digunakan untuk manajemen sumber daya yang efisien. Misalnya, dalam sistem manajemen memori, pertukaran objek antara lokasi memori yang berbeda dapat mengoptimalkan penggunaan memori dan meningkatkan kinerja.
- Transisi Status: Pertukaran objek dapat memfasilitasi transisi status dalam aplikasi. Misalnya, dalam aplikasi game, menukar objek pemain dapat mewakili perubahan posisi atau atribut pemain selama permainan.
Kesimpulan
- Pengertian Asosiasi Komposisi dan Agregasi Java
- Cara Access dan Non Access Modifier Java dan Fungsinya
- Acces Modifier Java dan Fungsinya
- Menggunakan THIS Java dan Fungsinya
- Cara Menggunakan Method Overloading Java dan Fungsinya
- Cara Membuat Program Overriding Java dan Fungsinya
- Cara Menggunakan Overriding Java dan Fungsinya
5 komentar untuk "Cara Bertukar Objek Java dan Fungsinya"
Hubungi admin melalui Wa : +62-896-2414-6106
Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung.
Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.
- Ikatlah Ilmu dengan Memostingkannya -
- Big things start from small things -
Apa yang dimaksud dengan class dan object pada bahasa pemrograman Java?
BalasHapusHal pertama yang harus diketahui dari Java adalah Java merupakan bahasa pemrograman berorientasi object, dimana program Java terbuat dari object-object dan class.
HapusObject dalam dunia nyata adalah segala sesuatu yang memiliki keadaan dan perilaku. Contoh, kipas angin, dimana kipas angin tersebut memiliki status berupa warna, sayap, merek, dan lain sebagainya. Dengan perilaku dari kipas angin adalah baling-baling atau kipasnya berputar. Bahkan dalam bentuk perangkat lunak. object-nya tetap mirip dengan object pada dunia nyata. Object menyimpan status dalam suatu bidang, yaitu variabel dalam bahasa pemrograman dan perilaku dijelaskan dengan suatu method yang disebut dengan fungsi.
HapusObject selalu diciptakan untuk sebuah class. Class adalah sesuatu yang dapat diperlakukan sebagai template yang menampung bidang dan method yang berkaitan dengan sekelompok object serupa. Contoh, sebuah class dapat dimana sebagai "hewan" yang terdiri dari beberapa bidang berupa: ras, anggota badan hewan, warna, dengan method: makan, berlari, tidur, dan lain sebagainya. Jadi, class hanyalah sebuah template untuk mendeskripsikan sekelompok object yang serupa.
HapusObjek dari suatu class dapat berkomunikasi melalui method. Inilah dasar komunikasi pada bahasa pemrograman Java.
Hapus