Pertukaran nilai dua variabel dibutuhkan dalam banyak algoritma, terutama pengurutan. Untuk menukar nilai dua variabel, kalian tidak hanya butuh dua variabel dan operator sama dengan (=). Kalian akan butuh satu variabel penampung seperti contoh kode program bahasa C di bawah ini.
#include <stdio.h>
int main(){
int a=215;
int b=212;
int temp;
printf("Nilai awal \n");
printf("a : %d\n", a);
printf("b : %d\n", b);
//Tukar
temp=a;
a=b;
b=temp;
printf("\nNilai akhir \n");
printf("a : %d\n", a);
printf("b : %d\n", b);
return 0;
}
Output :
Nilai awal a : 215 b : 212 Nilai akhir a : 212 b : 215
Contoh di atas menggunakan variabel temp untuk menampung nilai variabel a sebelum "disamakan nilainya" dengan variabel b. Tanpa variabel temp, nilai variabel a akan hilang saat diubah. Variabel a juga akan sama nilainya dengan variabel b sehingga tidak memungkinkan pertukaran nilai dua variabel.
Menukar tanpa Variabel Penampung
Apakah mungkin menukar tanpa variabel perantara? Jawabannya mungkin. Tapi, itu hanya berlaku untuk angka. Total nilai angka yang ditukar juga tidak boleh melebihi batas nilai maksimal dari tipe data variabel.
#include <stdio.h>
int main(){
int a=15;
int b=12;
printf("Nilai awal \n");
printf("a : %d\n", a);
printf("b : %d\n", b);
//Tukar
a+=b;
b=a-b;
a=a-b;
printf("\nNilai akhir \n");
printf("a : %d\n", a);
printf("b : %d\n", b);
return 0;
}
Kalian bisa mengganti penjumlahan dengan perkalian, dan pengurangan dengan pembagian. Tapi, itu mungkin akan mempersulit diri sendiri karena hasil kali dua variabel yang ditukar tidak boleh melebihi nilai maksimum tipe datanya.