DIKTAT

Minggu, 17 April 2016

kasus pertemuan minggu ke 7



Kasus 6.6
Buatlah suatu algoritma untuk mengecek apakah suatu kata atau kalimat merupakan palindrom atau tidak.


Program Dev C++:

#include <iostream>
#include <string.h>
#include <conio.h>

using namespace std;

 class Palindrom {
 friend ostream& operator<<(ostream&, Palindrom&);
 friend istream& operator>>(istream&, Palindrom&);
 public:
 int cek_palindrom();
 private:
  char *s;
 };
 ostream& operator<<(ostream& out, Palindrom& a) {
 if (a.cek_palindrom())
 cout << a.s << " adalah palindrom";
 else out << a.s << " bukan palindrom";
 return out;
 };
 istream& operator>>(istream& in, Palindrom& a) {
 cout << "Masukkan sebuah kalimat : ";
 cin >> a.s;
 return in;
};

int Palindrom::cek_palindrom()
{ int i, pj;
pj = strlen(s);
for (i=0; i<=pj/2 ;i++)
if (s[i] != s[pj-i-1]) return 0;
return 1;
}

main() {
Palindrom kata;
cin >> kata;
cout << kata;
getch();
 return 0;
}
Kasus 6.5
Tentukan modus dari n buah data berupa bilangan bulat (data antara 1 sampai dengan 10).


Program Dev C++:

#include <cstdlib>
#include <iostream>
#include <math.h>
using namespace std;

class HitungStatistik {
 friend ostream& operator<<(ostream&, HitungStatistik&);
 friend istream& operator>>(istream&, HitungStatistik&);
public:
 HitungStatistik();
 void hitung_modus();
private:
 void maksimum();
 void frekuensi();
 int maks, item;
 int n;
 int A[20];
 int f[11];
};

HitungStatistik::HitungStatistik()
{ for (int i=0; i<20; i++) f[i] = 0; }

istream& operator>>(istream& in, HitungStatistik& a) {
 cout << "Banyaknya data : ";
 cin >> a.n;
 for (int i = 0; i < a.n; i++) {
  cout << "Data ke- : " << i+1 << " > ";
  cin >> a.A[i];
 }
return in;
}

void HitungStatistik::maksimum()
{
 maks = f[0];
 item = 1;
 for (int i=0; i<n; i++)
  if (f[i] > maks) {
   maks = f[i];
   item = i;
  }
   cout << "Modus = " << item;
}

void HitungStatistik::frekuensi()
{
 for (int i=1; i<n; i++) ++f[A[i]];
}

void HitungStatistik::hitung_modus() {
 cout << "Frekuensi running\n";
 frekuensi();
 maksimum();
}

ostream& operator<<(ostream& out, HitungStatistik& a) {
  cout << "Mulai ...\n";
 a.hitung_modus();
 cout << "Nilai modus : " << a.item<endl;
 return out;
}

main() {
 HitungStatistik run;
 cin >> run;
 cout << run<<endl;
 system("pause");
 return 0;
}
 Kasus 6.4
Buatlah algoritma untuk menentukan nilai maksimum dan minimum dari


Program Dev C++:

#include <iostream>
#include <math.h>

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

 class HitungStatistik {
 friend ostream& operator<<(ostream&, HitungStatistik&);
 friend istream& operator>>(istream&, HitungStatistik&);
 public:
 void maks_min();
 private:
 int m1, m2; // m1 untuk maksimum, m2 untuk min
 int n; // banyaknya data
int A[20]; // array untuk menyimpan data
};

istream& operator>>(istream& in, HitungStatistik& a)
{
cout << "Banyaknya data : ";
in >> a.n;
for (int i = 0; i < a.n; i++)
{
cout << "Data ke- : " << i+1 << " > ";
in >> a.A[i];
}
return in;
}

void HitungStatistik::maks_min()
{ m1 = m2 = A[0];
for (int i=1; i<n; i++)
{
if (A[i] > m1) m1 = A[i];
if (A[i] < m2) m2 = A[i];
}
}

ostream& operator<<(ostream& out, HitungStatistik& a) {
a.maks_min();
out << "Nilai terbesar : " << a.m1 << endl;
out << "Nilai terkecil : " << a.m2;
return out;
}

main() {
HitungStatistik run;
cin >> run;
 return 0;
}

Kasus 6.3

Buatlah algoritma untuk menentukan nilai maksimum dari n bilangan.


Program Dev C++:

#include <iostream>
 #include <math.h>
 using namespace std;
 class HitungStatistik {
 friend ostream& operator<<(ostream&, HitungStatistik&);
 friend istream& operator>>(istream&, HitungStatistik&);
 public:
 int maksimum();
 private:
 int maksimum2(int, int);
 int n; // banyaknya data
 int A[20]; // array untuk menyimpan data
 };

 istream& operator>>(istream& in, HitungStatistik& a)
 {
 cout << "Banyaknya data : ";
 in >> a.n;
 for (int i = 0; i < a.n; i++)
 {
 cout << "Data ke- : " << i+1 << " > ";
 in >> a.A[i];
 }
 return in;
 }

 int HitungStatistik::maksimum2(int a, int b)
 { if (a>b) return(a);
 else return(b);
 }

 int HitungStatistik::maksimum()
 { int temp = A[0];
 for (int i = 1; i<n; i++)
 temp = maksimum2(temp, A[i]);
 return(temp);
 }

 ostream& operator<<(ostream& out, HitungStatistik& a) {
 out << "Nilai terbesar: " << a.maksimum();
 return out;
 }

 main() {
 HitungStatistik run;
 cin >> run;
 cout << run;
 return 0;
 }
Kasus 6.2
Carilah nilai deviasi standar  dari n buah data.


Program Dev C++:

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

class HitungStatistik{
friend ostream& operator<<(ostream&, HitungStatistik&);
friend istream& operator>>(istream&, HitungStatistik&);

 float rata();
 float STD();

 long sqr(int n) { return(n*n);}
 int n;
 int A[20];
};

istream& operator>>(istream& in, HitungStatistik& a)
{
 cout<<"Banyaknya data : ";
 cin>>a.n;
 for (int i = 0; i < a.n; i++)
    {
    cout<<"Masukan data ke- :"<<i+1<<">";
   cin>>a.A[i];
 }
 return in;
 }
 float HitungStatistik::rata()
 {
 float total=0;
 for (int i = 0; i<n; i++) total = total + A[i];
 return(total/n);
 }

 float HitungStatistik::STD ()
 { float rerata = rata();
 float jumlah=0.0;
 for (int i = 0; i<n; i++)
 jumlah = jumlah + sqr(A[i] - rerata);
 return(sqrt (jumlah/(n-1)));
 }
 ostream& operator<<(ostream& out, HitungStatistik& a) {
 cout << "Rata-rata dari " << a.n
 << " bilangan adalah : " << a.rata() << endl;
 cout << "Standar deviasi= " << a.STD();
 return out;
 }

 main() {
 HitungStatistik run;
 cin >> run;
 cout << run<<endl;
 return 0;
 }
Kasus 6.1
Carilah rata-rata dari n bilangan bulat dengan menggunakan array

Program Dev C++:

#include <iostream>

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

class HitungRata{
      friend ostream& operator<<(ostream&, HitungRata&);
      friend istream& operator>>(istream&, HitungRata&);
public:
       float rata();
private:
        int n;
        int A[20];
        };
        istream& operator>>(istream& in,HitungRata& a){
                 cout<<"Banyaknya data : ";
                 in>>a.n;
                 for(int i=0;i<a.n;i++){
                         cout<<"Masukkan data ke-: "<<i+1<<">";
                 in>>a.A[i];
                 }
        return in;
        }
float HitungRata::rata(){
      float total=0;
      for(int i=0;i<n;i++)total=total+A[i];
      return(total/n);
      }
     
      ostream& operator<<(ostream& out,HitungRata& a){
               out<<"Rata-rata dari "<<a.n<<" bilangan adalah : "<<a.rata()<<endl;
      return out;
      }
     

main()
{
      HitungRata run;
      cin>>run;
      cout<<run;
    return 0
 ;
}

Tidak ada komentar:

Posting Komentar