membuat jam digital versi 2

BelajarPython - Assalamualaikum wr. wb.

Jumpa lagi nih temen - temen.. Pada kesempatan kali ini saya akan mencoba untuk mengajak kalian untuk berkreasi produk lagi nih.. Setelah lama sebelumnya saya telah upload mini aplikasi tentang jam tuh. yaitu jam analog. Na sekarang saya akan mencoba untuk membuat jam yang modern nih.. Apalagi kalau bukan jam digital.. Yuk langsung saja kita simak sama - sama postingan saya kali ini.. Let’s check it out temen - temen....

Pengenalan aplikasi yang akan kita buat.

Oke saya jelaskan lagi lebih rinci lagi ya.. Jadi, aplikasi yang akan kita buat ini merupakan jam digital.. Tentu saja aplikasi yang akan kita buat kali ini lebih mudah dari pada jam analog yang memiliki kerumitan perhitungan perputaran jarum jam. Dimana pembuatan jam analog ini telah saya posting sebelumnya. Jika kalian tertarik untuk melihatnya, KALIAN BISA KLIK DISINI.

Jadi, tentu saja aplikasi ini tinggal memberikan angka - angka saja nantinya.. Dan juga di tambah dengan fitur alarm di dalam nya... Jadi sangat mudah yaa.. Nah, benarkah semudah itu? Yuk dilanjut saja kita ke bab yang lebih serius lagi.. hehe

Oya perlu kalian ketahui sebelum nya ya.. Aplikasi ini merupakan aplikasi versi kedua.. Dimana versi pertama saya hanya menampilkan jam saja.. Untuk melihat perkembangan tiap versinya, kalian BISA KLIK DISINI untuk lebih memahaminya.

Spesifikasi dan fitur jam digital + alarm tkinter python.

Oya perlu kalian ketahui lagi.. Modul untuk membuat tampilan jam ini, saya menggunakan tkinter ya... Nah untuk lebih jelasnya, simak penjabaran berikut ini ya temen - temen....

Nama: mn-digital 2.0
Versi: 2.
Platform: Python 3.x
Modul: Tkinter dan pygame. Klik disini untuk tutorial instalasi pygame nya.
Baris Code: kurang lebih 98 baris code program.
Fitur: jam digital dengan alarm.
syarat menjalankan: install python 3.x, punya editor teks atau IDE.
Cara menjalankan: install python 3, copy dan paste code program pada editor atau IDE, simpan dalam file python(ekstensi .py), lalu jalankan.


Kalian juga bisa membuat code program ini menjadi file aplikasi loh.. iya file aplikasi seperti "exe" itu loh.. sehingga, nantinya kita cukup klik dua kali saja untuk menjalankan aplikasi ini... tanpa perlu repot - repot membuka nya di IDLE atau IDE python.. nah seperti apa caranya? cukup mudah kok.. dan saya juga sudah membuatkan tutorialnya.. untuk kalian yang menggunakan windows, KALIAN BISA KLIK DISINI ya temen - temen.. atau jika pada link pertama terlalu rumit, KALIAN BISA MENCOBA CARA INI ya.... dan bagi pengguna linux ? tenang saja.. bisa juga kok membuat file executable nya.. untuk melihat tutorialnya, KALIAN BISA KLIK DISINI temen - temen...

Code program untuk membuat jam digital + alarm tkinter python.

Nah biar tidak lama - lama penasaran, yuk langsung saja simak sama - sama code program untuk membuat jam digital dengan alarm ini... Silahkan di simak di bawah ini ya temen - temen.. Let’s check it out...


from tkinter import *
import time
from tkinter.ttk import Combobox
import pygame

class Jam:
    def __init__(self, parent):
        self.parent = parent
        self.frameAlarm = Frame(parent)

        self.hidupMati = BooleanVar(False)
        self.teksTombol = StringVar(value='set')

        self.fileMusik = 'hysteria.mp3'
        self.alarmHidup=False

        self.komponen()
        self.buatComboBox()
        self.buatTombol()
        self.perbaui()

    def komponen(self):
        self.teksJam = StringVar()
        self.teks = Label(text="mn-belajarpython.blogspot.com")
        self.teks.pack()

        layarJam = Frame(self.parent, bd=10)
        layarJam.pack()

        self.jam = Label(layarJam, textvariable=self.teksJam,font=('Helvetica', 40, 'bold'),bg = "light blue",fg="blue")
        self.jam.pack()

    def perbaui(self):
        datJam = time.strftime("%H:%M:%S", time.localtime())

        jam = time.strftime("%H", time.localtime())
        menit = time.strftime("%M", time.localtime())
        detik = time.strftime("%S", time.localtime())

        if jam==self.comboJam.get() and menit==self.comboMenit.get() and (detik=='00') and self.hidupMati.get() :
            pygame.init()
            pygame.mixer.init()
            pygame.mixer.music.load(self.fileMusik)
            pygame.mixer.music.play()
            self.alarmHidup=True

        if self.alarmHidup and pygame.mixer.music.get_busy()==False :
            self.perintahSetAlarm()

        self.teksJam.set(datJam)
        self.timer = self.parent.after(1000, self.perbaui)

    def buatComboBox(self):
        Label(self.frameAlarm, text='Jam : ').grid(row=0,column=0)
        self.alarmJam = StringVar()
        self.comboJam = Combobox(self.frameAlarm, textvariable=self.alarmJam,
                                state='readonly', width=2)
        self.comboJam['values'] = ('00','01','02','03','04','05','06','07','08','09','10','11','12','13','14','15',
                                     '16','17','18','19','20','21','21','22','23')
        self.comboJam.current(0)
        self.comboJam.grid(row=0,column=1)

        Label(self.frameAlarm, text='  Menit : ').grid(row=0,column=2)
        self.alarmMenit = StringVar()
        self.comboMenit = Combobox(self.frameAlarm, textvariable=self.alarmMenit,
                                state='readonly', width=2)
        self.comboMenit['values'] = ('00','01','02','03','04','05','06','07','08','09','10','11','12','13','14','15',
                                     '16','17','18','19','20','21','21','22','23','24','25','26','27','28','29','30',
                                     '31','32','33','34','35','36','37','38','39','40','41','42','43','44','45','46',
                                      '47','48','49','50','51','52','53','54','55','56','57','58','59')
        self.comboMenit.current(0)
        self.comboMenit.grid(row=0,column=3)

        self.frameAlarm.pack()

    def buatTombol(self):
        self.tombolSet = Button(self.frameAlarm,textvariable=self.teksTombol,command=self.perintahSetAlarm).grid(row=0,column=4)

    def perintahSetAlarm(self):
        if self.teksTombol.get() == 'set' :
            self.teksTombol.set('stop')
            self.hidupMati.set(True)
            self.teks.config(text='Alarm Terpasang.!! pada -> '+ self.comboJam.get()+' : '+self.comboMenit.get() )
        else :
            self.hidupMati.set(False)
            self.teksTombol.set('set')
            self.alarmHidup=False
            try :
                pygame.mixer.music.stop()
            except :
                pass
            self.teks.config(text="mn-belajarpython.blogspot.com")

if __name__ == '__main__':
    root = Tk()
    root.title("jam digital")
    app = Jam(root)
    root.mainloop()


Nah itu dia temen - temen code program nya.. Cukup pendek juga ya... nah lalu sepertii apa ya temen - temen tampilan yang akan di hasilkan dari code program di atas? Nah, biar gak penasaran, langsung saja di simak gambar yang ada di bawah ini ya...



Nah itu dia temen - temen hasil dari code program di atas.. Gimana ? Cukup bagus ya.. Hehe... Ya saya harap kalian sependapat dengan saya..


Kalian juga bisa membuat code program ini menjadi file aplikasi loh.. iya file aplikasi seperti "exe" itu loh.. sehingga, nantinya kita cukup klik dua kali saja untuk menjalankan aplikasi ini... tanpa perlu repot - repot membuka nya di IDLE atau IDE python.. nah seperti apa caranya? cukup mudah kok.. dan saya juga sudah membuatkan tutorialnya.. untuk kalian yang menggunakan windows, KALIAN BISA KLIK DISINI ya temen - temen.. atau jika pada link pertama terlalu rumit, KALIAN BISA MENCOBA CARA INI ya.... dan bagi pengguna linux ? tenang saja.. bisa juga kok membuat file executable nya.. untuk melihat tutorialnya, KALIAN BISA KLIK DISINI temen - temen...

Penjelasan Code program untuk membuat jam Digital.

nah pada bagian ini saya akan mencoba untuk menjelaskan code program yang telah saya bagikan diatas tadi yaa.. Hal ini saya lakukan agar kalian bisa memahami code program untuk membuat code program untuk membuat jam digital ini... Yuk tanpa lama - lama lagi langsung saja kita simak sama - sama penjelasan saya di bawah ini...

[NOTE : Teks yang berwarna merah pada penjelasan merupakan "Code program" yang di tambahkan pada versi kali ini. Dan tidak ada di versi sebelumnya]

from tkinter import *  //digunakan untuk mengimport modul tkinter
import time  //mengimport modul time untuk mendapatkan jam terkini
from tkinter.ttk import Combobox  //digunakan untuk mengimport combbox
import pygame  //digunakan untuk mengimport modul pygame nya

class Jam:  //membuat class dengan nama jam
    def __init__(self, parent):  //merupakan construktor dari class jam.
        self.parent = parent   //menampung nilai yang ada di variabel ‘parent’
        self.frameAlarm = Frame(parent)  //membuat frame atau tempat penempatan komponen pembuat alarm nya.

        self.hidupMati = BooleanVar(False)  //digunakan untuk penentu mati atau tidak nya alarm
        self.teksTombol = StringVar(value='set')  //digunakan untuk pengubah teks tombol pembuat alarm nya

        self.fileMusik = 'hysteria.mp3'  //code ini merupakan penentu bunyi alarm yang akan di hasilkan nantinya. Silahkan tempatkan file sound alarmnya satu folder dengan file pythonnya. Untuk file sound yang ada di folder sebelumnya, bisa menggunakan ‘../hysteria.mp3’ dan jika ada di sub folder bisa menggunakan ‘./namaFolder/hysteria.mp3’ atau silahkan pelajari tentan pembacaan lokasi file ini terlebih dahulu.
        self.alarmHidup=False  //penentu alarm hidup atau tidak yang kedua atau pembantu variabel ‘self.hidupMati’

        self.komponen()  //memanggil atau menjalankan metode atau fungsi dengan nama ‘komponen’.
        self.buatComboBox()  //memanggil atau menjalankan metode atau fungsi dengan nama ‘buatComboBox’.
        self.buatTombol()  //memanggil atau menjalankan metode atau fungsi dengan nama ‘buatTombol’.
        self.perbaui()  //memanggil atau menjalankan metode atau fungsi dengan nama ‘perbarui’.

    def komponen(self):  //merupakan sebuah metode atau fungsi dengan nama komponen yang digunakan untuk menampilkan semua komponennya.
        self.teksJam = StringVar()  //variabel untuk menampilkan angka jam
        self.teks = Label(text="mn-belajarpython.blogspot.com")  //sebuah teks yang akan saya tampilkan pada window
        self.teks.pack()  //menampilkan teks diatas ke dalam window

        layarJam = Frame(self.parent, bd=10)  //membuat sub frame untuk tempat angka jam nya
        layarJam.pack()  //memasukkan frame tempat jam nya ke frame utama.

        self.jam = Label(layarJam, textvariable=self.teksJam,font=('Helvetica', 40, 'bold'),bg = "light blue",fg="blue")  //digunakan untuk menampilkan angka jam dengan settingan yang sudah saya buat. Seperti : font :helvetica tebal dengan ukuran 40. Backround biru cerah dan font biru
        self.jam.pack()  //memasukkan teks jam di atas

    def perbaui(self):  //metode atau fungsi dengan nama ‘perbarui’. Yang digunakan untuk mengupdate jam. Setiap detik.
        datJam = time.strftime("%H:%M:%S", time.localtime())  //digunakan untuk mengetahui jam, menit dan detik di komputer kita. Dan ditampung ke dalam variabel datjam.

        jam = time.strftime("%H", time.localtime())  //digunakan untuk mengetahui jam di komputer kita. Lalu di tampung ke dalam variabel jam.
        menit = time.strftime("%M", time.localtime())  //digunakan untuk mengetahui menit di komputer kita. Dan disimpan ke dalam variabel menit.
        detik = time.strftime("%S", time.localtime())  //digunakan untuk mengetahui detik di komputer kita. Lalu disimpan ke dalam variabel detik.

        if jam==self.comboJam.get() and menit==self.comboMenit.get() and (detik=='00') and self.hidupMati.get() :  //pengecekan apakah ada alarm terpasang atau tidak. Sekaligus mencocokan waktu alarm nya sama atau tidak dengan waktu sekarnag.
            pygame.init()  //inisialisasi pygame untuk membunyikan alarm.
            pygame.mixer.init()  //inisialisasi pygame untuk membunyikan alarm.
            pygame.mixer.music.load(self.fileMusik)  //digunakan untuk memuat file nada alarm nya. Dengan lokasi yang telah tertampung di self.fileMusik.
            pygame.mixer.music.play()  //digunakan untuk memutar musiknya.
            self.alarmHidup=True  //mengubah nilai variabel alarmHidup menjadi true. Menandakan alarm sedang hidup.

        if self.alarmHidup and pygame.mixer.music.get_busy()==False :  //digunakan untuk mengecek apakah alarm nya sedang berbunyi atau tidak.
            self.perintahSetAlarm()  //memanggil atau menjalankan metode dengan nama ‘perintahSetAlarm’.

        self.teksJam.set(datJam)  //digunakan untuk mengubah tampilan jam menjadi jam terkini pada komputer. Yang sudah di ketahui dan di tampung ke dalam variabel ‘datjam’.
        self.timer = self.parent.after(1000, self.perbaui)  //digunakan untuk memanggil metode perbarui selama 1000 milisecond. Atau selama 1 detik sekali.

    def buatComboBox(self):  //metode dan fungsi dengan nama ‘buatComboBox’ unguk membuat combobox pembuat alarm nya.
        Label(self.frameAlarm, text='Jam : ').grid(row=0,column=0)  //digunakan untuk membuat label. Sekaligus memasukkan ke dalam frame ‘alarm’.
        self.alarmJam = StringVar()  //membuat variabel yang digunakan untuk menampung alarmnya.
        self.comboJam = Combobox(self.frameAlarm, textvariable=self.alarmJam,state='readonly', width=2) self.comboJam['values'] =('00','01','02','03','04','05','06','07','08','09','10','11','12','13','14','15','16','17','18','19','20','21','21','22','23')  //digunakan untuk membuat combobox untuk memeilih jam alarm nya.
        self.comboJam.current(0)  //code ini digunakan untuk menentukan nilai default combobox nya belum terpilih.
        self.comboJam.grid(row=0,column=1)  //digunakan untuk memasukkan combobox jam nya diatas ke dalam frame.

        Label(self.frameAlarm, text='  Menit : ').grid(row=0,column=2)  //digunakan untuk membuat label ‘menit’ kemudian langsung di masukkan ke dalam window.
        self.alarmMenit = StringVar()  //membuat variabel yang akan digunakan untuk menampung nilai menit alarm.
        self.comboMenit = Combobox(self.frameAlarm, textvariable=self.alarmMenit,state='readonly', width=2)self.comboMenit['values'] = ('00','01','02','03','04','05','06','07','08','09','10','11','12','13','14','15',
'16','17','18','19','20','21','21','22','23','24','25','26','27','28','29','30',
'31','32','33','34','35','36','37','38','39','40','41','42','43','44','45','46',
'47','48','49','50','51','52','53','54','55','56','57','58','59')  //digunakan untuk membuat combobox pemilih detik.
        self.comboMenit.current(0)  //menentukan nilai default comboboxnya di indek 0.
        self.comboMenit.grid(row=0,column=3)  //memasukkan combobox alarm nya pada window.

        self.frameAlarm.pack()  //mamasukkan sub-frame tempat alarm nya ke dalam frame utama.

    def buatTombol(self):  //digunakan untuk membuat metode dengan nama ‘buatTombol’. Yang tentu saja fungsi nya untuk membuat tombol.
        self.tombolSet = Button(self.frameAlarm,textvariable=self.teksTombol,command=self.perintahSetAlarm).grid(row=0,column=4)  //membuat tombol dengan settingan yang sudah saya berikan di dalamnya. Yaitu dengan tempat frame pada sub frame. Yaitu frame alarm, dengan teks tombol yang ada pada variabel ‘self.teksTombol’. Dengan perintah ketika di klik adalah menjalankan metode ‘perintahSetAlarm’.

    def perintahSetAlarm(self):  //membuat metode atau fungsi dengan nama ‘perintahSetAlarm’. Yang berfungsi untuk membuat atau membuat alarm.
        if self.teksTombol.get() == 'set' :  //mengecek apakah teks tombolnya bernilai ‘set’.
            self.teksTombol.set('stop')  //mengubah teks tombol menjadi ‘stop’.
            self.hidupMati.set(True)  //digunakan untukmengubah variabel ‘hidupMati’ menjadi true. Yang menandakan alarm berhasili dibuat.
            self.teks.config(text='Alarm Terpasang.!! pada -> '+ self.comboJam.get()+' : '+self.comboMenit.get() )  //mengubah label dengan variabel ‘teks’ menjadi informasi alarm yang telah terpasang.
        else :  //kondisi jika teks tombol tidak sama dengan ‘set’.
            self.hidupMati.set(False)  //mengubah nilai vaiabel ‘set’ menjdi false. Yang artinya alarm tidak terpasang.
            self.teksTombol.set('set')  //menguah teks tombol menjadi ‘set’.
            self.alarmHidup=False  //digunakan untuk mengubah variabel ‘alarmHidup’ menjadi false. Yang aritnya alarm mati.
            try :  //digunakan untuk mencoba code program.
                pygame.mixer.music.stop()  //digunakan untuk menghentikan sebuah alarm yang sedang berbunya. Atau nada yang berbunyi.
            except :  //kondisi jika code diatas eror.
                Pass  //tidak melakukan apa apa.
            self.teks.config(text="mn-belajarpython.blogspot.com")  //digunakan untuk mengubah teks informasi menjadi nama blog.

if __name__ == '__main__':  //merupakan metode utama. Atau code yang akan di jalankan pertama kali.
    root = Tk()  //digunakan untuk membuat window.
    root.title("jam digital")  //memberikan judl pada window.
    app = Jam(root)  //memanggil class ‘jam’ yang sudah di buat di atas.dengan ‘root’ sebagai parameter.

    root.mainloop()  //digunakan agar window tidak langsung close otomatis saat dijalankan.


nah itu dia temen - temen penjelasan dari code program diatas.. Semoga penjelasan yang sudah saya berikan tadi dapat sedikit membantu penjelasan code program untuk membuat jam digital nya ya...

Saya ingatkan lagi ya... Kalian juga bisa membuat code program ini menjadi file aplikasi loh.. iya file aplikasi seperti "exe" itu loh.. sehingga, nantinya kita cukup klik dua kali saja untuk menjalankan aplikasi ini... tanpa perlu repot - repot membuka nya di IDLE atau IDE python.. nah seperti apa caranya? cukup mudah kok.. dan saya juga sudah membuatkan tutorialnya.. untuk kalian yang menggunakan windows, KALIAN BISA KLIK DISINI ya temen - temen.. atau jika pada link pertama terlalu rumit, KALIAN BISA MENCOBA CARA INI ya.... dan bagi pengguna linux ? tenang saja.. bisa juga kok membuat file executable nya.. untuk melihat tutorialnya, KALIAN BISA KLIK DISINI temen - temen...




Dan itu dia temen - temen cara untuk membuat jam digital nya.. Semoga apa yang telah saya sampaikan di atas dapat memberikan manfaat bagi kalian yaa... Dan tentu saja saya harap dapat menjadikan referensi untuk membuat sebuah produk atau untuk belajar python..

Oke sampai deisini dulu ya temen - temen bahasan pada postingan saya kali ini,, jangan lupa baca tutorial menarik lainnya ya.. Dan jangan lupa berkomentar atau berikan masukan atau keritikan kalian ya... Terimakasih.. Sampai jumpa di tutorial yang lainnya ya...

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