Jumat, 15 April 2016

DIKTAT translasi 6.5 dan 6.6 (BAB 7)


Translasi 6.5

DEV c++ nya:

 #include <iostream.h>
 #include <math.h>
 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; // banyaknya data
 int A[20]; // array untuk menyimpan data
 int f[11]; // array untuk menampung frekuensi
 };

 HitungStatistik::HitungStatistik()
 { for (int i=0; i<20; i++) f[i] = 0; }
 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::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();
 out << "Nilai modus : " << a.item;
 return out;
 }

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

Algoritma 6.6
function palindrom(input s : string) : boolean

Deklarasi
i, pj : integer

Deskripsi
palindrom <- true { diasumsikan benar, dibuktikan dengan penyangkalan }
pj <- length(s)
for i <- 1 to (pj div 2) do
if (s[i] <> s[pj-i+1]) then palindrom 􀃅 false

Translasi 6.6.
 #include <iostream.h>
 #include <string.h>
 #include <conio.h>
 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())
 out << a.s << " adalah palindrom";
 else out << a.s << " bukan palindrom";
 return out;
 };

 istream& operator>>(istream& in, Palindrom& a) {
 cout << "Masukkan sebuah kalimat : ";
 in >> 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
}

untuk melihat translasi diktat 6.1 dan 6.4 silahkan liat di blog http://lagisinaukok.blogspot.co.id/
untuk melihat translasi diktat 6.8, 6.7, 6.9, 6.10, dan 6.11 silahkan liat di blog
http://sandaljebat16.blogspot.co.id/search/label/Tranlasi%206

0 komentar:

Posting Komentar