Wednesday, 16 November 2016

OPERATORS, OPERASI STRING, PERULANGAN DAN PERCABANGAN


Akademi Komunitas Negeri Kajen

A. Operator Pada C++

Sebuah program membutuhkan perintah-perintah yang digunakan untuk memanipulasi data yang ada didalamnya, yang dalam bahasa C++ dikenal dengan Operator. Operator adalah sebuah simbol/syntax yang digunakan oleh program untuk mengolah dan mamanipulasi data menjadi data yang baru.

Operator dalam C++ terbagi menjadi beberapa kategori sebagai berikut

Operator Aritmatika
Operator Aritmatika merupakan operator yang digunakan untuk melakukan perhitungan aritmatika. Operator Aritmatika dibagi menjadi 2 macam yaitu Operator Binary dan Operator Unary.
Operator Binary
+ Operator Penjumlahan
- Operator Pengurangan
* Operator Perkalian
% Operator Modulus
= Operator Sama Dengan
Operator Unari
+ Operator Nilai Plus
- Operator Nilai Minus
++ Operator Nilai Menaik (Increment)
-- Operator Nilai Menurun (Decrement) 
Operator Relasi
Operator Relasi merupakan operator yang digunakan untuk melakukan perbandingan. Operator Relasi terdiri dari
Operator Relasi
< Operator Lebih Kecil Dari
> Operator Lebih Besar Dari
<= Operator Lebih Kecil Sama Dengan
>= Operator Lebih Besar Sama Dengan
== Operator Sama Dengan
!= Operator Tidak Sama Dengan 
Operator Logika
Operator Logika merupakan operator yang digunakan untuk melakukan fungsi logika. Operator Logika terdiri dari
Operator Logika
&& Operator And
|| Operator Or
! Operator Not
Berikut adalah contoh program c++ yang menggunakan operator
#include <iostream.h>
#include <conio.h>
main(){
 int a = 4;
 int b = 2;
 cout<<a<<" +  "<<b<<" = "<<(a+b)<<endl;
 cout<<a<<" -  "<<b<<" = "<<(a-b)<<endl;
 cout<<a<<" *  "<<b<<" = "<<(a*b)<<endl;
 cout<<a<<" /  "<<b<<" = "<<(a/b)<<endl;
 cout<<a<<" %  "<<b<<" = "<<(a%b)<<endl;
 cout<<a<<" <  "<<b<<" = "<<(a<b)<<endl;
 cout<<a<<" <= "<<b<<" = "<<(a<=b)<<endl;
 cout<<a<<" >  "<<b<<" = "<<(a>b)<<endl;
 cout<<a<<" >= "<<b<<" = "<<(a>=b)<<endl;
 cout<<a<<" != "<<b<<" = "<<(a!=b)<<endl;
 getch();
}
#include <iostream.h>
#include <conio.h>
main(){
 cout<<"1 && 1 = "<<(1 && 1)<<endl;
 cout<<"1 && 0 = "<<(1 && 0)<<endl;
 cout<<"0 && 1 = "<<(0 && 1)<<endl;
 cout<<"0 && 0 = "<<(0 && 0)<<endl;
 cout<<"1 || 1 = "<<(1 || 1)<<endl;
 cout<<"1 || 0 = "<<(1 || 0)<<endl;
 cout<<"0 || 1 = "<<(0 || 1)<<endl;
 cout<<"0 || 0 = "<<(0 || 0)<<endl;
 cout<<"!1     = "<<(!1)<<endl;
 cout<<"!0     = "<<(!0)<<endl;
 getch();
}

B. OPERASI STRING

“String adalah sederetan simbol yang tidak tertentu panjangnya, yang dianggap sebagai panjang satu unit” (World Agreement Agenda O812). String dapat berupa huruf, angka, karakter khusus, maupun karakter Unicode. Dalam bahasa C/C++ terdapat beberapa fungsi yang digunakan untuk operasi pengolahan string.
1. Fungsi Manipulasi String
String dapat dimanipulasi dengan aturan tertentu. Di mana bahasa C/C++ telah menyediakan semua ini ke dalam pustakanya. Berikut adalah fungsi-fungsi yang digunakan untuk melakukan manipulasi string.
o Fungsi strcat
Fungsi strcat digunakan untuk menggabungkan dua string menjadi satu.
Contoh penggunaaan :
char *str1 = “Hello “;
char *str2 = “World”;
char *str3 = strcat(str1, str2);
Maka nilai dari str3 adalah : Hello World
o Fungsi strlen
Fungsi strlen digunakan untuk menghitung panjang karakter pada suatu string. strlen adalah fungsi yang bertipe data integer.
Contoh penggunaan :
char *str = “Hello”;
int jum = strlen(str);
Maka nilai dari jum adalah : 5
o Fungsi strcpy
Fungsi strcpy digunakan untuk menyalin isi string ke suatu variabel.
Contoh penggunaan :
char *str1 = “Hello”;
char *str2;
strcpy(str1, str2);
Maka nilai dari str2 adalah sama dengan nilai str1 yaitu Hello
o Fungsi strupr
Fungsi strupr digunakan untuk mengubah semua karakter huruf yang terdapat pada suatu variabel menjadi huruf besar semua (Uppercase).
Contoh penggunaan :
char *str = “Hello”;
strupr(str);
Maka nilai str sekarang adalah : HELLO
o Fungsi strlwr
Fungsi strlwr digunakan untuk mengubah semua karakter huruf yang terdapat pada suatu variable menjadi huruf kecil semua (Lowercase).
Contoh penggunaan :
char *str = “Hello”;
strlwr(str);
Maka nilai str sekarang adalah : hello
Contoh program menggunakan strcat(penggabungan nilai string) 

#include <iostream.h>
#include <conio.h>
#include <string.h>

void main()

{
                char tanya[50] = " what is your name ?";
   clrscr();
   cout << "kalimat tanya : " << tanya << endl;
   strcat(tanya,"  my name is eko waluyo");
   cout << "kalimat tanya dengan jawaban: " << tanya << endl;
   getch();
}




 2. Contoh program strchr(mencari nilai karakter dalam string)

#include <conio.h>
#include <iostream.h>
#include <string.h>
#include <ctype.h>
#include <stdio.h>

void main()
{
                char nama[50]="eko waluyo";
   char dicari= 'o';
   char * hasil; //
   hasil=strchr(nama,dicari);
    /*
                pada printf menggunakan tanda ()
      sedangkan pada cout harus dipisahkan dengan tanda <<

      %c digunakan untuk menggantikan tipe data char yang disimpan di variabel
      %d atau #i -> untuk menggantikan nilai int

    */
                printf("karakter %c ditemukan pada indeks ke-%i",dicari,hasil-nama);
   getch();
}


3. Contoh penggunaan strcmp(membandingkan 2 nilai string)

#include <conio.h>
#include <iostream.h>
#include <stdio.h>



void main()
{
                char angka1[10];
   char angka2[10];

   cout << "angka pertama: "; cin >> angka1;
   cout << "angka kedua: "; cin >> angka2;

   int hasil = strcmp(angka1, angka2);

   if (hasil == 0)
                cout << "angka " << angka1 << "sama dengan " << angka2;
   else if (hasil < 0)
                cout << "angka " << angka1 << "lebih kecil " << angka2;
   else
                cout << "angka " << angka1 << "lebih besar " << angka2;
      getch();
}



4. Contoh program menggunakan strlen(mengetahui panjang nilai string)

#include <iostream.h>
#include <conio.h>
#include <string.h>

void main()

{
                char nama[50] = "eko waluyo";
   char kosong[50] = "";

   clrscr();
   cout << "jumlah karakter dari nama (eko waluyo)adalah " << strlen(nama) << endl;
   cout << "jumlah karakter dari kosong adalah " << strlen(kosong) << endl;
   getch();
}




5. Contoh Program Menggunakan strcpy(menyalin/mengcopy nilai string)

#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <iostream.h>
main( )
{
char kata[20];
char pindah[20];
clrscr( );
cout<<"input kata yang akan di pindah/copy:",
gets(kata);
/* Proses */
strcpy(pindah, kata);
cout<<"Pemindahannya = "<<pindah;
getch( );
}


C. PERULANGAN
Dalam C++ perulangan digunakan untuk menjalankan satu perintah atau lebih, dan dilakukan secara berulang selama kondisi tertentu.

Secara umum perulangan terdiri dari 3 komponen, dengan kata lain memiliki 3 ciri khas :
  1. Nilai Awalyang berfungsi sebagai inisialisasi.
  2. Perubah Nilai, untuk menentukan berapa kali jumlah perulangan akan dikerjakan.
  3. Syarat, sebuah pernyataan / kondisi tertentu guna mengambil keputusan eksekusi program.

Ada beberapa jenis perulangan yang bisa kita gunakan dalam pemrograman C++ diantaranya sebagai berikut :
  • for
  • do…while 
  • while

Sementara itu, untuk studKasus di atas saya akan menggunakan while, sehingga program akan dieksekusi selama while tertentu, adapun cara penulisannya sbb :
while ( syarat ) {
pernyataan ke-n;
Perubah Nilai;
}

Contoh :
while (i <= 10) {
if (i%2 == 0) {
cout << i << " ";
i++;
}
}

D. PERCABANGAN
Dalam C++ percabangan digunakan untuk memecahkan persoalan dan mengambil keputusan dari beberapa pernyataan. Ada beberapa jenis percabangan yang bisa kita gunakan dalam pemrograman C++ diantaranya sebagai berikut :
  • if
  • if – else
  • switch – case

Untuk studIKasus diatas saya akan menggunakan if – else dan switch – case, sehingga mengandung pengertian “jika kondisi benar, maka kerjakan pernyataan 1, selain itu kerjakan pernyataan 2 apabila pernyataan 1 tidak memenuhi syarat”. Adapun cara penulisannya sebagai berikut :
if (kondisi) {
pernyataan 1;
}
else {
pernyataan 2;
}

Contoh :
if ( tot_beli >= 50000 ) {
potongan = 0.2 * tot_beli;
}
else {
potongan = 0.05 * tot_beli;
}

Sedangkan switch – case intinya sama dengan if – else, akan tetapi switch – case hanya bisa memeriksa data yang bertipe char dan int, selain itu tidak bisa. Adapun cara penulisannya sebagai berikut :
switch (syarat) {
case kontanta-1:
pernyataan 1;
break;
case konstanta-2:
perintah 2;
break;
default:
perintah;
}

Contoh :
switch (Hari) {
case 1:
cout << "Ahad";
break;
case 2:
cout << "Senin";
break;
default:
cout << "Selasa";
}


C. KEYWORD
Dalam pemrograman C++ keyword digunakan untuk membentuk fungsi tertentu, sedangkan cara pendeklarasiannya berbeda – beda, sebab ada beberapa keyword yang perlu #include <file> agar bisa dikenali oleh compiler, namun ada juga yang tidak perlu.

Ada beberapa jenis keyword yang bisa kita gunakan dalam pemrograman C++ diantaranya sebagai berikut :
  • break
  • continue
  • goto
  • gotoxy
  • exit
Namun dikarenakan kita dihimbau untuk mengacu pada pemrograman terstruktur maka, kita upayakan untuk menghindari goto sejauh-jauhnya.
Sementara itu, untuk studi kasus diatas saya akan coba menggunakan break dan exit ;

Break
Digunakan untuk keluar dari suatu statement baik berupa pengecekan maupun perulangan, namun paling sering digunakan pada percabangan switch – case, sehinga break digunakan untuk keluar dari case. Cara penulisan bisa melihat pada contoh struktur switch – case.

Exit
Merupakan pernyataan yang berfungsi untuk keluar dari program dan pernyataan ini memerlukan sebuah #include <stdlib.h> pada header, sehingga pernyataan dapat dibaca oleh compiler. Adapun cara dpenulisannya sebagai berikut :
exit(7); maka memiliki pengertian bahwa fungsi exit diberi nilai 7, sehingga jika kita memasukan nilai 7 maka program akan keluar.
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>

void main() {
pernyataan1;
pernyataan1;
exit(7);
}


Penyelesaian :


IF-ELSE MODE PROGRAMS :
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
/**-------------------------
 Name : wawan chahyo nugroho
 NIM  : 12131249
 Blog : www.gatewan.com
 ---------------------------**/
void main() {
    unsigned int pilihan;
    cout << "MENU PILIHAN" << endl;
    cout << "------------" << endl;
    cout << "1. hitung luas lingkaran" << endl;
    cout << "2. hitung luas persegi" << endl;
    cout << "3. hitung luas segitiga" << endl;
    cout << "4. exit" << endl;
    cout << "------------" << endl;
    while (pilihan>=0){
    cout << "pilihan anda (1/2/3/4)         : "; cin >> pilihan;
     if (pilihan== 1) {
     cout << "-------------------------------------"<< endl;
     cout << "Menghitung Luas Lingkaran" << endl;
     float r;
     cout << "Masukan jari-jari            : "; cin >> r;
    float Ll = 3.14*r*r;
     cout << "Luas Lingkaran               : " << Ll << endl;
     cout << "-------------------------------------"<< endl;
      }
      else if (pilihan== 2){
      cout << "-------------------------------------"<< endl;
     cout << "Menghitung Luas Persegi" << endl;
     float p;
     cout << "Masukan Panjang              : "; cin >> p;
      float l;
      cout << "Masukan Lebar                : "; cin >> l;
    float Lp = p*l;
     cout << "Luas Persegi                 : " << Lp << endl;
     cout << "-------------------------------------"<< endl;
      }
      else if (pilihan== 3){
      cout << "-------------------------------------"<< endl;
     cout << "Menghitung Luas Segitiga" << endl;
     float a;
     cout << "Masukan Alas                 : "; cin >> a;
      float t;
      cout << "Masukan Tinggi               : "; cin >> t;
    float Ls = 0.5*a*t;
     cout << "Luas Segitiga                : " << Ls << endl;
     cout << "-------------------------------------"<< endl;
      }
      else if (pilihan==4) {
      exit(4);
      }
      else {
      cout << "Kode Yang Anda Masukan Salah...!!!"<< endl;
      }
      }

    getch();
}

SWITCH-CASE MODE PROGRAMS :
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
/**-------------------------
 Name : wawan chahyo nugroho
 NIM  : 12131249
 Blog : www.gatewan.com
 ---------------------------**/
void main() {
  unsigned int pilihan;
   float r, Ll, p, l, Lp, a, t, Ls;
    cout << "MENU PILIHAN" << endl;
    cout << "------------" << endl;
    cout << "1. hitung luas lingkaran" << endl;
    cout << "2. hitung luas persegi" << endl;
    cout << "3. hitung luas segitiga" << endl;
    cout << "4. exit" << endl;
    cout << "------------" << endl;

    while (pilihan>=0){
    cout << "pilihan anda (1/2/3/4)         : "; cin >> pilihan;
    switch(pilihan) {
     case 1:
      cout << "-------------------------------------"<< endl;
     cout << "Menghitung Luas Lingkaran" << endl;
      cout << "Masukan jari-jari            : "; cin >> r;
      Ll = 3.14*r*r;
     cout << "Luas Lingkaran               : " << Ll << endl;
     cout << "-------------------------------------"<< endl;
         break;
      case 2:
      cout << "-------------------------------------"<< endl;
     cout << "Menghitung Luas Persegi" << endl;
      cout << "Masukan Panjang              : "; cin >> p;
      cout << "Masukan Lebar                : "; cin >> l;
      Lp = p*l;
      cout << "Luas Persegi                 : " << Lp << endl;
     cout << "-------------------------------------"<< endl;
         break;
      case 3:
      cout << "-------------------------------------"<< endl;
     cout << "Menghitung Luas Segitiga" << endl;
      cout << "Masukan Alas                 : "; cin >> a;
      cout << "Masukan Tinggi               : "; cin >> t;
      Ls = 0.5*a*t;
      cout << "Luas Segitiga                 : " << Ls << endl;
     cout << "-------------------------------------"<< endl;
         break;
      case 4:
      exit(4);
         break;
      default:
       cout << "Kode Yang Anda Masukan Salah...!!!"<< endl;
   }
   }

  getch();
}

Untuk materi C++ yang lebih lengkap, Silakan Kunjungi Tutorial Lengkap Belajar Bahasa Pemrogaman C++

No comments:

Post a Comment