You can replace this text by going to "Layout" and then "Page Elements" section. Edit " About "

21/03/14

3.1 finding the square root of a number

Masalah

Algoritma Persamaan_Kuadrat
Menghitung akar-akar persamaan kuadrat Ax^2+Bx+C = 0

 ANALISIS 

Input : A, B, C
Proses :mencari persamaan akar-akar kuadrat
Output : akar-akar kuadrat

DEKLARASI

A, B, C : integer {koefisien-koefisien persamaan}
disk : longint {nilai diskriminan}
x1, x2 : real {nilai-nilai akar untuk disk>=0}

DESKRIPSI

read (A, B, C)
disk ← B*B – 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)

FLOWCHART

C++
#include <iostream.h>
#include <math.h>
main() {
   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.\n";
        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\n";
             cout << "x1 = " << x1 << endl;
             cout << "x2 = " << x2 << endl;
             } else cout << "Akar imajiner";
     }
     return 0;
}

3.2 the smallest divisor of an integer

Masalah
menyusun algoritma dan program untuk menemukan pembagi terkecil

ANALISIS                 input    : bilangan yang akan di cari pembagi terkecil

                proses   : i=2

DEKLARASI
DESKRIPSI

3.3 the greatest common divisor of two integer "FPB"

 Masalah
diberikan 2 bilangan bulat untuk mencari FPB 

ANALISIS
                 Input  : masukkan bilangan 1 dan bilangan 2

                 Proses : bilangan di mulai dari 1
                                ada proses looping jika i>Bil1 && j>Bil2 maka keluar hasil FPB
                                jika tidak maka lakukan looping dengan rumus (Bil1%i)=0 &&(Bil2%j)=0
                                kemudian keluar hasili lalu ada inisialisasi dimana hasil i dan j sama-sama di tambah 1

                 Output : hasil FPB dari bilangan 1 dan bilangan 2


DEKLARASI
                   int hasil, bilangan1, bilangan 2, i, j (inputan)
                   int hasil, i, j (output)
DESKRIPSI
                  i>Bil1 && j>Bil2
                 (Bil1%i)=0 &&(Bil2%j)=0
                 i =i+1;
                 j =j+1; 

FLOWCHART

3.4 generating prime numbers

Masalah
merancang ebuah algoritma dan program untuk membangun atau menentukan bilangan prima

ANALISIS
               Input : batas bilangan yang akan di cari bilangan primanya misalnya 5 maka program    akan mengulang 5 kali untuk mencari bilangan primanya.
              Proses : i = 2 maksudnya adalah i di inisialisasikan nilai awalnya adalah 2
                            kemudian ada proses looping jika nilai i>bilangan maka keluar bilangan primanya. jika tidak ada proses looping lagi rumus  i%2=0 && i!=2, jika ya maka hasil i+1 jika tidak ada looping lagi rumus i%3=0 jika ya hasil i+1 jika tidak keluar hasil i
              Output : hasil bilangan primanya

DEKLARASI

DESKRIPSI

FLOWCHART


3.5 computing the prime factors of an integer

Masalah 
merancang algoritma untuk menghitung semua factor prima dari suatu bilangan bulat

ANALISIS
                 Input :
                Proses :
                Output : faktor dari bilangan prima yang di inputkan

DEKLARASI

DESKRIPSI 

FLOWCHART

C++

3.6 random number

Masalah
design algoritma mencari nilai acak dari R (input bilangan)

Analisis :
Input : R dalam integer
Proses : while (1){
c=1283, a=106, m=r+1, x=1234
z=((a*x)+c)%m;
maka akan mencetak z
untuk mengulangi pengacakan
maka jawab y
jika tidak maka jawab n
Output : Cetak z

Deklarasi :
Integer R[Input],jawab[string]
Integer c,a,m,x[counter]
Integer z[Output]

Deksripsi :
Read[R,c,m,a,x dan z]
while(1){
c=1283,a=106,m=r+1,x=1234
z=((a*x)+c)%m; cetak z
Apakah anda ingin mencoba lagi?(y/n)
if(jawab=="n")break;}
Print[]

Flowchart

C++
{ int r, x, z, a, c, m;
string jawab;
cout<<"Silahkan masukkan angka acak"<<endl;
cin>>r;
while(1)
{
c=1283;
a=106;
m=r+1
x=1234;
z=((a*x)+c)%m;
cout<<"Bilangan acak anda adalah"<<z<<endl;
cout<<"Apakah anda ingin mencoba lagi?(y/n)"<<endl;
cin>>jawab;
if(jawab=="n")break;
}

3.7 raising a number

Masalah
design algoritma untuk menghitung (input bilangan) berpangkat menggunakan bts (batasan pangkat)

Analisis : 
Input : bil dalam integer
Proses : looping(1){
masukan bts;
jika (bts<=0) break;
akan muncul peringatan}
i=1;
looping (!(i>bts)){
hasil=pow (bil,(i));
cetak bil^(i)=hasil}
i=i+1;
Output : cetak hasil

Deklarasi :
Integer bil,bts [Input]
Integer hasil [Output]

Deskripsi :
Read [bil,bts,hasil]
while(1){
masukan bts;
if(bts>=0)break;
akan muncul peringatan}
i=1;
while(!(i>bts)){
hasil=pow(bil,(i));
cetak bil^(i)=hasil}
i=i+1;
Print [hasil]

Flowchart
C++
{
double hasil;
int bts, bil, i;
cout<<"Silahkan masukan bilangan:"<<endl;
cin>>bil;
while (1)
{
cout<<"Silahkan masukan batas pangkat"<<endl;
cin>>bts;
if(bts>=0)break;
cout<<"Maaf, anda memasukan pangkat di luar range, silahkan mencoba lagi"<<endl;
}
i=1;
while(!(i>bts))
{
hasil=pow(bil,(i));
cout<<bil<<"("<<i<<") : "<<hasil<<endl;
i=i+1;
}


Artikel Terkait:

0 komentar :

Posting Komentar