Anda di halaman 1dari 8

LAPORAN PRAKTIKUM

STRUKTUR DATA
LAPORAN KE-7

DISUSUN OLEH :
NAMA :RISKA HAPIPAH
NIM :191011402361
KELAS :04TPLP018/V.517

TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS PAMULANG
Jl.Surya Kencana No.1 Pamulang Telp(021)7412566,Fax(021)7412566
Tangerang selatan- Banten
TUGAS PENDAHULUAN
1. Jelaskan kekurangan menggunakan metode maksimum/minimum sort dengan metode-
metode sorting lainnya?
Jawab :   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.Jelaskan perbedaan program sorting dengan menggunakan antara metode Maximum sort dan
Minumum Sort!
Jawab : 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.Jelaskan tahapan-tahapan sorting menggunakan metode Maximum Sort!


Jawab :       
 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.Jelaskan tahapan-tahapan sorting menggunakan minimum Sort!
Jawab:  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.
TUGAS AKHIR
1.Buatlah tambahan program menggunakan sistem menu pada program yang telah
dipraktekkan!
Jawab :
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <iomanip>
using namespace std;
main ()
{
menu:
int data[15]={34,12,56,78,6,43,32,20,90,50,55,75,85,95,25};
int i,u,maks,j,t,min;
int pilihan;
cout<<"===================================================\n";
cout<<"\t\tNAMA : Riska Hapipah\n";
cout<<"\t\tKELAS : 04 TPLP018\n\n";
cout<<"===================================================\n\n";
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:
(0);
}
}

Anda mungkin juga menyukai