Membuat Program Alarm Clock (VB)

Pada artikel berikut ini anda akan diajak untuk membuat sebuah program pengingat waktu / alarm clock yang sederhana. Anda mungkin pernah bertanya-tanya kenapa pada sistem operasi windows tidak disediakan program pengingat waktu / alarm clock yang sudah built-in, padahal bila anda sering menggunakan outlook maka kita akan sering menggunakan alarm clock yang dapat diatur pada menu calendar, tetapi anda tidak akan membuat yang sekompleks itu.

Program yang akan dibuat relative sederhana hanya mempunyai sebuah form untuk mengatur waktu, pesan yang akan ditampilkan, dan memeilih suara dari alarm tersebut. Pembuatan program ini menggunakan tools Microsoft Visual Basic 2005 Express, anda juga dapat menggunkan program yang lain yang juga berbasis .NET seperti Visual C# 2005 Express. Untuk versi express dapat didownload dan digunakan secara gratis.

Untuk membuat program ini, langkah pertama yang dilakukan adalah:

· Buka program Visual Basic 2005 Express dan buat project windows form baru dengan nama “MyAlarmClock”.

Pada form kosong yang terbuka, tambahkan tiga label, dua textbox, satu DateTimePicker, dan dua button kedalam form tersebut, atur komponen-komponen tersebut hingga tampilannya berubah menjadi seperti berikut:

image

Adapun property-property yang harus dirubah adalah

image

· Kemudian tambahkan komponen ContextMenuStrip kedalam form, dan tambahkan dua submenu berikut ini

image

· Tambahkan komponen NotifyIcon, komponen ini berfungsi untuk menampilkan Ballon Tip berisi pesan pada system try icon. Ubah propery name menjadi “AlarmNotifyIcon” Atur property BalloonTipIcon, BalloonTipText, dan BalloonTipTitle. Jangan lupa untuk mengisi property icon, anda dapat memilih icon apa yang akan digunakan untuk notifikasi, bebas asalkan berekstensi .ico
· Tambahkan komponen Timer kedalam form, ubah property interval menjadi 1000.
· Tambahkan juga komponen OpenFileDialog kedalam form.
· Setelah semua komponen ditambahkan kedalam form dan posisisnya sudah diatur maka sekarang saatnya untuk menambahkan kode programnya.
· Klik kanan pada form kemudian pilih view code, kemudian tuliskan kode berikut:

Public Class frmAlarm

    'property yang digunakan untuk mengambil nilai dari datetimepicker
    Public Property AlarmTime() As DateTime
        Get
            Return dtpAlarm.Value
        End Get
        Set(ByVal value As DateTime)
            dtpAlarm.Value = value
        End Set
    End Property

    'method yang digunakan untuk mengecek alarm, jika jam alarm lebih kecil dari jam sekarang
    'maka dapat disimpulkan waktu tersebut adalah waktu pada hari berikutnya.
    Private Sub RolloverTime()
        If DateTime.Now.TimeOfDay.CompareTo(AlarmTime.TimeOfDay) > 0 Then
            AlarmTime = New DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day + 1, _
            AlarmTime.Hour, AlarmTime.Minute, AlarmTime.Second)
        Else
            AlarmTime = New DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Year, _
            AlarmTime.Hour, AlarmTime.Minute, AlarmTime.Second)
        End If
    End Sub

    'method yang dijalankan ketika Timer dijalankan
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        'membandingkan apakah waktu sekarang cocok dengan waktu yang telah diset pada alarm
        If DateTime.Now.CompareTo(AlarmTime) >= 0 Then
            'memastikan apakah alarm berlaku untuk hari ini atau besok
            RolloverTime()

            'pesan yang ditampilkan pada balloon tip
            AlarmNotifyIcon.BalloonTipText = IIf(txtMessage.Text.Length > 0, txtMessage.Text, "Attention!")
            AlarmNotifyIcon.ShowBalloonTip(60000)

            'perintah untuk menjalankan file audio
            If txtSound.Text <> String.Empty Then
                My.Computer.Audio.Play(txtSound.Text, AudioPlayMode.BackgroundLoop)
            End If
        End If

    End Sub

    'method yang dikerjakan ketika button browse diklik
    Private Sub btnBrowse_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBrowse.Click
        'membuka filedialog baru, untuk memilih file yang akan digunakan
        OpenFileDialog1.ShowDialog()
    End Sub

    'jika file pada opendialog sudah dipilih
    Private Sub OpenFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk
        txtSound.Text = OpenFileDialog1.FileName
    End Sub

    'pada saat menu setting pada contextmenustrip diklik
    Private Sub SettingToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SettingToolStripMenuItem.Click
        'mengarahkan lokasi form sehingga dapat dilihat user
        Me.Location = New Point(100, 100)
    End Sub

    'ketika button OK diklik
    Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click
        'mengarahkan lokasi form ketempat yang tidak bisa dilihat oleh user
        Me.Location = New Point(5000, 5000)

        'jika checkbox dicheck maka timer dijalankan
        If chkAlarm.Checked Then
            Timer1.Enabled = True
        Else
            Timer1.Enabled = False
            My.Computer.Audio.Stop()
        End If
    End Sub

    'pada saat pertama kali form diload
    Private Sub frmAlarm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.Location = New Point(5000, 5000)
    End Sub

    'pada saat menu Exit pada contextmenustrip diklik
    Private Sub ExitToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ExitToolStripMenuItem.Click
        Application.Exit()
    End Sub

End Class

Ketika program dijalankan untuk pertama kali maka program akan langsung muncul pada system try icon yang terletak pada status bar windows sebelah kanan bawah, didekat jam sistem. Untuk merubah setting alarm clock maka user dapat mengklik kanan pada tampilan icon dari program tersebut untuk memilih setting. Kemudian user dapat menentukan waktu alarm, pesan, dan memilih suara.

image
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, “Courier New”, courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

30 thoughts on “Membuat Program Alarm Clock (VB)

  1. mas kalau untuk menampilkan pesan waktu komputer pertama kali di hidupkan gimana? truz bagaimana kalo menampilkan pesan-pesan acara pada hari ini.

  2. mas, gimana kalau penampilkan pesan pada waktu komputer pertama kali dihidupkan? trus kalau menampilkan beberapa pesan/agenda pada hari ini ?

  3. mas,cara nampilin datatimepicker gimana ya soalnya saya cari di component gak ada,makasih ya. n maaf kalo pertanyaanya gak mutu. soalnya aku baru blajar visual basic

  4. mas bisa tnya caranya bikin background menggunakan timer??
    jadi setiap 5 detik bacground secar otomatis berubah warna..

  5. mas mau tny nich d luar alrm clock tp msh te2p d vb.net koq.

    aq puny 3button, wktu form load active mauny button 1 yg boleh d klik, button 2 & 3 g boleh d klik. jika button 2 & 3 d klik akan kluar msgbox ” salah tombol”. tp g pake enable ya…

    tolong dong mas bantuannya

    trims dech sblmny

  6. mas mau nanya dong… saya mau buat program gimn caranya klo klik tombol button keluar suara??
    dan bagaimana caranya mengisi suara pada setiap tombol????

  7. kalo bkin program autoshutdown gimana mas?? kodingnya gimana mas??
    misalkan dalam jangka waktu yang telah ditentukan (misalkan 1 jam) maka komputer otomatis akan mati,,

  8. Mas Erick saya udah coba dengan code diatas tp ko pas saya running, icon ballon nya tidak bisa d apa2 in yah, itu knp yah

    thx ya kalo uda ngerespond

  9. Mas Erick… Gimana caranya kalo alarmnya dibuat untuk tugas yang berbeda dan pada hari yang berbeda tanpa harus menyetel ulang alarmnya….???
    Misalnya setiap tanggal 12 jam 10 saya harus ke toko untuk cek barang, terus setiap tanggal jam 5 sore saya harus ke tempat les dsb

    Trima kasih sebelumnya mas erick

  10. mas, punya saya waktu dijalankan untuk pertama kali , iconnya kan muncul di status bar windows sebelah kanan bawah,terus pas di klik kanan ,kok engga keluar pilihan settings atau exit.apanya yg salah ya.. ?

  11. hehe udah bisa gan waktu di form load tambahin coding ini
    Code:

    AlarmNotifyIcon.ContextMenuStrip = ContextMenuStrip1

    di AlarmNotifyIcon_MouseClick tambahin koding ini
    Code:

    If e.Button = MouseButtons.Right Then AlarmNotifyIcon.ContextMenuStrip.Show()

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s