Suatu barisan U1, U2, U3, ....disebut barisan geometri jika perbandingan dua suku yang berurutan adalah tetap. Nilai perbandingan yang tetap itu disebut rasio. a + ar² + ....... + arn-1 disebut deret geometri dengan kompisisi sebagai berikut :
a = suku awal
r = rasio
n = banyak suku
r = rasio
n = banyak suku
Rumus untuk mencari suku ke-n adalah sebagai berikut :
Rumus untuk mencari Jumlah n suku adalah sebagai berikut :
- Algoritma Mencetak Deret Geometri
Algoritma Mencetak deret geometri
Deklarasi:
a,b, n,i : Integer
x[] : Integer of Array
Deskripsi:
read (a,b,n)
x[1] <= 1
x[2] <= a*b
x[3] <= a*b*b
for i=4 to n do
x[i] <= x[2]*[xi-1]
end for
for i=1 to n do
write (x[i])
end for
- Algoritma Menghitung suku ke-n
Algoritma menghitung suku ke-n
Deklarasi :
a,b,n,un,i,r : integer
Deskripsi :
read (a,b,n)
r <=1for i=1 to (n-1) do
r <= r*b
end for
un <= a *r
write un
- Algoritma Menghitung Jumlah semua suku
Algoritma Menjumlah Semua Suku
Deklarasi :
read (n)
jumlah, i, n : Integer
x[] : Integer of Array
Deskripsi :
jumlah <= 0
for i =1 to n do
jumlah <= jumlah + x[i]
end for
write (jumlah)
#include <cstdlib>
#include <iostream>
using namespace std;
class geometri{
friend istream& operator>>(istream&, geometri&);
friend ostream& operator<<(ostream&, geometri&);
public:
geometri();
void cetak();
private:
int x[100];
int a,b,n,un,sn;
int jumlah;
};
istream& operator>>(istream& mlebu, geometri& s){
cout<<"Masukkan Suku Pertama :"; mlebu>>s.a; cout<<endl;
cout<<"Masukkan r :"; mlebu>>s.b; cout<<endl;
cout<<"Masukkan Jumlah Suku :"; mlebu>>s.n; cout<<endl;
return mlebu;
}
ostream& operator<<(ostream& metu, geometri& v){
metu<<"Suku Pertama :"<<v.a<<endl;
metu<<"r :"<<v.b<<endl;
metu<<"Jumlah Suku :"<<v.n<<endl;
metu<<"Deret Geometri :";
for(int i=0; i<v.n; i++){
metu<<v.x[i]<<",";
}
metu<<endl;
metu<<"Jumlah Seluruh Deret : "<<v.jumlah<<endl;
return metu;}
geometri::geometri(){
cout<<"\t\t<< PROGRAM MENCETAK DAN MENGHITUNG DERET GEOMETRI >>"<<endl;
cout<<"\t\t<< ======================OLEH====================== >>"<<endl;
cout<<"\t\t<< =================-ARIF BUDIARTI================= >>"<<endl;
cout<<"\t\t<< =====================10018021=================== >>"<<endl;
}
void geometri::cetak(){
x[0]=a;
x[1]=a*b;
x[2]=a*b*b;
for(int i=2; i<n; i++){
x[i]=x[1]*x[i-1];
}
jumlah=0;
for(int i=0; i<n; i++){
jumlah=jumlah+x[i];
}
}
int main(int argc, char *argv[])
{
geometri arif;
cin>>arif;
arif.cetak();
cout<<arif;
system("PAUSE");
return EXIT_SUCCESS;
}