Jumat, 30 Maret 2012

Program Menentukan Persegi

#include <cstdlib>
#include <iostream>

using namespace std;

class persegi{
      friend istream& operator>>(istream&, persegi&);
      friend ostream& operator<<(ostream&, persegi&);
     
      public:
      persegi();
      void proses();
     
      private:
      int l, p;
      string cetak;       
      };
     
persegi::persegi(){
                   cout<<"\t\tmenentukan bangun persegi\t\t"<<endl;
                   cout<<endl;
                   }
                  
istream& operator>>(istream& in, persegi& masuk){
         cout<<"masukkan lebar  : "<<endl;
         in>>masuk.l;
         cout<<"masukkan panjang : "<<endl;
         in>>masuk.p;
         return in;
         }
   
    void persegi::proses(){
         if(p==l) cetak = "persegi";
         else cetak = "persegi panjang";
         }
             
ostream& operator<<(ostream& out, persegi& keluar){
         out<<keluar.cetak<<endl<<endl;
        
         return out;
         }
        


int main(int argc, char *argv[])
{
    system("color c7");
    persegi x;
    cin>>x;
    x.proses();
    cout<<x;
    system("color c7");
    system("PAUSE");
    return EXIT_SUCCESS;
}

Program Menentukan Tahun Kabisat

#include <cstdlib>
#include <iostream>

using namespace std;

class kabisat{
      friend istream& operator>>(istream&, kabisat&);
      friend ostream& operator<<(ostream&, kabisat&);
     
      public:
      kabisat();
      void proses();
     
      private:
      int x;
      string cetak;       
      };
     
kabisat::kabisat(){
                   cout<<"\t\tmenentukan tahun kabisat\t\t"<<endl;
                   cout<<endl;
                   }
                  
istream& operator>>(istream& in, kabisat& masuk){
         cout<<"masukkan tahun: ";
         in>>masuk.x;
         return in;
         }
        
ostream& operator<<(ostream& out, kabisat& keluar){
         out<<keluar.x<<" "<<keluar.cetak<<endl<<endl;
         return out;
         }
        
void kabisat::proses(){
         if(x==0) cetak = "awal tahun masehi";
         else if (x>0 && x % 4 == 0) cetak = "tahun kabisat";
         else if (x<0 && x % 4 == 0) cetak = "tahun bukan kabisat";
         else cetak = "bukan tahun kabisat";
         }

int main(int argc, char *argv[])
{
    system("color c7");   
    kabisat tanggal;
    cin>>tanggal;
    tanggal.proses();
    cout<<tanggal;
    system("color c7");   
    system("PAUSE");
    return EXIT_SUCCESS;
}

Rabu, 28 Maret 2012

Refleksi Minggu 05 Algoritma & Pemrograman

Pada minggu kelima ini mempelajari tentang Function ( Fungsi ). Pada minggu kelima ini saya mulai menemukan kesulitan baru pada setiap kasus yang ada pada slide. Tapi, saya tetap berusaha untuk mengerjakan dengan memahami soalnya terlebih dahulu walaupun pada akhirnya bertanya dan sharing pada mentor. Dan pada akhirnya raptor selesai dikerjakan untuk kasus 5.1, 5.2, 5.4 dan 5.5. Akan tetapi saya masih bingung pada function untuk kasus 5.3, 5.6, 5.8 yang lebih mendalam dan lebih kompleks.
Kesan : Pada minggu kelima ini saya mengalami sedikit kesulitan dan lebih banyak mendapati hal - hal baru pada alpro.

Senin, 26 Maret 2012

Raptor kasus ( 5.5 fungsi faktorial secara rekursif untuk mencari nilai n! )



Ket : 1. masukan "n"

        2. disini terjadi pemanggilan 2 kali yaitu yang pertama pemanggilan "n" secara "interatif ( n )" dan pemanggilan "n" secara "rekursif ( n )" yang pertama akan pemanggilan secara interatif terlebih dahulu



Ket : 3. disini akan ada fungsi yang bernama "interatif", pertama "a" akan diinisialisasikan "a = 1"

        4. kemudian akan terjadi perulangan jika "n <= 0" , setelah itu  akan diproses, jika masuk ke proses "yes" maka akan langsung ke keluaran "interatif -> n! = + a" kemudian akan masuk ke fungsi dengan nama "rekursif"


 

Ket : 5. akan masuk ke "n==0" dan masuk ke proses "yes" dan langsung menghasilkan keluaran ( outputnya )

        6. jika "n <=0" menghasilkan proses "no" maka akan masuk ke fungsi dengan nama "interatif"




Ket : 7. "a = n * a" disini artinya nilai "n" yang kita inputkan akan dikalikan dengan variabel "a"

        8. "n = n +1" artinya nilai "n" akan terus bertambah sampai batas yang ditentukan

        9. kemudian setelah itu akan masuk ke "interatif -> n! = + a", dan akan masuk lagi ke fungsi yang bernama "rekursif" 


 

Ket : 10. "n == 0", langsung masuk ke proses "no" dan akan ada pemanggilan "rekursif ( n - 1, n * a )"

        11. kemudian balik lagi ke fungsi yang bernama "main" dan langsung keluaran