Kamis, 15 Juni 2017

DIKTAT BAB 4

1.

Buatlah flowchart dan translasi program dari algoritma 4.2.b. di atas.

 Source Code:
#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.

Source Code:
#include <iostream>
#include <math.h>
#include <conio.h>

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

class Akar {
    friend ostream& operator<<(ostream&, Akar&);
    friend istream& operator>>(istream&, Akar&);
    public:
    Akar();
    int disk() { return B*B-4*A*C; }
    float akar1() {return (-B+sqrt(disk()))/(2*A); }
    float akar2() {return (-B-sqrt(disk()))/(2*A); }
    void hitung_akar();
    void cetak_disk() {
         cout << "diskriminan = " << disk() << endl; }
    void cetak_akar() {
        cout << "x1 = " << akar1() << endl;
        cout << "x2 = " << akar2() << endl;
    }
private:
    int A, B, C; // input
    float x1, x2; // akar 1 dan akar 2
};
ostream& operator<<(ostream& out, Akar& keluaran) {
    keluaran.cetak_disk();
    if (keluaran.disk() >= 0) keluaran.cetak_akar();
    else out << "Akar imajiner";
    return out;
}
istream& operator>>(istream& in, Akar& masukan) {
    cout << "Koefisien pangkat 2 : "; cin >> masukan.A;
    cout << "Koefisien pangkat 1 : "; cin >> masukan.B;
    cout << "Koefisien pangkat 0 : "; cin >> masukan.C;
return in;
}
Akar::Akar() {
    cout << "Menghitung akar persamaan kuadrat "<<endl<<endl;


void Akar::hitung_akar() {
    if (A == 0) {
    cout << "bukan pers. kuadrat.\n";
    cout << "Harga akar = " << -C/B; } else {
    if (disk() > 0) {
        x1 = akar1();
        x2 = akar2();
        }     
    else if (disk() == 0) {
        x1 = akar1();
        x2 = x1;
        }
    }   
}

int main(int argc, char** argv) {
    Akar kasus;
    cin >> kasus;
    kasus.hitung_akar();
    cout << kasus;
    return 0;
}








Tidak ada komentar:

Posting Komentar