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);
}
0 Komentar