Sabtu, 09 April 2016

Diktat Bab 5

Assalamu'alaikum wr. wb.

Inilah pembahasan Diktat Bab 5 :

1. Cetaklah bilangan 1 sampai 4 menggunakan downto.

C++ :

#include <iostream>

using namespace std;

int main(){
 cout <<"\n \t\t\tPROGRAM MENCETAK BILANGAN 1-4  \n";//Algoritma menceteak bilanagn 1 sampai 4
 cout <<" \n\t\t\t     DENGAN PERULANGAN \n";  //{langsung mencetak bilanagn 1 sampai 4}

int b; //Deklarasi b=integer
 for (b=1;b<=4;b++){ //read
 cout<<b<<endl;
 }

 return 0;
}

Output :

3. Buatlah algoritma dan program untuk mencetak bilangan yang habis dibagi 3 dan 5 antara 1 sampai 100.

C++ :

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

 for(a=1;a<=100;a++){
 if(a%3==0 && a%5==0){
  cout<<"Bilangan habis dibagi 3 dan 5= "<<a;
  cout<<endl;
 }else{
 }
 }
 return 0;
}

Output :
Algoritma :
Algoritma
Mencetak bilangan yang habis dibagi 3 dan 5 antara 1-100
Deklarasi
a:integer (output)
Deskripsi
a<-1
repeat
 a<-100
 a%3<-0 && a%5<-0
write(a)

5. Hitunglah nilai dari :
                                           1-(1/2)+(1/3)-(1/4)+......+(1/n)

C++ :

#include <iostream>
#include<conio.h>
#include<math.h>
using namespace std;

    class hitung
    {
    public:
           void input();
           int proses();
    private:
            int a;
            float bil,hasil,total;
            };

    void hitung::input(){
 cin>>a;
    cout<<endl;}

    int hitung::proses(){
    hasil=0;
    total=0;
    bil=-1;
    for(int j=1; j<=a; j++){
    bil=(bil*(-1));
    total=bil/j;
    hasil+=total;
    if(j==1)
    cout<<"("<<bil<<"/"<<j<<")";
    if(j>1)
    cout<<" +("<<bil<<"/"<<j<<")";
    }

    cout<<endl<<endl<<"hasil penjumlahan deret = "<<hasil;
    return hasil;
    }

    int main()
    {
    cout<<"menghitung jumlah Hasil Deret 1-(1/2)+(1/3)-(1/4)+...+(1/n)"<<endl<<endl;
    cout<<"masukan nilai n : ";
    hitung deret;
    deret.input();
    deret.proses();

    getch();
    return 0;
    }

Output :

6. Buatlah algoritma dan program untuk mengkonversi bilangan desimal menjadi bilangan biner. Petunjuk : Gunakan operator mod dan div !

C++ :

#include <iostream>
using namespace std;


int main(int argc, char** argv) {

 long desimal, pembagi, bit;
 pembagi=1073741824;

 cout<<"\t\t Program Konversi Bilangan Desimal ke Biner"<<endl<<endl;
 cout<<" Masukan bilangan  desimal : ";
 cin>>desimal;

 while(pembagi>desimal)pembagi/=2;
 do{
  bit=desimal/pembagi;
  cout<<bit;
  desimal=desimal%pembagi;
  pembagi/=2;
 }
 while(pembagi>=1);
 cout<<"\n";
 return 0;
}

Output :

Latihan hal. 120
1. Bualah fungsi fibonacci dengn cara iteratif.

C++ :

#include <iostream>


using namespace std;

int iteratif (int suku, int a, int b, int c)
{
a=0, b=1;

if (suku == 1) return b;
if (suku == 0) return a;

else{
for(int i=2; i<=suku; i++){

c = a + b;
a = b;
b = c;
}
return c;
}
}

int main()
{
int suku, a, b,c;

cout<<"Masukkan nilai suku ke-: ";

cin>>suku;
cout<<"\nBilangan fibonaccinya untuk "<<suku<<" adalah ";
cout<< iteratif ( suku,  a,  b,  c);
return 0;
}

Output :

2. Buatlah fungsi fibonacci dengan 2 rekursif yang lain.

C++:

#include <iostream>
using namespace std;
int nextTerm(int n){
 int firstTerm = 0, secondTerm = 1;
 int nextTerm;
 cout << "Fibonacci Series: " << firstTerm << " " << secondTerm << " ";
 for (int i = 1; i <= n-2; ++i) {
        nextTerm = firstTerm + secondTerm;
        cout<<nextTerm << " ";
        firstTerm = secondTerm;
        secondTerm = nextTerm;
    }
}
int main() {
    int n;
    cout << "Enter number of terms: ";
    cin >> n;
    nextTerm(n);
    return 0;
}

Output :

3. Algoritma perkalian dengan cara penjumlahan pada algoritma 5.3. belum sempurna karena belum mencakup semua kemungkinan, misalnya untuk harga b negatif. Buatlah fungsi perkalian dengan cara penjumlahan dengan menyempurnakan algoritma 5.3. di atas.

C++ :

#include <iostream>
#include <math.h>
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,i,jumlah=0;
    cout<<"Menghitung Perkalian dengan Penjumlahan"<<endl;
    cout<<"Masukan Nilai pertama = ";cin>>a;
    cout<<"Masukan Nilai Kedua   = ";cin>>b;
    if (a>0 && a<0 || b>0){
    for(i=1;i<=b;i++)
        jumlah+=a;
        cout<<a<<"x"<<b<<"="<<jumlah;
    }else if(b<0 && a<0){
        for(i=0;i>a;i--)
        jumlah-=b;
        cout<<a<<"x"<<b<<"="<<jumlah;         
    }else{
        for(i=1;i<=a;i++)
        jumlah+=b;
        cout<<a<<"x"<<b<<"="<<jumlah;
    }
    return 0;
}
Output :


4. Buatlh algoritma rekursif dari algoritma 5.3.

Algoritma :

 Algoritma : algoritma rekrusif
(diberikan masukan a,b,i,jumlah)
Deklarasi :
 I,n,jumlah,x : integer
Deskripsi :

Read(n)
jumlah←0
for i←1 to n do
      read(x)
     jumlah←jumlah+x
endfor
rata←jumlah/n
write(rata)

Sekian Pembahasan dari diktat bab 5. Semoga bermanfaat
Wassalamu'alaikum wr. wb

0 komentar: