Tutorial Belajar C Part 28: Jenis-jenis Operator Increment & Decrement Bahasa C

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, namun saya akan memisahkannya menjadi bahasan tersendiri.


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 <stdio.h>

int main(void)
{
  int a = 5;
  a++;
  printf("Isi variabel a: %d \n",a);

  int b = 5;
  ++b;
  printf("Isi variabel b: %d \n",b);

  return 0;
}

Contoh kode program operator increment bahasa pemrograman C

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 <stdio.h>

int main(void)
{
  int a = 5;
  a--;
  printf("Isi variabel a: %d \n",a);

  int b = 5;
  --b;
  printf("Isi variabel b: %d \n",b);

  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 <stdio.h>

int main(void)
{
  int a = 5;
  printf("Post Increment \n");
  printf("Isi variabel a: %d \n",a);
  printf("Isi variabel a: %d \n",a++);
  printf("Isi variabel a: %d \n",a);

  printf("\n");

  int b = 5;
  printf("Pre Increment \n");
  printf("Isi variabel b: %d \n",b);
  printf("Isi variabel b: %d \n",++b);
  printf("Isi variabel b: %d \n",b);

  return 0;
}

Contoh Kode Program Operator Increment Decrement Bahasa C
Perbedaannya ada di baris 8 dan 16, 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 <stdio.h>

int main(void)
{
  int a = 5;
  printf("Post Decrement \n");
  printf("Isi variabel a: %d \n",a);
  printf("Isi variabel a: %d \n",a--);
  printf("Isi variabel a: %d \n",a);

  printf("\n");

  int b = 5;
  printf("Pre Decrement \n");
  printf("Isi variabel b: %d \n",b);
  printf("Isi variabel b: %d \n",--b);
  printf("Isi variabel b: %d \n",b);

  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. Dengan pre-decrement (--b), variabel b langsung dikurangi 1 angka, lalu nilainya ditampilkan.


Operator increment dan decrement yang kita bahas disini nantinya banyak di terapkan dalam perulangan (looping). Selain itu kebiasaan banyak programmer lebih sering menggunakan post-increment (a++) dan post-decrement (a--). Nama bahasa pemrograman C++ juga terinspirasi dari post increment dari bahasa C, yakni penambahan dari bahasa C.

Berikutnya, kita akan masuk ke Operator Perbandingan atau Operator Relasional Bahasa C.

4 Comments

  1. Nabila
    02 Nov 18
  2. Arif Rahman Hakim
    29 Dec 18
    • Andre
      30 Dec 18

Add Comment

Leave a Reply to Arif Rahman Hakim Cancel reply