LAPORAN PRAKTIKUM III
OPERATOR
Disusun untuk Memenuhi Matakuliah Praktikum Dasar Pemrograman C++
Dibimbing oleh Bapak Wahyu Sakti Gunawan Irianto
Oleh:
Wenda Aditama
150533604429
S1 PTI’15 OFF D
UNIVERSITAS NEGERI MALANG
FAKULTAS TEKNIK
JURUSAN TEKNIK ELEKTRO
PRODI S1 PENDIDIKAN TEKNIK INFORMATIKA
Oktober 2015
OPERATOR
Tujuan
Setelah mempelajari bab ini diharapkan mahasiswa akan mampu :
1. Menjelaskan tentang fungsi operator
DASAR TEORI
DEFINISI OPERATOR
Operasi adalah suatu proses yang dikerjakan oleh program untuk melakukan
tindakan tertentu pada suatu nilai. Operasi selalu melibatkan operand dan
operator. Operand adalah suatu nilai yang dioperasikan sedangkan operator
sebagai pelaku operasi tersebut.
JENIS-JENIS OPERATOR
Operator digunakan untuk menyatakan suatu perhitungan/operasi. Operator dapat
terbagi atas:
1. Operator penugasan
2. Operator aritmatika
3. Operator relational
4. Operator unary
5. Operator logika
6. Operator Bitwise
Operator penugasan (=)
Operator penugasan memberikan nilai ke variabel.
x = 5;
Pernyataan ini memberikan nilai integer 5 pada variabel x Tugas operasi selalu
berlangsung dari kanan ke kiri, dan tidak pernah sebaliknya:
x = y;
Pernyataan ini memberikan ke variabel x nilai yang terkandung dalam
variabel y Nilai x pada saat pernyataan ini dieksekusi hilang dan diganti dengan
nilai y
Pertimbangkan juga bahwa kita hanya menetapkan nilai y untuk x pada saat
penugasan operasi. Oleh karena itu, jika yperubahan pada saat nanti, tidak akan
mempengaruhi nilai baru yang diambil oleh x
Sebagai contoh, mari kita lihat kode berikut - saya telah menyertakan evolusi
konten yang disimpan dalam variabel sebagai komentar:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// assignment operator
#include <iostream>
using namespace std;
int main ()
{
int a, b; // a:?, b:?
a = 10; // a:10, b:?
b = 4; // a:10, b:4
a = b; // a:4, b:4
b = 7; // a:4, b:7
cout << "a:" ;
cout << a;
cout << " b:" ;
cout << b;
}
a: 4
b: 7
Edit & Run
Program ini sidik jari di layar nilai akhir dari a dan b (4 dan 7, masing-
masing). Perhatikan bagaimana a tidak terpengaruh oleh modifikasi
akhir b meskipun kami menyatakan a = b sebelumnya.
Operasi penugasan adalah ekspresi yang dapat dievaluasi. Itu berarti bahwa tugas
itu sendiri memiliki nilai, dan -untuk mendasar jenis- nilai ini adalah salah satu
yang ditugaskan dalam operasi. Sebagai contoh:
y = 2 + (x = 5);
Dalam ungkapan ini, y ditugaskan hasil penambahan 2 dan nilai ekspresi tugas
lain (yang memiliki sendiri nilai 5). Hal ini kira-kira setara dengan:
1
2
x = 5; y = 2 + x;
Dengan hasil akhir dari menugaskan 7 untuk y
Ekspresi berikut ini juga berlaku di C ++:
x = y = z = 5;
Ini memberikan 5 ke tiga variabel: x y dan z selalu dari kanan-ke-kiri.
Operator aritmatika (+, -, *, /,%)
Lima operasi aritmatika didukung oleh C ++ adalah:
operator deskripsi
+ tambahan
- pengurangan
* perkalian
/ divisi
% modulo
Operasi penambahan, pengurangan, perkalian dan pembagian sesuai harfiah ke
operator matematika masing-masing.Yang terakhir, operator Modulo, diwakili
dengan tanda persen % memberikan sisa pembagian dari dua nilai. Sebagai
contoh:
x = 11 % 3;
Hasil dalam variabel x yang mengandung nilai 2, karena membagi 11 dengan 3
hasil di 3, dengan sisa 2.
Senyawa tugas (+ =, - =, * =, / =,% =, >> =, << =, & =, ^ =, | =)
Operator penugasan senyawa memodifikasi nilai sekarang dari variabel dengan
melakukan operasi di atasnya. Mereka setara dengan menugaskan hasil operasi
untuk operan pertama:
ekspresi setara dengan...
y += x; y = y + x;
x -= 5; x = x - 5;
x /= y; x = x / y;
price *= units + 1; price = price * (units+1);
dan sama untuk semua operator penugasan senyawa lainnya. Sebagai contoh:
1
2
3
4
5
6
7
8
9
10
11
// compound assignment operators
#include <iostream>
using namespace std;
int main ()
{
int a, b=3; a = b; a+=2; // equivalent to a=a+2
cout << a;
}
5
Edit
& Run
Kenaikan dan pengurangan (++, -)
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;
semua sama dalam fungsi; mereka bertiga naik satu nilai x
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
sepertix++ 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:
Contoh 1 Contoh 2
x = 3;
y = ++x;
// x contains 4, y contains 4
x = 3;
y = x++;
// x contains 4, y contains 3
Dalam Contoh 1, nilai yang diberikan untuk y adalah nilai x setelah
meningkat. Sementara dalam Contoh 2, itu adalah nilai x sebelumnya yang
meningkat.
Relasional dan perbandingan operator (==,! =,>, <,> =, <=)
Dua ekspresi dapat dibandingkan dengan menggunakan operator relasional dan
kesetaraan. Misalnya, untuk mengetahui apakah dua nilai yang sama atau jika
salah satu lebih besar dari yang lain.
Hasil operasi tersebut benar atau (yaitu, nilai Boolean) palsu.
Operator relasional dalam C ++ adalah:
operator deskripsi
== Sama dengan
!= Tidak sama dengan
< Kurang dari
> Lebih besar dari
<= Kurang dari atau sama dengan
>= Lebih besar dari atau sama dengan
Berikut ada beberapa contoh:
1
2
3
4
5
(7 == 5) // evaluates to false
(5 > 4) // evaluates to true
(3 != 2) // evaluates to true
(6 >= 6) // evaluates to true
(5 < 5) // evaluates to false
Tentu saja, itu bukan konstanta hanya numerik yang dapat dibandingkan, tetapi
hanya nilai apapun, termasuk, tentu saja,
variabel. Misalkan a=2 b=3 dan c=6 maka:
1
2
3
4
(a == 5) // evaluates to false, since a is not
equal to 5
(a*b >= c) // evaluates to true, since (2*3 >= 6) is
true
(b+4 > a*c) // evaluates to false, since (3+4 > 2*6)
is false ((b=2) == a) // evaluates to true
Hati-hati! Operator penugasan (operator = dengan satu tanda sama) tidak sama
dengan operator kesetaraan perbandingan (operator == dengan dua tanda
sama); yang pertama = memberikan nilai pada kanan ke variabel di sebelah kiri,
sementara yang lain == membandingkan apakah nilai-nilai di kedua sisi operator
yang sama. Oleh karena itu, dalam ekspresi terakhir (b=2) == a pertama kita
ditugaskan nilai 2 untuk b dan kemudian kita membandingkannya dengan a(yang
juga menyimpan nilai 2), menghasilkan true
Operator logika (!, &&, ||)
! Adalah C ++ Operator untuk operasi Boolean TIDAK. Hanya memiliki satu
operan, ke kanan, dan membalikkan itu, memproduksi false jika operan
adalah true dan true jika operan adalah false Pada dasarnya, ia mengembalikan
nilai Boolean berlawanan mengevaluasi operan nya. Sebagai contoh:
1
2
3
4
!(5 == 5) // evaluates to false because the
expression at its right (5 == 5) is true
!(6 <= 4) // evaluates to true because (6 <= 4)
would be false ! true // evaluates to false ! false
// evaluates to true
Operator logis && dan || digunakan ketika mengevaluasi dua ekspresi untuk
mendapatkan hasil relasional tunggal.Operator && sesuai dengan operasi logis
Boolean AND, yang menghasilkan true jika kedua Operand
adalah true dan fase sebaliknya. Panel berikut menunjukkan hasil
operator && mengevaluasi ekspresi a&&b
&& OPERATOR (dan)
a b a && b
true true true
true false false
false true false
false false false
Operator || sesuai dengan operasi logis Boolean OR, yang
menghasilkan true jika salah satu dari operan adalah truesehingga menjadi
salah hanya jika kedua operan adalah palsu. Berikut adalah hasil yang mungkin
dari a||b
|| OPERATOR (atau)
a b a || b
true true true
true false true
false true true
false false false
Sebagai contoh:
1
2
( (5 == 5) && (3 > 6) ) // evaluates to false (
true && false ) ( (5 == 5) || (3 > 6) ) // evaluates
to true ( true || false )
Bila menggunakan operator logika, C ++ hanya mengevaluasi apa yang
diperlukan dari kiri ke kanan untuk datang dengan hasil relasional gabungan,
mengabaikan sisanya. Oleh karena itu, dalam contoh
terakhir (5==5)||(3>6) C ++ mengevaluasi dulu
apakah 5==5 adalah true dan jika demikian, itu tidak pernah memeriksa
apakah 3>6 adalah true atau tidak. Hal ini dikenal sebagai arus pendek
evaluasi, dan bekerja seperti ini untuk operator tersebut:
operator arus pendek
&& jika ekspresi sisi kiri adalah false hasil gabungan false (ekspresi
sisi kanan tidak pernah dievaluasi).
|| jika ekspresi sisi kiri adalah true hasil gabungan true (ekspresi sisi
kanan tidak pernah dievaluasi).
Hal ini sebagian besar penting ketika ekspresi kanan memiliki efek samping,
seperti mengubah nilai-nilai:
if ( (i<10) && (++i<n) ) { /*...*/ } // note that
the condition increments i
Di sini, ekspresi kondisional gabungan akan meningkatkan i per satu, tetapi
hanya jika kondisi di sebelah kiri && adalahtrue karena jika tidak, kondisi di sisi
kanan ++i<n tidak pernah dievaluasi.
Operator ternary kondisional (?)
Operator kondisional mengevaluasi ekspresi, kembali satu nilai jika ekspresi yang
mengevaluasi untuk true dan yang berbeda jika ekspresi bernilai
sebagai false Sintaks-nya adalah:
condition ? result1 : result2
Jika condition ini true seluruh ekspresi mengevaluasi ke result1 dan
sebaliknya untuk result2
1
2
3
4
7==5 ? 4 : 3 // evaluates to 3, since 7 is not
equal to 5. 7==5+2 ? 4 : 3 // evaluates to 4, since
7 is equal to 5+2. 5>3 ? a : b // evaluates to the
value of a, since 5 is greater than 3. a>b ? a : b
// evaluates to whichever is greater, a or b.
Sebagai contoh:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// conditional operator #include <iostream> using namespace std; int main () { int a,b,c; a=2;
b=7; c = (a>b) ? a : b; cout << c << '\n' ; }
7 Edit &
Run
Dalam contoh ini, a adalah 2, dan b adalah 7, sehingga ekspresi yang
dievaluasi a>b tidak true sehingga nilai pertama yang ditentukan setelah tanda
tanya dibuang mendukung nilai kedua (yang setelah usus besar ) yang b (dengan
nilai 7).
Operator koma (,)
Operator koma , digunakan untuk memisahkan dua atau lebih ekspresi yang
disertakan di mana hanya satu ekspresi diharapkan. Ketika set ekspresi harus
dievaluasi untuk nilai, hanya ekspresi paling kanan dianggap.
Sebagai contoh, kode berikut:
a = (b=3, b+2);
pertama akan menetapkan nilai 3 untuk b dan kemudian menetapkan b+2 untuk
variabel a Jadi, pada akhirnya, variabel aakan berisi nilai 5 sedangkan
variabel b akan berisi nilai 3.
Operator bitwise (&, |, ^, ~, <<, >>)
Operator bitwise memodifikasi variabel mengingat pola bit yang mewakili nilai-
nilai yang mereka simpan.
operator asm setara deskripsi
& AND Bitwise DAN
| OR Bitwise OR inklusif
^ XOR Bitwise eksklusif OR
~ NOT Komplemen unary (bit inversi)
<< SHL Pergeseran bit kiri
>> SHR Pergeseran bit yang tepat
Operator pengecoran jenis eksplisit
Operator pengecoran tipe memungkinkan untuk mengkonversi nilai dari jenis
tertentu untuk jenis lain. Ada beberapa cara untuk melakukan ini di C ++. Yang
paling sederhana, yang telah diwarisi dari bahasa C, adalah untuk mendahului
ekspresi yang akan dikonversi oleh tipe baru tertutup antara tanda kurung (()):
1
2
3
int i; float f = 3.14; i = ( int ) f;
Kode sebelumnya mengubah floating-point nomor 3.14 untuk nilai
integer 3 sisanya hilang. Di sini, operator typecasting adalah (int) Cara lain
untuk melakukan hal yang sama di C ++ adalah dengan menggunakan notasi
fungsional sebelumnya ekspresi yang akan dikonversi oleh jenis dan melampirkan
ekspresi antara kurung:
i = int (f);
Kedua cara jenis pengecoran yang berlaku di C ++.
sizeof
Operator ini menerima satu parameter, yang dapat berupa jenis atau variabel, dan
mengembalikan ukuran dalam byte dari jenis atau objek:
x = sizeof ( char );
Di sini, x ditugaskan nilai 1 karena char adalah jenis dengan ukuran satu byte.
Nilai yang dikembalikan oleh sizeof adalah waktu kompilasi konstan, sehingga
selalu ditentukan sebelum eksekusi program.
Operator lain
Kemudian pada tutorial ini, kita akan melihat beberapa operator, seperti yang
mengacu pointer atau spesifik untuk pemrograman berorientasi objek.
Didahulukan dari operator
Sebuah ekspresi tunggal mungkin memiliki beberapa operator. Sebagai contoh:
x = 5 + 7 % 2;
Dalam C ++, ekspresi di atas selalu memberikan 6 untuk variabel x % operator
memiliki prioritas lebih tinggi daripada +operator, dan selalu dievaluasi
sebelumnya. Bagian dari ekspresi dapat tertutup dalam kurung untuk menimpa
urutan prioritas ini, atau untuk membuat eksplisit jelas efek yang
diinginkan. Melihat perbedaan:
1
2
x = 5 + (7 % 2); // x = 6 (same as without
parenthesis) x = (5 + 7) % 2; // x = 0
Dari terbesar untuk prioritas terkecil, operator C ++ dievaluasi dalam urutan
sebagai berikut:
Tingkat Kelompok
Precedence Operator Deskripsi Pengelompokan
1 Cakupan :: kualifikasi lingkup Kiri ke kanan
2 Postfix (unary)
++ -- increment postfix /
pengurangan
Kiri ke kanan () bentuk fungsional
[] tanda tangan
. -> Akses anggota
3 Prefix (unary)
++ -- kenaikan prefix /
pengurangan
Kanan-ke-kiri
~ ! bitwise NOT / logis
TIDAK
+ - awalan unary
& * referensi /
dereference
new delete alokasi / dealokasi
sizeof parameter pack
( type ) C-gaya jenis-casting
4 Pointer-ke-
anggota .* ->* Akses pointer Kiri ke kanan
5 Aritmatika:
skala * / %
multiply, membagi,
modulo Kiri ke kanan
6 Aritmatika:
Selain + -
Selain itu,
pengurangan Kiri ke kanan
7 Bitwise
pergeseran << >>
bergeser ke kiri,
bergeser ke kanan Kiri ke kanan
8 Penghubung < > <= >= operator
perbandingan Kiri ke kanan
9 Persamaan == != kesetaraan /
ketimpangan Kiri ke kanan
10 Dan & bitwise DAN Kiri ke kanan
11 Eksklusif atau ^ bitwise XOR Kiri ke kanan
12 Inklusif atau | bitwise OR Kiri ke kanan
13 Konjungsi && logis DAN Kiri ke kanan
14 Pemisahan || logis OR Kiri ke kanan
15 Ekspresi tugas-
tingkat
= *= /= %=
+= -=
>>= <<= &=
^= |=
tugas / penugasan
senyawa Kanan-ke-kiri
?: operator kondisional
16 Pengurutan , koma pemisah Kiri ke kanan
Ketika sebuah ekspresi memiliki dua operator dengan tingkat didahulukan
sama, pengelompokan menentukan mana yang dievaluasi pertama: baik kiri ke
kanan atau kanan-ke-kiri.
Latihan Praktikum I
Pemrograman C++
Nama Program : Operator Aritmatika
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
1. Script Program Pertama yang salah
#include <stdio.h>
#include <iostream.h>
void main() {
float a, b, c=0, d=0, e=0, f=0;
cout<<"masukan Nilai A : ";
cin>>a;
cout<<"masukan 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();
}
2. Script Program yang benar
#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 D=A/B= "<<d<<endl;
cout<<"Hasil dari E=A+B= "<<e<<endl;
cout<<"Hasil dari F=A-B= "<<f<<endl;
getch();
}
Output Program :
Flowchart :
Penjelasan Program :
Pada latihan 1 diatas menjalankan operator aritmetika sesuai dengan input yang
dimasukkan dan diproses dengan rumus dari operator aritmetika tersebut.
Identifikasi kesalahan
1. Menggunakan tipe data int bukan void.
2. Tanda kurung kurawal ( { ) sebaiknya berada di bawah fungsi int main.
3. Menggunakan tanda “ / ” bukan “ \ ” untuk operasi aritmetika pembagian.
4. Rumus menggunakan variabel yang berbeda seperti a, b, c, d, e dan f ,
bukan variabel C semua
5. Operator bitwise terbalik, seharusnya menggunakan “<<” bukan “>>”
START
Masukan Nilai a
dan b
Hitung dengan Operator
Aritmatika
Tampilan Hasil
nilai a dan b
END
Latihan Praktikum II
Pemrograman C++
Nama Program : Operator Hierarki Aritmatika
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
1. Script Pertama yang salah
#include <studio.h>
#include <iostream.h>
int main () {
float a, b, c, d, e, f;
cout<<”Masukan Nilai A : ”;
cin>>a;
cout<<”Masukan Nilai B : ”;
cin>>b;
cout<<”Masukan Nilai C : ”;
cin>>c;
cout<<”Masukan Nilai D : ”;
cin>>d;
e=a+b*c/d
f=(a+b)*c/d
cout<<”Nilai dari e=a+b*c/d : ”;
cout<<”Nilai dari f=(a+b)*c/d : ”;
}
2. Script Program yang benar
#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 :
Flowchart :
Penjelasan Program :
Pada latihan 2 diatas menjalankan hierarki operator aritmetika sesuai dengan input
yang dimasukkan dan diproses dengan rumus dari operator aritmetika tersebut.
Identifikasi kesalahan
1. Menggunakan variabel yang huruf kecil bukan huruf kapital misalnya e
bukan E .
START
Masukan Nilai a,
b, c, d
Hitung Hierarki Operator
Aritmatika
Tampilan Nilai e, f
END
Latihan Praktikum III
Pemrograman C++
Nama Program : Operator Increment & Decrement
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
1. Script pertama yang salah
#include <studio.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 X = %d”,y) ;
getch ()
}
2. Script program yang benar
#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 :
Flowchart :
Penjelasan Program :
Pada latihan 3 diatas menjalankan operator increment & decrement sesuai dengan
input yang dimasukkan dan diproses dengan rumus dari operator aritmetika
tersebut.
Identifikasi kesalahan
1. Tanda kutip seharusnya berada setelah kalimat yang dicetak, bukan setelah
masukan variabel .
START
Membaca Nilai a,
b, x, y
Hitung dengan Operator
Increment & Decrement
Tampilan Nilai a,
b, x ,y
END
Latihan Praktikum IV
Pemrograman C++
Nama Program : Operator Relasi
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
1. Script pertama yang salah
#include <studio.h>
#include <conio.h>
void 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;
else if(m>n)cout<<m<<” Lebih besar dari ”<<n<<endl;
else if(m<n)cout<<m<<” Lebih kecil dari ”<<n<<endl;
getch ();
}
2. Script Segitiga Kedua
#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 :
START
Nilai m dan n
dihubungkan dengan
operator relasi
m dan n
END
Nilai m dan n
Sama Dengan
Lebih besar dari
Lebih kecil dari
Penjelasan Program :
Pada latihan 4 diatas menjalankan operator relasi (perbandingan.
Identifikasi kesalahan
1. Variabel M seharusnya di tulis dengan huruf kecil.
Latihan Praktikum V
Pemrograman C++
Nama Program : Operator Logika
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
a) Latihan Va
1. Script pertama yang salah
//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 ()
}
2. Script program yang benar
//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 :
Flowchart :
Penjelasan Program :
Pada latihan 5a diatas menjalankan operasi logika OR atau AND
Identifikasi kesalahan
1. Kesalahan berada dalam tata letak syntax saja.
START
Membaca nilai m
Hitung Nilai m dengan
operator logika
Tampilan output
nilai m
END
b) Latihan Vb (Operasi Logika NOT)
1. Script pertama yang salah
#include <studio.h>
#include <iostream.h>
void main ()
{
int a, b, c; //deklarasi variabel
cout<<”Masukan Nilai A = ”; //Keluarkan String Masukan
Nilai
/* Proses */
b = (a +4 < 10);
c = !(b);
cout<<endl<<”Program Ekspresi NOT”<<endl;
cout>>”Masukan Nilai = ”<<a<<endl;
cout<<”Nilai b = (a + 4 < 10) = ”<<b<<Lendl;
cout<<”Nilai c = !(b) = “<<c;
getch ()
}
2. Script program yang benar
#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 :
START
Masukan nilai A
Hitung Nilai A dengan
operator logika
Benar atau
Salah
Salah = 0 Benar = 1
END
Penjelasan Program :
Pada latihan 5b diatas menjalankan operasi logika NOT
Identifikasi kesalahan
1. Menggunakan header #include <conio.h> apabila ada getch ();
Latihan Praktikum VI
Pemrograman C++
Nama Program : Operator Bitwise
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
1. Script pertama yang salah
#include <iostream.h>
void main ()
{
int x, y;
cout<<”Masukan Nilai X = ”;
cin>>x;
cout<<”Masukan 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 = ”<<Y<<endl;
cout<<”Hasil dari Geser 2 Bit Kekanan = ”<<X<<endl;
getch ();
}
2. Script program yang benar
#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 :
Flowchart :
Penjelasan Program :
Pada latihan 6 diatas menjalankan operator Bitwise.
Identifikasi kesalahan
1. Menghilangkan header #include <conio.h>
2. Variabel X dan Y menjadi x dan y
START
Masukan Nilai x
dan y
Hitung dengan Operator
Bitwise
Tampilan Nilai x
dan y
END
Latihan Praktikum VII
Pemrograman C++
Nama Program : Operatot Bitwise
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
1. Script pertama yang salah
#include <studio.h>
#include <conio.h>
#include <iostream.h>
void main ()
{
int a, b, c, d, x, y;
cout<<”Masukan Nilai X = ”; cin>>x;
cout<<”Masukan 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 ();
}
2. Script program yang benar
#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();
}
Output Program :
Flowchart :
Penjelasan Program :
Pada latihan 7 diatas menjalankan operator AND.
Identifikasi kesalahan
1. Menggunakan fungsi int ,bukan void
2. Menggunakan tanda “\n”; bukan ‘\n’;
START
Masukan Nilai x
dan y
Hitung dengan Operator
Bitwise
Tampilan nilai x
dan y
END
Tugas Rumah
Pemrograman C++
Nama Program : Programdari semua fungsi 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();
}
Output Program :
Flowchart :
START
Masukan Nilai a, b, c dan j, k, l
Tampilan Hasil Nilai a, b, c
dan j, k, l
END
Hitung dengan fungsi Operator
Penjelasan Program :
Program diatas menggunakan semua fungsi dari operator, seperti operator
aritmetika,bitwise, relasi, dll.Masukan dari input nilai tersebut akan diproses
dengan fungsi operator yang sesuai.Setelah akan muncul output yaitu hasil dari
nilai input itu.
KESIMPULAN
1. Dalam belajar pemrograman terlebih dahulu harus mengerti tentang macam-
macam operator dan fungsinya.
2. Kita harus mengerti operator yang tepat dengan program yang akan dibuat.
3. Kita dapat mengatasi kesalahan atau error pada tipe data atau deklarasi variabel
yang ada pada script program.
DAFTAR RUJUKAN
1. Tim Asisten Dosen. 2015. Modul 3 Operator. Malang : Universitas Negeri
Malang.
2. Admin, 2014, Operator, (Online),
(http://www.cplusplus.com/doc/tutorial/operators/). diakses 5 Oktober 2015