TUGAS MINGGU KE-8

RENCANA KULIAH
 1. Mengeser elemen aray
         Algoritma : mengeser element pada aray baik ke kiri atau ke kanan
Deklarasi :
public
void cetak
geser kanan
char a [r]
int posisi
Deskripsi:
void array geser kanan
n=r ; integer
int temp : a[n-]
for (int i=n-;i>=0;i--)
a[i+1]=a[i]
a[0]:temp;

Program C++:

#include <iostream>
using namespace std;
class geser{
      public:
             void kanan (int n, int A[100]);
             void kiri (int n,int A[100]);
             void hapus (int n, int A[100]);
      };
 void geser::kanan (int n, int A[100])
{
   int temp;
   int i;
   //int a[100];
   temp =A[n];
   i =n;
   while (1)
   {
      A[i+1] = A[i];
      A[1] = temp;
      if ((i==1)) break;
      i =i-1;
   }
   cout << "nilai hasil geser kanan" << endl;   i =1;
   while (1)
   {
      cout << A[i] << endl;      if ((i==n)) break;
      i =i+1;
   }
}
 void geser::kiri (int n,int A[100])
{
   int temp;
   int i;
   //int a = new int[int+1];
   temp =A[1];
   i =1;
   while (1)
   {
      if (i==n)
      {
         A[i] = A[n];
         A[n-1] = temp;
      }
      else
      {
         A[i] = A[i+1];
         A[n-1] = temp;
      }
      if ((i==n)) break;
      i =i-1;
   }
   cout << "nilai hasil geser kiri" << endl;   i =1;
   while (1)
   {
      cout << A[i] << endl;      if ((i==n)) break;
      i =i+1;
   }
}
 void geser::hapus (int n, int A[100])
{
   string raptor_prompt_variable_zzyz;
   int posisi;
   int i;
   //int[] a = new int[int+1];
   raptor_prompt_variable_zzyz ="masukkan posisi yang akan di hapus";
   cout << raptor_prompt_variable_zzyz << endl;
   cin >> posisi;
   if (posisi>0 && posisi<=n)
   {
      A[posisi] = 0;
   }
   else
   {
   cout << "maaf masukan anda di luar range" << endl;   }
   cout << "nilai hasil hapus" << endl;   i =1;
   while (1)
   {
      cout << A[i] << endl;      if ((i==n)) break;
      i =i+1;
   }
}
int main()
{
    geser x;
   string raptor_prompt_variable_zzyz;
   int n;
   int i;
   int A[100];
   raptor_prompt_variable_zzyz ="input banyak elemen : ";
   cout << raptor_prompt_variable_zzyz;
   cin >> n;
   i =1;
   while (1)
   {
      raptor_prompt_variable_zzyz ="masukkan elemen : ";
      cout << raptor_prompt_variable_zzyz;
      cin >> A[i];
      if ((i==n)) break;
      i =i+1;
   }
   cout << "nilai awal" << endl;   i =1;
   while (1)
   {
      cout << A[i] << endl;      if ((i==n)) break;
      i =i+1;
   }
   x.kanan(n,A);
   //x.kiri(n,A);   ->> yg ini masih eror
   x.hapus(n,A);
   cout<<endl;
   
   return 0;
}





Kasus di PPT :

6.1 Mencari rata-rata n mengunakan aray
      Algoritma :
      mencari rata-rata dari sekumpulan data pada aray
      Deklarasi :
                     n[max],rata-rata,jum : float
      Deskripsi :
                     jum=0
       for(int j=1;j<=max;j++)
                  read (n[j])
                   jum=jum+n[j]
              end for
             rata-rata=jum/max
        write (rata-rata)

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



//KASUS 6.2 Carilah nilai deviasi standar  dari n buah data.
    
      Algoritma : mencari devvasi nilai pada aray berdasarkan inputan n
      Deklarasi :
                      i,jumlah : integer
      Deskripsi :
                      

jumlah ÃŸ 0
for i ÃŸ 1 to n do
jumlah ÃŸ jumlah + sqr(x[i]-rata)
endfor
                        std ÃŸ sqrt(jumlah/(n-1))                  
Program  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;
 }


Di kelompok saya (6.3,6.4,6.5,6.6)

DIKTAT BAB 7
1. Menyisipkan kata
  Sorce code:
#include <iostream>
#include <string.h>
#include <cstdlib>
/* 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)
{
                string a,b;int c;
                cout<<"kalimat pertama : ";
                getline(cin, a);
                cout<<"kalimat kedua : ";
                cin>>b;
                cout<<a<<endl;
                cout<<"Menyisipkan kata pada karakter ke : ";cin>>c;
                a.insert(c, b+" ");
                cout<<a;
                return 0;
}



2. String bergantian huruf besar dan kecil
#include <iostream>
#include <string.h>
#include <conio.h>
using namespace std;
int main()
{
int i,jum;

char string[100];

cout<<"Masukan sembarang kalimat:\n";
cin.getline(string,100); //membaca spasi

//mengubah huruf awal menjadi huruf kapital
if((string[0]>='a')&& (string[0]<='z'))
string[0]=(char)string[0]-32;


//mengubah huruf setelah huruf awal menjadi huruf kecil
jum=1;int d=0;
for(i=0;i<(int)strlen(string);i++)
{
                if(i%2==0){
               
if((string[jum]>='A')&& (string[jum]<='Z'))
string[jum]=(char)string[jum]+32;
jum++;}
}

//mengubah huruf setelah spasi menjadi huruf kapital
for(i=1;string[i]!='\0';i++)
{
                if(string[i]==' ') d++;
if((i-1-d)%2==0)
{
if(string[i+1]>='a' && string[i+1]<='z')
string[i+1]=(char)(string[i+1]-32);
}
}


cout<<"Hasil Akhir : "<<string<<endl;
getch();
}



3. Menghitung Kata Dalam Sebuah Kalimat
#include<stdio.h>
#include<iostream>
#include<ctype.h>
using namespace std;
int main()
{
      char kalimat[100];
      int i, spasi=0;

      cout << "\n\t\t - Program Menghitung Kata Dalam Sebuah Kalimat -\n";
      cout << "\t==================================================================\n\n";
      cout << "\t Masukan Sebuah Kalimat : ";
      cin.getline(kalimat, sizeof(kalimat));

      for(i=0; kalimat[i]; i++)
      {
            if(isspace (kalimat[i]) || ispunct (kalimat[i]))
            {
                  spasi++;
            }
      }
      cout << "\t Jumlah Kata = " << spasi +1 << "\n\n";
      cout << "\t Kata yang anda masukan adalah : \n";
      cout << "\t ";

      for(i=0; kalimat[i]; i++)
      {
            if(isspace (kalimat[i]) || ispunct (kalimat[i]))
            {
                  spasi++;
                  cout << "\n";
                  cout << "\t";
            }
            cout << kalimat[i];
      }

      cout << "\n";
     
      cout << "\t==================================================================\n\n";
      cout << "\n";
      getchar();
}


no 4 di kelompok saya

LATIHAN
1.  Buatlah algoritma dan subprogram yang cara kerjanya seperti function pos di atas.

2.  Menghitung panjang karakter tanpa strlen
    Sorce code:
#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) {
                string a;
                cout<<"Masukkan Kalimat : ";getline(cin,a);
                cout<<a<<endl;
                cout<<"Panjang Karakter : "<<a.size();
                return 0;
}


3. Kapitalisasi huruf dengan inputan kalimat
#include <iostream>
#include <string.h>
/* 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)
{
                string a;
                cout<<"masukkan kalimat : ";
                getline(cin,a);
                int b = a.length();
                cout<<"dalam bentuk kapital : ";
                for(int c=0;c<=b;c++)
                {
                                a[c]=toupper(a[c]);
                                cout<<a[c];
                }
                cout<<endl;
                cout<<"dalam bentuk huruf kecil : ";
                for(int d=0;d<=b;d++)
                {
                                a[d]=tolower(a[d]);
                                cout<<a[d];
                }
                cout<<endl;
                return 0;
}



HOW TO SOLVE
4.1 Array Order Reversal 
Algritma :
·    Array A yang bertipe integer diisi dengan nilai {5, 10, 6, 0, 4}
·    Array B yang bertipe integer diisi dengan nilai {0, 0, 0, 0, 0}
·    Baris perulangan untuk menampilkan nilai dari array A.
·    Proses untuk mengisi array B dengan nilai yang dibalik.
·    Menampilkan output nilai dari array B.

Progrsm C++:
#include <iostream>
#include <stdlib.h>
using namespace std;
int main(void)
{
       int A[5] = {5, 10, 6, 0, 4};
       int B[5] = {0, 0, 0, 0, 0};
       int i;
       // Nilai array A integer
       cout<<"Nilai dari array A: ";
       for(i=0; i<5; i++){
              cout<<A[i];
       }
       //
       for(i=0; i<5; i++){
              B[4-i] = A[i];
       }
       // Output
       cout<<"\n";
       cout<<"Nilai dari array B hasil dari membalikkan nilai array A :\n";
       for(i=0; i<5; i++){
              cout<<B[i];
       }
       cout<<"\n";
   
       system("pause");
       return(0);
}



4.2 Array Counting or Hishistogramming

Algoritma :
Deklarasi banyak,i,x
array int nilai [20]
deklarasi string nama

inputkan banyak mahasiswa
for (int i=1;i<=banyak;i++){
input nama;
input nilai mahasiswa i
if (nilai[20]>=80 || nilai[20]<=100)
ceta nilai = A
else if (nilai[20]>=60 || nilai[20]<80)
cetak nilai = B
else if (nilai[20]>=40 || nilai[20]<60)
cetak nilai = C
else if (nilai[20]>=20 || nilai[20]<40)
cetak nilai = D
else if (nilai[20]>=0 || nilai[20]<20)
cetak nilai = E
end for

Program C++:
#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 banyak, i,x;
                int nilai[20];
                string nama;
                cout<<"Masukan Banyak Mahasiswa :"; cin>>banyak;
               
                for (int i=1;i<=banyak;i++){
                                cout<<"nama Mahasiswa :";cin>>nama;
                                cout<<"Masukan nilai  :";cin>>nilai[20];
                               
                                if (nilai[20]>=80 || nilai[20]<=100){
                                                cout<<"\n Nilai "<<nilai[20]<<"Adalah A";
                                }
                                else if (nilai[20]>=60 || nilai[20]<80){
                                                cout<<"\n Nilai "<<nilai[20]<<"Adalah B";
                                }
                                else if (nilai[20]>=40 || nilai[20]<60){
                                                cout<<"\n Nilai "<<nilai[20]<<"Adalah C";
                                }
                                else if (nilai[20]>=20 || nilai[20]<40){
                                                cout<<"\n Nilai "<<nilai[20]<<"Adalah D";
                                }
                                else if (nilai[20]>=0 || nilai[20]<20){
                                                cout<<"\n Nilai "<<nilai[20]<<"Adalah E";
                                }
                               cout<<"\n========================================================================\n";
                }
                return 0;
}



4.3 Finding the Maximum Number in a set
                                                                                                   

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


int main(int argc, char *argv[])
{
                int a,b,c,d,bersih,pokok,pajak;
                int pendapatan,beban;
                int laba_usaha,laba_kotor,laba_sebelum_pajak,laba_bersih;
               cout<<"|====================================================|\n";
                cout<<"|                                                    |\n";
                cout<<"|          Program Untuk Mencari Laba Usaha         |\n";
                cout<<"|                                                    |\n";
               cout<<"|====================================================|\n";
                cout<<"| Mencari Pendapatan                                 |\n";
                cout<<"|----------------------------------------------------|\n";
                cout<<"| Masukkan pendapatan usaha         : ";cin>>a;
                cout<<"| Masukkan pendapatan di luar usaha : ";cin>>b;
                pendapatan=a+b;
                cout<<"| Jumlah pendapatan usaha           : "<<pendapatan<<"\n";
                cout<<"|----------------------------------------------------|\n";
                cout<<"| Mencari Beban                                      |\n";
                cout<<"|----------------------------------------------------|\n";
                cout<<"| Masukkan beban usaha \t\t: ";cin>>c;
                cout<<"| Masukkan beban di luar usaha  : ";cin>>d;
                beban=c+d;
                cout<<"| Jumlah beban \t\t\t: "<<beban<<"\n";
                cout<<"|----------------------------------------------------|\n";
                cout<<"| Mencari Laba                                       |\n";
                cout<<"|----------------------------------------------------|\n";
                cout<<"| Masukkan penjualan bersih     : ";cin>>bersih;
                cout<<"| Masukkan harga pokok    \t: ";cin>>pokok;
                cout<<"| Masukkan pajak     \t\t: ";cin>>pajak;
                cout<<"|----------------------------------------------------|\n";
                cout<<"| Hasil Laba                                         |\n";
                cout<<"|----------------------------------------------------|\n";
                laba_kotor=bersih-pokok;
                cout<<"| Laba Kotor \t\t: "<<laba_kotor<<"\n";
                laba_usaha=laba_kotor-c;
                cout<<"| Laba Usaha \t\t: "<<laba_usaha<<"\n";
                laba_sebelum_pajak=laba_usaha+(b-d);
                cout<<"| Laba Sebelum Usaha    : "<<laba_sebelum_pajak<<"\n";
                laba_bersih=laba_sebelum_pajak-(pajak*15/100);
                cout<<"| Laba Bersih \t\t: "<<laba_bersih<<"\n";
               cout<<"|====================================================|\n";
               
                system("pause");
                return 0;
}



4.4 Removal of Duplicates from an Ordered Array


#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 a[20],n;
                cout<<"Batas : ";
                cin>>n;
               
                for (int i=0;i<n;i++){
                cout<<"Data : ";
                cin>>a[i];
}
                for (int i=0;i<n;i++){
                if(a[i]==a[i+1])
                cout<<a[i];
                else if(a[i-1]==a[i])
                cout<<"";
                else if(a[i]==a[i+2])
                cout<<a[i];
                else if(a[i-2]==a[i])
                cout<<"";
                else if(a[i]==a[i+3])
                cout<<a[i];
                else if(a[i-3]==a[i])
                cout<<"";
                else if(a[i]==a[i+4])
                cout<<a[i];
                else if(a[i-4]==a[i])
                cout<<"";
                else if(a[i]==a[i+5])
                cout<<a[i];
                else if(a[i-5]==a[i])
                cout<<"";
               
                else
                cout<<a[i];
}

/*            for (int i=0;i<n;i++){
                                cout<<a[i]<<" ";                               
               
               
                }*/
               
                return 0;
}



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

int main() { 

    int n, *arr, onee = 0, twoo, threee, total = 0, maxx = -1, temp_maxx;

    cin >> n;
    arr = new int[n];

    for (int i = 0; i < n; i++) {
        cin >> arr[i];
        total += arr[i];
    }

    // O(n^2) is the following

    for (int i = 1; i < n - 1; i++) {
        onee += arr[i - 1];
        twoo = 0;
        for (int j = i + 1; j < n; j++) {
            twoo += arr[j - 1];
            threee = total - twoo - onee;
            temp_maxx = max(max(onee, twoo), threee);
            if ((temp_maxx < maxx) || (maxx == -1))
                maxx = temp_maxx;
        }
    }

    cout << maxx;

    return 0;
}



4.5.2
var
A; array[1..100] of interger;
i: integer;
begin
for i:=1 to 100 do
begin
A[1]:=i;
end;
End.

4.5.3

#include <iostream>

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

                //Bucket Sort
void bucket_sort (int arr[], int n)
{
  //Here range is [1,100]
  int m = 101;

  //Create m empty buckets
  int buckets[m];

  //Intialize all buckets to 0
  for (int i = 0; i < m; ++i)
    buckets[i] = 0;

  //Increment the number of times each element is present in the input
  //array. Insert them in the buckets
  for (int i = 0; i < n; ++i)
    ++buckets[arr[i]];

  //Sort using insertion sort and concatenate
  for (int i = 0, j = 0; j < m; ++j)
    for (int k = buckets[j]; k > 0; --k)
      arr[i++] = j;
}


//Driver function to test above function
int main()
{             
  int input_ar[] = {10, 24, 22, 62, 1, 50, 100, 75, 2, 3};
  int n = sizeof (input_ar) / sizeof (input_ar[0]);
  bucket_sort (input_ar, n);

  cout << "Sorted Array : " << endl;           
  for (int i = 0; i < n; ++i)
    cout << input_ar[i] << " ";        

                return 0;
}


4.6.1

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

main() {
                int x;
                int y;
                cout<<"\nMasukkan bilangan ke- 1 :";
                cin>>x;
                cout<<"Masukkan bilangan ke-2 :";
                cin>>y;
                if(x>y){
               
                cout<<"lebih besar dari pada\n\n ";cin>>x,y;
}else if(x=y){
                cout<<"sama besar dengan\n\n";cin>>x,y;

}else{
                cout<<"lebih kecil dari pada\n\n";cin>>x,y;
}
               
                return 0;
}


4.6.2
Aloritma :
algoritma;
1.n < - bilangan
2.untuk i=0
 Masukkan data [i];
ulang selama i<n;
untuk a= 0
untuk b = n-1
jika data [b]< data [b-1] maka tukar data

.....
  Akhir jika

b--1;

akhir untuk
 tampilan data [i];
a++;
akhir untuk
3. keluar 

Program C++:

#include<iostream> 
#include<iomanip> 
 
using namespace std; 
 
main() 
    int byk, htg=1, tmp, data[15]; 
 
      cout << "Banyak data : "; 
      cin >> byk; 
 
      for(int i=0; i<byk; i++) 
      { 
      cout << "Masukkan data ke-"<<i<<" : "; 
      cin >> data[i]; 
      } 
    
    endl(cout); 
     
   cout<<"data diurut (Naik): "; 
      for(int a=0; a<byk; a++) 
      { 
            for(int b=byk-1; b>=a; b--) 
            {  
             if(data[b]<data[b-1]) 
             { 
             tmp = data[b]; 
             data[b] = data[b-1]; 
             data[b-1] = tmp; 
             } 
 
            } 
            cout<<data[a]<<" "; 
        } 
 
        cout<<"\nData diurut (Turun) : "; 
 
       for(int i=byk-1; i<=0; i--) 
       { 
            for(int h=0; h<i; h++) 
            { 
                if(data[h] > data[h+1]) 
                { 
                    tmp = data[h]; 
                    data[h] = data[h+1]; 
                    data[h+1] = tmp; 
                } 
            } 
            cout<<data[i]<<" "; 
       } 
       cout<<"\n"<<endl; 
 
    return 0; 
}         



SELESAI
Previous
Next Post »

Disqus Shortname

Comments system