Laporan DPK Modul 3

(1)

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)

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