Operator Unary


Operator Unary (Unary Operator) adalah operator yang hanya menggunakan satu operand saja. Operator-operator lainnya tentunya menggunakan dua buah operand. Operator Unary yang umum digunakan adalah Unary minus (-), yang di tulis sebelum operand. Unary minus (-) berbeda dengan Operator Aritmatika Kurang (-), perbedaannya terdapat pada cara menggunakannya, yakni, Operator Unary minus (-) menggunakan 1 operand sedangkan Operator Aritmatika perkurangan (-) menggunakan dua buah operand. Bahasa Pemrograman C menyediakan beberapa Operator Unary antara lain :

______________________________________________________

Operator                    Keterangan

______________________________________________________

–                          Unary Minus

++                     Peningkatan dengan penambahan nilai 1

—                        Penurunan dengan pengurangan nilai 1

(tipe)                  cast

sizeof                   ukuran dari operand dalam byte

!                          Unary NOT

~                        Unary Komplemen satu (Bitwise NOT)

&                        Menghasilkan Alamat Memori Operand

*                         Menghasilkan Nilai Pengenal di Alamatnya

______________________________________________________

Operator Unary Minus (-)

Operator ini digunakan untuk memberikan nilai minus (negatif) kepada sebuah nilai (operandnya). Contoh ungkapan A + -B / C akan diartikan sebagai A + (-B) / C. Operator ini ditulis di depan operandnya (dapat menggunakan spasi atau tidak, Dalam Bahasa C).

Operator Unary ++ dan —

Operator Unary ++ dan — merupakan operator Khusus di dalam bahasa Pemrograman C dan sangat jarang dijumpai dalam Bahasa Pemrograman yang lainnya. Operator Unary ++ akan menambahkan dengan nilai 1 terhadap operand yang menggunakannya sedangkan Operator Unary — akan mengurangi dengan nilai 1 terhadap operand yang menggunakannya. Operator Unary ini dapat ditulis di depan atau di belakang operandnya. Contoh Bentuk A = A + 1 dapat ditulis dengan A++ atau ++A. Begitupun A = A – 1 dapat ditulis dengan A– dan –A. Operator Unary ini sangat banyak dijumpai pada pengulangan for dalam bahasa Pemrograman C.

for (A=0; A<4; A++) {

}

sama artinya dengan

for (A=0; A<4; A=A+1) {

}

Coba ketikkan source program berikut dan bandingkan hasilnya. Untuk pengguna Linux, silahkan membaca kembali artikel yang berjudul Operator Aritmatika untuk cara pembuatannya.

GNU nano 2.2.6 File: Unary.c Modified

/*
Nama : Unary.c
Fungsi: Contoh Penggunakan Unary ++
*/
#include <stdio.h>
main(){
int x;
int a;

// bagian A
x = 5;
a = x++;
printf(“Nilai X = %d dan A = %d\n”,a,x);

// bagian B
x = 5;
a = ++x;
printf(“Nilai X = %d dan A = %d\n”,a,x);
}

Jika Programa di atas di kompile dan dijalankan, maka hasilnya adalah sebagai berikut:

Nilai X = 5 dan A = 6
Nilai X = 6 dan A = 6

Mengapa demikian?

Perhatikan Bagian A dan Bagian B. Keduanya Berbeda pada statemen x++ dan ++x. Pada Bagian A, nilai X disimpan ke dalam variabel A terlebih dahulu kemudian ditambahkan dengan nilai numerik 1. Sedangkan pada bagian B, nilai X ditambah dengan nilai 1 terlebih dahulu, kemudian disimpan ke variabel A. Itulah letak perbedaannya. Sehingga dapat menghasilkan hasil seperti itu.

Operator Unary (tipe)

Seperti yang kita bahas pada artikel Operator Aritmatika, dikatakan bahwa pembagian dua buah nilai integer dan hasilnya di simpan di tempat bilangan pecahan, tetap akan menghasilkan nilai bilangan bulat, karena hasil pembagian dua buah nilai integer terlebih dahulu sudah bernilai bulat. Jika pembuat program ingin menghasilkan nilai pecahan juga, maka bisa digunakan Operator Unary (tipe). Operator ini digunakan untuk memaksa sebuah ungkapan untuk mempunyai tipe data yang diinginkan (disebut juga cast). TIpe yang diinginkan harus ditulis di dalam tanda kurung, di awalan ungkapannya. sebagai contoh X int, Y int, dan Z Float. maka dapat dituliskan sebagai berikut:

Z = (float) X / Y;

Hasil dari ungkapan ini adalah bernilai float, karena variabel X akan dipaksa ke dalam tipe Float. Sehingga menghasilkan nilai float. Perhatikan COntoh Program hasil modifikasi dari program Aritmatika.c pada Artikel Operator Aritmatika.

#include <stdio.h>

main()
{

int A, B;
float C;

A = 23;
B = 5;

C = (float)A / B;

printf(“Nilai %d dibagi dengan %d adalah %f\n”,A,B,C);

}  

jika dikompile dan dijalankan akan menghasilkan

Nilai 23 dibagi dengan 5 adalah 4.600000

Operator Unary sizeof

Operator Unary ini dignakan untuk mengetahui ukuran memori dari operandnya dalam bentuk byte. Biasanya operator ini digunakan untuk portabilitas dari sati mesin ke komputer ke mesin yang lainnya. Misalnya Komputer IBM PC nilai int 2 byte, sedangkan pada Komputer yang lain, bisa saja berbeda, seperti pada Komputer penulis, nilai int adalah 4 byte.

contoh menggunakan Operator Unary ini adalah sebagai berikut:

#include <stdio.h>
main()
{
char c;
int i;
long int lint;
float fL;

// cara penggunaan pertama
printf(“Ukuran Karakter = %d\n”, sizeof(c));
printf(“Ukuran Integer = %d\n”, sizeof(i));
printf(“Ukuran Long Integer = %d\n”, sizeof(lint));
printf(“Ukuran Float = %d\n”, sizeof(fL));

// cara penggunaan kedua
printf(“Ukuran Double = %d\n”, sizeof(double));
printf(“Ukuran Long Double = %d\n”, sizeof(long double));
}

jika program di atas di kompile dan di jalankan, maka akan menghasilkan:

Ukuran Karakter = 1
Ukuran Integer = 4
Ukuran Long Integer = 4
Ukuran Float = 4
Ukuran Double = 8
Ukuran Long Double = 12

Pada Program-program di atas, Penulis menggunakan Compilator GCC Versi 4.6.3 pada Komputer Acer dengan Procesor Core i3, jadi kalau ada perbedaan, sebenarnya tidak masalah, hanya perbedaan di kompilator dan Mesin Komputernya.🙂

Terima kasih sudah membaca, jangan lupa Komentarnya yah??

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s