Thursday, April 14, 2016

Diktat Bab 7

Assalamu"alaikum wr.wb

Pembahasan kali ini , mari kita bahas penyelesaian soal diktat bab 7. Langsung saja ayo kita bahas!!!

Kasus 6.1

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 << " > ";
cin >> 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) {
cout << "Rata-rata dari " << a.n;
cout << " bilangan adalah : "<< a.rata();
return out;
}
main() {
HitungRATA run;
cin >> run;
cout << run;
return 0;
 }



Flowchart




Kasus 6.2

C++


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

using namespace std;

class HitungStatistik {
friend ostream& operator<<(ostream&, HitungStatistik&);
friend istream& operator>>(istream&, HitungStatistik&);
public:
float rata();
float STD();
private:
long sqrt(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 << "Masukkan 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 + sqrt(A[i] - rerata);
return(sqrt (jumlah/(n-1)));
}

ostream& operator<<(ostream& out, HitungStatistik& a) {
cout << "Rata-rata dari " << a.n;
cout<< " bilangan adalah : " << a.rata() << endl;
cout << "Standar deviasi= " << a.STD();
return out;
}

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






Flowchart




Kasus 6.3

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; 
int A[20]; 
};

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;
}

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) {
cout << "Nilai terbesar: " << a.maksimum();
return out;
}

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





Flowchart



Kasus 6.4

C++

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

class HitungStatistik {
friend ostream& operator<<(ostream&, HitungStatistik&);
friend istream& operator>>(istream&, HitungStatistik&);
public:
void maks_min();

private:
int m1, m2; 
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 << "Data ke- : " << i+1 << " > ";
cin >> 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();
cout << "Nilai terbesar : " << a.m1 << endl;
cout << "Nilai terkecil : " << a.m2;
return out;
}

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





Flowchart




Kasus 6.5

C++


#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;
return out;
}

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





Flowchart




Kasus 6.6

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())
out << 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.7

C++


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

using namespace std;

class Sandi {
friend ostream& operator<<(ostream&, Sandi&);
public:
Sandi() { kalimat = "Algoritma dan Pemrograman";}
void enkripsi(char *);
void dekripsi(int *);
private:
char *kalimat;
int *kalimatTersandi; };
void Sandi::enkripsi(char *kalimat) {
for (int i=0; kalimat[i] != '\0'; i++)
if (kalimat[i] != ' ')
if ( kalimat[i]%2==0 ) kalimatTersandi[i] = kalimat[i] + 3;
else kalimatTersandi[i] = kalimat[i] + 5;
else kalimatTersandi[i] = 0;
}
void Sandi::dekripsi(int *kalimatTersandi) {
for (int i=0; kalimat[i] != '\0'; i++)
if (kalimatTersandi[i] != 0)
if ( kalimat[i]%2==1 ) kalimat[i] = kalimatTersandi[i] - 5;
else kalimat[i] = kalimatTersandi[i] - 3;
else kalimat[i] = ' ';
}
ostream& operator<<(ostream& out, Sandi& snd) {
cout << "Kata Asli : " << snd.kalimat;
snd.enkripsi(snd.kalimat);
cout << "\nSetelah disandikan : ";
for (int i=0; i<=strlen(snd.kalimat); i++)
out << snd.kalimatTersandi[i] << " ";
snd.dekripsi(snd.kalimatTersandi);
cout << "\nSetelah dikembalikan : " << snd.kalimat;
return out;
}
int main() {
Sandi X;
cout << X;
}


Alhamdulilah soal-soal pada diktat bab 7 terselesaikan. 
Untuk lebih jelas lagi, teman-teman bisa lihat di sini Galih Tsabit Ulumudin dan Lalu Sabrian Ganata. Terima Kasih..

Wassalamu"alaikum wr.wb




















0 komentar:

Post a Comment

Powered by Blogger.