Advertisement
sabdas4869

binary search

Nov 30th, 2019
562
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.29 KB | None | 0 0
  1. func binary(T *arr, tot *int){
  2.  
  3. var key string
  4.  
  5. sort(&*T, &*tot)
  6.  
  7. btm:=0
  8. top:= *tot
  9. found := false
  10.  
  11. fmt.Print("Cari Materi : ")
  12. fmt.Scan(&key)
  13. for (top >= btm) && (found == false) {
  14. mid := (btm + top) / 2
  15. if key< T[mid].mat {
  16. top = mid
  17. }else if key == T[mid].mat {
  18. found = true
  19. fmt.Println(".::::::::::::::::::::::::::::::::::::::::::::::.")
  20. fmt.Println(":: ID : ", T[mid].id , " ::")
  21. fmt.Println(":: Sekolah : ", T[mid].sekul , " ::")
  22. fmt.Println(":: Kelas : ", T[mid].kls , " ::")
  23. fmt.Println(":: Pelajaran : ", T[mid].pel , " ::")
  24. fmt.Println(":: Semester : ", T[mid].smt , " ::")
  25. fmt.Println(":: Silabus : ", T[mid].silb , " ::")
  26. fmt.Println(":: Materi : ", T[mid].mat , " ::")
  27. fmt.Println("::::::::::::::::::::::::::::::::::::::::::::::::")
  28. }else {
  29. btm = mid + 1
  30. }
  31. }
  32.  
  33.  
  34. if found==false {
  35. fmt.Print("Data tidak ditemukan")
  36. }
  37.  
  38. }
  39.  
  40. func sort(T *arr, tot *int){
  41. for i:=0; i<*tot; i++{
  42. min:=i
  43. j:=i+1
  44. for j<=*tot{
  45. if T[j].mat<T[min].mat{
  46. min = j
  47. }
  48. j++
  49. }
  50. temp:=T[min]
  51. T[min]= T[i]
  52. T[i]= temp
  53.  
  54. }
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement