Pemprograman
127

Simple Selection Sort in C and C++ programs


  03-Nov-2020 12:55:58


Kasus 

Buatlah program sorting Dinamis menggunakan metode selection sort atau insertion sort (pilih salah satu) untuk mengurutkan Nilai mahasiswa dengan banyak elemen dinamis (lebih dari 3), kemudian tampilkan data sebelum dan sesudah di urutkan. lalu jelaskan secara singkat dari proses pengurutannya... [+] nilai yang di inputkan bebas [+] Di urutkan secara ascending (Nilai terkecil ke Besar)

Source code dan Logika 

Apa itu sorting ?

Sorting adalah mengurutkan data atau sebuah nilai yang dulunya acak, menjadi berurutan

Logika

Deklarasi var

a : array [1..100] of integer

i, j, n, min, temp : integer

Algoritma :

Output(Masukkan banyak data : )

Input(n)

i traversal [1..n]

Output(Masukkan data ke-,i,: );

Input(ai)

i traversal [1..n-1]

min <= i

j traversal [i+1..n]

if (aj < amin) then

min <= j

temp <= amin

amin := ai

ai := temp

i traversal [1..n]

Output(ai,’ ‘)

Source Code 

#include <iostream>

#include <conio.h>


using namespace std;


int main()

{

    int a[100];

    int i,j,n,min,temp;


    cout <<"Banyak Data : ";

    cin  >> n;

    for (i=1;i<=n;i++)

    {

        cout <<"Data ke - " << i <<": ";

        cin  >> a[i];

    }


//=== sebelum urut ===

    cout <<"Data sebelum urut\n";

    for (i=1;i<=n;i++)

    {

        cout << a[i] <<" ";

    }

    cout <<"\n";


//=== Proses selection sort ===

    for (i=1;i<=n-1;i++)

    {

        min=i;

        for (j=i+1;j<=n;j++)

        {

            if (a[j]<a[min])

            {

                 min=j;

                 temp=a[min];

                 a[min]=a[i];

                 a[i]=temp;


            }

        }

    }


//=== menampilkan hasil sorting ===

    cout <<"Data Setelah urut\n";

    for (i=1;i<=n;i++)

    {

        cout << a[i] << " ";

    }

    getch();

}

Penjelasan

Prinsip kerja selection sort adalah

Cari nilai ekstrim (maksimum/minimum) pada array A (misalkan array A adalah

array yang ingin diurutkan) dan tukar dengan indeks pertama, lalu isolasi indeks

pertama. Kemudian tentukan nilai ekstrim selanjutnya dan tukarkan dengan indeks kedua,

lalu isolasi indeks kedua. Terus ulangi langkah tersebut hingga data terakhir.

pertama buat header, iostream dll

Kedua using namespace std supaya tidak ada cout dan cin

Ketiga deklarasi var

Ke empat input data

Ke lima loop, hasil inputan di atas, lalu input data baru sesuai. Dengan batas loop yang tadi di awal input

Sete;ahnya akan ada, data sebelum di urutkan, dengan cara loop jadi si a var penampung nilai tadi akan di outputkan, dengan hasil input yg sudah di isi tadi

Ke enam proses selection, pada dasarnya dengan cara nested loop. Kita sudah jelaskan apa itu nested jadi langsung gas saja. Setelah itu ada percabangan atau if. Jika var [j] < a[min], maka akan di usut.

Langsung saja untuk mempersingkat dan mengehamat waktu. Simplenya seperti ini

Input(ai)

i traversal [1..n-1]

min <= i

j traversal [i+1..n]

if (aj < amin) then

min <= j

temp <= amin

amin := ai

ai := temp

i traversal [1..n]

Output(ai,’ ‘)


Terakhir tinggal nampilkan hasil sorting dengan cara loop. Jika ingin tambah searching, bisa pakai loop, hasil tadi kita fillterasi atau untuk menemukan index array dari value nilai tersebut

 

Ouput 




DISKUSI
03-Nov-2020 15:44:19

Wkwkw pelajaran dulu gw nih kwkw gampang bet

Reply
04-Nov-2020 00:17:51

Hahaha

Reply

Silahkan Login Untuk Komentar / Diskusi.
Login Disini
POSTING DISKUSI BARU
Diskusi Populer
Gps Tracker Seccodeid Free Too...
Member Seccodeid Bayu aji
Tidak Berkategori
900
92
Top

Mass Reverse IP Unlimited
Member Seccodeid ImamSy
Hacking
723
10
Top

Free Proxy List
Member Seccodeid Sandidi
Networking
662
3
Top

GHunt OSINT Tools - Investiga...
Member Seccodeid Sandidi
Tools Hacking
590
3
Top

Report McAfee Antivirus Hurrri...
Member Seccodeid Indrasp
Windows
583
93
Top

Diskusi Lainya
Subscribe

Subscribe sekarang untuk mendapatkan diskusi terbaru