Tugas Personal ke-1
(Minggu 2/ Sesi 3)
1. Jelaskan macam – macam operator yang ada dalam bahasa c dan berikan contohnya !
Jawaban:
1. Operator Aritmatika
Operator aritmatika merupakan operator yang digunakan untuk melakukan operasi
aritmatika.
Contohnya
(+) atau penambahan contohnya a=5+2
(-) atau pengurangan contohnya a=2-1
(*) atau perkalian contohnya a= 2*3
(/) atau pembagian contohnya a=5/2
(%) atau sisa hasil bagi contohnya a=5%2
2. Operator Penugasan (Assignment Operator)
Operator penugasan (Assignment Operator) merupakan operator untuk meberikan tugas
pada variabel. Biasanya untuk mengisi nilai.
Contohnya
Pengisian Nilai =
Pengisian dan Penambahan +=
Pengisian dan Pengurangan -=
Pengisian dan Perkalian *=
Pengisian dan Pembagian /=
Pengisian dan Sisa bagi %=
Pengisian dan shift left <<=
Pengisian dan shift right >>=
Pengisian dan bitwise AND &=
Pengisian dan bitwise OR |=
Pengisian dan bitwise XOR ^=
3. Operator Pembanding
Operator pembanding adalah operator untuk memabndingkan dua buah nilai. Operator ini
juga dikenal dengan operator relasi.
Contohnya
Nama Operator Simbol
Lebih Besar >
Lebih Kecil <
Sama Dengan ==
Tidak Sama dengan !=
Lebih Besar Sama dengan >=
Lebih Kecil Sama dengan <=
4. Operator Logika / Boolean
Operator logika dipakai untuk menghasilkan nilai boolean true atau false dari 2 kondisi
atau lebih.
Contoh
Operator Nama Penjelasan Contoh
&& And Akan menghasilkan 1 jika kedua operand 1 1 && 0, hasilnya: 0
|| Or Akan menghasilkan 1 jika salah satu operand 1 1 || 0, hasilnya: 1
! Not Akan menghasilkan 1 jika operand 0 !0, hasilnya: 1
5. Operator Bitwise
Operator bitwise merupakan operator yang digunakan untuk operasi berdasarkan bit
(biner) dari sebuah nilai.
Contohnya
Operator Nama Contoh Biner Hasil (biner) Hasil (desimal)
& AND 10 & 12 1010 & 1100 1000 8
| OR 10 | 12 1010 | 1100 1110 14
^ XOR 10 ^ 1 1010 ^ 1100 0110 6
~ NOT ~5 ~0101 1011 -11 (Two’s complement)
<< Left shift 10 << 1 1010 << 1 10100 20
>> Right shift 10 >> 1 1010 >> 1 101 5
6. Operator Lain-lain
Operator Lainnya ini adalah kelompok operator khusus yang tidak termasuk ke dalam
kelompok sebelumnya.
Contohnya
Nama Operator Simbol Keterangan
Alamat memori & untuk mengambil alamat memori
Pointer * untuk membuat pointer
Ternary ? : untuk membuat kondisi
Increment ++ untuk menambah 1
Decrement -- untuk mengurangi 1
2.
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
main ()
int jam_kerja, golongan_jabatan;
char nama[30],gol_pendidikan[10];
long int gaji_tetap = 2000000, lembur_per_jam = 3000, honor_lembur, tunjangan_jabatan,
tunjangan_pendidikan, total_gaji;
// Input data karyawan
printf(" \n PROGRAM HITUNG GAJI KARYAWAN\n");
printf(" Nama Karyawan : "); scanf("%s", &nama);
printf(" Golongan Jabatan : "); scanf("%d", &golongan_jabatan);
printf(" Pendidikan : "); scanf("%s", &gol_pendidikan);
printf("Jumlah Jam Kerja : "); scanf("%d", &jam_kerja);
if (golongan_jabatan== 1)
tunjangan_jabatan =5 * gaji_tetap /100;
else if (golongan_jabatan== 2)
tunjangan_jabatan = 10 * gaji_tetap /100;
else if (golongan_jabatan== 3)
tunjangan_jabatan = 15 * gaji_tetap /100;
if ((gol_pendidikan, "sma") || (gol_pendidikan, "SMA")==0)
tunjangan_pendidikan = gaji_tetap * 0.025;
else if ((gol_pendidikan, "d3") || (gol_pendidikan, "D3")== 0)
tunjangan_pendidikan = gaji_tetap * 0.05;
else if ((gol_pendidikan, "s1") || (gol_pendidikan, "S1")==0)
{
tunjangan_pendidikan = gaji_tetap * 0.1;
// jam kerja = 8 jam perhari
// jika di asumsikan sebulan rata2 jam kerja 173 jam (pebulatan) dari 5 hari kerja dalam sepekan
// yang didasari dari sehari = 8 jam kerja
if (jam_kerja > 173)
honor_lembur = (jam_kerja - 173) * lembur_per_jam;
else if (jam_kerja <=173)
honor_lembur = jam_kerja * 0;
total_gaji = tunjangan_jabatan + tunjangan_pendidikan + honor_lembur + gaji_tetap;
//Output Data Karyawan
printf (" \n Nama Karyawan %s \n",nama);
printf ("Tunjangan Jabatan : Rp. %Id \n",tunjangan_jabatan);
printf ("Tunjangan pendidikan : Rp. %Id \n",tunjangan_pendidikan);
printf ("Honor Lembur : Rp. %Id \n",honor_lembur);
printf ("Total Gaji : Rp. %Id \n",total_gaji);
}