Senin, 14 Maret 2011

Tugas Diskusi I

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

class konversi{
friend istream& operator>>(istream& , konversi&);
public:
konversi(unsigned int b=0){bilangan=b;}
void membilang1();
void membilang2();
void membilang3();
void membilang4();
void membilang5();
void membilang6();
void membilang7();
void konversikan();
private:
unsigned int bilangan;
};

istream&
operator>>
(istream& in, konversi& x){
cout <<"masukkan bilangan : ";
in>>x.bilangan;
return in;
}
void konversi::konversikan(){
if(bilangan<=11 || bilangan==100)membilang1();
else if(bilangan>19 && bilangan<=99)membilang3();
else if (bilangan>100 && bilangan<=999)membilang4();
else membilang2(); }

void konversi::membilang3(){
int satuan;
if(bilangan>19){
satuan=bilangan%10;
bilangan=bilangan/10;
konversikan();
cout<
<"puluh ";
if (satuan!=0) {
bilangan=satuan;
konversikan();}
}
}
void konversi::membilang1(){
switch(bilangan){
case 0:cout<<"nol ";
break;
case 1:cout<<"satu "; break;
case 2:cout<<"dua "; break;
case 3:cout<<"tiga "; break;
case 4:cout<<"empat "; break;
case 5:cout<<"lima "; break;
case 6:cout<<"enam "; break;
case 7:cout<<"tujuh "; break;
case 8:cout<<"delapan "; break;
case 9:cout<<"sembilan "; break;
case 10:cout<<"sepuluh "; break;
case 11:cout<<"sebelas "; break;
case 100:cout<<"seratus "; break;
default : cout<<"diluar range ";
}
}
void konversi::membilang2(){
int temp;
if(bilangan>11 && bilangan<20){
bilangan%=10;
membilang1();
cout<<"belas ";
}
else
membilang1();
}
void konversi::membilang4(){
int puluhan;
puluhan=bilangan%100;
if(bilangan>100 && bilangan<200){
cout <<"seratus ";
}
else
{
bilangan=bilangan/100;
konversikan();
cout<<"ratus ";}
bilangan=puluhan;
konversikan();
}
void konversi::membilang5(){
int ratusan;
ratusan=bilangan%1000;
if(bilangan>1000 && bilangan<2000){
cout <<"seribu ";
}
else
{
bilangan=bilangan/1000;
konversikan();
cout<<"ribu ";}
bilangan=ratusan;
konversikan();
}
void konversi::membilang6(){
int ribuan;
ribuan=bilangan%10000;
if(bilangan>10000 && bilangan<20000){
cout <<"puluhan ribu ";
}
else
{
bilangan=bilangan/10000;
konversikan();
cout<<"puluhan ribu ";}
bilangan=ribuan;
konversikan();
} void konversi::membilang7(){
int puluhan_ribu;
puluhan_ribu=bilangan%100000;
if(bilangan>100000 && bilangan<200000){
cout <<"seratus ribu ";
}
else
{
bilangan=bilangan/100000;
konversikan();
cout<<"ratusan ribu ";}
bilangan=puluhan_ribu;
konversikan();
}
int main(){
konversi a;
cin>>a;
a.konversikan();
cout<
system("PAUSE");
return EXIT_SUCCESS;
}

Tugas Individu Minggu ke-2


1.       algoritma dan program untuk mencari titik tengah sebuah garis yang ujung titiknya adalah A(x1,y1) dan B(x2,y2).
Input = A(x1,y1)
                B(x2,y2)
Output = mencetak titik tengah sebuah garis (xT,yT)
·         Algoritma
1.       masukan x1
2.       masukan x2
3.       masukan y1
4.       masukan y2
5.       hitung titik tengah xT
6.       hitung titik tengah yT
7.       Tampilkan T(xT,yT)

·         Program dari Algoritma diatas
#include <iostream>
class Titik{
      friend istream& operator>>(istream& ,Titik&);
      friend ostream& operator<<(ostream& ,Titik&);
      public:
             Titik();
             float titik1();
             float titik2();
      private:
             float x1, x2;
             float y1, y2;
             float TitikTengahx;
             float TitikTengahy;
             };
Titik::Titik(){
               }
float Titik :: titik1(){
                TitikTengahx=(x1+x2)/2;
                return TitikTengahx;
      }
float Titik :: titik2(){
      TitikTengahy=(y1+y2)/2;
      return TitikTengahy;
      }
istream& operator>>(istream& in, Titik& M){
         cout<<"PROGRAM MENGHITUNG TITIK TENGAH"<<endl;
         cout<<"masukkan nilai x1 dan x2 : ";
         in>>M.x1>>M.x2;
         cout<<"masukkan nilai y1 dan y2 : ";
         in>>M.y1>>M.y2;
         return in;
   }

ostream& operator<<(ostream& out, Titik& M){
        out<<"titik tengahnya adalah :("<<M.titik1()<<" , "<<M.titik2()<<")";
        return out;
   }
int main(){
        Titik x;
        cin>>x;
        cout<<x;
      return 0;
}










 2.       algoritma dan program untuk memisahkan bilangan integer yang kurang dari 1000 menjadi komponen- komponennya.
·         Algoritma
Input a( 3 digit)
1.       a/100             = a1
2.       a mod 100   = b
3.       b/10               = b1
4.       b mod 10     = c
5.       c/1                  = c1
- program dari algoritma diatas : 







3.       algoritma dan program untuk menghitung determinan matriks berordo 2x2
·         Algoritma
1.       Input a
2.       Input b
3.       Input c
4.       Input d
Determinan                = axd-bxc
program dari algoritma diatas :