Cari Blog Ini

Kamis, 24 Maret 2011

Konversi Tipe Data

Akan diperhatikan tipe data dari masing-masing operand dalam ungkapan dan secara otomatis akan dilakukan.

Prioritas :
Tipe Data
Prioritas
long double
Tertinggi
double

float

long

int

char
Terendah

Misalnya :
double = int * float;
1.      int Þ float
2.      akan menghasilkan :  double = float * float
3.      float * float Þ double, sebab disebelah kiri tanda = adalah double.

Konversi dengan operator cast ().
Dilakukan sendiri oleh programmer dengan menggunakan operator cast --> type cast.

1.      dengan menambahkan (tipe_data) variabel
Contoh :
      Jika A bertipe char, maka
      (int) A --> menghasilkan data bertipe int.
                             tipe A tidak berubah.

// contoh operator cast1
#include <iostream.h>
#include <conio.h>

void main()
{
     char a = 'A';

     cout << "Nilai ASCII dari " << a << " : " 
     << (int) a <<' \n';
}
     
2.      dengan menambahkan tipe_data (variabel)
Contoh :
                         int (A)

// contoh operator cast2
#include <iostream.h>
#include <conio.h>

void main()
{
      char a = 'A';

      cout << "Nilai ASCII dari " << a << " : " 
      << int (a) <<'\n';
}


Pada operator penugasan, konversi data juga terjadi

// contoh konversi tipe data dengan =
#include <iostream.h>
#include <conio.h>

void main()
{
  char c;
  int i;
  float x;

  x = 176.5; i = x;      c = i;

  cout << "Isi x = " << x <<'\n';
  cout << "Isi i = " << i <<'\n';
  cout << "Isi c = " << c <<'\n';
}


Fungsi Pustaka
Digunakan untuk melakukan operasi dimana tidak terdapat operator untuk operator tersebut.
Dilakukan dengan memanfaatkan library functions.

Contoh :
// contoh pemakaian pustaka
#include <iostream.h>
#include <conio.h>
#include <math.h>

void main()
{
       cout << "Akar dari 27 = " << sqrt(27) <<' \n';
}


Operasi Dasar I/O

cout
obyek yang berguna untuk meletakkan suatu informasi ke standard output (normalnya monitor).

Contoh :
// contoh pemakaian cout
#include <iostream.h>
#include <conio.h>

void main()
{
     cout << "Pilihan Anda salah \a\n";
}
Manipulator
digunakan untuk mengatur tampilan data.
Misalnya mengatur agar suatu nilai ditampilkan dengan lebar 10 karakter.

endl
digunakan untuk menyisipkan karakter new line (sama seperti \n). Data akan langsung dikirimkan ke standard output (monitor).

Contoh :
// contoh pemakaian endl
#include <iostream.h>
#include <conio.h>

void main()
{
  int jum1 = 150;
  int jum2 = 23;
  cout << "Jumlah 1 = " << jum1 << endl;
  cout << "Jumlah 2 = " << jum2 << endl;
}

setw()
digunakan untuk mengatur lebar tampilan data.
Data akan ditampilkan rata kanan.

Contoh :
// contoh pemakaian setw()
#include <iostream.h>
#include <iomanip.h>
#include <conio.h>

void main()
{
  int jum1 = 150;
  int jum2 = 23;
  int jum3 = 1401;
  cout << "Jumlah 1 = " << setw(4)
 << jum1 << endl;
  cout << "Jumlah 2 = " << setw(4)
 << jum2 << endl;
  cout << "Jumlah 3 = " << setw(4)
 << jum3 << endl;
}

Jika nilai parameter setw() lebih kecil dari jumlah karakter data yang akan ditampilkan, setw() tidak memberikan efek apapun.

setfil()
berguna untuk mengatur karakter yang dipakai untuk memenuhi  bagian field yang ditentukan.
Biasa dipakai untuk membuat laporan keuangan.

Contoh :
// contoh pemakaian setfill()
#include <iostream.h>
#include <iomanip.h>
#include <conio.h>

void main()
{
  float jum1 = 123.25;

  cout << setw(8) << jum1 << endl;
  cout << setfill('#') << setw(8) << jum1 << endl;
}

dec, oct, dan hex
digunakan untuk menampilkan data dalam bentuk desimal(dec – basis 10), oktal(oct – basis 8), dan heksadesimal(hex – basis 16).

Contoh :
// contoh pemakaian dec, oct, hex
#include <iostream.h>
#include <iomanip.h>
#include <conio.h>
void main()
{
  int nilai = 250;
  cout << nilai << endl;
  cout << oct << nilai << endl;
  cout << hex << nilai << endl;
  cout << dec << nilai << endl;
}


setbase
sama fungsinya dengan manipulator oct, dec, dan hex.

Contoh :
// contoh pemakaian setbase
#include <iostream.h>
#include <iomanip.h>
#include <conio.h>

void main()
{
  int nilai = 250;

  cout << nilai << endl;
  cout << setbase(8) << nilai << endl;
  cout << setbase(16) << nilai << endl;
  cout << setbase(10) << nilai << endl;
}

flush
Saat mengeluarkan data ke standard output, cout akan menggunakan suatu penyangga (buffer) .
Jika buffer belum penuh maka cout tidak mengirimkan data ke standard output --> untuk efisiensi pengiriman data.
Jika menggunakan manipulator endl sama artinya kita menggunakan ‘\n’ diikuti dengan flush.

Ketiga pernyataan dibawah ini mempunyai arti yang sama :

cout << “C++\n” << flush;
cout << “C++” << endl;
cout << “C++” << ‘\n’ << flush;

ends
berfungsi untuk menambahkan karakter null (ASCII nol) ke deretan suatu karakter.
Diperlukan jika kita mengirimkan sejumlah data ke file disk atau ke modem (biasa dipakai sebagai tanda akhir file).

Contoh :
cout << ‘a’ << ‘b’ << ’c’ << ends;

Akan dikirim 3 buah data dan diakhiri dengan karakter null. Dimonitor, ends akan menampilkan karakter kosong.

setiosflags()
digunakan untuk mengontrol sejumlah tanda format yang terdapat dibawah ini :

Tanda Format
Keterangan
ios::left
mengatur rata kiri thd lebar field yang diatur setw()
ios::right
mengatur rata kanan thd lebar field yang diatur setw()
ios::scientific
format keluaran dlm notasi eksponensial.
ios::fixed
format keluaran dlm notasi desimal
ios::dec
format keluaran dalam basis 10
ios::oct
format keluaran dalam basis 8
ios::hex
format keluaran dalam basis 16
ios::uppercase
format huruf pada notasi hexadesimal dalam bentuk kapital
ios::showbase
menampilkan awalan 0x (nol x) untuk bilangan hexadesimal dan 0 (nol) untuk bilangan octal
ios::showpoint
menampilkan titik desimal pada bilangan pecahan yang tidak memiliki bagian pecahan
ios::showpos
menampilkan tanda + pd bilangan positif

Contoh :
ios::left dan ios::right
// contoh pemakaian ios::left dan ios::right
#include <iostream.h>
#include <iomanip.h>
#include <conio.h>

void main()
{
          int a = 234, b = 5678;

          cout << setw(5) << a << endl;
          cout << setw(5) << b << endl;
          cout << "--------" << endl;
          cout << setiosflags(ios::left);
          cout << setw(5) << a << endl;
          cout << setw(5) << b << endl;
          cout << resetiosflags(ios::left);
          cout << "--------" << endl;
          cout << setiosflags(ios::right);
          cout << setw(5) << a << endl;
          cout << setw(5) << b << endl;
}

// contoh pemakaian ios::left dan ios::right
#include <iostream.h>
#include <iomanip.h>
#include <conio.h>

void main()
{
          cout << setiosflags(ios::left) << setw(25)
<< "N A M A"  << setiosflags(ios::right)     << setw(8) << "G A J I" << endl;
          cout << setiosflags(ios::left) << setw(25)
<< "Rudi Hartono"   
<< setiosflags(ios::right) << setw(8) << 750000 << endl;
          cout << setiosflags(ios::left) << setw(25)
<< "Joko Supriyanto"
                    << setiosflags(ios::right) << setw(8)
<< 500000 << endl;
          cout << setiosflags(ios::left) << setw(25)
 << "Rika S."  << setiosflags(ios::right)
 << setw(8) << 350000 << endl;
}
































PERNYATAAN

 

Pernyataan if


Pernyataan if dapat dipakai untuk mengambil keputusan berdasarkan suatu kondisi. Bentuk pernyataan ini ada dua macam :

  • if saja dan
  • else

Pada bentuk pernyataan ini, kondisi yang digunakan dapat menggunakan ungkapan. Dan ungkapan-ungkapan ini tentunya akan melibatkan operator relasi seperti == dan operator logika seperti && dan ||.

Pernyataan if sederhana

if (kondisi)
            pernyataan;
 





Kodisi digunakan untuk menentukan pengambilan keputusan
Pernyataan dapat berupa sebuah pernyataan ataupun sebuah pernyataan majemuk. Bagian  ini dijalankan kalau kondisi bernilai benar.

Contoh program
#include<iotream.h>
#include<conio.h>
void main()
{
          int usia;
          clrscr();
          cout << ”Masukan usia Anda ? : “;
          cin >> usia;
          if(usia <17)
                   cout << “Anda belum cukup umur !!!”  << endl;
}

Pernyataan else
Pernyataan else tidak pernah sendiri selalu menggunakan if. Berikut bentuk penggunaannya.

if(kondisi)
   pernyataan1;
else
   pernyataan2;
 








Pernyataan2 dijalankan apabila kondisi bernilai salah.
Contoh program
#include<iotream.h>
#include<conio.h>
void main()
{
          int usia;
          clrscr();
          cout << ”Masukan usia Anda ? : “;
          cin >> usia;
          if(usia <17)
                   cout << “Anda belum cukup umur !!!”  << endl;
          else
                   cout << “Selamat Anda sudah cukup umur!” << endl;
}

contoh lain
#include<iostream.h>
void main()
{
          int x;
          cout << “Masukan bilangan bulat : “;
          cin >> x;
          if(x>0)
             cout << x << “ adalah bilangan positif” << endl;
          else
             cout << x << “ adalah bilangan negatif “ << endl;
}

Tugas
Buatlah program untuk menentukan apakah sebuah bilangan bulat itu adalah genap atau ganjil.
Simpan dengan nama L4Axxxx di drive V, xxxx= 4 digit nim terakhir contoh L4A2012.cpp.


Pernyataan if di dalam if

Pernyataan if yang terletak di dalam if sering disebut nested if atau if bersarang. Bentuk penggunaanya adalah sbb :

if(kondisi1)
   Pernyataan1;
else if(kondisi2)
   Pernyataan2;
else if(kondisi3)
   Pernyataan3;
else if(kondisiN)
   pernyataanN;
else                              //optional
   pernyataanM;  //optional
 














Contoh program
#include<iostream.h>
#include<conio.h>
void main()
{
          int kode_hari;
          clrscr();
          cout << “## Menentukan Hari ##” << endl;
          cout << “1=Senin     3=Rabu    5=Jumat    7=Minggu” << endl;
          cout << “2=Selasa   4=Kamis   6=Sabtu” << endl;
          cout << “Kode Hari : “; cin >> kode_hari;
         
          //proses seleksi
          if(kode_hari==1)
             cout << “Senin”<< endl;
          else if(kode_hari==2)
             cout << “Selasa” << endl;
          else if(kode_hari==3)
             cout << “Rabu” << endl;
          else if(kode_hari==4)
             cout << “Kamis” << endl;
          else if(kode_hari==5)
             cout << “Jumat” << endl;
          else if(kode_hari==6)
             cout <<”Sabtu” << endl;
          else if(kode_hari==7)
             cout <<”Minggu” << endl;
          else
             cout << “Kode Hari Salah” << endl;
}

Pernyataan switch

Pernyataan ini merupakan pernyataan pilihan berganda. Bentuk umum dari pernyataan switch sbb :


Switch(unkapan)
{
     case ungkapan1:
          pernyataan1;
          break;
     case ungkapan2:
          pernyataan2;
          break;
      ........
     default:                    //optional
          pernyataanX        //optional
}
 















Contoh program
#include<iostream.h>
#include<conio.h>
void main()
{
          int kode_hari;
          clrscr();
          cout << “## Menentukan Hari ##” << endl;
          cout << “1=Senin     3=Rabu    5=Jumat    7=Minggu” << endl;
          cout << “2=Selasa   4=Kamis   6=Sabtu” << endl;
          cout << “Kode Hari : “; cin >> kode_hari;
          //proses seleksi
          switch(kode_hari)
          {
               case 1:
                   cout << “Senin” << endl;
                   break;
               case 2:
                   cout << “Selasa” << endl;
                   break;
               case 3:
                   cout << “Rabu” << endl;
                   break;
               case 4:
                   cout << “Kamis” << endl;
                   break;
               case 5:
                   cout << “Jumat” << endl;
                   break;
               case 6:
                   cout << “Sabtu” << endl;
                   break;
               case 7:
                   cout << “Minggu” << endl;
                   break;
               default:
                   cout << “Kode Hari Salah !” << endl;
                   break;
          }   //akhir dari switch
}

Tidak ada komentar:

Posting Komentar