Anda di halaman 1dari 4

Nama : cindy amelia

Nim : 201011400718
Kelas : 02TPLM010
Algoritma Pemrograman Pert 12
1. Tulislah algoritma untuk pengurutan secara menurun menggunakan metode metode
selection sort(min dan max).

#include <iostream>
void inputjumlah();
void selection();
void swap();
void output();
using namespace std;
int array[30],a,b,c,d,e,x;
void inputjumlah()
{
cout<<"Masukkan Jumlah Bilangan yang akan diurutkan : ";cin>>a;
cout<<endl;
for (b=0;b<a;b++)
{
cout<<"Data ke -"<<b+1<<" :";
cin>>array[b];
}
}
void swap()
{
int swapped;
swapped=c;
c=d;
d=swapped;
}
void output()
{
for (b=0;b<a;b++)
{
cout<<array[b]<<" ";
}
}
void selection ()
{
for(b=0;b<a;b++)
{
int max=-999;
int indexmax=-1;
for(e=b;e<a;e++)
{
if(array[e]>max)
{
max=array[e];
indexmax=e;
}
}
swap(array[b], array[indexmax]);
}
}
int main()
{
cout<<"Menggunakan Selection Sort"<<endl;
cout<<"=========================="<<endl;
inputjumlah();
selection();
cout<<"\n";
cout<<"Data Setelah di urutkan : \n ";
swap();
output();
cout<<endl;
}

Output :
2. Buatlah programnya menggunakan C++ untuk array sbb :
10 40 20 60 15 4 8 100 200 25

#include <bits/stdc++.h>
using namespace std;
void tukar(int *xp, int *yp)
{
int temp = *xp;
*xp = *yp;
*yp = temp;
}
void selectionSort(int arr[], int n)
{
int i, j, min_idx;
//Satu per satu batas gerakan dari subarray yang tidak disortir
for (i = 0; i < n-1; i++)
{
//Temukan elemen minimum dalam array yang tidak disortir
min_idx = i;
for (j = i+1; j < n; j++)
if (arr[j] < arr[min_idx])
min_idx = j;
//Tukar elemen minimum yang ditemukan dengan elemen pertama
tukar(&arr[min_idx], &arr[i]);
}
}
/* Function untuk mencetak array */
void printArray(int arr[], int size)
{
int i;
for (i=0;i<size;i++)
cout<<arr[i] << " ";
cout<<endl;
}
//Program driver untuk menguji fungsi di atas
int main()
{
int arr[] = {10, 40, 20, 60, 15, 4, 8, 100, 200, 25};
int n=sizeof(arr)/sizeof(arr[0]);
selectionSort(arr, n);
cout<<"Program Selection Sort: \n";
cout<<"======================\n\n";
cout<<"Array diurutkan: \n";
printArray(arr, n);
return 0;
}

Output :

Anda mungkin juga menyukai