Kamis, 07 April 2016

Latihan Diktat Bab 5 - PERULANGAN/ LOOP

Untuk Latihan halaman 110 nomor 1-5 dapat dilihat di : http://hiwilmacleta.blogspot.co.id/search/label/Diktat5




no. 6 halaman 110

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

Algoritma :
1. Deklarasi
                desimal, pembagi, bit : long
                pembagi=1073741824

3. Deskripsi
                Read(desimal)
                while(pembagi>desimal)pembagi/=2

                do
                bit=desimal/pembagi
                then write(bit)
                desimal=desimal%pembagi
                pembagi/=2;

                while(pembagi>=1)
                write("\n")

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) {
               
                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;
}

Kalau di run, hasilnya :

Flowchart :


no.7 halaman 110

Soal :
Buatlah algoritma, flowchart dan program untuk menampilkan permutasi dari 3 huruf. Misalnya diberikan : abc
output :
    abc
    bca
    bac, dan seterusnya

C++ :
#include <iostream>
#include <string.h>
#include <conio.h>
#include <stdio.h>
using namespace std;
void masuk(char a[50]);
void keluar(char b[50]);
void identitas();

int main()
 {
  char kata[50];
      cout<<"\nPermutasi dari tiga huruf"<<endl;
      masuk(kata);
      keluar(kata);;
  getch();
 }

void masuk(char a[50]){
   cout<<"\nMasukkan Kata           : ";
  gets(a);
  cout<<endl;

      }

void keluar(char b[50]){
cout<<"\nHasil Pembalikkan kata  :";
  for(int a=strlen(b);a>=0;a--)
   {
    cout<<b[a];
   }
      cout<<endl;
      }


Kalau di run, hasilnya :




No. 1 halaman 120

Soal :
Buatlah fungsi fibonacci dengan 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;
}


Kalu di run, hasilnya :



no.2 halaman 120

Soal :
Buatlah fungsi fibonacci dengan 2 cara 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;
}


Kalau di run, hasilnya :



no.3 halaman 120

Soal :
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;
}

Kalau di run, hasilnya :


Untuk nomor 5-9 halaman 121 dapat dilihat di : http://ratihpuspita29.blogspot.co.id/search/label/bab5


SEMOGA BERMANFAAT!!!

Tidak ada komentar:

Posting Komentar