Radix Sort


   Radix Sort merupakan salah satu algoritma Non-Comparasion Sort (pengurutan tanpa perbandingan). Proses yang dilakukan dalam metode ini adalah mengklasifikasikan/menyelesaikan data sesuai dengan kategori terurut yang tertentu, dan tiap kategori dilakukan pengklasifikasian lagi, dan seterusnya sesuai kebutuhan, kemudian subkategori-kategori atau bagian-bagian dari  kategori  tersebut digabungkan kembali.
   Secara harfiah Radix dapat diartikan sebagai posisi dalam angka, karena cara ini pertama kalinya mengurutkan nilai-nilai yang dimasukan (input) berdasarkan radix pertamanya, lalu pengurutan dilakukan berdasarkan radix keduanya, dan begitu seterusnya. Pada sistem desimal, radix adalah digit dalam angka desimal. Misalnya, angka “169” mempunyai 3 digit yaitu 1,6 dan 9.



Imports System.Console
Module Module10
    Sub main()
        Dim byk, k, l, m, n, o, p As Integer
        Write("Masukan Banyak angka : ")
        byk = ReadLine()
        WriteLine()

        Dim h(byk - 1) As Integer
        For k = 1 To byk
            Write("Angka ke-{0} : ", k)
            h(k - 1) = ReadLine()
        Next

        l = byk
        m = 1
        If l > 13 Then
            Do While m < l
                m = (3 * m) + 1
            Loop
            m \= 9
        End If

        Do While m
            For n = m To byk - 1
                o = h(n)
                For p = n - m To 0 Step -m
                    If h(p) <= o Then Exit For
                    h(p + m) = h(p)
                Next
                h(p + m) = o
            Next
            m \= 3
        Loop
        WriteLine()
        WriteLine("Hasil : ")
        For k = 1 To byk
            Write(h(k - 1) & " ")
        Next
        ReadKey()
    End Sub
End Module

Comments