Operator Bahasa C++, Manipulasi String PERTEMUAN 3 Operator Bahasa C++, Manipulasi String dan Konversi String
Operator [Kristanto:2009] Operator merupakan simbol atau kata yang dapat digunakan dalam program untuk melakukan suatu operasi atau manipulasi, seperti menjumlahkan dua buah nilai, memberikan nilai kesuatu variabel, membandingkan dua buah nilai dan lain sebagainya. Tanda operator dalam bahasa C++ dapat dikelompokan sebagai berikut: Operator pengerjaan (assignment operators) (=) ex: a=9 Operator aritmetika (arithmatic operators) Operator peningkatan dan penurunan (increament and decrement operators) Operator bitwise (bitwise operators) Operator hubungan (relational operators) Operator logika (logical operators) Operator alamat (address operators) Operator koma (comma operators) Operator gabungan
Operator Aritmatika Operator Keterangan Contoh + Tanda Plus −4 − Operator Unary, yaitu operator yang hanya melibatkan sebuah operand. Contoh: Operator Keterangan Contoh + Tanda Plus −4 − Tanda Minus +6 Operator Binary, yaitu operator yang meilbatkan dua buah operand. Contoh: Operator Keterangan Contoh * Perkalian 4 * 5 / Pembagian 8 / 2 % Sisa Pembagian (mod) 5 % 2 + Penjumlahan 7 + 2 − Pengurangan 6 − 2 Operator Ternary, yaitu operator yang melibatkan 3 buah operand. Contoh: 2*(4+5)
#include <stdio.h> #include <conio.h> Contoh Program: Bentuk penulisan ekspresi aritmatika dikaitkan dengan pernyataan pemberi nilai. Bentuk Umum : #include <stdio.h> #include <conio.h> #include <iostream.h> main( ) { int x,y, a=0, b=0, c = 0, d = 0; clrscr( ); cout<<"Masukan Nilai A : "; cin>>x; cout<<"Masukan Nilai B : "; cin>>y; a=x+y; c = x% y; b=x-y; d = x * y; printf(“Hasil Dari A= X + Y= %i \n” , a); printf(“Hasil Dari B=X - Y= %i \n”,b) cout<<" Hasil dari C = X % Y ="<<c<<endl; cout<<" Hasil dari D = X * Y ="<<d<<endl; getch( ); } Variabel, dikenal dengan sebutan LValue (Left Value) Ekspresi Aritmatika dikenal dengan sebutan RValue (Right Value) Tanda “ = “, dikenal dengan sebagai Operator Pemberi Nilai (Assignment Operator).
Operator Penambah & Pengurang Tabel Operator Penambah & Pengurang Operator Keterangan ++ Penambahan -- Pengurangan A = A + 1 atau A = A - 1 A ++ atau A-- Keterangan : 1. Penambahan: menambahkan 1 ke nilai variable, prefix (++A) atau postfix (A ++) Pengurangan: mengurangkan 1 ke nilai variabel, prefix (--A) atau postfix (A --)
Contoh Penggunaan Notasi Dibelakang Variabel: Contoh Penggunaan Notasi Didepan Variabel: /* Penggunaan Notasi Dibelakang Variabel*/ #include<stdio.h> #include<conio.h> #include<iostream.h> main( ) { int a = 10, b = 5; clrscr( ); 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--); getch( ); } /* Penggunaan Notasi Didepan Variabel*/ #include <stdio.h> #include <conio.h> main( ) { int a = 10, b = 5; clrscr( ); printf("Nilai A = %d", a); printf("\nNilai ++A = %d", ++a); printf("\nNilai B = %d", b); printf("\nNilai --B = %d", --b); getch( ); }
Operator Relasi Operator Relasi digunakan untuk membandingkan dua buah nilai. Hasil perbandingan operator ini menghasilkan nilai numerik 1 (True) atau 0 (False). Operator Keterangan == Sama Dengan ( bukan pemberi nilai ) != Tidak Sama dengan > Lebih Dari < Kurang Dari >= Lebih Dari sama dengan <= Kurang Dari sama dengan
#include <conio.h> #include <iostream.h> main( ) { float a, b, c, d, e, f, x, y; clrscr( ); cout<<"Masukan Nilai X = "; cin>>x; cout<<"Masukan Nilai Y = "; cin>>y; a = x = = y; b = x != y; c = x > y; d = x < y; e = x >= y; f = x <= y; cout<<endl; cout<<"Hasil dari "<<x<<" == <<y<<" = "<<a<<endl; cout<<"Hasil dari "<<x<<" != <<y<<" = "<<b<<endl; cout<<"Hasil dari "<<x<<" > "<<y<<" = "<<c<<endl; cout<<"Hasil dari "<<x<<" < "<<y<<" = "<<d<<endl; cout<<"Hasil dari "<<x<<" >= "<<y<<" = "<<e<<endl; cout<<"Hasil dari "<<x<<" <= "<<y<<" = "<<f<<endl; getch( ); }
Operator Logika Digunakan untuk mengekspresikan satu atau lebih data atau ekspresi logika (boolean), menghasilkan data logika (boolean) baru. Operator Keterangan && Operator Logika AND || Operator Logika OR ! Operator Logika NOT
a. Operator Logaika And (&&) Operator logika AND digunakan untuk menghubungkan dua atau lebih ekspresi relasi, akan dianggap BENAR, bila semua ekspresi relasi yang dihubungkan bernilai BENAR.
b. Operator Logika Or (||) Operator logika OR digunakan untuk menghubungkan dua atau lebih ekspresi relasi, akan dianggap BENAR, bila salah satu ekspresi relasi yang dihubungkan bernilai BENAR dan bila semua ekspresi relasi yang dihubungkan bernilai SALAH, maka akan bernilai SALAH.
c. Operator Logika Not Operator logika NOT akan memberikan nilai kebalikkan dari ekspresi yang disebutkan. Jika nilai yang disebutkan bernilai BENAR maka akan menghasilkan nilai SALAH, begitu pula sebaliknya. A B Not A Not B T F
d. Operator Logika Xor Operator logika Xor akan menghasilkan nilai True jika ekspresi di sebelah kiri Xor berbeda dengan ekspresi di sebelah kanannya. Jadi, operator logika Xor dapat diartikan "jika beda" akan bernilai True A B A Xor B T F
Definisi String #include <stdio.h> main() { char nama[20]; String merupakan bentuk data yang biasa dipakai dalam pemrograman guna menampung dan memanipulasi data teks [Kristanto:2009]. Contoh program string: #include <stdio.h> main() { char nama[20]; printf(“Masukan Nama Anda:”);gets(nama); printf(“Nama Anda Adalah: %s \n”,nama); }
Fungsi Manipulasi String #include <stdio.h> #include <conio.h> #include <string.h> #include <iostream.h> main( ) { char huruf[20]; char pindah[20]; clrscr( ); cout<<"Masukkan Sembarang Kata = "; gets(huruf); /* Proses */ strcpy(pindah, huruf); cout<<"Pemindahannya = "<<pindah; getch( ); } Fungsi Strcpy() [Kristanto:2009] fungsi ini dipakai untuk menyalin string asal ke variabel string tujuan, variabel tujuan harus memiliki ukuran yang dapat menampung seluruh karakter string asal. Bentuk Umum: strcpy(tujuan,asal);
Fungsi Strlen() [Kristanto:2009] fungsi ini dipakai untuk menghitung jumlah karakter argumennya. Bentuk Umum: strlen(str); Contoh: #include <conio.h> #include <string.h> #include <iostream.h> main( ) { char huruf[20]; char pindah[20]; clrscr( ); cout<<"Masukkan Sembarang Kata = "; gets(huruf); cout<<"Panjang Kata Yang Diinputkan = "; cout<<strlen(huruf); getch( ); }
Fungsi Strcmp() var_int = strcmp(str1, str2); #include <string.h> #include <iostream.h> #include <conio.h> main( ) { char a1[ ] = "BSI"; char a2[ ] = "Bsi"; char b1[ ] = "BSI"; clrscr( ); cout<<"Hasil Perbandingan "<<a1<<" dan "<<a2<<"->"; cout<<strcmp(a1,a2)<<endl; cout<<"Hasil Perbandingan "<<a2<<" dan "<<a2<<"->"; cout<<strcmp(a2,a1) <<endl; cout<<"Hasil Perbandingan "<<a1<<" dan "<<b1<<"->"; cout<<strcmp(a1,b1) <<endl; getch( ); } [Kristanto:2009] fungsi ini dipakai untuk membandingkan string str1 dengan string str2. Hasil dari fungsi ini bertipe int berupa nilai negatif (str1 kurang dari str2), nol(str1=str2), positif(str1 lebih dari str2). Bentuk Umum: var_int = strcmp(str1, str2); Contoh: