JURUSAN SISTEM INFORMASI SEKOLAH TINGGI ILMU KOMPUTER YOS SUDARSO PURWOKERTO 2014 BAB I DASAR TEORI 1. PENGANTAR Sorting adalah suatu proses pengurutan data yang sebelumnya disusun secara acak atau tidak teratur menjadi urut atau teratur menurut aturan tertentu. Proses sorting dipengaruhi beberapa faktor diantaranya : jumlah operasi perbandingan yang dilakukan dan jumlah operasi pemindahan data yang dilakukan. Makin banyak jumlah operasinya makin lama juga proses sort tersebut berjalan. Proses sorting ada 6 yaitu : a. Secection b. Bubble c. Insertion d. Quick e. Shell f. merge
Selection sort Mekanisme selection sort dimulai dari suatu penunjuk sort(pos awal), Yang menunjuk posisi awal pengurutan data, diatur agar berisi index pertama dalam larik. Kemudian dicari bilangan terkecil yang terletak antara posisi sesudah yang ditunjuk oleh posmin. Selanjutnya tukar nilai bilangan terkecil dengan bilangan dipos awal. Proses tersebut diulangi dari pos awal bernilai 0 hingga n-2 dengan n menyatakan elemen dalam larik. Bubble sort Bubble sort memiliki ciri khusus yaitu dengan melakukan pembanding dan apabila urutan data tidak terpenuhi maka dilakukan pertukaran. Teknik ini bukanlah teknik yang cepat, tapi bukan juga teknik yang lambat. Insertion sort Insertion Sort dapat disimpulkan sebagai teknik pengurutan yang dilakukan dengan cara membandingkan data ke-i (dimana i dimulai dari data kedua sampai data terakhir) dengan data sebelumnya.Jika ditemukan data yang lebih kecil maka data tersebut disisipkan ke depan sesuai dengan posisi seharusnya. Quick sort Quick Sort yaitu teknik membandingkan suatu elemen (pivot) dengan elemen yang lain dan menyusunnya sedemikian rupa sehingga elemen-elemen lain yang lebih kecil dari pivot terletak disebelah kirinya dan elemen-elemen lain yang lebih besar daripada pivot tersebut terletak disebelah kanannya. Shell Shell mengurutkan data dengan cara membandingkan suatu data dengan data lain yang memiliki jarak tertentu, kemudian dilakukan pertukaran jika diperlukan. Merge Sort Merge sort adalah suatu teknik pengurutan data dengan menggabungkan setiap kali dua deretan elemen dan melakukan pengurutan terhadap elemen-elemen tersebut. BAB II PROGRAM PRAKTIKUM /* * prorgam6.1.cpp * * Created on: 22 Apr 2014 * Author: unggul budi suryanto */
#include<iostream> using namespace std;
int main() { int i, j, iMin; int n, Urut; int Tmp; int Arr[50];
cout<<"inputkan banyak data yang akan diurutkan :"; cin>>n;
Urut = 1; for(i = 0; i < n; i++) { cout<<"Masukan data ke "<<i+1<<"="; cin>>Arr[i];
Penjelasan program : 1. Tanda yang diawali dengan */ dan diakhiri dengan /* adalah script yang digunakan untuk membuat sebuah komentar pada pemrograman C++ dan tidak berpengaruh dengan program yang akan dijalankan 2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai. 3. <iostream> adalah sebuah library yang dibutuhkan untuk fungsi input seperti cin>>var dan output seperti cout<<var. 4. Int main() adalah main program berupa integer atau program utama dalam koding tersebut. Setiap program utama harus diawali dengan tanda kurung kurawal buka{ dan diakhiri dengan tanda kurung kurawal tutup } 5. int i, j, imin, n, urut, tmp, arr adalah deklarasi variabel i, j, imin, n, urut, tmp, arr yang bertipe data integer. 6. Urut adalah program untuk input array 7. If(1=0 ) ..... adalah rumus yang akan digunakan dalam program. Dalam program ini digunakan sorting ascending dengan metode selection. 8. Cout<<var = ; adalah berfungsi untuk melakukan instruksi atau sebuah fungsi perintah untuk memunculkan variable yang ditulis oleh programmer.. 9. Cin>>var adalah perintah untuk memasukkan atau menginputkan data ke variable yang sudah dideklarasikan diatas. 10. return 0; digunakan untuk membaca data karakter
/* * sorting1.cpp * * Created on: 21 Apr 2014 * Author: unggul budi suryanto */
#include <iostream> using namespace std;
int main() { int i, j, n; int tmp; int arr[50];
cout<<"inputkan banyak data yang akan diurutkan :"; cin>>n;
for (i=0; i<n;i++) { cout<<"masukkan data ke "<<i+1<<"="; cin>>arr[i]; } for (i=1; i<n; i++) { for(j=0; j<n-1;j++) { if (arr[j]>arr[j+1]) { tmp=arr[j]; arr[j] = arr[j+1]; arr[j+1]=tmp; } } }
cout<<"setelah pengurutan data \n"; for(i=0;i<n;i++) { cout<<"elemen ke "<<i+1<<":"<<arr[i]<<endl; } return 0; }
Output program :
Penjelasan program : 1. Tanda yang diawali dengan */ dan diakhiri dengan /* adalah script yang digunakan untuk membuat sebuah komentar pada pemrograman C++ dan tidak berpengaruh dengan program yang akan dijalankan 2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai. 3. <iostream> adalah sebuah library yang dibutuhkan untuk fungsi input seperti cin>>var dan output seperti cout<<var. 4. Int main() adalah main program berupa integer atau program utama dalam koding tersebut. Setiap program utama harus diawali dengan tanda kurung kurawal buka{ dan diakhiri dengan tanda kurung kurawal tutup } 5. int i, j, n, tmp, arr adalah deklarasi variabel i, j, n, tmp, arr yang bertipe data integer. 6. If(1=0 ) ..... adalah rumus yang akan digunakan dalam program. Dalam program ini digunakan sorting ascending dengan metode selection. 7. Cout<<var = ; adalah berfungsi untuk melakukan instruksi atau sebuah fungsi perintah untuk memunculkan variable yang ditulis oleh programmer.. 8. Cin>>var adalah perintah untuk memasukkan atau menginputkan data ke variable yang sudah dideklarasikan diatas. 9. return 0; digunakan untuk membaca data karakter
Program 7.1 /* * 7.1.cpp * * Created on: 12 Mei 2014 * Author: unggul budi suryanto */
#include <iostream> using namespace std; void tampilkan_larik(int data[],int n) { int i; for (i=0;i<n;i++) cout<<data[i]<<" "<<endl;
} void insertion_sort(int data[],int n) { int i,k; int x; int ketemu; for(k=1;k<n;k++) { x=data[k]; i=k-1; ketemu=0; while( (i>=0)&&(!ketemu)) { if (x<data[i]) { data [i+1]=data[i]; i=i-1; } else ketemu=1; data[i+1]=x; } } } int main() { int jum_data=8; int data[]={25,57,48,37,12,92,80,33}; insertion_sort(data, jum_data);
Penjelasan program : 1. Tanda yang diawali dengan */ dan diakhiri dengan /* adalah script yang digunakan untuk membuat sebuah komentar pada pemrograman C++ dan tidak berpengaruh dengan program yang akan dijalankan 2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai. 3. <iostream> adalah sebuah library yang dibutuhkan untuk fungsi input seperti cin>>var dan output seperti cout<<var. 4. Int main() adalah main program berupa integer atau program utama dalam koding tersebut. Setiap program utama harus diawali dengan tanda kurung kurawal buka{ dan diakhiri dengan tanda kurung kurawal tutup } 5. Void larik adalah program menu tampilan larik yang akan dipanggil didalam program utama. 6. Void insertion sort adalah program nemu insertion sort yang akan dipanggil dalam program utama. 7. for(k=1 ) ..... adalah rumus yang akan digunakan dalam program. 8. Cout<<var = ; adalah berfungsi untuk melakukan instruksi atau sebuah fungsi perintah untuk memunculkan variable yang ditulis oleh programmer.. 9. return 0; digunakan untuk membaca data karakter
Program 7.2 /* * 7.2.cpp * * Created on: 12 Mei 2014 * Author: unggul budi suryanto */
#include <iostream> using namespace std;
void tampilkan_larik(int data[], int n) { int i; for (i=0; i<n; i++) cout<<data[i]<<" "<<endl; }
int partisi (int data[], int p, int r) { int x, i, j, tmp;
Penjelasan program : 1. Tanda yang diawali dengan */ dan diakhiri dengan /* adalah script yang digunakan untuk membuat sebuah komentar pada pemrograman C++ dan tidak berpengaruh dengan program yang akan dijalankan 2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai. 3. <iostream> adalah sebuah library yang dibutuhkan untuk fungsi input seperti cin>>var dan output seperti cout<<var. 4. Int main() adalah main program berupa integer atau program utama dalam koding tersebut. Setiap program utama harus diawali dengan tanda kurung kurawal buka{ dan diakhiri dengan tanda kurung kurawal tutup } 5. Int data, intn, int i, dll adalah pendeklarasian tipedata yang digunakan adalah tipe data integer. 6. Void tampilan larik adalah menu program yang akan dipanggil dalam program utama. 7. Void quick sort adalah menu program yang akan dipanggil dalam program utama. 8. for(1=0 ) ..... adalah rumus yang akan digunakan dalam program. 9. Cout<<var = ; adalah berfungsi untuk melakukan instruksi atau sebuah fungsi perintah untuk memunculkan variable yang ditulis oleh programmer.. 10. Cin>>var adalah perintah untuk memasukkan atau menginputkan data ke variable yang sudah dideklarasikan diatas. 11. return 0; digunakan untuk membaca data karakter
Program 8.1 /* * 8.1.cpp * * Created on: 13 Mei 2014 * Author: unggul budi suryanto */
Penjelasan program : 1. Tanda yang diawali dengan */ dan diakhiri dengan /* adalah script yang digunakan untuk membuat sebuah komentar pada pemrograman C++ dan tidak berpengaruh dengan program yang akan dijalankan 2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai. 3. <iostream> adalah sebuah library yang dibutuhkan untuk fungsi input seperti cin>>var dan output seperti cout<<var. 4. Int main() adalah main program berupa integer atau program utama dalam koding tersebut. Setiap program utama harus diawali dengan tanda kurung kurawal buka{ dan diakhiri dengan tanda kurung kurawal tutup } 5. int i, j, n, min, dll adalah deklarasi variabel yang bertipe data integer. 6. for(1=0 ) ..... adalah rumus yang akan digunakan dalam program. 7. Cout<<var = ; adalah berfungsi untuk melakukan instruksi atau sebuah fungsi perintah untuk memunculkan variable yang ditulis oleh programmer.. 8. Cin>>var adalah perintah untuk memasukkan atau menginputkan data ke variable yang sudah dideklarasikan diatas. 9. return 0; digunakan untuk membaca data karakter
Program 8.2 /* * 8.2.cpp * * Created on: 13 Mei 2014 * Author: acer */
#include <iostream> using namespace std;
int a[50]; void merge (int,int,int); void merge_sort(int low,int high){ int mid; if(low<high) { mid=(low+high)/2; merge_sort(low,mid); merge_sort(mid+1,high); merge(low,mid,high); } } void merge(int low, int mid, int high){ int h,i,j,b[50],k; h=low; i=low; j=mid+1;
while((h<=mid)&&(j<=high)) { if(a[h]<=a[j]) { b[i]=a[h]; h++; } else { b[i]=a[j]; j++; } i++; } if(h>mid) { for(k=j;k<=high;k++) { b[i]=a[k]; i++; } } else { for(k=h;k<=mid;k++) { b[i]=a[k]; i++; } } for(k=low;k<=high;k++)a[k]=b[k]; } int main() { int num,i; cout<<"Inputkan banyak data yang akan diurutkan:"; cin>>num; cout<<endl; cout<<"Masukan ("<< num <<") data:"<<endl; for(i=1;i<=num;i++) { cin>>a[i]; } merge_sort(1,num); cout<<endl; cout<<"Setelah Pengurutan (Merge Sort) :"<<endl; for(i=1;i<=num;i++) cout<<a[i]<<" "; cout<<endl<<endl<<endl<<endl; return 0; } Output program :
Penjelasan program : 1. Tanda yang diawali dengan */ dan diakhiri dengan /* adalah script yang digunakan untuk membuat sebuah komentar pada pemrograman C++ dan tidak berpengaruh dengan program yang akan dijalankan 2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai. 3. <iostream> adalah sebuah library yang dibutuhkan untuk fungsi input seperti cin>>var dan output seperti cout<<var. 4. Int main() adalah main program berupa integer atau program utama dalam koding tersebut. Setiap program utama harus diawali dengan tanda kurung kurawal buka{ dan diakhiri dengan tanda kurung kurawal tutup } 5. int i, j, n, min, dll adalah deklarasi variabel yang bertipe data integer. 6. Void merge adalah menu program yang dapat dipanggil dalam program utama.. 7. for(1=0; ..... ) ..... adalah rumus yang akan digunakan dalam program. 8. Cout<<var = ; adalah berfungsi untuk melakukan instruksi atau sebuah fungsi perintah untuk memunculkan variable yang ditulis oleh programmer.. 9. Cin>>var adalah perintah untuk memasukkan atau menginputkan data ke variable yang sudah dideklarasikan diatas. 10. return 0; digunakan untuk membaca data karakter
BAB III Tugas Program Praktikum
Program type data abstract Program 6.1 struct /* * 6.1.cpp * * Created on: 13 Mei 2014 * Author: acer */
#include <iostream> using namespace std; struct ada{ int i, j, iMin, n, Urut, Tmp, Arr[50]; }m; int main(){ ada m; cout<<"Inputkan bayak data yang akan diurutkan :"; cin>>m.n; m.Urut = 1; for(m.i=0; m.i<m.n; m.i++){ cout<<"masukkan data ke"<<m.i+1<<"="; cin>>m.Arr[m.i]; } for(m.i=0; m.i<m.n-1; m.i++){ m.iMin = m.i; for(m.j=m.Urut; m.j<m.n; m.j++){ if(m.Arr[m.j] < m.Arr[m.iMin]){ m.iMin = m.j; if(m.Arr[m.i] != m.Arr[m.iMin]){ m.Tmp = m.Arr[m.i]; if(m.Arr[m.i] > m.Arr[m.iMin]) { m.Arr[m.i] = m.Arr[m.iMin]; m.Arr[m.iMin] = m.Tmp; } } } } m.Urut = m.Urut+1; } cout<<"\nSetelah Pengurutan\n"; for(m.i=0; m.i<m.n; m.i++){ cout<<"Elemen ke"<<m.i+1<<"="<<m.Arr[m.i]<<endl; } return 0; }
Output program :
Penjelasan program : 1. Tanda yang diawali dengan */ dan diakhiri dengan /* adalah script yang digunakan untuk membuat sebuah komentar pada pemrograman C++ dan tidak berpengaruh dengan program yang akan dijalankan 2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai. 3. <iostream> adalah sebuah library yang dibutuhkan untuk fungsi input seperti cin>>var dan output seperti cout<<var. 4. Int main() adalah main program berupa integer atau program utama dalam koding tersebut. Setiap program utama harus diawali dengan tanda kurung kurawal buka{ dan diakhiri dengan tanda kurung kurawal tutup } 5. int i, j, imin, n, urut, tmp, arr adalah deklarasi variabel i, j, imin, n, urut, tmp, arr yang bertipe data integer. 6. Urut adalah program untuk input array. 7. Struct adalah typedata abstrak untuk mendeklarasikan variabel baru yang digunakan dalam program tersebut. 8. Ada m; adalah pendeklarasian variabel baru dengan nama bentukan m. 9. for(1=0 ) ..... adalah rumus yang akan digunakan dalam program. Dalam program ini digunakan sorting ascending dengan metode selection. 10. Cout<<var = ; adalah berfungsi untuk melakukan instruksi atau sebuah fungsi perintah untuk memunculkan variable yang ditulis oleh programmer.. 11. return 0; digunakan untuk membaca data karakter
/* * 6.1.cpp * * Created on: 10 mei 2014 * Author: unggul budi suryanto */
#include<iostream> using namespace std;
typedef int a; typedef int b; typedef int c; typedef int d; typedef int e; typedef int f; typedef int g;
int main() { a i; b j; c iMin; d n; e Urut; f Tmp; g Arr[50];
cout<<"inputkan banyak data yang akan diurutkan :"; cin>>n;
Urut = 1; for(i = 0; i < n; i++) { cout<<"Masukan data ke "<<i+1<<"="; cin>>Arr[i];
Penjelasan program : 1. Tanda yang diawali dengan */ dan diakhiri dengan /* adalah script yang digunakan untuk membuat sebuah komentar pada pemrograman C++ dan tidak berpengaruh dengan program yang akan dijalankan 2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai. 3. <iostream> adalah sebuah library yang dibutuhkan untuk fungsi input seperti cin>>var dan output seperti cout<<var. 4. Int main() adalah main program berupa integer atau program utama dalam koding tersebut. Setiap program utama harus diawali dengan tanda kurung kurawal buka{ dan diakhiri dengan tanda kurung kurawal tutup } 5. int i, j, imin, n, urut, tmp, arr adalah deklarasi variabel i, j, imin, n, urut, tmp, arr yang bertipe data integer. 6. Urut adalah program untuk input array. 7. typedef adalah typedata abstrak untuk mendeklarasikan type data bentukan baru yang digunakan dalam program tersebut.. 8. for(1=0 ) ..... adalah rumus yang akan digunakan dalam program. Dalam program ini digunakan sorting ascending dengan metode selection. 9. Cout<<var = ; adalah berfungsi untuk melakukan instruksi atau sebuah fungsi perintah untuk memunculkan variable yang ditulis oleh programmer.. 10. return 0; digunakan untuk membaca data karakter
/* * 6.1.cpp * * Created on: 13 Mei 2014 * Author: acer */
#include <iostream> using namespace std;
typedef struct ada{ int i, j, iMin, n, Urut, Tmp, Arr[50]; }m;
int main(){ ada m; cout<<"Inputkan bayak data yang akan diurutkan :"; cin>>m.n; m.Urut = 1; for(m.i=0; m.i<m.n; m.i++){ cout<<"masukkan data ke"<<m.i+1<<"="; cin>>m.Arr[m.i]; } for(m.i=0; m.i<m.n-1; m.i++){ m.iMin = m.i; for(m.j=m.Urut; m.j<m.n; m.j++){ if(m.Arr[m.j] < m.Arr[m.iMin]){ m.iMin = m.j; if(m.Arr[m.i] != m.Arr[m.iMin]){ m.Tmp = m.Arr[m.i]; if(m.Arr[m.i] > m.Arr[m.iMin]) { m.Arr[m.i] = m.Arr[m.iMin]; m.Arr[m.iMin] = m.Tmp; } } } } m.Urut = m.Urut+1; } cout<<"\nSetelah Pengurutan\n"; for(m.i=0; m.i<m.n; m.i++){ cout<<"Elemen ke"<<m.i+1<<"="<<m.Arr[m.i]<<endl; } return 0; } Output program :
Penjelasan program : 1. Tanda yang diawali dengan */ dan diakhiri dengan /* adalah script yang digunakan untuk membuat sebuah komentar pada pemrograman C++ dan tidak berpengaruh dengan program yang akan dijalankan 2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai. 3. <iostream> adalah sebuah library yang dibutuhkan untuk fungsi input seperti cin>>var dan output seperti cout<<var. 4. Int main() adalah main program berupa integer atau program utama dalam koding tersebut. Setiap program utama harus diawali dengan tanda kurung kurawal buka{ dan diakhiri dengan tanda kurung kurawal tutup } 5. int i, j, imin, n, urut, tmp, arr adalah deklarasi variabel i, j, imin, n, urut, tmp, arr yang bertipe data integer. 6. Urut adalah program untuk input array. 7. Typedef Struct adalah typedata abstrak untuk mendeklarasikan typedata dan variabel baru yang digunakan dalam program tersebut. 8. Ada m; adalah pendeklarasian variabel baru dengan nama bentukan m. 9. for(1=0 ) ..... adalah rumus yang akan digunakan dalam program. Dalam program ini digunakan sorting ascending dengan metode selection. 10. Cout<<var = ; adalah berfungsi untuk melakukan instruksi atau sebuah fungsi perintah untuk memunculkan variable yang ditulis oleh programmer.. 11. return 0; digunakan untuk membaca data karakter
Program 6.2 /* * sorting1.cpp * * Created on: 21 Apr 2014 * Author: unggul budi suryanto */
#include <iostream> using namespace std;
typedef int a; typedef int b; typedef int c; typedef int d; typedef int e;
int main() { a i; b j; c n; d tmp; e arr[50];
cout<<"inputkan banyak data yang akan diurutkan :"; cin>>n;
for (i=0; i<n;i++) { cout<<"masukkan data ke "<<i+1<<"="; cin>>arr[i]; } for (i=1; i<n; i++) { for(j=0; j<n-1;j++) { if (arr[j]>arr[j+1]) { tmp=arr[j]; arr[j] = arr[j+1]; arr[j+1]=tmp; } } }
cout<<"setelah pengurutan data \n"; for(i=0;i<n;i++) { cout<<"elemen ke "<<i+1<<":"<<arr[i]<<endl; } return 0; } Output program :
Penjelasan program : 1. Tanda yang diawali dengan */ dan diakhiri dengan /* adalah script yang digunakan untuk membuat sebuah komentar pada pemrograman C++ dan tidak berpengaruh dengan program yang akan dijalankan 2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai. 3. <iostream> adalah sebuah library yang dibutuhkan untuk fungsi input seperti cin>>var dan output seperti cout<<var. 4. Int main() adalah main program berupa integer atau program utama dalam koding tersebut. Setiap program utama harus diawali dengan tanda kurung kurawal buka{ dan diakhiri dengan tanda kurung kurawal tutup } 5. Typedef adalah tipe data abstrack yang digunakan dalam program untuk mendeklarasikan nama tipe data baru. 6. If(1=0 ) ..... adalah rumus yang akan digunakan dalam program. Dalam program ini digunakan sorting ascending dengan metode selection. 7. Cout<<var = ; adalah berfungsi untuk melakukan instruksi atau sebuah fungsi perintah untuk memunculkan variable yang ditulis oleh programmer.. 8. Cin>>var adalah perintah untuk memasukkan atau menginputkan data ke variable yang sudah dideklarasikan diatas. 9. return 0; digunakan untuk membaca data karakter
/* * 6.2.cpp * * Created on: 13 Mei 2014 * Author: acer */
#include<iostream> using namespace std; struct apa{ int i , j , n, tmp, arr[50]; }b; int main() { apa b; cout<<"inputkan banyak data yang akan diurutkan :"; cin>>b.n; for(b.i=0;b.i<b.n;b.i++) { cout<<"masukan data ke"<<b.i+1<<"="; cin>>b.arr[b.i]; } for(b.i=1;b.i<b.n;b.i++) { for(b.j=0;b.j<b.n-1;b.j++) { if(b.arr[b.j]>b.arr[b.j+1]) { b.tmp = b.arr[b.j]; b.arr[b.j]=b.arr[b.j+1]; b.arr[b.j+1]=b.tmp; } } } cout<<"\nsetelah pengurutan data\n"; for(b.i=0;b.i<b.n;b.i++){ cout<<"\nelemen ke"<<b.i+1<<":"<<b.arr[b.i]<<endl; } return 0; } Output program :
Penjelasan program : 12. Tanda yang diawali dengan */ dan diakhiri dengan /* adalah script yang digunakan untuk membuat sebuah komentar pada pemrograman C++ dan tidak berpengaruh dengan program yang akan dijalankan 13. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai. 14. <iostream> adalah sebuah library yang dibutuhkan untuk fungsi input seperti cin>>var dan output seperti cout<<var. 15. Int main() adalah main program berupa integer atau program utama dalam koding tersebut. Setiap program utama harus diawali dengan tanda kurung kurawal buka{ dan diakhiri dengan tanda kurung kurawal tutup } 16. struct adalah tipe data abstrack yang digunakan dalam program untuk mendeklarasikan nama veriabel baru. 17. Apa b ; adalah pendeklarasian tipedata struct bervariabel b. 18. If(1=0 ) ..... adalah rumus yang akan digunakan dalam program. Dalam program ini digunakan sorting ascending dengan metode selection. 19. Cout<<var = ; adalah berfungsi untuk melakukan instruksi atau sebuah fungsi perintah untuk memunculkan variable yang ditulis oleh programmer.. 20. Cin>>var adalah perintah untuk memasukkan atau menginputkan data ke variable yang sudah dideklarasikan diatas. 21. return 0; digunakan untuk membaca data karakter
/* * 6.2.cpp * * Created on: 13 Mei 2014 * Author: acer */
#include<iostream> using namespace std; typedef struct apa{ int i , j , n, tmp, arr[50]; }b;
int main() { apa b; cout<<"inputkan banyak data yang akan diurutkan :"; cin>>b.n; for(b.i=0;b.i<b.n;b.i++) { cout<<"masukan data ke"<<b.i+1<<"="; cin>>b.arr[b.i]; } for(b.i=1;b.i<b.n;b.i++) { for(b.j=0;b.j<b.n-1;b.j++) { if(b.arr[b.j]>b.arr[b.j+1]) { b.tmp = b.arr[b.j]; b.arr[b.j]=b.arr[b.j+1]; b.arr[b.j+1]=b.tmp; } } } cout<<"\nsetelah pengurutan data\n"; for(b.i=0;b.i<b.n;b.i++){ cout<<"\nelemen ke"<<b.i+1<<":"<<b.arr[b.i]<<endl; } return 0; } Output program :
Penjelasan program : 1. Tanda yang diawali dengan */ dan diakhiri dengan /* adalah script yang digunakan untuk membuat sebuah komentar pada pemrograman C++ dan tidak berpengaruh dengan program yang akan dijalankan 2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai. 3. <iostream> adalah sebuah library yang dibutuhkan untuk fungsi input seperti cin>>var dan output seperti cout<<var. 4. Int main() adalah main program berupa integer atau program utama dalam koding tersebut. Setiap program utama harus diawali dengan tanda kurung kurawal buka{ dan diakhiri dengan tanda kurung kurawal tutup } 5. Typeder struct adalah tipe data abstrack yang digunakan dalam program untuk mendeklarasikan nama tipe data baru dan veriabel baru. 6. Apa b ; adalah pendeklarasian tipedata bervariabel b. 7. If(1=0 ) ..... adalah rumus yang akan digunakan dalam program. Dalam program ini digunakan sorting ascending dengan metode selection. 8. Cout<<var = ; adalah berfungsi untuk melakukan instruksi atau sebuah fungsi perintah untuk memunculkan variable yang ditulis oleh programmer.. 9. Cin>>var adalah perintah untuk memasukkan atau menginputkan data ke variable yang sudah dideklarasikan diatas. 10. return 0; digunakan untuk membaca data karakter
Program 7.1 /* * 7.1.cpp * * Created on: 12 Mei 2014 * Author: unggul budi suryanto */
#include <iostream> using namespace std; void tampilkan_larik(int data[],int n) { int i; for (i=0;i<n;i++) cout<<data[i]<<" "<<endl;
} void insertion_sort(int data[],int n) { int i,k; int x; int ketemu; for(k=1;k<n;k++) { x=data[k]; i=k-1; ketemu=0; while( (i>=0)&&(!ketemu)) { if (x<data[i]) { data [i+1]=data[i]; i=i-1; } else ketemu=1; data[i+1]=x; } } }
typedef int a; typedef int b; int main() { a jum_data=8; b data[]={25,57,48,37,12,92,80,33}; insertion_sort(data, jum_data);
Penjelasan program : 1. Tanda yang diawali dengan */ dan diakhiri dengan /* adalah script yang digunakan untuk membuat sebuah komentar pada pemrograman C++ dan tidak berpengaruh dengan program yang akan dijalankan 2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai. 3. <iostream> adalah sebuah library yang dibutuhkan untuk fungsi input seperti cin>>var dan output seperti cout<<var. 4. Int main() adalah main program berupa integer atau program utama dalam koding tersebut. Setiap program utama harus diawali dengan tanda kurung kurawal buka{ dan diakhiri dengan tanda kurung kurawal tutup } 5. Void larik adalah program menu tampilan larik yang akan dipanggil didalam program utama. 6. Void insertion sort adalah program nemu insertion sort yang akan dipanggil dalam program utama. 7. typedef adalah tipe data abstrak yang digunakan dalam program tersebut untuk memberikan nama alias typedata lama. 8. for(k=1 ) ..... adalah rumus yang akan digunakan dalam program. 9. Cout<<var = ; adalah berfungsi untuk melakukan instruksi atau sebuah fungsi perintah untuk memunculkan variable yang ditulis oleh programmer.. 10. return 0; digunakan untuk membaca data karakter
/* * 7.1.cpp * * Created on: 12 Mei 2014 * Author: unggul budi suryanto */
#include <iostream> using namespace std; void tampilkan_larik(int data[],int n) { int i; for (i=0;i<n;i++) cout<<data[i]<<" "<<endl;
} void insertion_sort(int data[],int n) { int i,k; int x; int ketemu; for(k=1;k<n;k++) { x=data[k]; i=k-1; ketemu=0; while( (i>=0)&&(!ketemu)) { if (x<data[i]) { data [i+1]=data[i]; i=i-1; } else ketemu=1; data[i+1]=x; } } }
Struct ada { int jum_data; }m; int main() { Ada m;
m.jum_data=8; int data[]={25,57,48,37,12,92,80,33}; insertion_sort(data, m.jum_data);
Penjelasan program : 1. Tanda yang diawali dengan */ dan diakhiri dengan /* adalah script yang digunakan untuk membuat sebuah komentar pada pemrograman C++ dan tidak berpengaruh dengan program yang akan dijalankan 2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai. 3. <iostream> adalah sebuah library yang dibutuhkan untuk fungsi input seperti cin>>var dan output seperti cout<<var. 4. Int main() adalah main program berupa integer atau program utama dalam koding tersebut. Setiap program utama harus diawali dengan tanda kurung kurawal buka{ dan diakhiri dengan tanda kurung kurawal tutup } 5. Void larik adalah program menu tampilan larik yang akan dipanggil didalam program utama. 6. Void insertion sort adalah program nemu insertion sort yang akan dipanggil dalam program utama. 7. Struct adalah tipe data abstrak yang digunakan dalam program tersebut untuk mendeklarasikan variabel baru. 8. for(k=1 ) ..... adalah rumus yang akan digunakan dalam program. 9. Cout<<var = ; adalah berfungsi untuk melakukan instruksi atau sebuah fungsi perintah untuk memunculkan variable yang ditulis oleh programmer.. 10. return 0; digunakan untuk membaca data karakter
/* * 7.1.cpp * * Created on: 12 Mei 2014 * Author: unggul budi suryanto */
#include <iostream> using namespace std; void tampilkan_larik(int data[],int n) { int i; for (i=0;i<n;i++) cout<<data[i]<<" "<<endl;
} void insertion_sort(int data[],int n) { int i,k; int x; int ketemu; for(k=1;k<n;k++) { x=data[k]; i=k-1; ketemu=0; while( (i>=0)&&(!ketemu)) { if (x<data[i]) { data [i+1]=data[i]; i=i-1; } else ketemu=1; data[i+1]=x; } } }
typedef struct ada { int jum_data; }; int main() { ada m; m.jum_data=8; int data[]={25,57,48,37,12,92,80,33}; insertion_sort(data, m.jum_data);
Penjelasan program : 1. Tanda yang diawali dengan */ dan diakhiri dengan /* adalah script yang digunakan untuk membuat sebuah komentar pada pemrograman C++ dan tidak berpengaruh dengan program yang akan dijalankan 2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai. 3. <iostream> adalah sebuah library yang dibutuhkan untuk fungsi input seperti cin>>var dan output seperti cout<<var. 4. Int main() adalah main program berupa integer atau program utama dalam koding tersebut. Setiap program utama harus diawali dengan tanda kurung kurawal buka{ dan diakhiri dengan tanda kurung kurawal tutup } 5. Void larik adalah program menu tampilan larik yang akan dipanggil didalam program utama. 6. Void insertion sort adalah program nemu insertion sort yang akan dipanggil dalam program utama. 7. Typedef Struct adalah tipe data abstrak yang digunakan dalam program tersebut untuk mendeklarasikan typedata dan variabel baru. 8. for(k=1 ) ..... adalah rumus yang akan digunakan dalam program. 9. Cout<<var = ; adalah berfungsi untuk melakukan instruksi atau sebuah fungsi perintah untuk memunculkan variable yang ditulis oleh programmer.. 10. return 0; digunakan untuk membaca data karakter
Program 7.2 /* * 7.2.cpp * * Created on: 12 Mei 2014 * Author: unggul budi suryanto */
#include <iostream> using namespace std;
void tampilkan_larik(int data[], int n) { int i; for (i=0; i<n; i++) cout<<data[i]<<" "<<endl; }
int partisi (int data[], int p, int r) { int x, i, j, tmp;
Penjelasan program : 1. Tanda yang diawali dengan */ dan diakhiri dengan /* adalah script yang digunakan untuk membuat sebuah komentar pada pemrograman C++ dan tidak berpengaruh dengan program yang akan dijalankan 2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai. 3. <iostream> adalah sebuah library yang dibutuhkan untuk fungsi input seperti cin>>var dan output seperti cout<<var. 4. Int main() adalah main program berupa integer atau program utama dalam koding tersebut. Setiap program utama harus diawali dengan tanda kurung kurawal buka{ dan diakhiri dengan tanda kurung kurawal tutup } 5. Int data, intn, int i, dll adalah pendeklarasian tipedata yang digunakan adalah tipe data integer. 6. Void tampilan larik adalah menu program yang akan dipanggil dalam program utama. 7. Void quick sort adalah menu program yang akan dipanggil dalam program utama. 8. Typedef int a; adalah pendeklarasian tipedata baru dalam program bernama a. 9. for(1=0 ) ..... adalah rumus yang akan digunakan dalam program. 10. Cout<<var = ; adalah berfungsi untuk melakukan instruksi atau sebuah fungsi perintah untuk memunculkan variable yang ditulis oleh programmer.. 11. return 0; digunakan untuk membaca data karakter
/* * 7.2.cpp * * Created on: 12 Mei 2014 * Author: unggul budi suryanto */
#include <iostream> using namespace std;
void tampilkan_larik(int data[], int n) { int i; for (i=0; i<n; i++) cout<<data[i]<<" "<<endl; }
int partisi (int data[], int p, int r) { int x, i, j, tmp;
Penjelasan program : 1. Tanda yang diawali dengan */ dan diakhiri dengan /* adalah script yang digunakan untuk membuat sebuah komentar pada pemrograman C++ dan tidak berpengaruh dengan program yang akan dijalankan 2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai. 3. <iostream> adalah sebuah library yang dibutuhkan untuk fungsi input seperti cin>>var dan output seperti cout<<var. 4. Int main() adalah main program berupa integer atau program utama dalam koding tersebut. Setiap program utama harus diawali dengan tanda kurung kurawal buka{ dan diakhiri dengan tanda kurung kurawal tutup } 5. Int data, intn, int i, dll adalah pendeklarasian tipedata yang digunakan adalah tipe data integer. 6. Void tampilan larik adalah menu program yang akan dipanggil dalam program utama. 7. Void quick sort adalah menu program yang akan dipanggil dalam program utama. 8. struct adalah pendeklarasian tipedata abstrak baru dalam program dengan variabel bernama m.. 9. for(1=0 ) ..... adalah rumus yang akan digunakan dalam program. 10. Cout<<var = ; adalah berfungsi untuk melakukan instruksi atau sebuah fungsi perintah untuk memunculkan variable yang ditulis oleh programmer.. 11. return 0; digunakan untuk membaca data karakter
/* * 7.2.cpp * * Created on: 12 Mei 2014 * Author: unggul budi suryanto */
#include <iostream> using namespace std;
void tampilkan_larik(int data[], int n) { int i; for (i=0; i<n; i++) cout<<data[i]<<" "<<endl; }
int partisi (int data[], int p, int r) { int x, i, j, tmp;
Penjelasan program : 1. Tanda yang diawali dengan */ dan diakhiri dengan /* adalah script yang digunakan untuk membuat sebuah komentar pada pemrograman C++ dan tidak berpengaruh dengan program yang akan dijalankan 2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai. 3. <iostream> adalah sebuah library yang dibutuhkan untuk fungsi input seperti cin>>var dan output seperti cout<<var. 4. Int main() adalah main program berupa integer atau program utama dalam koding tersebut. Setiap program utama harus diawali dengan tanda kurung kurawal buka{ dan diakhiri dengan tanda kurung kurawal tutup } 5. Int data, intn, int i, dll adalah pendeklarasian tipedata yang digunakan adalah tipe data integer. 6. Void tampilan larik adalah menu program yang akan dipanggil dalam program utama. 7. Void quick sort adalah menu program yang akan dipanggil dalam program utama. 8. Typedef struct adalah pendeklarasian tipedata abstrak baru dalam program dengan tipedata dan variabel baru... 9. for(1=0 ) ..... adalah rumus yang akan digunakan dalam program. 10. Cout<<var = ; adalah berfungsi untuk melakukan instruksi atau sebuah fungsi perintah untuk memunculkan variable yang ditulis oleh programmer.. 11. return 0; digunakan untuk membaca data karakter
Program 8.1 /* * 8.1.cpp * * Created on: 13 Mei 2014 * Author: unggul budi suryanto */
cout<<"\nData Setelah Sorting :"; for(i=0;i< n;i++) cout<<a[i]<<" "; return 0; } Output program :
Penjelasan program : 1. Tanda yang diawali dengan */ dan diakhiri dengan /* adalah script yang digunakan untuk membuat sebuah komentar pada pemrograman C++ dan tidak berpengaruh dengan program yang akan dijalankan 2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai. 3. <iostream> adalah sebuah library yang dibutuhkan untuk fungsi input seperti cin>>var dan output seperti cout<<var. 4. Int main() adalah main program berupa integer atau program utama dalam koding tersebut. Setiap program utama harus diawali dengan tanda kurung kurawal buka{ dan diakhiri dengan tanda kurung kurawal tutup } 5. int i, j, n, min, dll adalah deklarasi variabel yang bertipe data integer. 6. Typedef int m adalah pendeklarasian tipe data baru bertipe integer dan bernama m. 7. Void shellsort adalah menu program yang dapat dipanggil dalam program utama.. 8. for(1=0 ) ..... adalah rumus yang akan digunakan dalam program. 9. Cout<<var = ; adalah berfungsi untuk melakukan instruksi atau sebuah fungsi perintah untuk memunculkan variable yang ditulis oleh programmer.. 10. Cin>>var adalah perintah untuk memasukkan atau menginputkan data ke variable yang sudah dideklarasikan diatas. 11. return 0; digunakan untuk membaca data karakter
/* * 8.1.cpp * * Created on: 13 Mei 2014 * Author: unggul budi suryanto */
cout<<"\nData Setelah Sorting :"; for(m.i=0;m.i< m.n;m.i++) cout<<a[m.i]<<" "; return 0; } Output program :
Penjelasan program : 11. Tanda yang diawali dengan */ dan diakhiri dengan /* adalah script yang digunakan untuk membuat sebuah komentar pada pemrograman C++ dan tidak berpengaruh dengan program yang akan dijalankan 12. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai. 13. <iostream> adalah sebuah library yang dibutuhkan untuk fungsi input seperti cin>>var dan output seperti cout<<var. 14. Int main() adalah main program berupa integer atau program utama dalam koding tersebut. Setiap program utama harus diawali dengan tanda kurung kurawal buka{ dan diakhiri dengan tanda kurung kurawal tutup } 15. int i, j, n, min, dll adalah deklarasi variabel yang bertipe data integer. 16. Struct ada m adalah pendeklarasian tipe data abstrak baru bertipe integer dan bernama variabel m. 17. Ada m; adalah pendeklarasian variabel baru dengan nama m. 18. Void shellsort adalah menu program yang dapat dipanggil dalam program utama.. 19. for(1=0 ) ..... adalah rumus yang akan digunakan dalam program. 20. Cout<<var = ; adalah berfungsi untuk melakukan instruksi atau sebuah fungsi perintah untuk memunculkan variable yang ditulis oleh programmer.. 21. Cin>>var adalah perintah untuk memasukkan atau menginputkan data ke variable yang sudah dideklarasikan diatas. 22. return 0; digunakan untuk membaca data karakter
/* * 8.1.cpp * * Created on: 13 Mei 2014 * Author: unggul budi suryanto */
cout<<"\nData Setelah Sorting :"; for(m.i=0;m.i< m.n;m.i++) cout<<m.a[m.i]<<" "; return 0; } Output program :
Penjelasan program : 1. Tanda yang diawali dengan */ dan diakhiri dengan /* adalah script yang digunakan untuk membuat sebuah komentar pada pemrograman C++ dan tidak berpengaruh dengan program yang akan dijalankan 2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai. 3. <iostream> adalah sebuah library yang dibutuhkan untuk fungsi input seperti cin>>var dan output seperti cout<<var. 4. Int main() adalah main program berupa integer atau program utama dalam koding tersebut. Setiap program utama harus diawali dengan tanda kurung kurawal buka{ dan diakhiri dengan tanda kurung kurawal tutup } 5. int i, j, n, min, dll adalah deklarasi variabel yang bertipe data integer. 6. Typedef Struct ada m adalah pendeklarasian tipe data abstrak baru bertipe integer dan bernama variabel m. 7. Ada m; adalah pendeklarasian variabel baru dengan nama m. 8. Void shellsort adalah menu program yang dapat dipanggil dalam program utama.. 9. for(1=0 ) ..... adalah rumus yang akan digunakan dalam program. 10. Cout<<var = ; adalah berfungsi untuk melakukan instruksi atau sebuah fungsi perintah untuk memunculkan variable yang ditulis oleh programmer.. 11. Cin>>var adalah perintah untuk memasukkan atau menginputkan data ke variable yang sudah dideklarasikan diatas. 12. return 0; digunakan untuk membaca data karakter
Program 8.2 /* * 8.2.cpp * * Created on: 13 Mei 2014 * Author: acer */
b[i]=a[k]; i++; } } else { for(k=h;k<=mid;k++) { b[i]=a[k]; i++; } } for(k=low;k<=high;k++) a[k]=b[k]; } int main() { m num; m i; cout<<"Inputkan banyak data yang akan diurutkan :"; cin>>num; cout<<endl; cout<<"Masukkan ( "<< num <<" ) data: "<<endl; for(=1;i<=num;i++) { cin>>a[i]; } merge_sort(1,num); cout<<endl; cout<<"Setelah Pengurutan (Merge Sort) :"<<endl; for(i=1;i<=num;i++) cout<<a[i]<<" "; cout<<endl<<endl<<endl<<endl; return 0; } Output program :
Penjelasan program : 1. Tanda yang diawali dengan */ dan diakhiri dengan /* adalah script yang digunakan untuk membuat sebuah komentar pada pemrograman C++ dan tidak berpengaruh dengan program yang akan dijalankan 2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai. 3. <iostream> adalah sebuah library yang dibutuhkan untuk fungsi input seperti cin>>var dan output seperti cout<<var. 4. Int main() adalah main program berupa integer atau program utama dalam koding tersebut. Setiap program utama harus diawali dengan tanda kurung kurawal buka{ dan diakhiri dengan tanda kurung kurawal tutup } 5. int i, j, n, min, dll adalah deklarasi variabel yang bertipe data integer. 6. Void merge adalah menu program yang dapat dipanggil dalam program utama. 7. Typedef int m; adalah pendeklarasian tipedata baru bernama m bertipde data integer. 8. for(1=0; ..... ) ..... adalah rumus yang akan digunakan dalam program. 9. Cout<<var = ; adalah berfungsi untuk melakukan instruksi atau sebuah fungsi perintah untuk memunculkan variable yang ditulis oleh programmer.. 10. Cin>>var adalah perintah untuk memasukkan atau menginputkan data ke variable yang sudah dideklarasikan diatas. 11. return 0; digunakan untuk membaca data karakter
/* * 8.2.cpp * * Created on: 13 Mei 2014 * Author: acer */
b[m.i]=m.a[k]; m.i++; } } else { for(k=h;k<=mid;k++) { b[m.i]=m.a[k]; m.i++; } } for(k=low;k<=high;k++) m.a[k]=b[k]; } int main() { ada m; cout<<"Inputkan banyak data yang akan diurutkan :"; cin>>m.num; cout<<endl; cout<<"Masukkan ( "<< m.num <<" ) data: "<<endl; for(m.i=1;m.i<=m.num;m.i++) { cin>>m.a[m.i]; } merge_sort(1,m.num); cout<<endl; cout<<"Setelah Pengurutan (Merge Sort) :"<<endl; for(m.i=1;m.i<=m.num;m.i++) cout<<m.a[m.i]<<" "; cout<<endl<<endl<<endl<<endl; return 0; } Output program :
Penjelasan program : 1. Tanda yang diawali dengan */ dan diakhiri dengan /* adalah script yang digunakan untuk membuat sebuah komentar pada pemrograman C++ dan tidak berpengaruh dengan program yang akan dijalankan 2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai. 3. <iostream> adalah sebuah library yang dibutuhkan untuk fungsi input seperti cin>>var dan output seperti cout<<var. 4. Int main() adalah main program berupa integer atau program utama dalam koding tersebut. Setiap program utama harus diawali dengan tanda kurung kurawal buka{ dan diakhiri dengan tanda kurung kurawal tutup } 5. int i, j, n, min, dll adalah deklarasi variabel yang bertipe data integer. 6. Void merge adalah menu program yang dapat dipanggil dalam program utama. 7. Struct ada{ int a,num } adalah pendeklarasian tipedata abstrak baru bernama ada bertipe data integer. 8. Ada m; adalah pendeklarasian variabel baru bernama m. 9. for(1=0; ..... ) ..... adalah rumus yang akan digunakan dalam program. 10. Cout<<var = ; adalah berfungsi untuk melakukan instruksi atau sebuah fungsi perintah untuk memunculkan variable yang ditulis oleh programmer.. 11. Cin>>var adalah perintah untuk memasukkan atau menginputkan data ke variable yang sudah dideklarasikan diatas. 12. return 0; digunakan untuk membaca data karakter
/* * 8.2.cpp * * Created on: 13 Mei 2014 * Author: acer */
#include <iostream> using namespace std; typedef struct ada { int a[50]; int num,i; }m; void merge(int,int,int); void merge_sort(int low,int high) { int mid; if(low<high) { mid=(low+high)/2; merge_sort(low,mid); merge_sort(mid+1,high); merge(low,mid,high); } } void merge(int low,int mid,int high) { ada m; int h,j,b[50],k; h=low; m.i=low; j=mid+1; while((h<=mid)&&(j<=high)) { if(m.a[h]<=m.a[j]) { b[m.i]=m.a[h]; h++; } else { b[m.i]=m.a[j]; j++; } m.i++; } if(h>mid) { for(k=j;k<=high;k++) {
b[m.i]=m.a[k]; m.i++; } } else { for(k=h;k<=mid;k++) { b[m.i]=m.a[k]; m.i++; } } for(k=low;k<=high;k++) m.a[k]=b[k]; } int main() { ada m; cout<<"Inputkan banyak data yang akan diurutkan :"; cin>>m.num; cout<<endl; cout<<"Masukkan ( "<< m.num <<" ) data: "<<endl; for(m.i=1;m.i<=m.num;m.i++) { cin>>m.a[m.i]; } merge_sort(1,m.num); cout<<endl; cout<<"Setelah Pengurutan (Merge Sort) :"<<endl; for(m.i=1;m.i<=m.num;m.i++) cout<<m.a[m.i]<<" "; cout<<endl<<endl<<endl<<endl; return 0; } Output program :
Penjelasan program : 1. Tanda yang diawali dengan */ dan diakhiri dengan /* adalah script yang digunakan untuk membuat sebuah komentar pada pemrograman C++ dan tidak berpengaruh dengan program yang akan dijalankan 2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai. 3. <iostream> adalah sebuah library yang dibutuhkan untuk fungsi input seperti cin>>var dan output seperti cout<<var. 4. Int main() adalah main program berupa integer atau program utama dalam koding tersebut. Setiap program utama harus diawali dengan tanda kurung kurawal buka{ dan diakhiri dengan tanda kurung kurawal tutup } 5. int i, j, n, min, dll adalah deklarasi variabel yang bertipe data integer. 6. Void merge adalah menu program yang dapat dipanggil dalam program utama. 7. Typedef Struct ada{ int a,num }m; adalah pendeklarasian tipedata abstrak baru bernama ada bertipe data integer. 8. Ada m; adalah pendeklarasian variabel baru bernama m. 9. for(1=0; ..... ) ..... adalah rumus yang akan digunakan dalam program. 10. Cout<<var = ; adalah berfungsi untuk melakukan instruksi atau sebuah fungsi perintah untuk memunculkan variable yang ditulis oleh programmer.. 11. Cin>>var adalah perintah untuk memasukkan atau menginputkan data ke variable yang sudah dideklarasikan diatas. 12. return 0; digunakan untuk membaca data karakter
BAB IV KESIMPULAN Sorting adalah suatu proses pengurutan data yang sebelumnya disusun secara acak atau tidak teratur menjadi urut atau teratur menurut aturan tertentu. Proses sorting ada 6 yaitu :Secection, Bubble, Insertion, Quick.shell, merge Selection sort memiliki mekanisme dengancaramenentukan pos awal yakni menentukan data terkecil kemudian diurutkan datanya. Bubble sort memiliki ciri khusus yaitu dengan melakukan pembanding dan apabila urutan data tidak terpenuhi maka dilakukan pertukaran. Insertion Sort adalah teknik sorting paling sederhana.dengan cara membandingkan data 1 dengan data berikutnya kemudian menyisipkan data yang lebih kecil diatas data yang lebih besar. Quick Sort yaitu teknik membandingkan suatu elemen (pivot) dengan elemen yang lain dan menyusunnya sedemikian rupa sehingga elemen-elemen lain yang lebih kecil dari pivot terletak disebelah kirinya dan elemen-elemen lain yang lebih besar daripada pivot tersebut terletak disebelah kanannya. Shell sort teknik mengurutkan data dengan melakukan perbandingan kemudian saling tukan dari data 1 ke data lainnya. Merge sort adalah teknik menggabungkan 2 data kemudian melakukan pegurutan data tersebut.
DAFTAR PUSTAKA 1. Modul praktikum algoritma & struktur data 1 (bab 6,7,8 sorting ). 2. Ardhana. YM Kusuma. 2013. Struktur Data dalam Ilustrasi Eclips Indigo C ++. Yogyakarta: CAPS (Center of Academic Publishing Service).