input: Write a python function to perform binary search on a sorted array.
  assert binary_search([2, 8, 10, 17, 19, 25, 28], 19) == 4
  assert binary_search([2, 8, 10, 17, 19, 25, 28], 10) == 2
  assert binary_search([2, 8, 10, 17, 19, 25, 28], 5) == None
  assert binary_search([1, 3, 5, 7, 9, 11], 7) == 3
  assert binary_search([1, 3, 5, 7, 9, 11], 1) == 0
output: def binary_search(arr, target):
      left, right = 0, len(arr) - 1
      
      while left <= right:
          mid = (left + right) // 2
          if arr[mid] == target:
              return mid
          elif arr[mid] < target:
              left = mid + 1
          else:
              right = mid - 1
      
      return None