Algoritma sorting : BUBBLE SORT VB.net

Pengurutan data (sorting) adalah proses proses menyusun kembali data yang sudah tersusun dengan pola tertentu untuk disusun kembali menjadi urutan yang teratur menurut aturan tertentu. Secara garis besar, ada dua macam dalam pengurutan data, yakni ascending dan discending.
  - Ascending : pengurutan data yang dimulai dari data yang terkecil sampai data yang terbesar. Biasanya disebut juga dengan urutan naik.
 -Descending : pengurutan data dimulai dari data yang terbesar sampai data yang terkecil. Biasanya disebut juga dengan urutan turun.

 Dalam metode pengurutan data, terdapat banyak variasinya. Setiap variasi metode memiliki ciri khas dan cara kerja masing-masing. Dari sekian banyak metode sorting data yang ada, pada blog ini kita akan membahas sedikit mengenai metode sorting bubble sort pada visual basic. Net. 
Sebelumnya kita perlu tau apa sih bubble sort itu?.

Bubble sort adalah salah satu metode pengurutan data yang dilakukan dengan cara membandingkan masing-masing item/element dalam suatu list secara berpasangan lalu menukar item/element tersebut jika tidak sesuai dan mengulanginya sampai akhir list secara berurutan hingga tidak ada lagi item/element yang dapat ditukar dan menghasilkan urutan yang diinginkan. Pada bubble sort, data diurutkan dari urutan data yang paling akhir menuju data yang paling awal. Contoh  dari bubble sort dapat di ilustrasikan dalam gambar berikut : (kasus ascending)

Dibawah ini adalah coding program bubble sort( ascending) pada visual basic.net :

    Console.WriteLine(" ************************************ ")
 Console.WriteLine("|| WELCOME TO MY APPS ||")
 Console.WriteLine("|| SOFIBELL'S BUBBLE SORT ||")
 Console.WriteLine("|| STMIK YADIKA BANGIL ||")
 Console.WriteLine("|| NIM 11922077 ||")
 Console.WriteLine("|| LET'S TRY AND PLAYFUN ||")
 Console.WriteLine(" ************************************")
 Dim nilai(4) As Integer
 Dim indeks As Integer
 Dim ganti As Boolean
 Console.ForegroundColor = ConsoleColor.DarkGreen

 indeks = 0
 While indeks < 5
 Console.Write("masukkan nilai {0}:", indeks + 1)
 nilai(indeks) = Console.ReadLine()
 indeks = indeks + 1
 End While

 Console.WriteLine()
 Console.ForegroundColor = ConsoleColor.Blue

 Console.WriteLine("setelah diurutkan menjadi :")
 Dim awal As Integer
 Dim akhir As Integer
 awal = 0
       While awal < 5
 akhir = awal + 1
      While akhir < 5
 ganti = False
     If nilai(awal) > nilai(akhir) Then
 Dim simpanan As Integer
 simpanan = nilai(awal)
nilai(awal) = nilai(akhir)
nilai(akhir) = simpanan
ganti = True
     Else
 End If
 akhir = akhir + 1
      End While
 awal = awal + 1
      End While

 indeks = 0
 While indeks < 5
 Console.WriteLine(nilai(indeks))
 indeks = indeks + 1
 End While

End sub
End module



Coding program diatas maksudnya begini gaess.



Dim nilai(4) As Integer
 Dim indeks As Integer

 Dim ganti As Boolean

Bagian ini dimaksudkan untuk mendeklarasikan variabel apa saja yang akan kita gunakan. Dalam VB, cara mendeklarasikan variabel melalui perintah Dim (nama variabel) as (tipe data).

indeks = 0
 While indeks < 5
 Console.Write("masukkan nilai {0}:", indeks + 1)
 nilai(indeks) = Console.ReadLine()
 indeks = indeks + 1

 End While

Bagian ini berfungsi untuk memasukkan banyaknya data yang akan kita sorting. Pada bagian ini kita menggunakan fungsi array dan looping(perulangan).

Dim awal As Integer
 Dim akhir As Integer
 awal = 0
       While awal < 5
 akhir = awal + 1
      While akhir < 5
 ganti = False
     If nilai(awal)  > nilai(akhir) Then
 Dim simpanan As Integer
 simpanan = nilai(awal)
nilai(awal) = nilai(akhir)
nilai(akhir) = simpanan
ganti = True
       Else
 End If
 akhir = akhir + 1
      End While
 awal = awal + 1
      End While


Bagian ini berfungsi untuk mengecek kembali data. Apakah nilai yang kita masukkan tadi sudah tersorting(urutan) secara benar atau belum. Jika nilai yang sebelumnya telah terurut dengan benar maka pengecekan akan berhenti. Sedangkan bila data yang kita masukkan sebelumya belum terurut dengan benar maka pengecekan akan dilakukan. Pengecekan dilakukan dengan membandingkan 2 data secara berpasangan. Jika nilai awal lebih besar dari nilai akhir, maka kedua nilai tersebut akan ditukar satu sama lain. Sedangkan jika nilai awal lebih kecil dari nilai akhir, maka tidak perlu dilakukan penukaran nilai. Letak pengecekannya ada disini nih gaess πŸ‘‡πŸ‘‡
If nilai(awal) > nilai(akhir) Then.
Eits, perlu di ingat juga, saat kita akan menukar sebuah nilai yang satu dengan nilai yang lainnya, kita memerlukan variabel sementara. Variabel tambahan  atau variabel semantara ini berfungsi untuk meletakkan sementara nilai yang akan kita tukar. Variabel sementara ini disebut juga dengan temporering variabel. Seperti yang satu ini gaessπŸ‘‡πŸ‘‡
simpanan = nilai(awal)
nilai(awal) = nilai(akhir)
nilai(akhir) = simpanan



indeks = 0

 While indeks < 5

 Console.WriteLine(nilai(indeks))

 indeks = indeks + 1

 End While

End sub
End module


Bagian ini adalah bagian terakhir yang bertugas untuk mencetak nilai yang sudah terurut dengan benar.

Jadi kurang lebih seperti itulah penampakan dari metode sorting BUBBLE SORT. Jika ada banyak kurangnya maafin ya, namanya juga masih belajar. Jika banyak lebihnya, syukur Alhamdulillah.

Semoga bermanfaat πŸ€—πŸ€—πŸ˜

Comments

Popular Posts