LATIHAN BAB 3 (KASUS)

Assalamualaikum wr.wb
     Selamat siang kawan kawan kembali lagi bersama saya di blog ganteng ini, hari ini saya akan mengupload sebuah artikel yang ber judul LATIHAN BAB 3 (KASUS). Langsung saja kita ke pertanyaan dan pembahasan dan jawaban.


KASUS 3.1
           Hitunglah jumlah dari tiga bilangan bulat.
  • ANALISIS :
  •                    Untuk menjumlahkan 3 buah bilangan bulat, operator yang tepat adalah operator penjumlahan +. Operator ini mempunyai sifat komunitatif sehingga tidak perlu memperhatikan tata cara pengerjaannya.
  • ALGORITMA  : mencari jumlah 3 bilangan bulat {menghitung jumlah 3 bilangan bulat , algoritma menerima masukkan 3 buah bilangan bulat, menjumlahkan, lalu mencetak hasil penjumlahannya.}
  • DEKLARASI
  •        a, b, c : integer {input}
  •        jumlah : integer {output}
  • DESKRIPSI
  •                   read(a,b,c)
  •                   jumlah←a+b+c
  •                  write(jumlah)
RAPTOR/FLOWCHART KASUS 3.1

 GAMBAR DIATAS ADALAH PROGRAM 3.1 MENGGUNAKAN RAPTOR

C++ KASUS 3.1
 GAMBAR DIATAS ADALAH PROGRAM KASUS 3.1 MENGGUNAKAN C++
Dibawah ini adalah kodingan kasus 3.1 menggunakan c++
#include <iostream>
#include <conio.h>

using namespace std;
class Hitung{
    friend ostream& operator<<(ostream&,const Hitung&);
    friend istream& operator>>(istream&, Hitung&);
public:
    void hitung_jumlahnya();
private:
    int a,b,c;
    int jumlah;
 };


 istream&operator>>(istream& in,Hitung& masukan){
 cout<<"Masukan bilangan pertama : ";in>>masukan.a;
 cout<<"Masukan bilangan kedua : ";in>>masukan.b;
 cout<<"Masukkan bilangan ketiga : ";in>>masukan.c;
 return in;}

 ostream& operator<<(ostream& out, const Hitung& keluaran){
 out<<"Bilangan 1 : "<<keluaran.a<<endl;
 out<<"Bilangan 2 : "<<keluaran.b<<endl;
 out<<"Bilangan 3 : "<<keluaran.c<<endl;
 out<<"Hasil penjumlahan ke 3 integer di atas : "<<keluaran.jumlah<<endl;
 return out;
 }
 void Hitung::hitung_jumlahnya() {
     jumlah=a+b+c;
 }
int main()
{
  Hitung X;
  cin>>X;
  X.hitung_jumlahnya();
  cout<<X;
  getch();
    return 0;
}
     
KASUS 3.2 
    Buatlah algoritma dan program untuk mencari hasil kali dari dua buah bilangan .!
  • Analisis : Mencari hasil kali dua buah bilangan sangat mudah sekali dengan cara memasukkan bialangan pertama dan memasukkan bilangan kedua kemudian kita kalikan.
  • Algoritma : Mencari hasil kali dua buah bilangan.
  • Deklarasi : a, b : integer (input)
  •                    hasil : integer (output)
  • Deskripsi : 
  •                   read(a,b)
  •                   hasil ← a*b
  •                   write(hasil)
RAPTOR


gambar diatas adalah jawaban dari kasus 3.2 menggunakan RAPTOR
 
C++



gambar di atas adalah jawaban dari kasus 3.2 menggunakan raptor. 
dibawah ini adalah kodingan dari kasus 3.2
#include <iostream>
#include <conio.h>

using namespace std;
class perkalian{
    friend ostream& operator<<(ostream&,const perkalian&);
    friend istream& operator>>(istream&, perkalian&);
public:
    perkalian();
    void hitung(){hasil=(a*b);}
private:
    int a,b;
    int hasil;
 };

 perkalian::perkalian(){
 cout<<"KASUS 3.2 PROGRAM PERKALIAN"<<endl;
 cout<<"=============================="<<endl;}

 istream&operator>>(istream& in,perkalian& masukan){
 cout<<"Masukkan nilai a : ";
 in>>masukan.a;
 cout<<"masukkan nilai b : ";
 in>>masukan.b;
 return in;}

 ostream& operator<<(ostream& out, const perkalian& keluaran){
 out<<"Nilai a = "<<keluaran.a<<endl;
 out<<"Nilai a = "<<keluaran.b<<endl;
 out<<"hasil perkalian "<<keluaran.a<<"x"<<keluaran.b<<"="<<keluaran.hasil<<endl;
 return out;}
int main()
{
  perkalian X;
  cin>>X;  X.hitung();
  cout<<X;
  getch();
    return 0;
}

KASUS 3.3
Buatlah algoritma dan program untuk menghitung konversi dari m ke cm dan inchi.
  • ANALISIS : Konversi satuan jarak ditentukan sebagai berikut : 1 meter = 100 cm 
  •                        1 inchi = 2.54 cm.
  • ALGORITMA : Konversi jarak {menkonversi jarak mulai dari meter ke cm dari inchi, masukan m ke cm, lalu masukkan ke inchi} 
  • DEKLARASI : m : real(input)
  •                            cm : real(input)
  •                            inchi : real(output)
  • DESKRIPSI : 
  •                        read(m)
  •                        cm ← m*100 
  •                        inchi m*100/2.54
  •                        write(cm)
  •                        write(inchi)
RAPTOR
 gambar diatas adalah program dari kasus 3.3 menggunakan raptor.

C++

      gambar diatas adalah program kasus 3.3 menggunakan c++
Dibawah ini adalah kodingan kasus 3.3 menggunakan c++
#include <iostream>
#include <conio.h>

using namespace std;
class Konversi{
    friend ostream& operator<<(ostream&,const Konversi&);
    friend istream& operator>>(istream&, Konversi&);
public:

    void konversi_ke_cm();
    void konversi_ke_inci();
private:
    float m;
    int cm,inci;
 };
void Konversi::konversi_ke_inci() {
    inci=(m*100/2.54);
}
void Konversi::konversi_ke_cm(){
    cm=(m*100);
}

 istream&operator>>(istream& in,Konversi& masukan){
 cout<<"Masukan Nilai m : ";in>>masukan.m;
 return in;
 }

 ostream& operator<<(ostream& out, const Konversi& keluaran){
 out<<"Nilai m : "<<keluaran.m<<" m"<<endl;
 out<<keluaran.m<<" m = "<<keluaran.cm<<" cm"<<endl;
 out<<keluaran.m<<" m = "<<keluaran.inci<<" inci"<<endl;
 return out;}
int main()
{
    Konversi X;
  cin>>X;
  X.konversi_ke_cm();
  X.konversi_ke_inci();
  cout<<X;
    return 0;
}

 KASUS 3.4
               Carilah keliling dan luas lingkaran yang telah diketahui jari-jarinya.
  • ANALISIS : untuk mencari keliling dan luas lingkaran menggunakan rumus 
  •                      Keliling = 2*phi*r
  •                      Luas = phi*r*r
  •  DEKLARASI :
  •                          phi = 3.14
  •                              r= integer (input)
  •                           keliling,luas, : real(ouput)
  • DESKRIPSI : read(r)
  •                        keliling ←   2*phi*r
  •                        luas ←    phi*r*r
  •                       write(keliling, luas)  

RAPTOR/FLOWCHART 3.4
 gambar diatas adalah program dari kasus 3.4 menggunakan raptor


C++


gambar diatas adalah program kasus 3.4 menggunakan c++.
dibawah ini adalah kodingan dari kasus 3.4 menggunakan bahasa program c++
#include <iostream>
#include <string>

using namespace std;

class hitungluaskeliling{

 friend ostream& operator<<(ostream&, const hitungluaskeliling&);
 friend istream& operator>>(istream&, hitungluaskeliling&);

public:
    void hitung();
private:
int r;
float luas, keliling, phi;
};

 istream& operator>>(istream& in, hitungluaskeliling& masukan){

 cout << "masukkan jari jari : ";
 in >> masukan.r;
   return in;
 };

 ostream& operator<<(ostream& out, const hitungluaskeliling& keluaran){
        out << "panjang jari-jari  = "<<keluaran.r<<endl;
        out << "luas lingkaran = " <<keluaran.luas<<endl;
        out << "keliling lingkaran = " <<keluaran.keliling<<endl;
 }

void hitungluaskeliling::hitung(){
    phi=3.14;
    keliling=phi*r*2;
    luas=phi*r*r;

}




int main()
{
    hitungluaskeliling x;
    cin >> x;
    x.hitung();
    cout << x;

   return 0;
}

KASUS 3.5
      Carilah konversi sugu dari celcius menjadi reamurm fahrenheit dan kelvin.
  • ANALISIS : rumus konversi dari celcius menjadi reamur, fahrenheit dan kelvin adalah sebagai berikut  :
  •              reamur = 4/5*celcius
  •             fahrenheit=9/5*celcius+32
  •             kelvin=celcius+273
  • ALGORITMA : Menghitung konversi suhu {membaca integer derajat celcius (c), menghitung ekuivalensinya dalam derajat reamur (R), Fahrenheit(F), dan kelvin (K) dan menampilkannya do layar}.
  • DEKLARASI :  c : integer {derajat celcius }
  •                            r : real {derajat reamur}   
  •                            f : real {derajat fahrenheit}
  •                            k : real {derajat kelvin}
  • DESKRIPSI : read(C)
  •                        r← 4/5*C
  •                        f← 9/5*c+32
  •                        k← c+273
  •                        write(r,k,f)
RAPTOR/FLOWCHART KASUS 3.5
 gambar diatas adalah program kasus 3.5 menggunakan raptor.

C++

        gambar diatas adalah program kasus 3.5 menggunakan c++
Dibawah ini adalah kodingan program kasus 3.5 menggunakan c++
#include <iostream>
#include <conio.h>

using namespace std;
class suhu{
    friend ostream& operator<<(ostream&,const suhu&);
    friend istream& operator>>(istream&, suhu&);
public:
    void konversi_ker(){
    r =0.8*c;
    }
    void konversi_kef(){
    f = 9/5*c+32;
    }
    void konversi_kek(){
    k = c+273;
    }
private:
    float c;
    float f,k,r;
 };


 istream&operator>>(istream& in,suhu& masukan){
 cout<<"Masukan Suhu Derajat Celcius : ";in>>masukan.c;
 return in;}

 ostream& operator<<(ostream& out, const suhu& keluaran){
 out<<keluaran.c<<" celcius = "<<keluaran.r<<" reamur"<<endl;
 out<<keluaran.c<<" celcius = "<<keluaran.f<<" farenheit"<<endl;
 out<<keluaran.c<<" celcius = "<<keluaran.k<<" kelvin"<<endl;
 return out;}
int main()
{
  suhu X;
  cin>>X;
  X.konversi_ker();
    X.konversi_kef();
      X.konversi_kek();
  cout<<X;
    return 0;
}


KASUS 3.6
    Setiap bilangan bulat selalu bisa ditulis dalam bentuk :
                                              m=q.n+r
dengan n<m, q adalah kuosen dan r adalah residu (sisa). Buatlah algoritma untuk merepresentasikan m dan dalam bentuk m = q.n + r. sebagai contoh :
  integer m = 73 dab n=7 dapat ditulis sebagai 73=10x7 + 3, yaitu r=3
  • ANALISIS : input : n dan m(n<m)
  •                       kuosen q dapat diperoleh dengan pembagian integer. Operator yang tepat untuk itu adalag div, sedangkan r dapat diperoleh dengan menggunakan operasi modulo. ouput q dan r dalam bentuk m = q.n+r.
  • ALGORITMA : Aljabar {membaca masuan nilai n dan m dengan n<m kemudian menuliskan outputnya berbentuk m=q.n+r}
  • DEKLARASI: m,n : integer {input}
  •                          q,r :integer {output}
  • DESKRIPSI :
  •                          read(m,n) (n<m)
  •                          q←m div n {mendapatkan nilai q}
  •                          r←m mod n {mendapatkan nilai r}
  •                          write(q,r)
RAPTOR/FLOWCHART 3.6
 gambar diatas adalah program kasus 3.6 menggunakan raptor

C++

 gambar diatas adalah program kasus 3.6 menggunakan c++

Dibawah ini adalah kodingan kasus 3.6 menggunakan c++
#include <iostream>
#include <conio.h>

using namespace std;
class aljabar{
    friend ostream& operator<<(ostream&,const aljabar&);
    friend istream& operator>>(istream&, aljabar&);
public:
    void hitung(){
    q=m/n;
    r=m%n;}
private:
    int m,n;
    int q,r;
 };



 istream&operator>>(istream& in,aljabar& masukan){
 cout<<"Masukan Nilai M : ";in>>masukan.m;
 cout<<"Masukan Nilai N : ";in>>masukan.n;
 masukan.hitung();
 return in;}

 ostream& operator<<(ostream& out, const aljabar& keluaran){
 out<<"Nilai Q : "<<keluaran.q<<endl;
 out<<"Nilai R : "<<keluaran.r<<endl;
 out<<"Jadi, "<<keluaran.m<<" = "<<keluaran.q<<" x "<<keluaran.n<<" + "<<keluaran.r<<endl;
 return out;}
int main()
{
  aljabar X;
  cin>>X;
  X.hitung();
  cout<<X;
  getch();
    return 0;
}





KASUS 3.7
 
     Buatlah algoritma menghitung luas segitiga.
  • ANALISI 
  •                input t (tinggi) dan a (alas)
  • ALGORITMA : Menghitung luas segitga {membaca data real berupa panjang alas segitiga (a) dan tinggi segitga (t) dan menghitung luasnya dengan panjang alas dan tinggi tertentu. Luas segitiga dihitung dengan rumus L=1/2*a*t. Nilai L dicetak sebagai output ke piranti keluaran}
  • DEKLARASI :
  •                        a : real {panjang alas segitiga, dalam satuan cm}
  •                        t : real {tinggi segitiga, dalam satuan cm}
  •                        l : real {luas segitiga, dalam satuan cm^2}
  • DESKRIPSI 
  •                       read(t,a)
  •                       l←(a*t)/2
  •                       write(l)
RAPTOR/FLOWCHART KASUS 3.7

gambar diatas adalah program kasus 3.7 menggunakan raptor

C++ kasus 3.7
 
                  gambar  diatas adalah program kasus 3.7 menggunakan c++

dibawah ini adalah kodingan dari program kasus 3.7 menggunakan c++
#include <iostream>
#include <conio.h>

using namespace std;
class segitiga{
    friend ostream& operator<<(ostream&,const segitiga&);
    friend istream& operator>>(istream&, segitiga&);
public:
    void hitung_luas(){luas = a*t/2;}
private:
    int a,t;
    float luas;
 };


 istream&operator>>(istream& in,segitiga& masukan){
 cout<<"Masukan Nilai Alas : ";in>>masukan.a;
 cout<<"Masukan Nilai Tinggi : ";in>>masukan.t;
 return in;}

 ostream& operator<<(ostream& out, const segitiga& keluaran){
 out<<"Luas Segitiga adalah "<<keluaran.luas<<endl;
 return out;}
int main()
{
  segitiga X;
  cin>>X;
  X.hitung_luas();
  cout<<X;
  getch();
    return 0;
}
  






Komentar