Diktat Bab 4

LATIHAN 
1. Buatlah flowchart dan translasi program dari algoritma 3.2.b. di atas.

 #include <iostream>

using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char* argv[]) {
  
    int a, b, c;
    cout<<"Masukkan nilai A = ";
    cin>>a;
    cout<<"Masukkan nilai b = ";
    cin>>b;
    cout<<"Masukkan nilai c = ";
    cin>>c;
  
    if(a>b) {
    if(a>c) {
        cout<<"Nilai terbesar adalah nilai A = "<<a;
            }
            }
    if(b>a) {
    if(b>c) {
        cout<<"Nilai terbesar adalah nilai B = "<<b;
            }
            }
    else if(c>a)
    if(c>b) {
        cout<<"Nilai terbesar adalah nilai C = "<<c;
         }
     
  
    return 0;
}


2. Sempurnakan algoritma 3.3. dengan akar imajiner berbentuk :
a + bi
dengan a dan b bilangan real dan bila harga b2-4ac<0.
Perhatikan bahwa nilai a dan b dihitung terpisah.
Rumus menghitung nilai a :
Rumus menghitung nilai b :
Operator Overloading untuk output :



3. Buatlah program dari algoritma 3.4. menggunakan case … of .


4. Buatlah algoritma, flowchart dan program untuk mengecek apakah pemakai
memasukkan bilangan bulat atau bilangan real.
Lebih dulu, carilah perbedaan dari 1.0 dan 1 kemudian 1 dan 1.23.
Perbedaan :
Algoritma :


5. Buatlah algoritma, flowchart dan program untuk menentukan banyaknya hari
dalam suatu bulan dan tahun yang diberikan. Pertimbangkan pula adanya tahun
kabisat di mana bulan Februari mempunyai jumlah 29 hari. Gunakan case .. of
dan if .. then .. else .. yang tepat untuk setiap kasus.

#include <iostream>
using namespace std;

int year, month, day;
void input();
void errorYear();
void errorMonth();
void again();
int main()
{
    cout<<"Program menghitung hari dalam satu bulan."<<endl;
    input();
}
void input()
{
    cout<<"Masukkan angka tahun:"<<endl;
    cin>>year;
    cout<<"Masukkan angka bulan:"<<endl;
    cin>>month;
    if (year <= 0)
    errorYear();
    switch (month)
    {
        case 1:
        cout<<"Bulan Januari tahun "<<year<<" ada 31 hari."<<endl;
        break;
        case 2:
        if (year % 4 == 0)
        cout<<"Bulan Februari tahun "<<year<<" ada 29 hari."<<endl;
        else
        cout<<"Bulan Februari tahun "<<year<<" ada 28 hari."<<endl;
        break;
        case 3:
        cout<<"Bulan Maret tahun "<<year<<" ada 31 hari."<<endl;
        break;
        case 4:
        cout<<"Bulan April tahun "<<year<<" ada 30 hari."<<endl;
        break;
        case 5:
        cout<<"Bulan Mei tahun "<<year<<" ada 31 hari."<<endl;
        break;
        case 6:
        cout<<"Bulan Juni tahun "<<year<<" ada 30 hari."<<endl;
        break;
        case 7:
        cout<<"Bulan Juli tahun "<<year<<" ada 31 hari."<<endl;
        break;
        case 8:
        cout<<"Bulan Agustus tahun "<<year<<" ada 31 hari."<<endl;
        break;
        case 9:
        cout<<"Bulan September tahun "<<year<<" ada 30 hari."<<endl;
        break;
        case 10:
        cout<<"Bulan Oktober tahun "<<year<<" ada 31 hari."<<endl;
        break;
        case 11:
        cout<<"Bulan November tahun "<<year<<" ada 30 hari."<<endl;
        break;
        case 12:
        cout<<"Bulan Desember tahun "<<year<<" ada 31 hari."<<endl;
        break;
        default :
        errorMonth();
        break;
    }
    again();
}
void errorYear()
{
    cout<<"Masukkan data tahun tidak valid."<<endl;
    again();
    main();
}
void errorMonth()
{
    cout<<"Masukkan data bulan tidak valid."<<endl;
    again();
    main();
}
void again()
{
    char answer;
    cout<<endl<<"Tekan Y untuk mencoba lagi."<<endl<<"Mau mencoba lagi?"<<endl;
    cin>>answer;
    if (answer == 'Y' || answer == 'y')
    {
        main();
    }
    else
    {
        return;
    }



6. Buatlah algoritma, flowchart dan program untuk mengecek apakah karakter yang
dimasukkan itu merupakan huruf besar, huruf kecil atau digit (bilangan).
Gunakan fungsi ORD(char) untuk menyatakan nomor urut dalam tabel ASCII.
Program :
 #include <iostream>
#include <conio.h>
using namespace std;
class Karakter
{
private:
    char karakter;
public:
  void Proses ();
  void Output ();
};

void Karakter::Proses()
{
cout<<"Masukkan Karakter = ";cin>>karakter;
};

void Karakter::Output(){
if (karakter >='A' && karakter <='Z')
cout<<"Huruf Besar"<<endl;
else if (karakter >= 'a' && karakter <='z')
cout<<"Huruf Kecil"<<endl;
else if (karakter >= '0' && karakter <= '9')
cout<<"Digit (Bilangan)"<<endl;
else
cout<<"Simbol"<<endl;
};
main ()
{
Karakter bilhur;
bilhur.Proses();
bilhur.Output();
getch ();
return 0;
}


7. Seorang dosen ingin mengkonversikan nilai angka hasil ujian mahasiswa
menjadi nilai huruf dengan ketentuan :



8. Diberikan ketentuan pecahan uang di Indonesia. User memasukkan sebuah
bilangan, program harus dapat memecahnya menjadi pecahan sesuai dengan
mata uang di Indonesia.
Misalkan dimasukkan nilai uang 127.675 rupiah. Cobalah memecah secara
manual nilai uang di atas.
Algoritma :
Program :
 #include<iostream>
using namespace std;
int main()
{
    long uang,sisa;
    int u100rb,u50rb,u20rb;
    int u10rb,u5rb,u2rb,u1rb,u5ratus;
    cout<<"    Program Memecah Uang   "<<endl;
    cout<<"----------------------------------------"<<endl;
    cout<<"Input jumlah uang --> ";cin>>uang;
  
    u100rb=uang/100000;
    sisa=uang%100000;
  
    u50rb=sisa/50000;
    sisa=sisa%50000;
  
    u20rb=sisa/20000;
    sisa=sisa%20000;
  
    u10rb=sisa/10000;
    sisa=sisa%10000;
  
    u5rb=sisa/5000;
    sisa=sisa%5000;
  
    u2rb=sisa/2000;
    sisa=sisa%2000;
  
    u1rb=sisa/1000;
    sisa=sisa%1000;
  
    u5ratus=sisa/500;
  
    cout<<"Uang anda Rp. "<<uang<<endl;
    cout<<"Terdiri dari -->"<<endl;
    cout<<"--------------------"<<endl;
    cout<<u100rb<<" lembar Rp.100.000"<<endl;
    cout<<u50rb<<" lembar Rp.50.000"<<endl;
    cout<<u20rb<<" lembar Rp.20.000"<<endl;
    cout<<u10rb<<" lembar Rp.10.000"<<endl;
    cout<<u5rb<<" lembar Rp.5.000"<<endl;
    cout<<u2rb<<" lembar Rp.2.000"<<endl;
    cout<<u1rb<<" lembar Rp.1.000"<<endl;
    cout<<u5ratus<<" lembar Rp.5.00"<<endl;
    cout<<"---------------------"<<endl;
    cout<<"T E R I M A - K A S I H";


9. Seorang pegawai bekerja selama 5 hari kerja, yaitu Senin sampai Jum’at. Setiap
hari dia masuk jam 08.00 dan pulang jam 16.00. Kecuali Jum’at dia pulang jam
11.00. Apabila dia bekerja lebih dari 30 jam per bulan maka setiap 5 jam akan
memperoleh uang lembur sebesar Rp 30.000,- bila kurang dari 5 jam maka akan
dihitung Rp 4.000,-/jam. Buat program dengan masukan bulan yang diinginkan,
dan outputnya berupa besarnya uang lembur pegawai tersebut.
Perhitungan secara manual : 

UJI KOMPETISI
1. Pernyataan if. Tulislah sebuah program yang mendeklarasikan dua variabel yaitu
a dan b, yang nilai telah diinisialisasi (terserah anda). Tulislah 10 pernyataan if
dengan kondisi berikut :
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{     int a , b;
    cout<<"masukan nilai a: ";
    cin>>a ;
    cout<< "masukan nilai b : " ;
    cin>>b;
   
    if (a <= b)
    cout <<"Nilai A lebih kecil daripada nilai b ";
    else if (!(b == a))
    cout<< " Nilai A tidak equivalen dgn  nilai  ";
    else if ((3 < a) && (3 < b))
    cout<< " 3 lebih kecil dari Nilai A dan 3 lebih kecil dari nilai b ";
    else if (a || b)
    cout<< " jika variable a atau variabel  b" ;
    else if(((++a) == (--b)) || b)
    cout<< " jika variable a atau variabel  b" ;
    else if (a ^ b)
    cout<< " jika variable a pangkat variabel b" ;
    else if ((a && b && (!0)) || true)
    cout<< " jika variable a dan b variabel  b dan tidak sama dengan nol atau benar ";
    else if (b == 10)
    cout<< " jika variable b equivalen dengan 10 ";
    else if(int c = b)
    cout<< " jika variable c(variabel baru) sama dengan variabel  b ";
    else if(a || (!b))
    cout<< " jika variable a atau bukana variabel  b ";
   

    system("pause");
    return 0;
}


2. Pernyataan if -- else. Tulislah sebuah program yang mendeklarasikan dua
variabel karakter yaitu a dan b, yang nilai telah diinisialisasi dengan ‘ ‘. Tulislah
10 pernyataan if – else dengan berikut :

Share on Google Plus

About Luthfi

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Blogger Comment
    Facebook Comment

0 komentar:

Posting Komentar