Sabtu, 16 April 2016

LATIHAN PPT, DIKTAT, DAN EBOOK MINGGU 7

1. KASUS PPT 6.1 


#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;
system("PAUSE");
return 0;
}
2. KASUS PPT 6.5


#include <iostream>
#include <conio.h>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int x;
void findmod(float bil[], int n, float mod[]){
int total[100];
int k=1;
x=0;
for(int c=0;c<n;c++){
for(int i=(n-1);i>=0;i++){
if(bil[i]<bil[i-1]){
int temp;
temp=bil[i];
bil[i]=bil[i-1];
bil[i-1]=temp;
}
}
}
for(int c=0;c<n;c++){
total[c]=0;
for(int i=0;i<n;i++){
if(bil[c]==bil[i]){
total[c]++;
}
}
}
for(int c=0;c<n;c++){
if(total[c]>k){
k=total[c];
}
}
for(int c=0;c<n;c++){
if(x==0)
mod[x]=0;
else
mod[x]=mod[x-1];
if(total[c]==k){
if(bil[c]!=mod[x]){
mod[x]=bil[c];
x++;
}
}
}
int z=0;
for(int c=0;c<n;c++){
if(total[c]==k){
z++;
}
}
if(z==n){
x=0;
}
}
int main(){
int n;
float bil[100];
float mod[100];
cout<<" Banyak N : ";
cin>>n;
for(int c=0;c<n;c++){
cout<<"nilai "<<(c+1)<<" : ";
cin>>bil[c];
}
cout<<endl;
findmod(bil,n,mod);
if(x==0)
cout<<"tidak ada modus!"<<endl;
else{
cout<<"Modus : ";
for(int c=0;c<x;c++){
cout<<mod[c]<<" ";
}
}

return 0;
}

untuk ppt nomor 6.3 dan 6.6 bisa dilihat di : http://hiwilmacleta.blogspot.co.id/search/label/Diktat7

3. RENCANA NOMOR 1
#include <iostream>
#include <string>
using namespace std;

int main()
{
    char Kata[50];
    char Kar;
    int JumKar = 0;

    cout<<"Masukkan kalimat : ";
    gets(Kata);
    cout<<endl;

    cout<<"Masukkan satu karakter yang akan dihitung : ";
    cin>>Kar;
    cout<<endl;

    for (int i = 0; i<=strlen(Kata); i++)
    {
        if (Kata[i] == Kar)
        {
            JumKar++;
        }
    }

    cout<<"Jumlah karakater \""<<"\" ada ("<<jumkar<<") buah";

    return 0;
}
4. RENCANA NOMOR 2
#include<iostream>
#include<string>

using namespace std;

void garis()
{cout<<"\n-----------------------------------------------------------";}

int main()
{
char kal[20];
char *car,vcar;
int x,y;

car=&vcar;

cout<<"Masukan Kalimat : ";gets(kal);
cout<<"\n\nINPUT";
cout<<"\nKalimat \t: "<<kal;
cout<<"\nHuruf yang dicari pada kalimat "<<kal<<" adalah : ";
cin>>vcar;
cout<<"\n\nHASIL PENCARIAN";

if(*car=vcar)
{
for(x=0;x<=strlen(kal);x++)
{
if(_toupper(*car)==_toupper(kal[x]) || *car==_toupper(kal[x]) || _toupper(*car)==(kal[x]))
{
 cout<<"\nHuruf "<<*car<<" pada kalimat "<<kal<<" ditemukan pada index ke-["<<x<<"]";
 garis();
}
}
}

int main(){ 
char kalimat[50], huruf; 
int jumlah=0, arrayindex[50], ada=0, k=0; 
cout<<"Masukkan kalimat : "; 
gets(kalimat); 
cout<<"Masukkan huruf yang ingin dicari : "; 
scanf("%c", &huruf); 
for(int i=0; i<strlen(kalimat); i++){ 
if(huruf==kalimat[i]){ 
jumlah++; 
arrayindex[k] = i; 
k++; 
ada = 1; 
if(ada!=0){ 
cout<<"Huruf "<<huruf<<" terdapat dalam kalimat yang diinput."<<endl; 
cout<<"Jumlah huruf "<<huruf<<" sebanyak "<<jumlah<<" buah"<<endl; 
cout<<"Huruf "<<huruf<<" terdapat pada index :"<<endl; 
for(int l=0; l<k; l++){ 
cout<<arrayindex[l]<<endl; 
else{ 
cout<<"Huruf "<<huruf<<" tidak terdapat dalam kalimat yang diinput"; 
return 0; 
}

else if(*car!=NULL)
{cout<<"\nHuruf "<<vcar<<" Tidak Ditemukan";}
garis();
getch();
}

Untuk Rencana nomor 3 bisa dilihat di : http://hiwilmacleta.blogspot.co.id/search/label/Diktat7

5. EBOOK HOW TO SOLVE NOMOR 4
#include <iostream>
#include <conio.h>
#include <stdio.h>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char** argv) {
int a[20], i, j, k ,n;
cout<<" enter aray size : ";
cin>>n;
cout<<" enter aray "<<n<<" elemen : \n";
for(i=0;i<n;i++){
cin>>a[i];
}
cout<<" new aray elemen are : ";
for(i=0;i<n;i++){
for(j=i+1;j<n;){
if(a[j]==a[i]){
for(k=j;k<n;k++){
a[k]=a[k+1];
}
n--;
}
else{
j++;
}
}
}
for(i=0;i<n;i++){
cout<<a[i]<<" ";
}
}
6. EBOOK HOW TO SOLVE NOMOR 6
#include<iostream>
#include<conio.h>
using namespace std;
main()
{
int data[10] = {4, 1, 0, -9, 8, 5, -1, 2, 3, -7};
int elemen, ketemu,x;
cout <<"Data yang dicari : ";cin >> x;
ketemu = 0;


for(elemen=0; elemen<= 9; elemen++)
{
if (data[elemen] == x)
{ ketemu =!ketemu;
break;
}
}
if (ketemu == 0) cout << "Data tidak ditemukan ";
else cout << "Data ada di elemen : "<< elemen;

getch();

Untuk Ebook How To Solve Nomor 3 dan 5 bisa dilihat di :http://ghaidaazzahra771.blogspot.co.id/2016/04/latihan-diktat-bab-7.html#more
Untuk Ebook How To Solve Nomor 1, 2, dan 7 bisa dilihat di :http://hiwilmacleta.blogspot.co.id/search/label/Diktat7


Selasa, 12 April 2016

Fungsi faktorial rekursif

#include <iostream>
using namespace std;

int faktorial (int bil)
{
      if(bil==1)
            return 1;
      else
            //fungsi rekursif
            return bil*faktorial(bil-1);
}

int main ()
{
      int n;
      cout<<"\tFungsi Rekursif - FAKTORIAL"<<endl;
      cout<<"\t==========================="<<endl;
      cout<<"\nMasukkan nilai n = ";
      cin>>n;
      cout<<"\nFaktorial "<<n<<"!= "<<faktorial(n)<<endl;

      return 0;
}

Program membalik kata iteratif - rekursif

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

using namespace std;
class Balik{
       //friend istream& operator>>(istream&, Balik&);
       //friend ostream& operator<<(ostream&, Balik&);
       public:
             void balik_kata();
             void balik(int s);
       private:
               char kata[50];
               int n;
};

void Balik::balik_kata(){//iteratif
     cout<<"Masukkan Kata Yang Akan Dibalik : ";
     cin>>kata;strlen=(kata);
     //strrev(kata);
     cout<<"Kata Setelah Dibalik : ";
     balik(n);
}

void Balik::balik(int s){//rekursif
     if (s != -1){
            cout<<kata[s];
            balik(s-1);
            }
            }

int main()
{
 Balik X;
 X.balik_kata();
// X.balik(char *s);

  //system ("PAUSE");
  //return 0;
}

Program mencetak bilangan yang habis dibagi 2 dan 5 antara 1-50 secara iteratif



#include <iostream>
#include <string>
using namespace std;
class Bilangan{
    friend ostream& operator<<(ostream&, Bilangan&);
    friend istream& operator<<(istream&, Bilangan&);
    public:
        Bilangan(){};
        void iteratif(){
            int a=1;
            int b=50;
            while(!(a==b)){
                if(a%2==0&&a%5==0){
                    cout<<"Hasilnya :"<<a<<endl;
                }
                else{
                }
                a=a+1;
            }
        }
        private:
            int a,b;
};
istream& operator>>(istream&in, Bilangan&input){
    cout<<"Program mencetak bilangan yang habis dibagi 2 dan 5 antara 1-50 secara iteratif"<<endl;
    return in;
}
ostream& operator<<(ostream&out, Bilangan&output){
    cout<<"Hasilnya:"<<output.a;
    return out;
}
int main(){
    Bilangan x;
    cin>>x;
    x.iteratif();
    cout<<endl;
    return 0;
}

Refleksi minggu 7

13 April 2016 adalah minggu yang ke 7 pertemuan alpro yang mempelajari tentang array yaitu struktur data yang mengandung type data yang mempunyai type sama.  Sama dengan minggu-minggu sebelumnya diawal pertemuan selalu diberikan kuis untuk evaluasi belajar. Setelah kuis lalu dosen memerintahkan untuk membagi tugas kelompok untuk mengerjakan soal yang ada di buku rujukan dan ppt minggu ke 7. lalu daosen mulai menerangkan.

Kamis, 07 April 2016

Diktat bab 5


6. Buatlah suatu subprogram yang mengembalikan nilai maksimum pertama 
 #include <iostream>
using namespace std;

int main()
{
int max,n,i,min;
float A[100];
cout <<"Masukkan Jumlah Data : ";cin>>n;
for(i=0;i<n;i++){
cout << "masukkan bilangan ke "<< i+1 << " : ";
cin >> A[i];}
max = A[0];
for (i=1;i<n;i++){
if (max < A [i])
max = A[i];
}

cout <<"Nilai Terbesar adalah : "<<max<<endl;

return 0;
}


7. Algoritma 5.5 menggunakan fungsi untuk menghitung n faktorial secara rekursif. Buatlah
algoritma menghitung n faktorial dengan menggunakan prosedur 
  #include <iostream>
#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
int main(void) {
    int n;
    int faktorial (int k);
    printf("Masukkan sembarang bilangan positif : ");
    scanf("%d",&n);
    printf("\nMelalui perhitungan rekursif, %d! = %d\n",n,faktorial(n));
    system("pause");
    return 0;
}
int faktorial (int k){
    if (k==0)
    return 1;
    else
    return k*faktorial(k-1);
}

8. kasir sederhana
 #include <iostream>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
int main(int argc, char** argv) {
    char nm_brg [50],lnjt='Y';
    int diskon,Total_Belanja,bayar,kd_brg,jml_brg,hrg_brg,jml_uang,kembali;
    do{
        system("cls");
        cout<<"Program kasir sederhana"<<endl;
        cout<<"======================="<<endl;
        cout<<"Masukkan kode barang : ";cin>>kd_brg;
        cout<<"Masukkan nama barang : ";cin>>nm_brg;
        cout<<"Masukkan harga barang : ";cin>>hrg_brg;
        cout<<"Masukkan jumlah barang : ";cin>>jml_brg;
        cout<<"========================="<<endl;
        Total_Belanja=hrg_brg*jml_brg;
        cout<<"Total : Rp."<<Total_Belanja<<endl;
        cout<<"========================="<<endl;
        if(Total_Belanja<=5000){
        diskon=Total_Belanja*0;
        }
        else if(Total_Belanja>=100000){
            diskon=Total_Belanja*10/100;
        }
        cout<<"Diskon : Rp."<<diskon<<endl;
        bayar=Total_Belanja-diskon;
        cout<<"Total bayar : Rp."<<bayar<<endl;
        cout<<"========================"<<endl;
        cout<<"Masukkan jumlah uang : Rp.";cin>>jml_uang;
        cout<<"========================(-)"<<endl;
        kembali=jml_uang-bayar;
        cout<<"Kembali : Rp."<<kembali<<endl<<endl;
        cout<<"Brang yang sudah dibeli tidak dapat ditukar atau dikembalikan"<<endl;
        cout<<"Terimakasih atas kunjungan anda"<<endl<<endl;
        cout<<"Ulangi lagi [Y/T] : ";cin>>lnjt;
        cout<<endl<<endl;
    }while(lnjt=='Y');
    system("pause");
}


9. [Proyek] Buatlah suatu class yang akan mengeksplorasi kalimat. Kalimat dapat disimpan
dalam bentuk array (kumpulan) karakter.
 #include<iostream>
#include<conio.h>
#include<string.h>
using namespace std;

class septiankonsvok{
    private:
    int i;
    int vokal;
    int konsonan;
    int x;
    char kalimat[20];
    public:
    septiankonsvok();
    void input();
    void proses();
    void output();
};

septiankonsvok::septiankonsvok(){
    cout<<"\t\tPEROGRAM MENGHITUNG HURUF KONSONAN DAN VOKAL\n";
    cout<<"\t\t--------------------------------------------\n";
    cout<<endl<<endl;
}
void septiankonsvok::input(){
    cout<<"::.silahkan masukkan kalimat.::\n";
    cin.getline(kalimat,20);
}
void septiankonsvok::proses(){
    i=0,vokal=0,konsonan=0;
    x=strlen(kalimat);
    for(i=0;i<x;i++)
{
    if(kalimat[i]=='a'||kalimat[i]=='u'||kalimat[i]=='e'||kalimat[i]=='o')
    vokal++;
    konsonan++;
}
}
void septiankonsvok ::output(){
    cout<<"Jumlah huruf vokal\t:"<<vokal<<"huruf"<<endl;
    cout<<"Jumlah huruf konsonan\t"<<konsonan<<"huruf"<<endl;
}

int main()
{
    septiankonsvok skv;
    skv.input();
    skv.proses();
    skv.output();
    return 0;
}


Nomor 1 - 5 hal 110 bisa dilihat di : http://hiwilmacleta.blogspot.co.id/search/label/Diktat5
Nomor 6, 7 hal 110 dan1-3 hal 120 bisa dilihat di : http://ghaidaazzahra771.blogspot.co.id/search/label/Bab%205

Diktat bab 6


1. Menghitung ganjil dan genap

 #include <iostream>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
int main(int argc, char** argv) {
    int g;
    cout<<"-----------------------------------"<<endl;
    cout<<"Menentukan Nilai Ganjil dan Genap"<<endl;
    cout<<"-----------------------------------"<<endl;
    cout<<"Masukan nilai g : ";
    cin>>g;
    if (g % 2==0)
    cout<<"Bilangan Genap"<<endl;
    else
    cout<<"Bilangan Ganjil"<<endl;
    cout<<"------------------------------------"<<endl;
    return 0;
}


2. Menghitung luas persegi panjang

 #include <iostream>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
class persegi {
    public :
        persegi ();
        void input();
        void proses();
  
    private :
        int p;
        int l;
        int hasil;
};
persegi::persegi(){
    cout<<"=================================\n";
    cout<<"Menghitung Luas Persegi Panjang\n";
    cout<<"=================================\n";
}

void persegi::input (){
    cout<<"Masukkan Panjang : ";
    cin>>p;
    cout<<"Masukkan Lebar : ";
    cin>>l;
  
}

void persegi::proses(){
    hasil = p*l;
    cout<<"Luas : "<<hasil;
}


int main(int argc, char** argv) {
  
    persegi Prsg;
    Prsg.input();
    Prsg.proses();
    return 0;
}

3. Menghitung keliling persegi panjang

 #include <iostream>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
class persegi {
    public :
        persegi ();
        void input();
        void proses();
  
    private :
        int p;
        int l;
        int hasil;
};
persegi::persegi(){
    cout<<"=================================\n";
    cout<<"Menghitung Keliling Persegi Panjang\n";
    cout<<"=================================\n";
}

void persegi::input (){
    cout<<"Masukkan Panjang : ";
    cin>>p;
    cout<<"Masukkan Lebar : ";
    cin>>l;
  
}

void persegi::proses(){
    hasil = 2*(p+l);
    cout<<"Keiling : "<<hasil;
}

int main(int argc, char** argv) {
    persegi Prsg;
    Prsg.input();
    Prsg.proses();
    return 0;
}

Nomor 4,5,6,7 bisa dilihat di http://ghaidaazzahra771.blogspot.co.id/search/label/Bab%206
Nomor 8,9,10 dan kasus 5.2 bisa dilihat di : hiwilmacleta.blogspot.co.id/search/label/Diktat6