def hitungNomorBit(angka, nomorBit):
# Konversi angka desimal ke representasi biner
biner = bin(angka)[2:] # [2:] untuk menghilangkan awalan '0b'
# Panjang total representasi biner
panjang_biner = len(biner)
# Periksa berbagai kondisi untuk nomorBit
if nomorBit == 0:
# Kembalikan jumlah bit 1 dari kiri
return biner.count('1')
elif nomorBit == 1:
# Kembalikan jumlah bit 1 dari kanan
return biner[::-1].count('1')
elif nomorBit == 2:
# Kembalikan None/null
return None
else:
# Untuk nomorBit di luar 0, 1, 2
return None
# Contoh penggunaan
print(hitungNomorBit(13, 0)) # Seharusnya mengeluarkan 3
print(hitungNomorBit(13, 1)) # Seharusnya mengeluarkan 3
print(hitungNomorBit(13, 2)) # Seharusnya mengeluarkan None
CmRlZiBoaXR1bmdOb21vckJpdChhbmdrYSwgbm9tb3JCaXQpOgogICAgIyBLb252ZXJzaSBhbmdrYSBkZXNpbWFsIGtlIHJlcHJlc2VudGFzaSBiaW5lcgogICAgYmluZXIgPSBiaW4oYW5na2EpWzI6XSAgIyBbMjpdIHVudHVrIG1lbmdoaWxhbmdrYW4gYXdhbGFuICcwYicKICAgIAogICAgIyBQYW5qYW5nIHRvdGFsIHJlcHJlc2VudGFzaSBiaW5lcgogICAgcGFuamFuZ19iaW5lciA9IGxlbihiaW5lcikKICAgIAogICAgIyBQZXJpa3NhIGJlcmJhZ2FpIGtvbmRpc2kgdW50dWsgbm9tb3JCaXQKICAgIGlmIG5vbW9yQml0ID09IDA6CiAgICAgICAgIyBLZW1iYWxpa2FuIGp1bWxhaCBiaXQgMSBkYXJpIGtpcmkKICAgICAgICByZXR1cm4gYmluZXIuY291bnQoJzEnKQogICAgZWxpZiBub21vckJpdCA9PSAxOgogICAgICAgICMgS2VtYmFsaWthbiBqdW1sYWggYml0IDEgZGFyaSBrYW5hbgogICAgICAgIHJldHVybiBiaW5lcls6Oi0xXS5jb3VudCgnMScpCiAgICBlbGlmIG5vbW9yQml0ID09IDI6CiAgICAgICAgIyBLZW1iYWxpa2FuIE5vbmUvbnVsbAogICAgICAgIHJldHVybiBOb25lCiAgICBlbHNlOgogICAgICAgICMgVW50dWsgbm9tb3JCaXQgZGkgbHVhciAwLCAxLCAyCiAgICAgICAgcmV0dXJuIE5vbmUKCiMgQ29udG9oIHBlbmdndW5hYW4KcHJpbnQoaGl0dW5nTm9tb3JCaXQoMTMsIDApKSAgIyBTZWhhcnVzbnlhIG1lbmdlbHVhcmthbiAzCnByaW50KGhpdHVuZ05vbW9yQml0KDEzLCAxKSkgICMgU2VoYXJ1c255YSBtZW5nZWx1YXJrYW4gMwpwcmludChoaXR1bmdOb21vckJpdCgxMywgMikpICAjIFNlaGFydXNueWEgbWVuZ2VsdWFya2FuIE5vbmUK