Anda di halaman 1dari 28

JOBSHEET 3

LOGIKA DAN ALGORITMA


OPERATOR DAN UNGKAPAN

I. Tujuan Instruksional Khusus


1. Memahami dan membuat operator Bahasa C
2. Memahami dan membuat ungakapan Bahasa C

II. Landasan Teori


4. 1. Pengantar Operator
Operator atau tanda operasi adalah suatu tanda atau simbol yang digunakan untuk
suatu operasi tertentu. Bahasa C merupakan bahasa yang kaya dengan operator. Bahasa
C menyediakan banyak sekali operator, yaitu operator penugasan, operator aritmatika,
operator tipe

4. 2. Macam-macam Operator
Operator atau tanda operasi adalah suatu tanda atau simbol yang digunakan untuk
suatu operasi tertentu. Bahasa C merupakan bahasa yang kaya dengan operator. Bahasa
C menyediakan banyak sekali operator, dapat dilihat pada tabel berikut :

Kategori Operator Arah Proses Jenjang


Kurung, indeks larik dan ( ) [ ] . -> Kiri-Kanan 1
elemen struktur data
Operator Unary ! ~ - ++ -- & * (tipe) Kanan-Kiri 2
sizeof
Operator Aritmatika Perkalian, * ? % Kiri-Kanan 4
Pembagian dan Sisa Pembagian
Operator Aritmatika + - Kiri-Kanan 4
Pertambahan dan Pengurangan
Operator Bitwise Pergeseran Bit << >> Kiri-Kanan 5
Operator Hubungan < <= > >= Kiri-Kanan 6
Operator Hubungan Kesamaan == != Kiri-Kanan 7
dan Ketidak-Samaan
Operator Bitwise AND & Kiri-Kanan 8
Operator Bitwise XOR ^ Kiri-Kanan 9
Operator Bitwise OR | Kiri-Kanan 10
Operator Kondisi AND && Kiri-Kanan 11
Operator Kondisi OR || Kiri-Kanan 12
Operator Ternary ?| Kanan-Kiri 13
Operator Pengerjaan Aritmatika = += -= *= /= %= Kanan-Kiri 14
Operator Pengerjaan Bitwise &= ^= |= <<== >> == Kanan-Kiri 15

1
Operator Koma ‘ Kiri-Kanan 16

4. 3. Operator Aritmetika
Bahasa C menyediakan sejumlah operator aritmatika seperti terlihat pada tabel
berikut :

Operator Arti
* Perkalian
/ Pembagian
% Pembagian modulus (sisa pembagian)
+ Penambahan
- Pengurangan

Contoh pemakaian operator aritmatika adalah untuk memperoleh nilai diskriminan


suatu persamaan kuadrat, yang melibatkan operator penjumlahan, pengurangan dan
perkalian

Diskriminan = b2 – 4ac

Pernyataan pada C untuk mengimplementasikan persamaan di atas adalah seperti


berikut

Diskriminan = b + b – 4 * a * c;

Pemberian spasi pada pernyataan seperti di atas hanya bersifat opsional. Tujuan
penyisipan hanyalah untuk menjaga agar persamaan yang terkandung dalam
pernyataan mudah dibaca oleh orang.

4. 4. Operator Penugasan (Pengerjaan)


Operator penugasan digunakan untuk memindahkan nilai dari suatu ungkapan ke suatu
pengenal atau lebih sederhananya operator ini berfungsi untuk memberikan suatu nilai
ke suatu variabel. Operator penugasan berupa simbol (=). Contoh

Fahrenheit = Celcius * 1.8 + 32;

Maka ‘=’ adalah opertaor pengerjaan yang akan memberikan nilai ungkapan Celcius *
1.8 + 32 ke variabel Fahrenheit.

Bahasa C memungkinkan dibentuknya statement pengerjaan menggunakan operator


pengerjaan jamak dengan bentuk sebagai berikut :

2
pengenal1 = pengenal2 = ... = ungkapan;

Misal pernyataan penugasan sebagai berikut :

A = B = 15;

Maka nilai variabel A akan sama dengan nilai variabel B akan sama dengan 15.

Disamping operator pengerjaan ‘=’, Bahasa C menyediakan beberapa operator


pengerjaan yang lain :

Operator Contoh Ekuivalen dengan


= A=B+C Mengerjakan B + C ke A
+= A += 1 A=A+1
-+ A -+ B A=A–B
*= A *= B A=A*B
/= A /= B A=A/B
%= A %=B

4. 5. Operator Unary (Tipe)


Pembagian dua buah nilai integer yang diterima di variabel pecahan akan tetap bernilai
integer. Jika hasil yang diinginkan harus bernilai pecahan, maka dapat digunakan
operator unary. Operator unary merupakan operator yang memaksa suatu ungkapan
mempunyai tipe yang diinginkan (disebut juga dengan cast). Tipe yang diinginkan
ditulis didalam tanda kurung di muka ungkapannya. Misalnya :

Z = (float) X / Y;

Hasil ini akan memberikan Z bernilai pecahan yang tidak dibulatkan karena nilai
integer X dipaksa di dalam ungkapan menjadi bertipe float dan dibagi Y yang bertipe
ini akan dihasilkan nilai tipe float.

4. 6. Operator Penurunan dan Penaikan


Berkaitan dengan operasi aritmatika, C menyediakan operator yang disebut sebagai
operator penaikan (increment) dan operator penurunan (decrement). Kedua operator ini
biasa digunakan pada operand bertipe bilangan bulat.

Operator Keterangan
++ Operator Penaikan
-- Operator Penurunan

3
Operator penaikan digunakan untuk menaikkan nilai variabel sebesar satu, sedangkan
operator penurunan dipakai untuk menurunkan nilai variabel sebesar satu. Penempatan
operator terhadap variabel dapat dilakukan di muka atau di belakangnya. Contoh :

x = x + 1;

y = y + 1;

dapat ditulis menjadi :

x++;

y++;

Pada contoh di atas, penempatan operator penaikan atau penurunan di depan atau di
belakang variabel tidak berbeda. Namun, sesungguhnya perbedaan kedua posisi ada,
walau pada contoh tersebut tidak terlihat.

4. 7. Operator Bitwise
Operator bitwise digunakan untuk memanipulasi bit-bit dari nilai data yang ada di
memori. Karena C memang dimaksudkan untuk dapat beroperasi secara level rendah,
seperti halnya bahasa mesin atau bahasa perakit, maka operator-operator bitwise ini
sangat diperlukan keberadaannya.

Operator Keterangan
<< Pergeseran bit ke kiri
>> Pergeseran bit ke kanan
& Bitwise AND
^ Bitwise XOR (exclusive OR)
| Bitwise OR

Disamping lima macam operator bitwise ini, sebuah operator lagi dapat digunakan
untuk operasi bit, yaitu operator unary ‘~’ (bitwise NOT). Operator-operator bitwise
hanya dapat digunakan untuk data tipe char, int dan long saja.

4. 8. Operator Majemuk

C menyediakan operator yang dimaksudkan untuk memendekkan penulisan operasi


penugasan semacam :

x = x + 2;

4
y = y + 2;

Menjadi :

x += 2;

y *= 4;

Operator seperti += dan *= dinamakan operator majemuk.

Tabel berikut menampilkan seluruh kemungkinkan operator kombinasi dalam suatu


pernyataan dan pernyataan padaannya.

Operator Contoh Keterangan


+= x += 2; Kependekan dari x = x + 2;
-= x -= 2; Kependekan dari x = x – 2;
*= x *= 2; Kependekan dari x = x * 2;
/= x /= 2; Kependekan dari x = x / 2;
%= x %= 2; kependekan dari x = x % 2;
<<= x <<= 2; Kependekan dari x = x << 2;
>>= x >>= 2; Kependekan dari x = x >> 2;

4. 9. Ungkapan Kondisi

Ungkapan kondisi adalah ungkapan yang menjadi dasar bagi pernyataan berkondisi
(misalnya if, akan dibahas nanti). Ungkapan ini memberikan nilai benar atau salah.
Hasil ungkapan berupa :

 0 kalau ungkapan bernilai salah


 1 kalau ungkapan bernilai benar

Adapun elemen yang membentuk ungkapan ini adalah operator :

a. Relasi
Operator relasi atau operator pembanding biasa digunakan untuk membandingkan
dua nilai. Tabel berikut menampilkan operator relasi di C :

Operator Keterangan
== Sama dengan (bukan penugasan)
!= Tidak sama dengan
> Lebih dari
< Kurang dari

5
>= Lebih dari sama dengan
<= Kurang dari sama dengan

b. Logika
Operator logika biasa digunakan untuk menghubungkan dua ungkapan kondisi
menjadi satu ungkapan kondisi. Operator-operator yang tergolong sebagai operator
adalah :
 && (operator logika DAN)
 || (operator logika ATAU)
 ! (operator logika BUKAN)
Bentuk pemakaian operator || dan &&;
ungkapan1 || ungkapan2
ungkapan2 && ungkapan2
pada bentuk pertama, hasil ungkapan bernilai benar kalau ungkapan1 dan
ungkapan2 bernilai benar. Pada bentuk kedua, hasil ungkapan berupa benar hanya
kalau ungkapan1 dan ungkapan2 bernilai benar. Tabel berikut memberikan
kemungkinan pada operasi dengan || dan &&.

ungkapan1 ungkapan2 Hasil || Hasil &&


Salah Salah Salah Salah
Salah Benar Benar Salah
Benar Salah Benar Salah
Benar Benar Benar Benar

4. 10. Operator Berkondisi


Operator berkondisi biasa digunakan untuk mendapatkan satu nilai berdasarkan
suatu kondisi. Format pemakaiannya sebagai ebrikut :
ungkapan1 ? ungkapan2 : ungkapan3
Ada tiga ungakapan yang dilibatkan. Oleh karena itu, operator ?: tergolong
sebagai operator ternanry.
Pada bentuk seperti di atas, hasil dari ungkapan berupa :
 Nilai ungkapan akan berupa nilai ungkapan2 kalau ungkapan1 bernilai
benar.
 Nilai ungkapan akan berupa nilai ungkapan3 kalau ungkapan1 bernilai
salah.

6
4. 11. Operator Koma
Operator koma berguna untuk meletakkan dua ungkapan pada suatu kaidah yang
memerlukan satu ungkapan. Bentuk pemakaiannya :
ungkapan1, ungkapan2
Tanda koma pada bentuk di atas adalah simbol operator koma. Dalam halini, nilai
ungkapan menggunakan operator koma sesuai dengan nilai ungkapan yang
terlettak di kanannya (yaitu ungakapan2).

4. 12. Prioritas Operator


Agar tidak salah dalam menuliskan suatu ungkapan, pengetahuan tentang prioritas
opertaor perlu diketahui. Seluruh operator di C beserta prioritasnya ditunjukkan
tabel berikut :

Simbol Nama Prioritas Urutan Pengerjaan


++ Post-increment TERTINGGI Kiri ke kanan
-- Post-decrement
() Pemanggilan fungsi
[] Elemen Array
-> Pointer ke anggota struktur
. Anggota struktur, union, atau kelas
++ Pre-increment Kiri ke kanan
-- Pre-decrement
! Logika BUKAN (NOT)
~ Bitwise komplemen
- Minus (unary)
+ Plus (unary)
& Alamat (address)
Sizeof Ukuran tipe data
(tipe) Type casting
Tipe() Type casting
.* Dereferensi C Kiri ke kanan
->* Dereferensi C
() Kurung untuk ungkapan
* Perkalian Kiri ke kanan
/ Pembagian
% Sisa pembagian (modulus)
+ Penjumlahan Kiri ke kanan
- Pemgurangan
<< Geser kiri Kiri ke kanan
>> Geser kanan
< Kurang dari Kanan ke kiri
> Lebih dari
<= Kurang dari atau sama dengan
>= Lebih dari atau sama dengan
== Sama dengan Kiri ke kanan
!= Tidak sama dengan
& Bitwise DAN Kiri ke kanan
^ Bitwise OR Kiri ke kanan
| Bitwise ATAU Kiri ke kanan
&& Logika DAN Kiri ke kanan
|| Logika ATAU Kiri ke kanan

7
?: Operator kondisi Kiri ke kanan
= Penugasan Kiri ke kanan
*= Operator majemuk
/= Operator majemuk
%/ Operator majemuk
+= Operator majemuk
-= Operator majemuk
<= Operator majemuk
>>= Operator majemuk
&= Operator majemuk
^= Operator majemuk
|= Operator majemuk
, Operator koma TERENDAH Kiri ke kanan

4. 13. Konversi Tipe


Sampai sejauh ini, operasi yang melibatkan variabel dan konstanta selalu
menggunakan tipe data yang sama. Dalam praktiknya, suatu operasi yang
mencampurkan beberapa tipe dat yang berlainan. Ada beberapa cara konversi tipe :
a. Konversi secara otomatis
Jika terdapat campuran beberapa tipe data dalam suatu ungkapan, C dengan
sendirinya akan melakukan konversi dari suatu tipe data yang lain. Sebagai
contoh, gambaran mengenai konversi tipe dapat dilihat pada contoh berikut :
harga_total = harga_per_satuan * jumlah;
Mula-mula nilai jumlah akan dikonversi menjadi bertipe float, mengingat
pasangan operand ini bertipe float. Hasil perkalian kedua variabel tersebut akan
bertipe float, dan kemudian akan dikonversi ke double mengingat variabel
penerima nilai ini bertipe double.
b. Hierarki Pengkonversian
Dalam melakukan konversi, C akan memerhatikan tipe data setiap operand di
dalam ungkapan. Konversi dilakukan dengan berpedoman pada urutan
pengonversian tercantum pada tabel :

Tipe Data Urutan


Bilangan pecahan Tertinggi
Bilangan bulat
Karakter atau Boolean Terendah

c. Konversi Melalui Operator cast


Di samping pengonversian secara otomatis, C menyediakan cara pengonversian
yang diatur sendiri oleh pemrogram. Hal ini dilakukan dengan menggunakan

8
operator cast. Cara pengonversian seperti ini dinamakaan type cast. Cara
melakukan type casting adalah dengan menggunakan bentuk seperti berikut :
(tipe data) data
Sebagai contoh
int(karakter);
d. Konversi Tipe pada Penugasan ke Variabel
Pada operasi penugasan ke variabel, tipe ungakapan yang terletak di kanan
operator penugasan (=) secara otomatis akan dikonversi sesuai dengan tipe
variabel yang terletak di kiri operator penugasan.

4. 14. Fungsi Pustaka


Kadang-kadang diperlukan untuk melakukan operasi seperti memperoleh akar
kuadrat ataupun memperoleh logaritma alamiah dari suatu nilai. Bagaimana hal ini
ditangai? Pada C memang tidak ada operator-operator yang dikhususkan untuk
melaksanakan operasi-operasi seperti ini. Akan tetapi, tidak berarti bahwa kita
tidak dapat melaksanakan operasi itu atau harus membangun sendiri suatu rutin
untuk mengimplementasikannya. C menyediakan sejumlah fungsi pustaka (library
function) yang dirancang untuk memenuhi solusi dari berbagai persoalan,

III. Peralatan yang Digunakan


1. PC
2. Aplikasi text editor : Code Blocks

IV. Langkah Kerja


4. 1. Latihan Ungkapan
1. Buatlah folder Jobsheet3 di dalam folder jobsheet, kemudian buatlah file bernama
ungkapan.c :

9
2. Eksekusi program, maka akan terlihat seperti tampilan berikut :

4. 2. Latihan Konversi Suhu


1. Buatlah file bernama konversi_suhu.c di dalam folder Jobsheet3 :

2. Eksekusi program, maka akan terlihat seperti tampilan berikut :

10
4. 3. Latihan Konversi Suhu (2)
3. Buatlah file bernama konversi_suhu2.c di dalam folder Jobsheet3 :

4. Eksekusi program, maka akan terlihat seperti tampilan berikut :

4. 4. Latihan Modulus
1. Buatlah file bernama modulus.c di d

alam folder Jobsheet3 :

11
2. Eksekusi program, maka akan terlihat seperti tampilan berikut :

4. 5. Latihan Prioritas
1. Buatlah file bernama prioritas.c di dalam folder Jobsheet3 :

2. Eksekusi program, maka akan terlihat seperti tampilan berikut :

12
4. 6. Latihan Operator Bitwise Geser Kiri
1. Buatlah file operator_bitwise_geser_kiri.c di dalam folder Jobsheet3 :

2. Eksekusi program, maka akan terlihat seperti tampilan berikut :

4. 7. Latihan Operator Bitwise Geser Kanan


1. Buatlah file bernama operator_bitwise_geser_kanan.c di dalam folder Jobsheet3 :

2. Eksekusi program, maka akan terlihat seperti tampilan berikut :

13
4. 8. Latihan Operator Bitwise OR, AND, XOR
1. Buatlah file bernama operator_or_and_xor.c di dalam folder Jobsheet2 :

2. Eksekusi program, maka akan terlihat seperti tampilan berikut :

4. 9. Latihan Operator Bitwise Komplemen


1. Buatlah file bernama komplemen.c di dalam folder Jobsheet3 :

14
2. Eksekusi program, maka akan terlihat seperti tampilan berikut :

4. 10. Latihan Tampilkan Operator Majemuk


1. Buatlah file bernama operator_majemuk.c di dalam folder Jobsheet3 :

2. Eksekusi program, maka akan terlihat seperti tampilan berikut :

15
4. 11. Latihan Kondisi
1. Buatlah file bernama kondisi.c di dalam folder Jobsheet3 :

2. Eksekusi program, maka akan terlihat seperti tampilan berikut :

4. 12. Latihan Logika


1. Buatlah file bernama logika.c di dalam folder Jobsheet3:

16
2. Eksekusi program, maka akan terlihat seperti tampilan berikut :

4. 13. Latihan Operator Berkondisi


1. Buatlah file bernama operator_berkondisi.c di dalam folder Jobsheet2 :

2. Eksekusi program, maka akan terlihat seperti tampilan berikut :

17
4. 14. Latihan Operator Koma
1. Buatlah file bernama operator_koma.c di dalam folder Jobsheet3 :

2. Eksekusi program, maka akan terlihat seperti tampilan berikut :

Tampak pada latihan di atas hasil yang pertama bernilai 0 (nilai salah) karena yang
tersimpan pada nilai adalah 3 > 5 (ungkapan paling kanan). Pada contoh kedua,
hasilnya berupa nilai ungkapan 5 > 3 adalah bernilai benar.

4. 15. Latihan Konversi Tipe Data Otomatis


1. Buatlah file bernama konversi_tipe_data_otomatis.c di dalam folder Jobsheet3 :

18
2. Eksekusi program, maka akan terlihat seperti tampilan berikut :

4. 16. Latihan Konversi Tipe Data dengan Operator Cast


1. Buatlah file bernama konversi_tipe_data_operator_cast.c di dalam folder Jobsheet3
:

2. Eksekusi program, maka akan terlihat seperti tampilan berikut :

19
Dengan rumus yang sama kode diatas menghasilkan hasil yang berbeda karena
pembilang dan penyebut dengan tipe int akan menghasilkan hasil bagi tanpa
menampilkan pecahan. Maka untuk mendapat hasil yang tepat digunakan operator
cast atau sering disebut dengan casting (mengubah tipe data variabel).

4. 17. Latihan Konversi Tipe Data pada Penugasan ke Variabel


1. Buatlah file bernama konversi_tipe_data_dengan_penugasan.c di dalam folder
Jobsheet3 :

2. Eksekusi program, maka akan terlihat seperti tampilan berikut :

20
4. 18. Latihan Fungsi Pustaka
1. Buatlah file bernama fungsi_pustaka.c di dalam folder Jobsheet3 :

2. Eksekusi program, maka akan terlihat seperti tampilan berikut :

V. Lembar Kerja
1. Lakukan pratikum sesuai langkah kerja yang diberikan.

21
22
23
24
25
2. Kerjakan latihan soal.
(sertakan hasil screenshot langkah kerja dan latihan soal yang Anda kerjakan)

VI. Latihan Soal


1. Buatlah program dengan tampilan seperti berikut (sertakan screenshoot kode program
dan hasilnya) :

26
VII. Kesimpulan

Operator atau tanda operasi adalah suatu tanda atau simbol yang digunakan untuk suatu
operasi tertentu. Bahasa C merupakan bahasa yang kaya dengan operator. Operator
disandingkan dengan operand dan semua itu dinamakan ungkapan. C menyediakan sejumlah
fungsi Pustaka yang dirancang untuk memenuhi solusi dari berbagai persoalan, seperti
penyelesaian aritmatika atau pembulatan bilangan

27
1

Anda mungkin juga menyukai