Jumat, 08 April 2016

Diktat Bab 4

Asslamu'alaikum wr. wb.

Inilah pembahasan dari diktat bab 4.

1. Buatlah flowchart da translasi program dari algoritma 3.2.b diatas.

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

Output :


Raptor :


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

C++ :

#include <iostream>
#include <math.h>
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;
 long disk;
 float x1,x2;
 cout<<"Koefisien pangkat 2 : ";cin>>a;
 cout<<"Koefisien pangkat 1 : ";cin>>b;
 cout<<"Koefisien pangkat 0 : ";cin>>c;
 if(a==0){
  cout<<"Bukan Pers.Kuadrat"<<endl;
  cout<<"Harga Akar= "<<-c/b;
 }
 else {
  disk=b*b - 4*a*c;
 }
 if(disk>0){
  x1=-b+sqrt(disk)/(2*a);
  x2=-b-sqrt(disk)/(2*a);
  cout<<"Diskriminan = " <<disk << endl;
  cout<<"x1 : "<<x1<<endl;
  cout<<"x2 : "<<x2<<endl;
 } else if(disk == 0){
  x1 = -b/(2*a);
  x2=x1;
  cout<<"Diskriminan = 0 "<<endl;
  cout<<"x1 : "<<x1<<endl;
  cout<<"x2 : "<<x2<<endl;
 } else
 cout<<"Akar Imajiner";

 return 0;
}

Output :

5. Buatlah algoritma , flowchart dan program untuk menentukan banyaknya hari dalam suatu bulan tahun yang diberikan. Pertimbangkan pula bila ada tahun kabisat dimana bulan februari mempunyai 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;
    }
}

Output :

6. Buatlah flowchart, algoritma, 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;
}

Output :

7. Seorang dosen ingn mengkonversikan nilaiangka hasil ujian mahasiswa menjadi nilai huruf dengan ketentuan :
Nilai antara huruf 0-60=E, 61-70=D, 71-80=C, 81-90=B, 91-100=A;

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

Output :

8. Diberikan ketentuan  pecahan uang di Indonesia. User memasukkan sebuah bilangan, program harus dapat memecahnya menjadi pecahan sesuai dengan mata uang di Indonesia.

C++ :

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

Output :

0 komentar: