Belajar Python Dasar Integer dan Float


Integer
Pada Python, secara default input() dari user akan dianggap sebagai suatu tipe data integer atau bilangan bulat.

<img src="python.png" alt="python">


Oleh karena itu bila input() diberikan suatu nilai masukkan selain angka (sesuai ASCCI), maka akan didapati error eksekusi program.
Berikut contoh script untuk memahami tipe data integer.

INTJ = input('Masukkan angka bulat pertama ')
INTP = input('Masukkan angka bulat kedua ')
print 'Penjumlahan', INTJ, 'ditambah', INTP, '=', INTJ+INTP
print 'Pengurangan', INTJ, 'dikurangi', INTP, '=', INTJ-INTP
print 'Perkalian', INTJ, 'dikali', INTP, '=', INTJ*INTP
print 'Pembagian', INTJ, 'dibagi', INTP, '=', INTJ/INTP


Berikut contoh eksekusi program.



Bila diperhatikan ada yang aneh pada hasil pembagian dua buah bilangan bulat tersebut. Bila mengacu pada pembagian Matematika, seharusnya 7 dibagi 8 ialah 0,875. Namun, pada hasil eksekusi program tersebut 7 dibagi 8, hasilnya ialah 0. Penjelasan untuk hal tersebut ialah sebagai berikut.
Hasil pembagian yang dilakukan dua buah bilangan integer hanya akan menghasilkan kondisi berapa nilai bilangan bulat yang habis terbagi. Contoh ketika 7 dibagi 8 hasil pembagian 0, dengan sisa yang tidak dapat terbagi bulat ialah 7, sehingga output pembagian 7 dibagi 8 ialah 0. Contoh lain:
  • 27 / 5 = 5 sisa 2, output = 5
  • 36 / 9 = 4 sisa 0, output = 4
  • 46 / 4 = 11 sisa 2, output = 11

Operasi Matematika yang mencakup beberapa tipe data integer, akan menghasilkan output tipe data integer juga.

Float
Secara sederhana tipe data float ialah tipe data yang digunakan untuk bilangan pecahan. Berikut ini ialah script untuk membandingkan hasil operasi Matematika antara integer dengan float.

INTJ = input('Masukkan sebuah angka ')
FLOAT = float(INTJ)
print 'Penjumlahan', INTJ, '+ 100 =', INTJ+100
print 'Penjumlahan', INTJ, '+ 100.0 =', INTJ+100.0
print 'Penjumlahan', FLOAT, '+ 100 =', FLOAT+100
print 'Penjumlahan', FLOAT, '+ 100.0 =', FLOAT+100.0
print 'Pengurangan', INTJ, '- 100 =', INTJ-100
print 'Pengurangan', INTJ, '- 100.0 =', INTJ-100.0
print 'Pengurangan', FLOAT, '- 100 =', FLOAT-100
print 'Pengurangan', FLOAT, '- 100.0 =', FLOAT-100.0
print 'Perkalian', INTJ, '* 100 =', INTJ*100
print 'Perkalian', INTJ, '* 100.0 =', INTJ*100.0
print 'Perkalian', FLOAT, '* 100 =', FLOAT*100
print 'Perkalian', FLOAT, '* 100.0 =', FLOAT*100.0
print 'Pembagian', INTJ, '/ 100 =', INTJ/100
print 'Pembagian', INTJ, '/ 100.0 =', INTJ/100.0
print 'Pembagian', FLOAT, '/ 100 =', FLOAT/100
print 'Pembagian', FLOAT, '/ 100.0 =', FLOAT/100.0
print 'Sisa', INTJ, '% 100 =', INTJ%100
print 'Sisa', INTJ, '% 100.0 =', INTJ%100.0
print 'Sisa', FLOAT, '% 100 =', FLOAT%100
print 'Sisa', FLOAT, '% 100.0 =', FLOAT%100.0


Berikut hasil eksekusi programnya.



Operasi Matematika yang melibatkan tipe data float dengan integer, akan menghasilkan output tipe data float.

Integer to Float
Untuk mengubah tipe data dari integer menjadi float, ialah dengan menggunakan float. Berikut ini ialah contoh script.

INTJ = input('Masukkan bilangan bulat pertama ')
INTP = input('Masukkan bilangan bulat kedua ')
print 'INTJ =', INTJ
print 'INTP =', INTP
FLOAT1 = float(INTJ/INTP)
FLOAT2 = float(INTJ)
FLOAT3 = float(INTP)
FLOAT4 = FLOAT2/FLOAT3
print 'INTJ/INTP = ', INTJ/INTP
print 'float(INTJ/INTP) =', FLOAT1
print 'float(INTJ) / float(INTP) = ', FLOAT2, '/', FLOAT3, '=', FLOAT4


Berikut hasil eksekusinya.



Perlu diperhatikan bahwa hasil dari float(INTJ/INTP) dengan float(INTJ) / float(INTP), tidaklah sama. Untuk float(INTJ/INTP), dua buah nilai integer tersebut dilakukan operasi pembagian terlebih dahulu, sehingga output pembagiannya ialah integer. Nilai output pembagian integer tersebut, barulah diubah menjadi float, sehingga nilainya seperti yang ada pada contoh dan penjelasan sebelumnya.
Sedangkan untuk float(INTJ) / float(INTP), masing-masing tipe data integer tersebut diubah terlebih dahulu menjadi float. Barulah setelah keduanya menjadi float, dilakukan proses pembagian.