SORTING - RUANG INFORMATIKA


 



a)      Metode Maximum / Minimum Sort

Metode Maximum / Minimum Sort dilakukan berdasarkan pemilihan elemen maksimum / minimum, maka metode ini disebut juga dengan metode pemilih/seleksi (Selection Sort).

b)     Metode Maximum Sort

Metode ini disebut juga dengan metode Maksimum karena didasarkan pada pemilihan elemen maksimum sebagai dasar pengurutan. Konsepnya adalah memilih elemen maksimum kemudian mempertukarkan elemen maksimum tersebut dengan elemen paling akhir untuk urut menaik dan elemen pertama untuk urut menurun. Demikian seterusnya hingga semua elemen terurut.

c)      Metode Minimum Sort

Metode ini disebut juga dengan metode minimum karena didasarkan pada pemilihan elemen minimum sebagai dasar pengurutan. Konsepnya adalah memilih elemen minimum kemudian mempertukarkan elemen minimum tersebut dengan elemen paling akhir untuk urut menaik dan elemen pertama untuk urut menurun. Demikian seterusnya hingga semua elemen terurut


TUGAS PENDAHULUAN

SOAL

1.    Jelaskan kekurangan menggunakan metode Maximum/Minimum Sort dengan metode- metode Sorting lainnya!

2.   Jelaskan perbedaan program Sorting dengan menggunakan antara metode Maximum Sort dan Minimum Sort!

3.  Jelaskan tahapan-tahapan Sorting menggunakan metode Maximum Sort!

4.  Jelaskan tah

JAWABAN

1.  Kekurangan menggunakan metode maximum/minimum sort dengan metode-metode sorting lainnya :

·         Membutuhkan method tambahan.

·         Sulit untuk digabungkan kembali.

·         Perlu dihindari untuk penggunaan data lebih dari 1000 tabel karena akan menyebabkan kompleksitas yang lebih tinggi dan kurang praktis.

 

2.  Perbedaannya maximum sort memilih elemen maximum sebagai basis pengurut, sedangkan minimum sort memilih elemen minimum sebagai basis pengurutan. Dan saya juga sudah mencoba program yang ada pada modul bagian sorting lanjut a dan b dimana program maximum sort menggunakan imaks untuk mengurutkan data secara menurun (dari besar ke kecil). Sedangkan minimum sort menggunakan imin dan U-- untuk mengurutkan data secara menurun pada dasarnya programnya sama yang membedakan hanya itu saja menurut saya pribadi.

 

3.  Tahapan-tahapan sorting menggunakan metode minimum sort.

·         Cari elemen maximum didalam [0—(N-1)]. Pertukaran elemen max dengan elemen L[N-1].

·         Cari elemen maximum didalam L[0--N-2]. Pertukaran elemen max dengan elemen L[N-2].

·         Cari elemen maximum didalam L[0--N-3]. Pertukaran elemen maximum dengan elemen L[N-3].

Elemen yang tersisa adalah L[0], tidak perlu diurut hanya satu-satunya, jadi pada setiap untuk pengurutan terdapat proses pencari harga max dan proses pertukaran dua buah elemen array.

 

4.  Tahapan-tahapan sorting menggunakan metode minimum sort.

·         Cari elemen minimum didalam [0--(N-1)]. Pertukaran elemen min dengan elemen L[N-1].

·         Cari elemen minimum didalam [0--N-2]. Pertukaran elemen min dengan elemen L[N-2].

·         Cari elemen minimum didalam [0-(N-3)]. Pertukaran elemen minimum dengan elemen L[N-3].

Pada dasarnya metode maximum dan minimum sort itu sama saja yang membedakan adalah metode pencariannya, dimana metode maximum mencari nilai yang besar dan metode minimum hanya mencari nilai yang terkecil saja.apan-tahapan Sorting menggunakan metode Minimum Sort!

 

TUGAS AKHIR

Berikut adalah program menggunakan system menu pada program yang telah dipraktekan

·         Metode Maximum Sort (Pengurutan secara menaik).

·         Metode Maximum Sort (Pengurutan secara menurun).

·         Metode Minimum Sort (Pengurutan secara menaik).

·         Metode Minimum Sort (Pengurutan secara menurun).

#include <iostream> #include <stdio.h> #include <conio.h> #include <string.h> #include <iomanip> using namespace std;




 

main ()

{

char nama[30]; char nim[15];

cout << "||                                                  ||\n"; cout << "||              Silahkan masukan nama & nim terlebih dahulu   ||\n"; cout << "||                                                              ||\n\n"; cout<<"Masukan Nama                  : "; cin>>nama;

cout<<"Masukan NIM                   : "; cin>>nim;

if (strcmp(nama,"irfannurroja") ==0 && strcmp(nim,"201011401461") ==0)

{

cout<<"\n                            \n\n"; cout<<"               Login Berhasil   " << endl; cout<<"                                  \n\n"; cout<<" Tekan ENTER untuk Lanjutkan \n\n"; getch();

}

else

{

 

 

 

 

menu:

cout<<"\n                                  \n\n"; cout<<"Nama & NIM yang di masukan salah"<<endl; cout<<"        \n\n";

}

system("cls");

int data[15]={28,23,99,78,8,43,32,20,90,50,59,71,82,95,25};

int i,u,maks,j,t,min; int pilihan;

cout<<"        Menu          \n";

cout<<" 1.Metode Maximum Sort (Pengurutan secara menaik)\n"; cout<<" 2.Metode Maximum Sort (Pengurutan secara menurun)\n"; cout<<" 3.Metode Minimum Sort (Pengurutan secara menaik)\n"; cout<<" 4.Metode Minimum Sort (Pengurutan secara menurun)\n"; cout<<" 5.Exit\n";

cout<<"                       \n"; cout<<"Masukan Pilihan anda : ";cin>>pilihan;

cout<<endl; switch (pilihan)

{

case 1:

cout<<"Data sebelum di urut\n\n"; for (i=0;i<15;i++)

{

cout<<setw(3)<<data[i]<<" ";

}

cout<<endl;

//Proses Pengurutan u=15-1;

for(i=0;i<=15-2;i++)

{

maks=0; for(j=1;j<=u;j++)

{

if(data[j]>data[maks]) maks=j;

}

t=data[u]; data[u]=data[maks]; data[maks]=t;

u--;

cout<<endl;

for(int a=0;a<15;a++) cout<<setw(3)<<data[a];

}

cout<<"\n\nData setelah di urut : \n\n"; for(i=0;i<15;i++) cout<<setw(3)<<data[i];

cout<<endl<<endl; lanjut:

cout<<"Tekan ENTER untuk kembali ke menu"; getch();

goto menu;

 

case 2:

cout<<"Data sebelum di urut\n\n"; for (i=0;i<15;i++)

{

cout<<setw(3)<<data[i]<<" ";

}

cout<<endl;

//Proses Pengurutan u=15-1; for(i=0;i<=15-2;i++)

{

maks=i; for(j=i+1;j<=u;j++)

{

if(data[j]>data[maks]) maks=j;

}

t=data[i]; data[i]=data[maks]; data[maks]=t; cout<<endl;

for(int a=0;a<15;a++) cout<<setw(3)<<data[a];

}

cout<<"\n\nData setelah di urut : \n\n"; for(i=0;i<15;i++)

cout<<setw(3)<<data[i]; cout<<endl<<endl; goto lanjut;

getch(); goto menu;

case 3:

cout<<"Data sebelum di urut\n\n"; for (i=0;i<15;i++)

{

cout<<setw(3)<<data[i]<<" ";

}

cout<<endl;

//Proses Pengurutan for(i=0;i<=15-2;i++)

{

min=i; for(j=i+1;j<15;j++)

{

if(data[j]<data[min]) min=j;

}

t=data[i]; data[i]=data[min]; data[min]=t; cout<<endl;

for(int a=0;a<15;a++) cout<<setw(3)<<data[a];

}

cout<<"\n\nData setelah di urut : \n\n"; for(i=0;i<15;i++) cout<<setw(3)<<data[i]; cout<<endl<<endl;

goto lanjut; getch();

goto menu;

 

case 4:

cout<<"Data sebelum di urut\n\n"; for (i=0;i<15;i++)

{

cout<<setw(3)<<data[i]<<" ";

}

cout<<endl;

//Proses Pengurutan u=15-1;

for(i=0;i<=15-2;i++)

{

min=0; for(j=1;j<=u;j++)

{

if(data[j]<data[min]) min=j;

}

t=data[u]; data[u]=data[min];

data[min]=t; cout<<endl;

u--;

for(int a=0;a<15;a++) cout<<setw(3)<<data[a];

}

cout<<"\n\nData setelah di urut : \n\n"; for(i=0;i<15;i++) cout<<setw(3)<<data[i]; cout<<endl<<endl;

goto lanjut;

getch(); 

goto menu;

case 5: exit(0);

}



Posting Komentar

0 Komentar

Apa Itu Algoritma Pemrograman?Fungsi, Cara Kerja & Contohnya