Mengapa harus menggunakan BooleanVar, IntVar, StringVar, dan DoubeVar

BelajarPython - assalamualaikum wr. wb.

Jumpa lagi nih temen - temen.. Pada kesempatan yang berbahagia ini, saya akan mencoba untuk mengajak kalian untuk mempelajari beberapa class yang ada di tkinter nih.. Class - class tersbeut adalah >> “BooleanVar”, “IntVar”, StringVar”dan “DoubleVar”  yang merupakan class - class build in. Yang artinya sudah di sediakan oleh tkinternya. Nah tentu kalian tidak asing kan degan class - class tersebut ? Ya terutama bagi kalian yang belajar tkinter nih. Hehe

Nah perlu anda ketahui, pada postingan kali ini saya akan membahas mengenai alasan - alasan mengapa kita menggunakan class “BooleanVar”, “IntVar”, StringVar”dan “DoubleVar” ini didalam program pembuatan GUI tkinter.. Namun, PENTING untuk anda ketahui, jika potingan kali ini merupakan lanjutan dari 2 postingan yang sudah saya posting sebelumnya.. Yaitu :

  1. Apa itu yang dimaksud dengan “BooleanVar”, “IntVar”, StringVar”dan “DoubleVar”
  2. Contoh pemanfaatan class “BooleanVar”, “IntVar”, StringVar”dan “DoubleVar”

Nah untuk membacanya, silahkan kalian klik link tulisan judulnya tersebut ya.. Dan tentu sangat saya rekomendasikan untuk membacanya.. Terutama postingan yang kedua tersebut.. Karena saya memanfaatkan code program yang ada di sana untuk saya buktikan penggunaanya.. Jadi untuk membandingkan perubahannya, kalian harus membukanya secara bersamaan ya.. Atau paling tidak, kalian harus melihatnya..

Nah setelah kalain membaca postingan saya yang sebelum nya, yuk kita lanjut lagi postingan kali ini... Nah seperti yang sudah saya katakan di atas ya.. Pada postingan kali ini saya akan  memberikan beberapa alasan mengapa kita harus menggunakan class “BooleanVar”, “IntVar”, StringVar”dan “DoubleVar”  inii..  dan mengapa kita tidak menggunakan variabel yang menampung jenis tipe - tipe data pada umumnya saja... Nah untuk mendapatkan jawaban - jawabannya... Yuk langsung saja kita simak sama - sama postingan saya di bawah ini...

Intro atau pendahuluan.

Mungkin kalian akan memiliki pertanyaan - pertanyaan tersebut ketika melihat class - class yang sudah saya jelas kan tadi... Nah jika kalian ingin mendapatkan jawaban dari pertanyaan - pertanyaan tersebut, maka sangat tepat jika kalian membaca pembahasan saya kali ini..


Jadi, class tersebut sebenernya digunakan sebagai pengontrol widget - widget yang di tampilkan pada window... Tapi kalau kita menggunakn tipe data yang di tampung pada variabel pada umumnya maka apa yang akan terjadi ? Tentu yang terjadi adalah error ya atau jika tidak error, maka kita akan mendapatkan hasil yang tidak semestinya... Nah untuk membuktikan kata - kata yang saya katakan tadi, yuk langsung saja kita praktekkan ke tkp langsung..

Dan sebelumnya, perlu kalian ketahui, saya akan menggunakan program - program di atas, yaitu contoh - contoh tersebut yang akan saya ubah isi variabel nya.. Untuk lebih jelasnya, silahkan di simak saja code program nya di bawah ini ya temen - temen...

Pembuktian 1 : code program IntVar.

Nah untuk yang pertama, saya akan mencoba untuk membuktikan class IntVar terlebih dahulu. Seperti yang sudah saya katakan diatas, saya menyalin code program dari postingan contoh itu ya.. Yang kemudian akan saya modifikasi dengan mengubah menjadi tipe data intger biasa pada umumnya... Nah langsung saja ya kita simak code program nya di bawah ini. Dan simak apa yang akan saya rubah ini ya...


from tkinter import *
root = Tk()
root.geometry("200x100")

v = 1

def ShowChoice():
    print (v)

Radiobutton(root,
                text="Pilihan 1",
                variable=v,
                command=ShowChoice,
                value=1).pack()

Radiobutton(root,
                text="Pilihan 2",
                variable=v,
                command=ShowChoice,
                value=5).pack()

mainloop()


Nah itu dia code program yang sudah saya ubah tipe datanya menjadi tipe data integer biasa.. Untuk lebih jelasnya, silahkan lihat code program variabel “v”. Diasana saya hanya memberikan angka 1. Yang artinya mengubah menjadi tipe data biasa ya... Dan untuk lebih jelasnya lagi, silahkan bandingkan sendiri ya dengan code program yang ada di postingan yang memberikan contoh pemanfaatan class ini..

Nah lalu seperti apa ya kira - kira hasil dari code program di atas ketika saya jalan kan ? Nah untuk menjawabnya, silahkan simak sama - sama pada gambar dibawah ini yaa..





Nah bisa kita lihat ya hasilnya.. Walaupun saya gonta - ganti radio buttonnya, maka nilai yang di print adalah 1.. Walaupun value di radio button “pilihan 2” adalah 5. Silahkan cek di pendefinisian radio buttonnya untuk mencek nya.. Disana ada code “value = 5”. Hal ini berbeda dengan code program yang menggunakan IntVar ya.. Disana akan mencetak angka 5 ketika saya pilih “pilihan 2”. Silhakan cek sendiri di pada postingan yang memberikan contoh penggunaan IntVar nya...

Nah gimana ? Sudah jelas ya dari pembuktian di atas bagaimana pentingnya IntVar ini... Ya saya rasa sudah cukup jelas ya...


Pembuktian code program StringVar.

Dan selanjutnya, saya akan mencoba untuk membuktikan bagaimana jika kita mengganti StringVar dengan string biasa pada umumnya.. Silahkan disimak ya code program yang saya salin dari postingan yang memberikan contoh code program contoh penggunaaan StringVar ini... Dan perhatikan juga perubahannya...


from tkinter import *

root = Tk()

def cetak(event):
    print ("isi kolom teks nya adalah -> " + isi)

masukan = Entry()
masukan.pack()

isi = ""
isi ="tekan enter untuk cetak"
masukan["textvariable"] = isi

masukan.bind('', cetak)

root.mainloop()


Nah itu dia code progrm nya temen - temen... Bisa kita perhatikan ya pada code program di atas.. Disana saya merubah nilai dari variabel isi menjadi String biasa pada umumnya.. Silahkan cek yang berhubungan dengan variabel “isi” diatas.. Dan bandingkan perubahannya dengan code program yang ada pada postingan contoh penggunaan StringVar ini...

Nah lalu seperti apa ya kira - kira hasil dari code program di atas ketika saya jalankan ? Nah langsung saja di dimaka hasilnya pada gambar di bawah ini ya temen - temen...



Nah bisa kita lihat sendiri ya temen - temen hasil nya.. Walaupun saya ubah teks yang ada di kolom teks, ketika saya print hasilnya akan tetap saja tidak berubah.. Hal ini berbeda dengan code program yang ada di postingan contoh pemanfaatan StringVar sudah saya posting sebelumnya ya... Yang akan selalu berubah hasil print nya jika kita ubah teks yang ada di kolom teks nya...

Pembuktian code program BooleanVar.

Nah selanjutnya saya akan mencoba untuk memberikan bukti mengenai BooleanVar ya... Nah seperti apa ya kira - kira pembuktiannya ? Yuk langsung saja di simak sama - sama hasilnya pada code program yang menyalin dari code program yang ada pada postingan contoh pemanfaatan BooleanVar yang link nya ada di atas postingang ini ya. Yang tentu saja sudah saya ubah BooleanVar nya menjadi tipe data Boolean biasa.. Seperti apa hasilnya.. Silihakan disimak code programnya di bawah ini ya temen - temen..


from tkinter import *

root = Tk()

def diKlik():
    if penentu == True:
        root.title("lihat disini..")
    else:
        root.title("")

root.geometry("250x150")
penentu = True

checkBox = Checkbutton(text="judul", variable=penentu, command=diKlik)
checkBox.place(x=50, y=50)

root.mainloop()


Nah itu dia temen - temen code programnya... Bisa kita lihat ya apa yang sudah saya rubah di atas.. Dimana variabel “penentu” nya sudah saya rubah menjadi boolean biasa.. Dimana nilainya adalah true.. Yang menandakan bahwa variabel “penentu” menandakan kalo tipe datanya adalah boolean biasa...

Nah lalu bagaimana hasilnya jika code program tersebut kita jalankan ? Yuk disimak hasilnya pada gambar di bawah ini ya temen - temen...



Nah itu dia hasilnya temen - temen.. Bisa kita lihat ya disana.. Jika tidak kita centang checkbox nya, maka judulnya akan tetap tampil.. Hal tersebut di karenakan nilai yang ada pada variabel “penentu” tidak berubah nilainya walaupun kita men chek judul nya atau pun tidak. Hal ini berbeda dengan code program yang ada pada postingan contoh pemanfaatan “Booleanvar” yang sudah saya bagikan link nya di atas yaa.. Gimana ? Sudah jelas kan ? Ya saya rasa sudah jelas ya...

Pembuktian code program DoubleVar.

Nah yang terakhir saya akan mencoba untuk memberikan bukti dari DoubleVar ya.. Seperti pada sebelumnya, code programnya saya salin dari postingan yang memberikan contoh pemanfaatan class ini yang link nya sudah saya kasih di atas postingan ini ya.. Kemudian saya ganti tipe datanya.. Nah setelah saya ganti bagimana ya hasilnya ? Yuk mari silahkan dicek code programnya terlebih dahulu.. Silahkan di cek dan temukan perbedaannya dengan code program di atas ya..


from tkinter.ttk import Label, Scale
from tkinter import Tk, LEFT, DoubleVar

root = Tk()

def onScale(nilai):
    global angka
    v = float(nilai)
    angka = v

scale = Scale(from_=0, to=100, command=onScale)
scale.pack(side=LEFT, padx=15)

angka = 0.0
teks = Label(text=0, textvariable=angka)
teks.pack(side=LEFT)

root.geometry("300x50")
root.mainloop()


Nah itu dia temen - temen code programnya.. Dimana variabel “angka” nya sudah berubah menjadi tipe data “float” pada umumnya.. Nah seperti apa hasilnya jika code program di atasi kita tampilkan ? Yuk silahkan di simak pada gambar di bawah ini ya temen - temen...



Wah angkanya malah gak tampil ya temen - temen.. Nah itu mengapa sebabnya kita harus menggunakan class “BooleanVar”, “IntVar”, StringVar”dan “DoubleVar” ini.. Gimana sudah paham kan ? Ya saya rasa juga begitu ya.. Hehe

Kesimpulan dari penggunaan class “BooleanVar”, “IntVar”, StringVar”dan “DoubleVar” pad tkinter python 3.

Dan segment yang terakhir, saya akan mencoba untuk menjabarkan kesimpulan dari pemakaian class - class tersebut.. Silahkan disimak sama - sama ya temen - temen....

Jadi kesimpulan dari class “BooleanVar”, “IntVar”, StringVar”dan “DoubleVar” ini adalah dari segi penggunaan nya ya.. Jadi class - class tersebut digunakan oleh tkinter sebagai pengambil nilai dari widget - widget yang di sediakan oleh dirinya.. Jadi penggunaan class - class tersebut wajib hukum nya untuk memaksimalkan kinerja dari widget - widget dari tkinter tersebut..


Nah gimana ? Udah jelaskan temen - temen ? Semoga kalian bisa paaham ya tentang apa yang sudah saya jelaskan pada postingan kali ini.. Namun, apabila kalian mendapatkan kesulitan untuk memahaminya, atau ada yang ingin kalian tanyakan, kalian bisa menanyakannya pada kolom komentar di bawah ini ya temen - temen.. Insyaallah saya akan menjawabnya secepat yang saya bisa ...


Oke sampai disini dulu ya pembahasan saya mengenai “BooleanVar”, “IntVar”, StringVar”dan “DoubleVar” ini.. Semoga apa yang saya sampaikan di atas dapt bermanfaat bagi kalian.. Dan tentu saja dapat memberikan manfaat bagi kalian dan ilmu baru tentunya... Dan terimakasih ya sudah berkunjung ke blog ku ini dan membaca postingan saya hingga akhir.. Mohon maaf atas kekurangan yang ada di blog ini ya.. Terlebih lagi yang ada pasa postingan kali ini.. Dan harap maklum.. Karena saya juga masih belajar.. Heehe..

Oke sekai lagi terimakasih ya.. Dan apabila kalian berkenan, mohon share postingan kali ini ya.. Sebagai bentuk dukungan kalian terhadap blog saya.. Oke terimakasih dan sampai jumpa lagi di positngan - postingan saya yang lainnya.. Sekian..

Wassalamualaikum wr. wb.
Previous
Next Post »
Thanks for your comment