Minggu, 11 November 2012

Condition String on IF in C or C++

Ok pada kesempatan kali ini saya akan membahas tentang program C. Saya menggunakan Borland C++ untuk compilernya.
OK langsung saja kita ke intinya.

#include <stdio.h>
#include <iostream.h>
#include <conio.h>
#include <string.h>
#include <iomanip>
     Pertama - tama kita memilih header yang akan kita gunakan untuk sintaks yang akan kita pakai, seperti jika kita akan manggunakan 'printf' maka kita harus menggunakn 'stdio.h'. Dan untuk menggunakan 'cout' atau 'cin', maka kita pergunakan header 'iostream.h'.

int main(){
int gol, jam, gapok=300000, tunjab, tunj, lembur;
char nama[30],pend[3];
     Pada statement ini kita gunakan untuk menentukkan tipe variabel yang akan dipergunakan.

printf("Nama Karyawan : ");gets(nama);
cout << "Golongan Jabatan : ";
cin >> gol;
cout << "Pendidikan : ";
cin >> pend;
cout << "Jumlah Jam Kerja : ";
cin >> jam;
     Pada statement diatas ini 'cout' hanya digunakan untuk mencetak karakter yang telah kita buat dengan memberikan tanda (" "). Dan 'cin' digunakan untuk penyimpanan data, sama seperti halnya dengan 'scanf'.

switch (gol){
case 1 : tunjab = gapok * 5 / 100; break;
case 2 : tunjab = gapok * 10 / 100; break;
case 3 : tunjab = gapok * 15 / 100; break;
}
     Selanjutnya pada blok ini digunakan percabangan 'switch case'.
Dengan BU :
Switch (pernyataan)
{
case nilai_konstan1:
      blok_pernyataan1;12pt;
      break;
case nilai_konstan2:
      blok_pernyataan2;
      break;
...
...
default:
      blok_pernyataan n;
}

if ((strcmp(pend,"sma")==0) || (strcmp(pend,"SMA")==0))
    tunj=(gapok * 2.5 / 100);
else if ((strcmp(pend,"d1")==0) || (strcmp(pend,"D1")==0))
    tunj=(gapok * 5 / 100);
else if ((strcmp(pend,"d3")==0) || (strcmp(pend,"D3")==0))
    tunj=(gapok * 20 / 100);
else if ((strcmp(pend,"s1")==0) || (strcmp(pend,"S1")==0))
    tunj=(gapok * 30 / 100);
else{
    tunj=0;
}
    Dan pada blok program selanjutnya menggunakn percabangan 'if'.
dengan BU :
if(kondisi)
{
      statement 1;
}
else
{
      statement 2;
}


lembur = (jam > 8) ? ((jam - 8) * 3500) : 0;
     Dan untuk pendeklarasian lembur, saya menggunakan ternary operator. Denganternary operator kita dapat mengecek nilai kebenaran dari sebuah ekspresi lalu mengeksekusi kode sesuai dengan hasilnya.
Dan kode diatas berarti jika lembur jumlah jamnya lebih besar dari 8 maka jumlah jam dikurangi 8, lalu dikalikan 3500, dan jika jumlah jam lebih kecil dari 8, maka lembur = 0
BU :
conditional ? ekspresi1 : ekspresi2;

printf("\nKaryawan Yang Bernama : %s",nama);
cout << "\nHonor Yang Diterima\n";
cout << "        Gaji Pokok            Rp " << setw(8) << gapok << endl;
cout << "        Tunjangan Jabatan        Rp " << setw(8) << tunjab << endl;
cout << "        Tunjangan Pendidikan        Rp " << setw(8) << tunj << endl;
cout << "        Honor Lembur            Rp " << setw(8) << lembur << endl;
cout << "                        -------------- +\n";
cout << "        Total Gaji            Rp " << setw(8) << (tunjab+tunj+lembur) << endl;
getch();
}
     Dan pada blok program yang terakhir adalah tempat untuk bagian output, dan tempat untuk memanggil semua deklarasi diatas. 'setw' digunakan untuk merapihkan kolom, dengan menggunakan header iomanip.

Dan berikut adalah hasil outputnya :



Tidak ada komentar:

Posting Komentar