LAPORAN PRAKTIKUM III
Operator
Disusun untuk Memenuhi Matakuliah Praktikum Dasar Pemrograman C++ Dibimbing oleh Bapak Wahyu Sakti Gunawan Irianto
Oleh:
Septian Adi Pratama
150533604474
S1 PTI’15 OFF D
UNIVERSITAS NEGERI MALANG FAKULTAS TEKNIK
JURUSAN TEKNIK ELEKTRO
Operator
Tujuan
Setelah mempelajari bab ini diharapkan mahasiswa akan mampu : 1. Menjelaskan tentang fungsi operator.
DASAR TEORI
Operator merupakan simbol atau karakter yang biasa dilibatkan dalam program untuk melakukan sesuatu operasi atau manipulasi
Contoh :
Penjumlahan, pengurangan, pembagian dan lain-lain. Operator mempunyai sifat:
Unary
Sifat unary pada operator hanya melibatkan sebuah operand pada suatu operasi aritmatik. Contoh : -1
Binary
Sifat binary pada operator melibatkan dua buah operand pada suatu operasi aritmatik. Contoh : 23 + 27
Ternary
Jenis-jenis Operator
1. Operator Aritmatika
Operator untuk operasi aritmatika yang tergolong sebagai binary adalah :
2. Operator Penugasan
Operator penugasan (Assignment operator) dalam bahasa C++ berupa tanda sama
dengan (“=”).
Contoh : nilai = 23; A = x * y ; Penjelasan :
variable “nilai” diisi dengan 23 dan
variable “A” diisi dengan hasil perkalian antara x dan y.
3. Hierarki Operator Aritmatika
Contoh:
A = 9 + 2 * 3 / 6
Langkah perhitungannya : A = 9 + 6/6 dimana 6/6 = 1
Langkah perhitungannya : A = 10 * 3 / 6 dimana 8 + 2 = 10 A = 30 / 6
A = 5
4. Operator Increment & Decrement
Dalam C compiler awal, tiga ekspresi sebelumnya mungkin telah menghasilkan kode dieksekusi berbeda tergantung pada mana yang digunakan. Saat ini, jenis optimasi kode umumnya dilakukan secara otomatis oleh kompilator, sehingga tiga ekspresi harus menghasilkan kode dieksekusi sama persis.
Sebuah keganjilan operator ini adalah bahwa hal itu dapat digunakan baik sebagai awalan dan akhiran sebagai. Itu berarti bahwa hal itu dapat ditulis baik sebelum nama variabel (++ x) atau setelah (x ++). Meskipun dalam ekspresi sederhana seperti x ++ atau ++ x, keduanya memiliki arti yang sama persis; dalam ekspresi lain di mana hasil operasi kenaikan atau penurunan dievaluasi, mereka mungkin memiliki perbedaan penting dalam arti mereka: Dalam hal operator peningkatan digunakan sebagai awalan (++ x) dari nilai, yang mengevaluasi ekspresi dengan nilai akhir x, setelah itu sudah meningkat. Di sisi lain, dalam hal ini digunakan sebagai akhiran (x ++), nilai tersebut juga meningkat, namun ekspresi bernilai nilai yang x punya sebelum meningkat. Melihat perbedaan :
Dalam Contoh 1 , nilai yang diberikan untuk y adalah nilai x setelah meningkat.
Sementara dalam Contoh 2 , itu adalah nilai x sebelumnya yang meningkat.
A = A+1 atau A = A -1 ; dapat disederhanakan menjadi A + 1 = 1 atau A
Dan dapat disederhanakan menjadi A++ atau A--. Notasi ++ atau -- dapat diletakkan di depan atau di belakang variabel.
Kedua bentuk penulisan di atas mempunyai arti yang berbeda:
1. Jika diletakkan di depan variabel. Maka proses penambahan atau pengurangan akan dilakukan sesaat sebelum atau langsung pada saat menjumpai ekspresi ini sehiingga nialai variabrl tadi akan langsung berubah begitu ekpresi ini di temukan. 2. Jika diletakan di belakang variabel. Maka proses penambahan atau pengurangan akan dilakaukan setelah ekspresi ini di mulai atau nilai variabel akan akan tetap pada ekpresi ini ditemukan.
3. Operasi Relasi (Perbandingan)
Operator relasi ini digunakan untuk membandingkan dua buah nilai. Hasil dari perbandingan operator ini menghasilkan nilai numeric 1 (True) atau 0 (False). Tabel 1.5. Operator relasi (Perbandingan)
4. Operator Logika
Operator logika digunakan untuk menghubungkan dua atau lebih ungkapan menjadi sebuah ungkapan berkondisi.
Tabel 1.6 Operator Relasi Logika
Operator || sesuai dengan operasi logis Boolean OR , yang menghasilkan benar jika salah satu dari Operand benar , sehingga menjadi salah hanya jika kedua operan adalah palsu . Berikut adalah hasil yang mungkin dari || b:
5. Operator Bitwise
Operator Bitwise digunakan untuk memanipulasi data dalam bentuk bit. Tabel 1.7 Operator Bitwise
1) Operator Bitwise << (Shift Left)
Operator Bitwise Shift Left digunakan untuk menggeser sejumlah bit ke kiri. Contoh : 0001 0101 = 21 jika di geser kekiri 1 bit 0010 1 010 = 42 2) Operator Bitwise >> Shift Right
Operator Bitwise >> Shift Right digunakan untuk menggeser sejumlah bit ke kanan.
Contoh : 0001 0010 = 18 jika digeser ke kanan 2 bit 0000 0100 = 4 3) Operator Bitwise & (AND)
Tabel 1.8 Operator Bitwise & (AND)
Contoh : 0001 0101
0001 0001 = AND 0001 0001
4) Operator Bitwise | (OR)
Operator Bitwise | (OR) digunakan untuk membandingkan bit dari dua buah operand. Akan bernilain benar jika ada salah satu operand yang digabungkan ada yang bernilai benar (1).
Tabel 1.9 Operator Bitwise | (OR)
Contoh : 0001 0101 0001 0001 = OR 0001 0101
5) Operator Bitwise ^ (XOR)
Operator Bitwise ^ (XOR) digunakan untuk membandingkan bit dari dua buah operand. Akan bernilain benar (1) jika ada salah dua bit operand yang dibandingkan hanya sebuah bernilai benar (1).
Contoh : 0001 0101
0001 0001 = XOR 00000100
Latihan 1 Pemrograman C++
Nama Program : Operator Aritmatika
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
cout<<"Hasil dari C=A*B= "<<c<<endl; cout<<"Hasil dari C=A/B= "<<d<<endl; cout<<"Hasil dari C=A+B= "<<e<<endl; cout<<"Hasil dari C=A-B= "<<f<<endl; getch();
}
Flowchart :
Penjelasan Program :
Latihan 2 Pemrograman C++
Nama Program : Operator Hierarki Aritmatika
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program : cout<<"Masukkan Nilai A: "; cin>>a;
cout<<"Masukkan Nilai B: "; cin>>b;
cout<<"Masukkan Nilai C: "; cin>>c;
cout<<"Masukkan Nilai D: "; cin>>d;
e=a+b*c/d; f=(a+b)*c/d;
cout<<"Nilai dari e=a+b*c/d : "<<e<<endl; cout<<"Nilai dari f=(a+b)*c/d : "<<f<<endl; }
Output Program :
Flowchart :
Penjelasan Program :
Latihan 3 Pemrograman C++
Nama Program : Operator Increment & Decrement
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program : printf("Nilai A = %d",a);
printf("\nNilai ++A = %d",++a); printf("\nNilai A = %d",a);
printf("\nNilai B = %d",b);
printf("\nNilai --B = %d",--b); printf("\nNilai B = %d",b);
printf("\n\nNilai X = %d",x); printf("\nNilai X++ = %d",x++); printf("\nNilai X = %d",x);
printf("\nNilai Y = %d",y);
printf("\nNilai Y-- = %d",y--); printf("\nNilai Y = %d",y);
getch(); }
Output Program :
Flowchart :
Penjelasan Program :
Program tersebut Menggunakan Operator Increment & Decrement (Meningkatkan & Mengurangi). (++ , --) setara dengan + = 1 dan ke - = 1
Latihan 4 Pemrograman C++
Nama Program : Operator Relasi
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <iostream.h> #include <conio.h>
int main() {
int m=5, n=7;
if(m==n)cout<<m<<" Sama Dengan "<<n<<endl;
else if(m!=n)cout<<m<<" Tidak sama dengan "<<n<<endl; if(m>n)cout<<m<<" Lebih Besar Dari "<<n<<endl;
else if(m<n)cout<<m<<" Lebih Kecil Dari "<<n<<endl; getch();
Output Program :
.
Flowchart :
Penjelasan Program :
Latihan 5 A Pemrograman C++
Nama Program : Operator Logika
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
//Program Operator Logika #include <iostream.h> #include <conio.h> int main()
{
int m=166;
cout<<" (m>=0 && m<=150) -> "<< (m>=0 & m<=150)<<endl; cout<<" (m>=0 || m<=150) -> "<< (m>=0 || m<=150)<<endl; getch();
}
Output Program :
.
Penjelasan Program :
Program ini menggunakan operator logika (and, or). Operator && dan || digunakan ketika mengevaluasi dua ekspresi untuk mendapatkan hasil relasional tunggal.
Latihan 5 B Pemrograman C++
Nama Program : Operator Logika
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <stdio.h> #include <iostream.h>
int main() {
int a, b, c;//deklarasi Variabel
cout<<"Masukkan Nilai A = "; //Keluaran String Masukan Nilai cin>>a;//Masukan Data integer dari keyboard
/*Proses*/
b = (a + 4 < 10); c = !(b);
cout<<endl<<"Program Ekspresi NOT "<<endl; cout<<"Masukkan Nilai = "<<a<<endl;
cout<<"Nilai b = (a + 4 < 10) = "<<b<<endl; cout<<"Nilai c = !(b) = "<<c;
getchar(); }
Output Program :
Flowchart :
Penjelasan Program :
Program ini menggunakan operator logika (not). Hasil dari perbandingan operator ini menghasilkan nilai numeric 1 (True) atau 0 (False).
Latihan 6 Pemrograman C++
Nama Program : Operator Bitwise
Bahasa Pemrogramam : C++
Script program :
#include <iostream.h>
int main() {
int x, y;
cout<<"Masukkan Nilai X = "; cin>>x;
cout<<"Masukkan Nilai Y = "; cin>>y;
x = x << 1; //geser ke kiri 1 bit y = y >> 2; //geser ke kanan 2 bit
cout<<"Hasil dari Geser 1 Bit Kekiri = "<<x<<endl; cout<<"Hasil dari Geser 2 Bit Kekanan = "<<y<<endl; getchar();
}
Output Program :
.
Penjelasan Program :
Program ini menggunakan Operator Bitwise (Shift left << & shift right >>) << Shift Left digunakan untuk menggeser sejumlah bit ke kiri. (x2) >> Shift Right digunakan untuk menggeser sejumlah bit ke kanan. (/2)
Latihan 7 Pemrograman C++
Nama Program : Operator Bitwise
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
cout<<"Masukkan Nilai X = "; cin>>x; cout<<"Masukkan Nilai Y = "; cin>>y;
a = x & y; b = x | y; c = x ^ y;
cout<<'\n';
cout<<"Hasil dari "<<x<<" & "<<y<<" = "<<a<<endl; cout<<"Hasil dari "<<x<<" | "<<y<<" = "<<b<<endl; cout<<"Hasil dari "<<x<<" ^ "<<y<<" = "<<c<<endl; getch();
Output Program :
.
Flowchart :
Penjelasan Program :
Program ini menggunakan Operator Bitwise (AND, OR, XOR).
& (AND) digunakan untuk membandingkan bit dari dua operand. Akan bernilai benar (1) jika semua operand yang digabungkan bernilai benar (1).
| (OR) digunakan untuk membandingkan bit dari dua buah operand. Akan bernilain benar jika ada salah satu operand yang digabungkan ada yang bernilai benar (1).
Tugas Rumah Pemrograman C++
Nama Program : Tugas Rumah (Operator)
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
cout<<" Masukkan nilai a : ";cin>>a; cout<<" Masukkan nilai b : ";cin>>b; cout<<" Masukkan nilai c : ";cin>>c;
d = (a*b)-c/(b+a); e = d << 2;
cout<<"\nNilai dari d = (a*b)-c/(b+a) = ";cout<<d; cout<<"\nHasil dari Geser 2 Bit Kekiri = ";cout<<e;
cout<<"\n\n Masukkan nilai j : ";cin>>j; cout<<" Masukkan nilai k : ";cin>>k; cout<<" Masukkan nilai l : ";cin>>l;
m = j*(k+l); n = m >> 3;
cout<<"\nNilai dari m = j*(k+l) = ";cout<<m;
cout<<"\nHasil dari Geser 3 Bit Kekanan = ";cout<<n;
cout<<"\n\n";
if(e==n)cout<<e<<" Sama Dengan "<<n<<endl;
else if(e!=n)cout<<e<<" Tidak Sama Dengan "<<n<<endl; if(e>n)cout<<e<<" Lebih Besar Dari "<<n<<endl;
else if(e<n)cout<<e<<" Lebih Kecil Dari "<<n<<endl; getch();
Output Program :
.
Flowchart :
Penjelasan Program :
KESIMPULAN
1. Dalam belajar pemrograman operator harus memahami, mengingat, meneliti simbol simbol yang dijadikan sebagai operator masing masing.
2. Dibutuhkan ketelitian untuk penulisan script, syntax harus benar untuk kelangsungan berjalannya suatu program.
3. Memahami flowchart masing masing program, agar kita paham tentang alur berjalannya suatu program.
4. Memahami Dasar Teori sebelum melakukan praktikum.
DAFTAR RUJUKAN
1. Tim Asisten Dosen. 2015. Modul 1 Pengenalan Sistem Operasi, Ide Visual C++, Dan Algoritma Pemrograman. Malang : Universitas Negeri Malang).
2. Tim Asisten Dosen. 2015. Modul 3 Pengenalan Sistem Operasi, Ide Visual C++, Dan Algoritma Pemrograman. (Malang : Universitas Negeri Malang).