Jumat, 08 April 2016

TUGAS DIKTAT ALPRO BAB 4 (part)

Selamat siang ..
Kali ini saya akan memposting latihan-latihan yang ada di diktat alpro bab 4. Berikut ini adalah soal-soalnya yang dibuat kedalam program cpp dan raptor

Latihan 1
Kasus:" Mencari bilangan terbesar "
Algoritma :
    - Memasukan 3 bilangan bulat
    - Menentukan bilangan terbesar diantara ketiga bilangan tersebut dan menampilkannya
Deklarasi :
    - x, y, x : interger
    - maks      : interger
Deskripsi :
     read (x,y,z)
     maks <- x
     if (y > maks) then maks Å y end if
     if (z > maks) then maks ( z end if
     write (‘Bilangan terbesar adalah = ‘,maks)

Raptor

Cpp
#include <iostream>

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

    class Banding
    {
        friend istream& operator>>(istream&, Banding&);
        public:
        Banding() {};
        void bandingkan()
        {
            int maks = x;
            if (y > maks) maks = y;
            if (z > maks) maks = z;
            cout << endl << endl << "Bilangan terbesar : " << maks;
        }
        private:
        int x, y, z;
    };
    istream& operator>>(istream& in, Banding& bilangan)
    {
        cout << "Bilangan pertama = ";
        cin >> bilangan.x;
        cout << "Bilangan kedua   = ";
        cin >> bilangan.y;
        cout << "Bilangan ketiga  = ";
        cin >> bilangan.z;
        return in;
    };

int main(int argc, char** argv) {
    Banding bilangan;
    cin >> bilangan;
    bilangan.bandingkan();

    return 0;
}


Latihan 2
Kasus : " Menentukan Jenis Akar Persamaan Kuadrat "
Algoritma :
    - mendeklarasikan variabel untuk koefisien pangkat 1, koefisien pangkat 2, koefisien pangkat 0, deskriminan
    - di inputkan koefisien pangkat 1, koefisien pangkat 2, koefisien pangkat 3
    - Menampilkan hasil jenis akar imajiner, rasional
Deklarasi :
    - koefisien pangkat 1, 2, 3 : interger
    - diskriminan : float   
Deskripsi :
    Read (koefisien pangkat 1, koefisien pangkat 2, koefisien pangkat 3)
    deskriminan <- b^2-4*A*C
    if (A = 0) then write (‘Bukan Persamaan Kuadrat’)
    else if disk > 0 then   
    x1 ( -B + sqrt (disk)/2*A
    x2 ( -B - sqrt(disk)/2*A
    else if disk = 0 then
    x1 ( -B/2*A
    x2 ( x1   
    else write (‘Akar imajiner’)
    end if
    write (x1,x2)

Raptornya

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


Latihan 3
Kasus " Menkonversi nilai angka ke nilai huruf
Algoritma
    - mendeklarasikan variabel nilai
    - menkonversi nilai menjadi huruf
Deklarasi
    - nilai : interger   
Deskripsi
    read(nilai)
    switch (nilai)
    case 81 ... 100 :
        cout << nilai << " Nilai hurufnya adalah A " << endl;
    break
    case 61 ... 80 :
        cout << nilai << " Nilai hurufnya adalah B " << endl;
    break
    case 41 ... 60 :
        cout << nilai << " Nilai hurufnya adalah C " << endl;
    break
    case 21 ... 40 :
        cout << nilai << " Nilai hurufnya adalah D " << endl;
    break
    case 0 ... 20 :
        cout << nilai << " Nilai hurufnya adalah E " << endl;
    break

Raptor

Cpp
#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;
   
    cout << " Menentukan Nilai Angka " << endl << endl;
    cout << " Masukan Nilai Angka : "; cin >> nilai;
    cout << endl;
    switch (nilai)
    {
    case 81 ... 100 :
        cout << nilai << " Nilai hurufnya adalah A " << endl;
    break;
    case 61 ... 80 :
   
        cout << nilai << " Nilai hurufnya adalah B " << endl;
    break;
    case 41 ... 60 :
   
        cout << nilai << " Nilai hurufnya adalah C " << endl;
    break;
    case 21 ... 40 :
   
        cout << nilai << " Nilai hurufnya adalah D " << endl;
    break;
    case 0 ... 20 :
   
        cout << nilai << " Nilai hurufnya adalah E " << endl;
    break;
}
   
    return 0;
}


Latihan 5
Kasus 5 " Menampilkan Tanggal pada Bulan dan Tahun Tertentu "
Algoritma
    - mendeklarasikan variabel bulan dan tahun
    - menentukan apakah tahun tersebut kabisat atau bukan
Deklarasi
    - bulan, tanggal : interger   
Deskripsi
     read (bulan)
     read (tahun)
     case 2 :   
     if ((tahun%100==0)||(tahun%100!=0)&&(tahun%400==0))
     for i <- 1 to 29 d0
     i <- i+1
     write (i)
     else
     for i < 1 to 28 do
     i <- i + 1   
     write (i)       
        break;
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:
            for i <- 1 to 31 do
            i <- i+1
            write (i)
        break;
        case 4:
        case 6:
        case 9:
        case 11:
            for i <- 1 to 30 do
            i <- i + 1
            write (i)
        break;
        default:
        write(salah kode bulan)

  Raptor

 Cpp
#include <iostream>
#include <conio.h>
using namespace std;
int main(){
   
    int tahun, bulan,bil;
    cout << " Masukkan Tahun    : "; cin >> tahun;
    cout << " Masukkan Bulan ke : "; cin >> bulan;
    switch (bulan)
    {
        case 2:
            if ((tahun%100==0)||(tahun%100!=0)&&(tahun%400==0))
            {
                for(int i=1; i<=29; i++)
                {
                cout<<i<<" ";
                }
            }
            else
            {
                for(int i=1; i<=28; i++)
                {
                    cout<<i<<" ";
                }
            }
        break;

        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:
        {
            for(int i=1; i<=31; i++)
            {
                cout<<i<<" ";
            }
        }
        break;

        case 4:
        case 6:
        case 9:
        case 11:
        {
            for(int i=1; i<=30; i++)
            {
                cout<<i<<" ";
            }
        }
        break;
        default:
        cout<<"salah kode bulan\n";
    }
   
getch();
}

Tidak ada komentar:

Posting Komentar