Friday, March 31, 2017

LATIHAN BAB 4 (No 1-4)

1.Buatlah flowchart dan translasi program dari algoritma 3.2.b. di atas.

Ananlisis :
Cara yang tepat adalah dengan membandingkan bilangan A dengan B dan di bandingkan lagi dengan C, makan akan di ketahui nilai terbesarnya.

Algoritma Nilai_ Maksimum
{Membaca tiga buah bilangan bulat, menentukan bilangan terbesar di antara tiga buah bilangan tersebut dan menampilkannya ke layar}
Deklarasi
a, b, c : integer
Deskripsi
  read (a, b, c)
  if (a>b){
     if (b>c){
        "bilangan terbesar adalah B"
    else
        "bilangan terbesar adalah C"
     }
     if (c>a){
        "bilangan terbesar adalah C"
    else
        "bilangan terbesar adalah A"
     }
   write (a or b or c)
RAPTOR

C++




2.Sempurnakan algoritma 3.3. dengan akar imajiner berbentuk :
                                                              a + bi 
dengan a dan b bilangan real dan bila harga b^2-4ac<0
Perhatikan bahwa nilai a dan b dihitung terpisah.
Rumus menghitung nilai a :
Rumus menghitung nilai b :
Operator Overloading untuk output :
 
Ananlisis :
Persamaan kuadrat adalah persamaan dengan bentuk umum Ax^2 + Bx + c =0 . Akar persamaan kuadrat diperoleh dengan rumus : 
Bila b^2-4ac<0 maka akan diperoleh akar imajiner.
Algoritma
{Menghitung akar-akar persamaan kuadrat Ax^2 + Bx + c =0, algoritma memasukan inputan(x,y,z) untuk mencari nilai x1 dan x2 dengan cara rumus di atas}
    Deklarasi
  A, B, C : integer (koefesien-koefesien persamaan)
  disk : longint (nilai diskriminan)
  x1, x2 : real (nilai-nilai akar untuk disk>=0)
    Deskripsi
    read (x,y,z)
   disk =y*y-4*x*z;
   if (x==0)
   {
      cout << "Bukan persamaan kuadrat" << endl;   }
   else
   {
      if (disk>0)
      {
         x1 =(-y+(sqrt(disk)))/(2*x);
         x2 =(-y-(sqrt(disk)))/(2*x);
         cout << "x1 = " << x1 << endl;
         cout << "x2 = " << x2 << endl;      }
      else
      {
         if (disk==0)
         {
            x1 =y/2*x;
            x2 =x1;
            cout << "Diskriminan = " << disk << " maka akar -akarnya adalah " << endl;
            cout << "x1 = " << x1 << endl;
            cout << "x2 = " << x2 << endl;         }
         else
         {
            cout << "Akar imajiner" << endl;         }
      }
   }
write (x1,x2)
 
 
RAPTOR



C++





 3.Buatlah program dari algoritma 3.4. menggunakan case ... of 
     
     Ananlisis :
Program ini hanya membutuhkan 1 inputan, lalu inputan tersebut di cek menggunakan percabangan,jika inputan tersebut memenuhi suatu kondisi di dalam percabangan itu makan outpukan sesuai kondisi terssebut.

Algoritma Nilai_ Maksimum
{Mengkonversi dari nilai angka menjadi nilai huruf} 
Deklarasi
angka : integer
huruf : char

Deskripsi
read (angka)
if (angka > 0) and (angka <=20) then huruf 'E'
else if (angka > 20) and (angka <=40) then huruf 'B'
else if (angka > 40) and (angka <=60) then huruf 'C'
else if (angka > 60) and (angka <=80) then huruf 'B'
else huruf 'A'
end if
write (huruf)
RAPTOR


C++ 



4.Buatlah algoritma, flowchart dan program untuk mengecek apakah pemakai memasukkan bilangan bulat atau bilangan real.
Lebih dulu, carilah perbedaan dari 1.0 dan 1 kemudian 1 dan 1.23.
Perbedaan :
Bilangan Real adalah bilangan yang merupakan gabungan dari bilangan rasional dan bilangan irasional sendiri.
Bilangan Bulat adalah bilangan yang terdiri atas bilangan negatif, bilangan nol (0) dan bilangan positif , yaitu ....,-2,-1,0,1,2,.... dst.

     Ananlisis :
Program ini hanya membutuhkan 1 inputan, lalu inputan tersebut di cek dengan bilangan dasar nya menggunakan floor (di raptor) dan menggunakan int (di c++). Lalu cetak hasilnya bilangan real atau bilangan bulat.

Algoritma
 {Menenentukan bilangan bulat atau bilangan real} 
Deklarasi
a : float
b : integer
Deskripsi
read (a)
if(a==floor(b))
write (bilangan bulat)
else
write (bilangan real)


RAPTOR


C++



 
 



  

No comments:

Post a Comment