author Ahmad Muhardian

Apakah Perbedaan dari i++ dengan ++i?


Dalam materi-materi perluangan simbol ++ sering kita temukan.

Simbol tersebut termasuk dalam operator aritmatika dan penugasan untuk meningkatkan atau menambah satu (+1) sebuah variabel.

Kadang ditulis seperti ini i++ dan juga seperti ini ++i.

Apa sih perbedaanya?

Post-increment dan Pre-increment

Penulisan simbol ++ di dibelakang vairbel disebut dengan post-incement, sedangkan bila ditulis di depan, disebut dengan pre-increment.

Contoh:

Post-increment:

for(int i = 1; i <= 10; i++){
    System.out.print(i);
}

Pre-increment:

for(int i = 1; i <= 10; ++i){
    System.out.print(i);
}

Kedua perulangan tersebut akan menghasilkan bilangan dari 1 sampai 10.

12345678910

Keduanya menghasilkan output yang sama, lalu letak perbedaanya di mana?

Perbedaan i++ dengan ++i

Simbol ++ sebenarnya bentuk singkatan dari sebuah ekspersi:

  • i++ merupakan singkatan dari i += 1 atau i = i + 1.
  • ++i merupakan singkatan dari i += 1 atau i = 1 + i.

Biar lebih jelas, mari kita ganti i menjadi gelas.

Perhatikan kode berikut

int gelas = 0;
gelas = 5;
gelas++;
Sistem.out.println(gelas);

Berapa nilai gelas?

Jawabannya 6, karena nilai gelas sebelumnya akan ditambah satu.

gelas = 5;
gelas = gelas + 1;

Paham?

Lalu apa bedanya ++gelas dengan gelas++?

Perbedaan i++ dan ++i dapat kita lihat saat digunakan pada sebuah ekspresi.

Misalkan, selain variabel i, kita punya variabel a. Kemudian variabel a kita isi dengan i++ atau ++i.

Perhatikan contoh berikut:

Post-Increment

int a;
int i = 1;
a = i++;
System.out.println("a = " + a);
System.out.println("i = " + i);

Hasil output:

a = 1
i = 2

Pre-Increment

int a;
int i = 1;
a = ++i;
System.out.println("a = " + a);
System.out.println("i = " + i);

Hasil output:

a = 2
i = 2

Kenapa bisa begitu?

Mari kita jabarkan:

  • post-increment: a = i++ itu sama seperti a = i; i = i + 1;.
  • pre-increment: a = ++i itu sama seperti i = 1 + i; a = i;.

Pada post-increment, variabel a akan mengambil nilai i lalu variabel i ditambah 1. Sedangkan pada pre-increment variabel i akan ditambah satu terlebihdahulu, kemudian diisi ke variabel a.

Kesimpulan

Jadi posisi simbol ++ menentukan kapan nilai variabel akan ditambah.

Bila ditulis di depan, maka akan ditambah dulu. Sedangkan bila ditulis di belakang akan ditambah belakangan.

Selain simbol ++ ada juga simbol -- untuk mengurangi.

Apakah kamu sudah memahami perbedaan i++ dengan ++i sekarang?

Bacaan lebih lanjut: