Kamis, 07 April 2016

Latihan Bab 4 - PEMILIHAN/ KONTROL PROGRAM

no. 5


Soal :
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.




C++
#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;

    }

}

Kalau di run, hasilnya :

no.6

Soal :
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

C++ :

#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;
}

Kalau di run, hasilnya :


no.7

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


C++ :


#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 nilai;

                string nilaihuruf;

                cout<<"masukkan nilai (0-100) : ";cin>>nilai;

                if(nilai <=100 && nilai>=91)

                nilaihuruf='A';

                else if(nilai<=90 && nilai>=81)

                nilaihuruf='B';

                else if(nilai<=80 && nilai>=71)

                nilaihuruf='C';

                else if(nilai<=70 && nilai>=61)

                nilaihuruf='D';

                else

                nilaihuruf='F';

               

cout<<"Nilai = "<<nilaihuruf;



                return 0;

}

C++ dan hasil run :

Flowchart :


Untuk no. 1, 2, 3, dan 4 dapat dilihat di : http://hiwilmacleta.blogspot.co.id/search/label/Diktat4
Untuk no. 8 dan UK 1 dapat dilihat di : http://ratihpuspita29.blogspot.co.id/search/label/bab4


SEKIAN,  TERIMA KASIH!!!
SEMOGA BERMANFAAT!!!

Tidak ada komentar:

Posting Komentar