1. Algoritma dan program untuk mencari titik tengah sebuah garis yang ujung titiknya
adalah A(x1,y1) dan B(x2,y2).
Algoritma :
Deklarasi :
x1, x2, y1, y2, xt, yt : integer
Deklaration :
Read: Input X1, X2, Y1, X2
Xt <= (X1 + X2 )/2
Yt <= (Y1 + Y2 )/2
Write : (Xt, Yt)
x1, x2, y1, y2, xt, yt : integer
Deklaration :
Read: Input X1, X2, Y1, X2
Xt <= (X1 + X2 )/2
Yt <= (Y1 + Y2 )/2
Write : (Xt, Yt)
Source code :
#include <cstdlib>
#include<iostream>
using namespace std;
void Titik_Tengah()
{
int x1, x2, xt,y1,y2,yt;
cout<<"masukkan x1 = ";
cin>>x1;
cout<<"masukkan x2 = ";
cin>>x2;
cout<<"masukkan y1 = ";
cin>>y1;
cout<<"masukkan y2 = ";
cin>>y2;
cout<<endl;
xt=(x1+x2)/2;
yt=(y1+y2)/2;
cout<<"Nilai Titik Tengahnya adalah = (" <<xt<<","<<yt<<") "<<endl;
cout<<endl;
}
void Nilai_Integer()
{
int x,y,z,x1,y1,z1;
cout<<endl;
x1=x/100;
y=x%100;
y1=y/10;
z=y%10;
z1=z/1;
cout<<endl;
}
int main ()
{
Titik_Tengah();
Nilai_Integer();
system("PAUSE");
return EXIT_SUCCESS;
}
#include<iostream>
using namespace std;
void Titik_Tengah()
{
int x1, x2, xt,y1,y2,yt;
cout<<"masukkan x1 = ";
cin>>x1;
cout<<"masukkan x2 = ";
cin>>x2;
cout<<"masukkan y1 = ";
cin>>y1;
cout<<"masukkan y2 = ";
cin>>y2;
cout<<endl;
xt=(x1+x2)/2;
yt=(y1+y2)/2;
cout<<"Nilai Titik Tengahnya adalah = (" <<xt<<","<<yt<<") "<<endl;
cout<<endl;
}
void Nilai_Integer()
{
int x,y,z,x1,y1,z1;
cout<<endl;
x1=x/100;
y=x%100;
y1=y/10;
z=y%10;
z1=z/1;
cout<<endl;
}
int main ()
{
Titik_Tengah();
Nilai_Integer();
system("PAUSE");
return EXIT_SUCCESS;
}
2. Algoritma dan program untuk memisahkan bilangan integer yang kurang dari 1000
menjadi komponen- komponennya.
Algoritma :
Deskripsi :
Satua, puluhan, ratusan ribuan : integer
Deklarasi :
Read : Input x (kurang dari 1000)
x1<= x/100
y <= x mod 100
y1 <= y/10
z <= y mod 10
z1 <= z/1
x1 <= ratusan
y1<= puluhan
z1<= satuan
Write : (x1, y1, z1)
Satua, puluhan, ratusan ribuan : integer
Deklarasi :
Read : Input x (kurang dari 1000)
x1<= x/100
y <= x mod 100
y1 <= y/10
z <= y mod 10
z1 <= z/1
x1 <= ratusan
y1<= puluhan
z1<= satuan
Write : (x1, y1, z1)
Source code :
#include <cstdlib>
#include <iostream>
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<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
#include <iostream>
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<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
3. program untuk menghitung determinan matriks berordo 2x2
Source code
#include <iostream.h>
#include <conio.h>
class ordo{
private :
int i,j,matrik[10][10];
float hasilbagi,det,a,b,c,d;
friend ostream& operator<<(ostream&, const ordo&);
friend istream& operator>>(istream&, ordo&);
public :
void determinan(){
det=(matrik[0][0] * matrik[1][1]) – (matrik[1][0] * matrik[0][1]);
cout<<”\nmaka determinannya adalah = “;
cout<<det<<endl;
}
void invers(){
hasilbagi = 1/det;
a = hasilbagi * matrik[1][1];
b= hasilbagi * -matrik[0][1];
c = hasilbagi * -matrik[1][0];
d = hasilbagi * matrik[0][0];
cout<<”matrik invers \n\n=”<<”1/”<<det<<” x ["<<matrik[1][1]<<” “<<-matrik[0][1]<<”]”;
cout<<”\n ["<<-matrik[1][0]<<” “<<matrik[0][0]<<”]”;
cout<<”\n\n jadi matrik inversnya adalah = \n”;
cout<<”["<<a<<" "<<b<<"]“<<endl;
cout<<”["<<c<<" "<<d<<"]“;
}
};
istream& operator>>(istream& in, ordo& A){
cout<<”invers matrik 2×2?<<endl;
for(A.i=0;A.i<=1;A.i++){
for(A.j=0;A.j<=1;A.j++){
cout<<”matrik ["<<A.i<<"]["<<A.j<<"] =”; cin>>A.matrik[i][j]; }}
return in;
}
ostream& operator<<(ostream& out ordo& B){
for(B.i=0;B.i<=1;B.i++){
for(B.j=0;B.j<=1;B.j++){
cout<<B.matrik[i][j]<<” “; }
cout<<endl;
}
return out;
}
void main(){
ordo x;
cin>>x;
cout<<x;
x.determinan();
x.invers();
}
Tidak ada komentar:
Posting Komentar