Cara Sorting Array Ascending Descending C++

Bagaimana mengurutkan data dalam array secara ascending maupun descending menggunakan bahasa pemrograman C++?

Sorting adalah program/langkah-langkah mengurutkan data dari yang terkecil ke terbersar maupun dari yang terbesar ke terkecil. Aplikasi manapun pasti menggunakan sorting, karena dengan ini kita bisa melihat data secara jelas.

Salah satu bagian penting dari Struktur Data adalah proses pengurutan data. Data terkadang akan berada dalam bentuk yang acak atau tidak berpola ataupun dengan bentuk yang tidak kita inginkan. Namun dalam penggunaannya, kita akan selalu ingin menggunakan data tersebut dalam bentuk yang sudah rapi dan berpola sesuai dengan apa yang kita inginkan.

Maka dari itu proses pengurutan adalah proses yang sangat penting dalam struktur data. Data yang sudah terurut memiliki banyak keuntungan. Selain mempercepat pencarian, data yang sudah terurut juga dapat dengan mudah menentukan nilai terbesar dan terkecil.

Sama halnya dengan pencrian, pengurutan juga dibedakan menjadi 2 kelompok, yaitu :

  • Pengurutan Internal, yaitu pengurutan terhadap sekumpulan data yang disimpan di dalam memory komputer. Umumnya struktur internal yang dipakai untuk pengurutan ini adalah array, sehingga pengurutan internal disebut dengan pengurutan array.
  • Pengurutan Eksternal, yaitu pengurutan data yang disimpan di dalam memory sekunder. Biasanya data tersebut jumlahnya sangat besar sehingga tidak mampu dimuat semuanya dalam memory komputer. Struktur Eksternal yang dipakai adalah arsip (file), maka pengurutan ini juga sering disebut dengan pengurutan arsip.

Karena pengaksesan memory utama lebih cepat dibandingkan pengaksesan memory sekunder, maka pengurutan internal lebih cepat dibandingkan dengan pengurutan eksternal.

Pada kesempatan kali ini saya akan membagikan bagimana cara membuat program pengurutan dari ascending maupun descending. Ascending adalah mengurutkan dari yang terkecil ke terbesar. Descending adalah mengurutkan dari yang terbesar ke terkecil.

Langkah-langkah sebagai berikut :

1. Buat file C++ dan ketikkan script dibawah ini
#include <bits/stdc++.h>
using namespace std;

main()
{
	int data[100];
	int n;
	
	cout << "Banyak data : "; cin >> n;
	for(int i = 0; i < n; i++){
		cout << "Data ke " << i+1 << " : "; cin >> data[i];
	}
	
	cout << "\n";
	cout << "Data belum disorting : \n";
	for(int i = 0; i < n; i++){
		cout << data[i] << " ";
	}

}

Pada program diatas baru menampilkan data dalam array yang masih acak atau belum di urutkan.

2. Buat fungsi sorting_ascending dan sorting_descending
void sorting_ascending(int a[], int n){
	int min, temp;
	for (int i = 0; i < n - 1; i++) {
		min = i;
		for (int j = i + 1; j < n; j++)
			if (a[j] < a[min])
			min = j;
			temp = a[i];
			a[i] = a[min];
			a[min] = temp;
	}
}

void sorting_descending(int arr[], int n)
{
	int temp;
	for(int i=0;i<n;i++)
	{		
		for(int j=i+1;j<n;j++)
		{
			if(arr[i]<arr[j])
			{
				temp  =arr[i];
				arr[i]=arr[j];
				arr[j]=temp;
			}
		}
	}
}

Program diatas merupakan fungsi-fungsi untuk mengurutkan dari ascending maupun descending.

3. Program lengkap
#include <bits/stdc++.h>
using namespace std;

void sorting_ascending(int a[], int n){
	int min, temp;
	for (int i = 0; i < n - 1; i++) {
		min = i;
		for (int j = i + 1; j < n; j++)
			if (a[j] < a[min])
			min = j;
			temp = a[i];
			a[i] = a[min];
			a[min] = temp;
	}
}

void sorting_descending(int arr[], int n)
{
	int temp;
	for(int i=0;i<n;i++)
	{		
		for(int j=i+1;j<n;j++)
		{
			if(arr[i]<arr[j])
			{
				temp  =arr[i];
				arr[i]=arr[j];
				arr[j]=temp;
			}
		}
	}
}

main()
{
	int data[100];
	int n;
	
	cout << "Banyak data : "; cin >> n;
	for(int i = 0; i < n; i++){
		cout << "Data ke " << i+1 << " : "; cin >> data[i];
	}
	
	cout << "\n";
	cout << "Data belum disorting : \n";
	for(int i = 0; i < n; i++){
		cout << data[i] << " ";
	}
	
	cout << "\n";
	cout << "Sorting Ascending : \n";
	sorting_ascending(data, n);
	for(int i = 0; i < n; i++){
		cout << data[i] << " ";
	}
	
	cout << "\n";
	cout << "Sorting Descending : \n";
	sorting_descending(data, n);
	for(int i = 0; i < n; i++){
		cout << data[i] << " ";
	}
	
	
}

Hasil dari program sorting :

Program Array Sorting Ascending Descending C++

Masih ada beberapa metode untuk proses pengurutan, tapi menurut saya semua saja, yang membedakan hanya masalah penggunaan memory.

Sekian tutorial kali ini. Semoga bermanfaat ..

Berikan pendapatmu