Tampilkan postingan dengan label Bab 5. Tampilkan semua postingan
Tampilkan postingan dengan label Bab 5. Tampilkan semua postingan

Rabu, 06 April 2016

DIKTAT BAB 5

Halaman 120.

2. Buatlah fungsi fibonacci dengan 2 cara rekursif yang lain.

Dev C++

source code :

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

outputnya :

4. Buatlah algoritma rekursif dari algoritma 5.3.

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)

5. Diberikan suatu bilangan bulat positif. Cetaklah bilangan bulat tersebut secara terbalik, secara 
iteratif maupun rekursif.

Dev C++

source code :

#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
class perulangan{
public:
perulangan(){int i=0;}
void balik_while(int);
void balik_iteratif(int);
void balik_rekursif(int);
};
void balik(char*s){
if(*s!='\0'){
balik(&s[1]);
cout<<s[0];
}
}
int main(int argc, char** argv) {
char*balik="balik bilangan";
int a,b;
cout<<"masukan iteratif maupun rekursif"<<endl;
cin>>a>>b;
cout<<b<<a;
return 0;
}

outputnya :


6. Buatlah suatu subprogram yang mengembalikan nilai maksimum pertama (misal m1) dan nilai maksimum kedua (misal m2, dan m1 􀁺 m2) dari array dengan n bilangan bulat.

Dev C++

source code :

#include <iostream>
using namespace std;

int main()
{
int max,n,i,min;
float A[100];
cout <<"Masukkan Jumlah Data : ";cin>>n;
for(i=0;i<n;i++){
cout << "masukkan bilangan ke "<< i+1 << " : ";
cin >> A[i];}
max = A[0];
for (i=1;i<n;i++){
if (max < A [i])
max = A[i];
}

cout <<"Nilai Terbesar adalah : "<<max<<endl;

return 0;
}

outputnya :

untuk nomer 1,3 silahkan kunjingi link dibawah ini 
Ela Dwi Anggraini
untuk nomer 7-9 silahkan kunjingi link dibawah ini 
Agus Prasetyo

Senin, 04 April 2016

DIKTAT BAB 5

Halaman 110.

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

Algoritma

Algoritma
Menghitung Hasil Deret 1-1/2+1/3-1/4+...+1/n
Deklarasi
a,n:integer (input)
p,bil,hasil,total :integer (output)
Deskripsi
a<-2
bil<-1
p<-1
total<-0
hasil<-0
repeat until p=n
if p%2=0
hasil<- (-1)*(bil/p)
if a=n
write (a)
else
hasil<-bil/p
if a=n
write (a)
total<-total+hasil
p<-p+1
a<-a+1
write n,bil,total

Dev C++

source code :

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

    }

outputnya :

Raptor 


5. Buatlah algoritma dan program untuk menghitung nilai dari permutasi dan kombinasi n buah bola yang diambil r bola.

Dev C++

source code :

#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int faktorial(int N);

int main(void)

{
int hasil;
int n,k, Y=1;
char proses[2];
char yesno[2];

while(Y) {

cout<<"\tMasukkan nilai n : ";
cin>>n;
cout<<"\tMasukkan nilai k : ";
cin>>k;

if(n<k){
cout<<"\tNilai n tidak boleh lebih kecil dari k\n";
}
else
{
cout<<"\tPilih P (permutasi) atau C (kombinasi) : ";
cin>>proses[0];
if (proses[0]=='p' || proses[0]=='P')
{
hasil = faktorial(n)/faktorial(n-k);
cout<<"\n \n";
cout<<n<<"P"<<k<<" : "<<hasil;
}
else if (proses[0]=='c' || proses[0]=='C')
{
hasil = faktorial(n)/(faktorial(k) * faktorial(n-k));
cout<<"\n \n";
cout<<n<<"C"<<k<<" : "<<hasil;
}
else
cout<<"\n\tAnda tidak memilih P atau C";

cout<<"\n\tIngin mengulang? <y/n> ";
cin>>yesno[0];
if (yesno[0]=='Y'||yesno[0]=='y')
Y=1;
else if (yesno[0]=='N'||yesno[0]=='n'||yesno[0]!='Y'||yesno[0]!='y')
Y=0;
}
}
}

int faktorial(int N)
{
int F;
if (N<=1)
{
return(1);
}
else
{
F = N * faktorial(N-1);
return(F);
}

}

outputnya:

Raptor

untuk nomer 1-3 silahkan kunjingi link dibawah ini 
Ela Dwi Anggraini
untuk nomer 6-7silahkan kunjingi link dibawah ini 
Agus Prasetyo