Anda di halaman 1dari 6

Tugas Personal ke-1 Nama : Achmad Farhan

(Minggu 2/ Sesi 3)

1. Jelaskan macam – macam operator yang ada dalam bahasa c dan berikan contohnya !
2. Perusahaan ABC merupakan perusahaan yang bergerak dibidang jasa yang memberikan
gaji pokok pada karyawannya sebesar Rp 2.000.000 perbulan. Karyawan tersebut juga
diberikan tunjangan berdasarkan golongan yang ada antara lain.

Tunjangan jabatan Tunjangan Pendidikan


Golonga Persentase Golonga Persentase
n n
1 5% SMA 2,5 %
2 10 % D3 5%
3 15 % S1 10 %

Honor lembur
Jumlah jam kerja normal sebanyak 8 jam, Honor lembur diberikan jika jumlah jam kerja
lebih dari 8 jam, maka kelebihan jam kerja tersebut dikalikan dengan Rp. 3000 untuk
setiap kelebihan jam kerja karyawan tersebut.

Hitung gaji dari karyawan dengan rumus :


Gaji = gaji per bulan + tunjangan jabatan + tunjangan pendidikan + lembur
 Tunjangan jabatan = gaji per bulan * persentase
 Tunjangan pendidikan = gaji per bulan * persentase
 Lembur = jam lembur * 3000

Tampilan inputan pada layar :


PROGRAM HITUNG GAJI KARYAWAN
Nama Karyawan: ...
Golongan Jabatan : ...
Pendidikan : ...
Jumlah jam kerja :...

Keluaran Program
Nama Karyawan ......
Tunjangan Jabatan Rp ...
Tunjangan Pendidikan Rp ...
Honor Lembur Rp .....
Total Gaji Rp ...

-=Selamat Mengerjakan=-

Jawab
1. Macam macam operator pada Bahasa c :

COMP6599– Algorithm and Programming


a. Unary Operator : bekerja pada operasi tunggal Nama : Achmad Farhan

Operator Description Example


Decrement Operator menambahkan int x = 12;
integer 1 int y = 10;
printf("\n%d %d",x--,--y);
++ printf("\n%d %d",x--,--y);
Output: 12 9
11 8
Increment Operator mengurangkan int x = 12;
integer 1 int y = 10;
printf("\n%d %d",x++,++y);
-- printf("\n%d %d",x++,++y);
Output: 12 11
11 10

b. Arithmatich Operator : melakukan operasi matematika seperti penjumlahan,


pengurangan, perkalian, pembagian, dsb.

Operator Description Example


Menambahakan 2 value pada operasi int X = 12;
int Y = 10;
+ int tambah = 0;
tambah = X + Y;
Output : 22
Mengalikan 2 value pada operasi int X = 2;
int Y = 10;
* int kali;
kali = X * Y;
Output : 20
Mengurangkan 2 value pada operasi int X = 10;
int Y = 12;
- int subs = 0;
subs = X - Y;
Output : -2
Membagi pembilang dengan int X = 14;
pembilangnya int Y = 7;
/ int bagi;
bagi = X / Y;
Output : 2
Modulus operator dan sisa setelah int X = 20; Output : 0
pembagian int Y = 4;
% int mod = 0;
mod = X % Y;

c. Relational Operator : Untuk melakukan pengecekan hubungan antara dua operasi, jika
benar 1 dan jika salah 0

Operato
Description Example
r
Equal operator. Berlaku pada dua int X = 12;
operands int Y = 5;
== printf("%d == %d is %d \n", X, Y, X== Y);
Output : 12==5 is 0 (False)

COMP6599– Algorithm and Programming


Tidak sama dengan operator. int X = 12; Nama : Achmad Farhan
Berlaku pada dua operands int Y = 5;
!= printf("%d != %d is %d \n", X, Y, X!= Y);
Output : 12!=5 is 1 (True)
Lebih dari C operator. Berlaku int X = 12;
pada dua operands int Y = 5;
> printf("%d > %d is %d \n", X, Y, X> Y);
Output : 12>5 is 1 (True)
Kurang dari operator. Berlaku int X = 12;
pada dua operands int Y = 5;
< printf("%d < %d is %d \n", X, Y, X< Y);
Output : 12<5 is 0 (False)
Lebih atau sama dengan int X = 12;
operator. Berlaku pada dua int Y = 5;
>= printf("%d == %d is %d \n", X, Y, X== Y);
operands
Output : 12>=5 is 1 (True)
Kurang atau sama dengan int X = 12;
operator. Berlaku pada dua int Y = 5;
<= printf("%d == %d is %d \n", X, Y, X== Y);
operands
Output : 12<=5 is 0 (False)

d. Logical Operator : Digunakan dalam pengambilan keputusan dalam suatu operasi.

Operato
Description Example
r
Hasil akan benar jika keduanya benar int X = 11;
int Y = 6;
&& if((X>10)&& (Y >5)) {
printf("Maka Benar \n"); }
Output : Maka Benar
Hasil akan benar jika salah satunya int X = 11;
benar int Y = 5;
|| if((X>10)|| (Y >5)) {
printf("Maka Benar \n"); }
Output : Maka Benar
Hasil akan kebalikan dari nilai yang int X = 11;
sebenarnya if((!(X==5) {
!
printf("Maka Benar \n"); }
Output : Maka Benar

e. Bitwise Operator : Digunakan untuk melakukan operasi dengan tingkatan bit.

Operator Description Example


Operasi biner pada sisi kiri. int num=216, i;
for (i=0; i<=1; ++i)
<< printf("shift by %d: %d\n", i, num<<i);
Ouput : shift by 0 : 216
shift by 1 : 432
Operasi biner pada sisi kanan int num=216, i;
for (i=0; i<=1; ++i)
>> printf("shift by %d: %d\n", i, num>>i);
Ouput : shift by 0 : 216
shift by 1 : 108
Operator pelengkap biner printf("Output = %d\n",~15);
~ Output = 14
& Melakukan operasi AND pada int X = 12;
setiap bit int Y = 6;

COMP6599– Algorithm and Programming


int result; Nama : Achmad Farhan
result = X & Y;
printf("%d\n",result);
Output : 8
Melakukan operasi XOR pada int X = 12;
setiap bit int Y = 6;
int result;
ʌ result = X ^ Y;
printf("%d\n",result);
Output : 10
Melakukan operasi OR pada int X = 12;
setiap bit int Y = 6;
int result;
| result = X | Y;
printf("%d\n",result);
Output : 14

f. Assignment Operator : Digunakan untuk menetapkan nilai kedalam variabel

Operator Description Example


Operator sama dengan. Sebagai contoh int x = 8, y;
= y = x;
y=x
Perintah penambahan dengan penetapan printf("y = %d\n", y);
+= sebelumnya, misal y += x singkatan y = y y += x;
+x printf("y = %d\n", y);
y -= x;
Perintah pengurangan dengan penetapan
printf("y = %d\n", y);
-= sebelumnya, misal y -= x singkatan dari y
y *= x;
=y-x printf("y = %d\n", y);
Perintah perkalian dengan penetapan y /= x;
*= sebelumnya, misal y *= x siangkatan dari printf("y = %d\n", y);
y=y*x y %= x;
Perintah pembagian dengan penetapan printf("y = %d\n", y);
/= sebelumnya, misal y /= x singkatan dari y Output :
=y/x y=8
Perintah sisa pembagian dengan penetapan y = 16
sebelumnya, misal y %= x singkatan dari y=8
%= y=y%x y = 64
y=8
y=0

g. Comma Operator (,)


Digunakan untuk menggabungkan beberapa ungkapan secara berurutan. Untuk
contohnya. Result = (x, y)

2. Berikut script PROGRAM HITUNG GAJI KARYAWAN (untuk format dalam Bahasa c,
terlampir pada file terpisah)
Untuk Source Compiler saya menggunakan :
• Dev-C++: https://sourceforge.net/projects/orwelldevcpp/
• https://www.onlinegdb.com/online_c_compiler#

#include <stdio.h>
#include <string.h> //for using strcasecmp
#include <strings.h> //for using strcasecmp

int
main ()

COMP6599– Algorithm and Programming


{ Nama : Achmad Farhan
/*Inisialisasi*/
char Nama[30];
int Gapok;
int Jabatan_1;
int Jabatan_2;
int Jabatan_3;
int Jabatan;
char Pendidikan[5];
int Pendidikan_SMA;
int Pendidikan_D3;
int Pendidikan_S1;
int Jam_Kerja;
int Lembur;
int Semi_Total;
int Total;

/*Variabel Input*/
Gapok = 2000000;
Jabatan_1 = Gapok * 5 / 100;
Jabatan_2 = Gapok * 10 / 100;
Jabatan_3 = Gapok * 15 / 100;

Pendidikan_SMA = Gapok * 2.5 / 100;


Pendidikan_D3 = Gapok * 5 / 100;
Pendidikan_S1 = Gapok * 10 / 100;

/*Input*/
printf ("PROGRAM HITUNG GAJI KARYAWAN\n");

printf ("Nama Karyawan : "); //Masukkan Nama


scanf("%[^\n]%*c", Nama);

printf ("Golongan Jabatan : "); //Masukkan Jabatan dengan value 1 atau 2 atau 3
scanf ("%d", &Jabatan);

printf ("Pendidikan : "); //Masukkan Pendidikan dengan value SMA atau D3 atau S1
scanf("%s", Pendidikan);

printf ("Jumlah Jam Kerja : "); //Masukan jam kerja dalam sehari
scanf ("%d", &Jam_Kerja);

/*Output*/
//Deklarasi hitungan Lembur
Lembur = (Jam_Kerja - 8) * 3000 * 25;

//Nama Karyawan
printf ("\nNama Karyawan %s", Nama);

//Tunjangan Jabatan
if (Jabatan == 1)
{

COMP6599– Algorithm and Programming


printf ("\n Tunjangan Jabatan Rp %d", Jabatan_1); Nama : Achmad Farhan
Semi_Total = Gapok + Jabatan_1;
}
if (Jabatan == 2)
{
printf ("\n Tunjangan Jabatan Rp %d", Jabatan_2);
Semi_Total = Gapok + Jabatan_2;
}
if (Jabatan == 3)
{
printf ("\n Tunjangan Jabatan Rp %d", Jabatan_3);
Semi_Total = Gapok + Jabatan_3;
}

//Tunjangan Pendidikan
if (strcasecmp (Pendidikan, "SMA") == 0)
{
printf ("\n Tunjangan Pendidikan Rp %d", Pendidikan_SMA);
Total = Semi_Total + Pendidikan_SMA + Lembur;
}
if (strcasecmp (Pendidikan, "D3") == 0)
{
printf ("\n Tunjangan Pendidikan Rp %d", Pendidikan_D3);
Total = Semi_Total + Pendidikan_D3 + Lembur;
}
if (strcasecmp (Pendidikan, "S1") == 0)
{
printf ("\n Tunjangan Pendidikan Rp %d", Pendidikan_S1);
Total = Semi_Total + Pendidikan_S1 + Lembur;
}

//Honor Lembur
printf ("\n Honor Lembur Rp %d", Lembur);

//Total Gaji
printf ("\nTotal Gaji yang dibayarkan Rp %d", Total);

return 0;
}

COMP6599– Algorithm and Programming

Anda mungkin juga menyukai