Laporan DPK Modul 3
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
PRODI S1 PENDIDIKAN TEKNIK INFORMATIKA Oktober 2015
(2)
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
Sifat tenary pada operator melibatkan tiga buah operand pada suatu operasi aritmatik. Contoh : (10 % 7) + 9 + 1
(3)
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
Di dalam suatu akspresi arotmatika dapat kita jumpai beberapa operator aritmatika yang berbeda secara bersamaan. Urutan operator aritmatika adalah sebagai berikut :
(4)
Contoh:
A = 9 + 2 * 3 / 6
Langkah perhitungannya : A = 9 + 6/6 dimana 6/6 = 1 A = 8 + 1
A = 10
Tingkatan operator ini dapat diabaikan dengan penggunaan tanda kurung (dan). Contoh:
A = (8 + 2) * 3 / 6
Langkah perhitungannya : A = 10 * 3 / 6 dimana 8 + 2 = 10 A = 30 / 6
A = 5
4. Operator Increment & Decrement
Beberapa ekspresi dapat dipersingkat bahkan lebih : peningkatan operator (++) dan operator penurunan (-) meningkatkan atau mengurangi oleh salah satu nilai yang tersimpan dalam variabel . Mereka setara dengan + = 1 dan ke - = 1 , masing-masing. demikian : 1 2 3 ++x; x+=1; x=x+1;
Pada pemrograman C++, menyediakan operator penambah dan pengurang (Increment & Decrement). semua sama dalam fungsi; mereka bertiga naik satu nilai x.
(5)
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.
(6)
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 logis && dan || digunakan ketika mengevaluasi dua ekspresi untuk mendapatkan hasil relasional tunggal . Operator && sesuai dengan operasi logis AND, yang menghasilkan benar jika kedua operan yang benar , dan false jika tidak. Panel berikut menunjukkan hasil operator && mengevaluasi ekspresi a && b :
(7)
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)
Operator Bitwise & (AND) digunakan untuk membandingkan bit dari dua operand. Akan bernilai benar (1) jika semua operand yang digabungkan bernilai benar (1).
(8)
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).
(9)
Contoh : 0001 0101
0001 0001 = XOR 00000100
(10)
Latihan 1 Pemrograman C++
Nama Program : Operator Aritmatika
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <conio.h> #include <iostream.h>
int main() {
float a, b, c=0, d=0, e=0, f=0; cout<<"Masukkan Nilai A:"; cin>>a;
cout<<"Masukkan Nilai B:"; cin>>b;
c=a*b; d=a/b; e=a+b; f=a-b;
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();
}
(11)
Flowchart :
Penjelasan Program :
Program tersebut menggunakan operator aritmatika (Menjelaskan hasil Perkalian, pembagian, penambahan pengurangan dari A dan B)
(12)
Latihan 2 Pemrograman C++
Nama Program : Operator Hierarki Aritmatika
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <conio.h> #include <iostream.h>
int main() {
float a, b, c, d, e, f; 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 :
(13)
Flowchart :
Penjelasan Program :
Program tersebut menggunakan Operator Hierarki Aritmatika (beberapa operator aritmatika yang berbeda secara bersamaan). Memasukkan nilai A, B, C, D untuk mengetahui hasil dari (E=A+B*C/D) dan (F=(A+B)*C/D)
(14)
Latihan 3 Pemrograman C++
Nama Program : Operator Increment & Decrement
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <stdio.h> #include <conio.h>
int main() {
int a=8, b=4, x=8, y=4; 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 :
(15)
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();
(16)
Output Program :
.
Flowchart :
Penjelasan Program :
Program ini menggunakan Operator Relasi (Perbandingan), untuk membandingkan dua buah nilai, Hasil dari perbandingan operator ini menghasilkan nilai numeric 1 (True) atau 0 (False).
(17)
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 :
.
(18)
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 :
(19)
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++
(20)
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 :
.
(21)
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 :
#include <stdio.h> #include <conio.h> #include <iostream.h> int main()
{
int a, b, c, x, y;
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();
(22)
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).
^ (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).
(23)
Tugas Rumah Pemrograman C++
Nama Program : Tugas Rumah (Operator)
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <stdio.h> #include <conio.h> #include <iostream.h> int main()
{
int a, b, c, d, e, j, k, l, m, n;
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();
(24)
Output Program :
.
Flowchart :
Penjelasan Program :
Pada tugas rumah ini pemograman menggunakan beberapa operator diantaranya adalah aritmatika, Relasi ,Perbandingan, Operator Bitwise (Shift Right), Operator Bitwise (Shift Left).
(25)
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).
3. Admin, 2014, Operators, (Online), (http://www.cplusplus.com), diakses 6 Okt. 15 4. id.wikipedia.org
(1)
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
:
.
(2)
Pemrograman C++
Nama Program
: Operator Bitwise
Bahasa Pemrogramam
: C++
Compiler
: MinGW Developer Studio
Script program
:
#include <stdio.h> #include <conio.h> #include <iostream.h> int main()
{
int a, b, c, x, y;
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();
(3)
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).
^ (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).
(4)
#include <conio.h> #include <iostream.h> int main()
{
int a, b, c, d, e, j, k, l, m, n;
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();
(5)
Output Program
:
.
Flowchart
:
Penjelasan Program
:
Pada tugas rumah ini pemograman menggunakan beberapa operator diantaranya
adalah aritmatika, Relasi ,Perbandingan,
Operator Bitwise (Shift Right), Operator Bitwise
(Shift Left).
(6)