Melanjutkan materi tentang operator dalam bahasa pemrograman C++, kali ini kita akan membahas Jenis-jenis Operator Increment dan Decrement dalam Bahasa C++.
Beberapa sumber ada yang mengelompokkan operator ini ke dalam operator aritmatika.
Pengertian Increment dan Decrement Bahasa C++
Operator increment dan decrement adalah sebutan untuk operasi seperti a++
, dan a--
. Ini sebenarnya penulisan singkat dari operasi a = a + 1 serta a = a – 1.
Increment digunakan untuk menambah variabel sebanyak 1 angka, sedangkan decrement digunakan untuk mengurangi variabel sebanyak 1 angka.
Penulisannya menggunakan tanda tambah 2 kali untuk increment, dan tanda kurang 2 kali untuk decrement. Penempatan tanda tambah atau kurang ini boleh di awal seperti ++a
dan --a
, atau di akhir variabel seperti a++
dan a--
.
Dengan demikian terdapat 4 jenis increment dan decrement dalam bahasa C++:
Operator | Contoh | Penjelasan |
---|---|---|
Pre-increment | ++a |
Tambah a sebanyak 1 angka, lalu tampilkan hasilnya |
Post-increment | a++ |
Tampilkan nilai a, lalu tambah a sebanyak 1 angka |
Pre-decrement | --a |
Kurangi a sebanyak 1 angka, lalu tampilkan hasilnya |
Post-decrement | a-- |
Tampilkan nilai a, lalu kurangi a sebanyak 1 angka |
Untuk melihat apa perbedaan dari setiap operator akan kita bahas dengan contoh kode program.
Contoh Kode Program Increment dan Decrement
Secara umum, penulisan tanda di awal maupun di akhir akan menghasilkan nilai yang sama. Berikut contohnya:
#include <iostream> using namespace std; int main() { int a = 5; a++; cout << "Isi variabel a: " << a << endl; int b = 5; ++b; cout << "Isi variabel b: " << b << endl; return 0; }
Hasil kode program:
Isi variabel a: 6 Isi variabel b: 6
Di sini saya mengisi angka 5 sebagai nilai awal untuk variabel a dan b. Hasilnya, setelah operasi a++
dan ++b
, kedua variabel sama-sama berisi angka 6. Artinya variabel a dan b akan bertambah 1 angka.
Hal yang sama juga berlaku di decrement:
#include <iostream> using namespace std; int main() { int a = 5; a--; cout << "Isi variabel a: " << a << endl; int b = 5; --b; cout << "Isi variabel b: " << b << endl; return 0; }
Hasil kode program:
Isi variabel a: 4 Isi variabel b: 4
Saya kembali mengisi angka 5 sebagai nilai awal untuk variabel a dan b. Hasilnya, setelah operasi a--
dan --b
, kedua variabel sama-sama berisi angka 4. Artinya variabel a dan b akan berkurang 1 angka.
Perbedaan Pre-Increment dengan Post-Increment
Jadi apa beda antara pre-increment (++a
) dengan post-increment (a++
)? Perbedaannya baru terlihat jika kita akses pada saat operasi berlangsung seperti contoh berikut:
#include <iostream> using namespace std; int main() { int a = 5; cout << "Post Increment" << endl; cout << "Isi variabel a: " << a << endl; cout << "Isi variabel a: " << a++ << endl; cout << "Isi variabel a: " << a << endl; cout << endl; int b = 5; cout << "Pre Increment" << endl; cout << "Isi variabel b: " << b << endl; cout << "Isi variabel b: " << ++b << endl; cout << "Isi variabel b: " << b << endl; return 0; }
Perbedaannya ada di baris 10 dan 18, yakni ketika kita akses langsung pada saat operasi increment dilakukan.
Terlihat bahwa post-increment (a++
), akan menampilkan hasilnya terlebih dahulu, baru nilai variabel a naik 1 angka, namun dengan pre-increment (++b
), variabel b akan ditambahkan 1 angka, baru nilainya ditampilkan.
Begitu juga hal nya dengan operasi post-decrement dan pre-decrement:
#include <iostream> using namespace std; int main() { int a = 5; cout << "Post Decrement" << endl; cout << "Isi variabel a: " << a << endl; cout << "Isi variabel a: " << a-- << endl; cout << "Isi variabel a: " << a << endl; cout << endl; int b = 5; cout << "Pre Decrement" << endl; cout << "Isi variabel b: " << b << endl; cout << "Isi variabel b: " << --b << endl; cout << "Isi variabel b: " << b << endl; return 0; }
Hasil kode program:
Post Decrement Isi variabel a: 5 Isi variabel a: 5 Isi variabel a: 4 Pre Decrement Isi variabel b: 5 Isi variabel b: 4 Isi variabel b: 4
Terlihat bahwa post-decrement (a--
), akan menampilkan hasilnya terlebih dahulu, baru nilai variabel a dikurangi 1 angka. Sedangkan pre-decrement (--b
), variabel b langsung dikurangi 1 angka, lalu nilainya ditampilkan.
Operator increment dan decrement yang kita bahas akan banyak di terapkan dalam perulangan (looping). Selain itu kebiasaan banyak programmer lebih sering menggunakan post-increment (a++
) dan post-decrement (a--
) dari pada pre-increment (++a
) dan pre-decrement (--a
)
Nama bahasa pemrograman C++ juga terinspirasi dari post increment bahasa C, yakni penambahan dari bahasa C.
Berikutnya, kita akan masuk ke Operator Perbandingan atau Operator Relasional Bahasa C++.