8.4 INSERTION SORT

8.4 INSERTION SORT

Bismillah

program yang saya posting ini dari materi (SEARCHING DAN SORTING) program yang akan dipakai adalah C++

program yang akan dibuat adalah {INSERTION SORT}


Algoritma :


procedure insertion_sort(input/output data:larik; input n:integer)


Deklarasi

       k, j, temp : integer

Deskripsi

       for k <-- 2 to n do

            temp := data [k];

            j := k-1;

       while (temp <= data [j]) and (j > 1) do

               data [j+1] := data [j];

               j := j-1;

       endwhile

       if (temp >= data [j]) then data [j+1] := temp

       else

             data [j+1] := data [j];

             data [j] := temp;

        endif

   endfor



BERIKUT PROGRAM DARI C++ :

#include <iostream>
#include <conio.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
class Sorting {
      friend istream& operator>>(istream& in, Sorting& a);
      friend ostream& operator<<(ostream& out, Sorting& a);
public:
       void baca_data();
       void cetak_data();
       void buble_sort();
       void insertion_sort();
       void selection_sort();
private:
        void minimum(int , int, int&);
        void tukar (int&, int&);
        int data[10], n;
};
  istream& operator>>(istream& in, Sorting& a) {
    cout<<"Banyak data : ";
    in>>a.n;
    for (int i = 0; i < a.n; i++) {
    cout<<"Data ke-" <<i+1<< " : ";
    in>>a.data[i];
}
  return in;
}
  ostream& operator<<(ostream& out, Sorting& a) {
    for (int i = 0; i < a.n; i++)
    out<<a.data[i] << " ";
    out<<"\n";
  return out;
}
  void Sorting::tukar (int &a, int &b){
       int temp;
       temp = a;
       a = b;
       b = temp;
  }
  void Sorting::insertion_sort(){
       int i, j, temp;
       cout<<"Data pertama sudah ada ditangan kiri, yaitu : " << data[0] << '\n';
       for(j = 1; j < n; j++){
           temp = data[j];
           cout<<"\nData ke-" << j+1 << " yaitu " << data[j] << " diambil dari meja\n";
           cout<<"Dilakukan penggeseran elemen :\n";
       for(i = j - 1; (i >= 0) && (data[i] > temp); i--){
           cout<<"data pd posisi ke-[" << i+1 << "] digeser ke posisi [" << i+2 << "]\n";
           data[i+1] = data[i];
       }
        cout<<"Data baru masuk pada posisi ke-[" << i+2 << "]\n";
        data[i+1] = temp; //Insert key into proper position
        cout<<"Data saat ini adalah : ";
        for (int k=0; k<=j; k++) cout << data[k] << " ";
            getch();
            }
  }
int main(int argc, char** argv) {
    Sorting angka;
    cin>>angka;
    angka.insertion_sort();
    cout<<"\nHasil akhir adalah : \n";
    cout<<angka;

 return 0;
}


untuk program sorting dengan metode selection sort klik disini

untuk program sorting dengan metode bubble sort klik disini





4.4 HOW TO SOLVE

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

Berikut adalah program c++ dari penjelasan diatas:


Berikut adalah hasil dari program diatas jika sudah dicompile :

4.1 dan 4.2 disini
4,5 disini  
4.5,2 disini
4.5.3 disini

4.3 HOW TO SOLVE

Mencari Laba Usaha
Aspek perencanaan :
    Proyek bertujuan untuk mempermudah mencari laba usaha berdasarkan jenis-jenis laba yang ada .
Jenis-jenis laba usaha :
Laba kotor
Laba usaha
Laba sebelum pajak
Laba bersih
Program yang di rancang berdasarkan keluhan klien prodi management dan di kerjakan oleh 3 orang anggota kelompok menggunkan dev c++ dan raptor berdasarkan rumus-rumus pencarian laba
Laba kotor rumusnya                : penjualan bersih - harga pokok
Laba usaha rumusnya               : laba kotor - beban usaha
Laba sebelum pajak rumusnya : laba usaha + pendapatan di luar usaha - beban di luar usaha
Laba bersih rumusnya              : laba sebelum pajak – pajak (15%)
Aspek teknis :
      Program yang di rancang di harapkan dapat membantu klien dalam mencari laba usaha untuk tugas-tugas kuliah dan juga dapat membantu siapa saja yang membutuhkan sehingga kegunaaan program yang telah kami buat dapat digunakan secara maksimal

Berikut adalah program C++ dari kasus diatas :


Berikut adalah hasil dari programm diatas :

Berikut adalah program flowcahratnya dan master consolenya :


sedikit yang saya tahu semoga bermanfaat 

KASUS 6.6. BUATLAH SUATU ALGORITMA UNTUK MENGECEK APAKAH SUATU KATA ATAU KALIMAT MERUPAKAN PALINDROM ATAU TIDAK

Algoritma:
 1. masukkan kalimat yang dinginkan

Berikut adalah program c++nya :


Berikut adalah program flowchartnya :
Berikut adalah program outputnya :
;

no 6.1 dan 6.2 disini 
no 6.3  disini
no 6.4 disini

KASUS 6.5. TENTUKAN MODUS DARI N BUAH DATA BERUPA BILANGAN BULAT

Algoritma:


  1. kita harus menjalankan programnya 
  2. kita harus menentukan berapa banyak datanya
  3. lalu masukkan banyak datanya 
  4. tekan enter untuk mengetahui berapa frekuensi  nilainya dan berapa modus dan nilai modusnya.
  5. lalu tekan enter untuk mengakhirinya.
Berikut adalah program C++nya :







dan berikut adalah gambar output dari program diatas :

Dan bagian ini adalah program flowchartnya :

Kategori

Kategori