Haii.. assalamualaikum wr. wb. jumpa lagi dengan saya nih...
kali ini saya ingin berbagi source code python lagi... Source code kali ini saya ingin membahas masalah kalkulator.. Pada zaman modern seperti sekarang ini, tentu kita sering menjumpai kalkulator. dan seiring perkembangannya, komputer memiliki perkembangan untuk memudahkan bagi para penggunaan nya..
penjelasan mengenai kalkulator smartphone.
nah, bahkan pada sebuah smartphone, kalkulatornya sekarang sudah bisa menerima masukan String.
apakah itu string ? tentu bagi kalian yang pernah belajar bahasa pemrograman, sudah tidak asing dengan kata "string". namun, saya akan mencoba untuk memberikan sedikit penjelasan dan gambaran mengenai "string" itu sendiri,, nah, dalam bahasa pemrograman, terdapat beberapa tipe data.. yaitu "integer", "string", "float" dan masih banyak lagi... berikut saya akan menjelaskan beberapa istilah tersebut...
- Integer merupakan sebuah tipe data yang isinya berupa angka. yang bisa kita "kali (x)", "tambah (+)", "bagi (/)", dan "dikurangi (-)" nilainya.
- String merupakan sebuah tipe data, yang isinya adalah teks. walaupu, dapat berisi angka, angka tersebut dianggap teks. sehingga tidak bisa kita "kali (x)", "tambah (+)", "bagi (/)", dan "dikurangi (-)" seperti pada matematika pada umumnya.
- Float merupakan sebuah tipe data yang sebenarnya sama seperti integer. yaitu berisi angka. namun, perbedaannya adalah, float berisi angka pecahan. contoh : 1,5 dan lain sebagainya.
Contoh screenshoot kalkulator string.
nah, kembali lagi ke kalkulator dengan inputan string, saya akan memberikan contoh screenshoot dari kalkulator string ini.. sebagai contohnya bisa kita lihat hasil sreenshoot Handphone xiaomi saya di bawah ini.
bisa kita lihat diatas, kalkulator ini dapat menerima inputan String seperti tanda operator yaitu "+, -, x , / ". dimana bisa kita lihat operator tersebut berada di tengah - tengah angka. dimana kita tau kalkulator pada umumnya, jika kita meneken tombol operator (*,/,-, atau +), maka angka yang ada pada layar akan otomatis di kosongkan. sehingga operator matematika (*,/,-, atau +) tidak akan tampil layar seperti diatas.
nah pada kesempatan kali ini saya akan membuat program dengan inputan String seperti diatas. namun, spesialnya atau bisa kita bilang anehnya adalah, kalkulator ini tidak menggunakan prioritas matematika pada umumnya. sehingga, jika kita memasukkan "1+2*3" maka hasilnya adalah "9" bukan "7". karena hukum prioritas matematika tidak saya berlakukan disini.
dimana kita tau, pada prioritas matematika, yang akan di kerjakan terlebih dahulu adalah , operator kali (x), bagi (/), kurangi(-) dan yang terakhir adalah tambah (+). untuk lebih jelasnya, kalian bisa browsing di google.. karena pasti sudah banyak sekali yang membahas terntang priositas matematika.
Code program kalkulator tanpa prioritas.
nah sekarang.. langsung saja yuk ke pembahasan utama kita yaitu tentang "Contoh program kalkulator tanpa prioritas". oke, berikut saya berikan source code nya dalam bahasa python. ini diaa..masukan = input('Masukkan data : ') angka = [] operator = [] penampung = '' for i in range (len(masukan)) : if masukan[i] == '*' or masukan[i] == '/' or masukan[i] == '+' or masukan[i] == '-' : angka.append(int(penampung)) operator.append(masukan[i]) penampung='' else : penampung = penampung + masukan[i] operator.insert(0,'') angka.append(int(penampung)) hasil = angka[0] for a in range (1,len(angka)) : if a < len(operator)+1 : if (operator[a] == '+'): hasil = hasil + angka[a] elif (operator[a] == '-'): hasil = hasil - angka[a] elif (operator[a] == '/'): hasil = hasil / angka[a] elif (operator[a] == '*'): hasil = hasil * angka[a] print ('hasil dari perhitungan = ', hasil)
Cukup pendekkan programnya ? ya walaupun cukup susah kalian pahami. hehe..
Hasil running ketika program kalkulator tanpa prioritas di jalankan.
Nah, untuk hasil running nya, adalah sebagai berikut :untuk membuktikannya, kalian dapat copy dan paste program di atas pada IDLE python sendiri atau bisa memakai compiler python lainnya. setelah itu langsung dapat dijalankan. semoga sukses sesuai harapan ya.. hehe.. oya kalian juga dapat mengembangkan juga ya...
cukup sekian pada postingan kali ini... jangan lupa di bagikan ya... jika ada yang ingin ditanyakan atau ada masalah, silahkan berkomentar dibawah postingan ini yaa...
apabila saya bisa, insyaallah saya akan menjawab secepatnya.
oya sekali lagi, jangan lupa share ke temen kalian yang membutuhkan ya...
sekian dulu dari saya dan mohon maaf atas kekurangannya. karena saya masih Newbie. terimakasih wassalamualaikum wr. wb. :)
ConversionConversion EmoticonEmoticon