27 Mei 2010

Projek Besar: Timing Shutdown

Baiklah, sekarang saatnya mencoba projek besar... Yaitu Timing shutdown! Program berbasis vb ini dapat berfungsi untuk memberi waktu agar Windows dapat shutdown dalam jangka waktu yang ditentukan. Misal: 1 jam, berarti jika Anda lupa mematikannya 1 jam lagi komputer Anda akan shutdown. Tetapi jangan khawatir, juga ada fungsi Cancelnya...

Kategori: Visual Basic
Tingkat: Sedang
Waktu: 30-60 Menit


PENTING!

Dasar dari program yang kita buat adalah Shell, yaitu memanggil fungsi Windows yang ada pada System32.
Melalui shell, kita bisa memanggil berbagai program Windows yang ada pada System32.
Misal: Shell "msconfig"
Maka Begitu perintah ini dijalankan, Windows akan membuka msconfig.
Khusus pada masalah Shutdown, kita harus memakai kode khusus, yaitu
shell ("shutdown -s -f -t [berapa detik]")

Misal Shell ("Shutdown -s -f -t 3600") artinya shutdown akan dilakukan 3600 detik (1 jam) lagi.
-s artinya shutdown, kalau restart memakai -r
-f artinya force, yaitu shutdwn/restart dilakukan secara paksa
-t yaitu waktu, time untuk shutdown/restart

Baiklah, mari kita mulai
1. Buatlah projek baru

2. Di form, buatlah:
  • 3 Text Box
  • 4 Command Button (3 Juga boleh, Exit dihilangkan)
  • 7 Label
Beri nama seperti ini:

*Jangan sampai salah! Yang lain terserah
Susunan sesuka Anda

3. Masuk ke Tempat menulis kode, dengan meng-klik cmdshutdown 2 kali (yang lain juga boleh)

4. Di bagian paling atas, tempat
Public Class Form1
  
Tuliskan kode
Dim jam, menit, detik As String 
dibawahnya.
Maksudnya menentukan nilai jam, menit, dan detik sebagai string (Ini agar program nanti tidak terlalu berat)

5. Sekarang isi kode untuk txtjan, cara:


Ubah Form1 menjadi txtjam dan (Declarations) menjadi TextChanged


6 Maka akan muncul text baru

Private Sub txtjam_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtjam.TextChanged
       

    End Sub

7. Isikan kode ini di dalamnya

        jam = txtjam.Text
        menit = txtmenit.Text
        detik = txtdetik.Text

        lblshutdown.Text = "shutdown -s -f -t " & ((Val(jam) * 3600) + (Val(menit) * 60) + (Val(detik)))
        lblrestart.Text = "shutdown -r -f -t " & ((Val(jam) * 3600) + (Val(menit) * 60) + (Val(detik)))


Maksud:
- TextChanged (Setiap kali Text pada txtjam kita ubah, kode ini akan dipanggil )
- jam = txtjam.Text (Variabel jam = Val (Value/Nilai) txtjam.text)
- .Text = Isi Text yang ada pada object yang dipilih
- Val = Value, atau Nilai dari Text.
- Kenapa *3600 dan *60? Itu artinya dikali 3600 karena shell ini memakai detik. (1 jam = 3600 Detik)
- Apa fungsi &? untuk menyambungkan, misal "Apa" & "Kabar", Hasilnya akan menjadi "Apa Kabar"
- Kenapa harus pakai lblshutdown? Karena shell hanya akan menerima 1 text tanpa &, sedangkan kita membutuhkan & untuk menentukan waktunya, agar waktunya dapat kita ubah-ubah. Jadi kita memakai lblshutdown agar nantinya akan menjadi 1 text tanpa & ntuk dipakaikan pada shell.

8. Buatlah kode untuk menit dan detik, kodenya sama, yaitu

         jam = txtjam.Text
        menit = txtmenit.Text
        detik = txtdetik.Text

        lblshutdown.Text = "shutdown -s -f -t " & ((Val(jam) * 3600) + (Val(menit) * 60) + (Val(detik)))
        lblrestart.Text = "shutdown -r -f -t " & ((Val(jam) * 3600) + (Val(menit) * 60) + (Val(detik)))


9. Sekarang saatnya memasukkan kode pada Command Button.

Isikan kode ini pada Command Button Shutdown

 If Val(txtjam.Text) * 3600 + Val(txtmenit.Text) * 60 + Val(txtdetik.Text) > "86400" Then
            MsgBox("You can't set more than 24 hours")
        Else
            Shell(lblshutdown.Text)
        End If


dan kode ini pada Command Button Restart

If Val(txtjam.Text) * 3600 + Val(txtmenit.Text) * 60 + Val(txtdetik.Text) > "86400" Then
            MsgBox("You can't set more than 24 hours")
        Else
            Shell(lblrestart.Text)
        End If


Maksud:
- Kenapa memakai If? Karena Kode Shell ini tidak akan berjalan jika waktu yang kita isi lebih dari 24 jam
- Karena itu jika kita memasukkan waktu lebih dari 24 jam akan muncul message box
- Jika kurang dari 24 jam kode akan dijalankan

10. Sekarang Masukkan kode ini untuk Command Button Cancel

Shell("shutdown -a")

Fungsi kode ini adalah untuk membatalkan perintah kita sebelumnya.

11. Isi kode ini untuk Command Button Exit

Me.Close()

Maksudnya untuk keluar dari program kita.

12. Selesai! Sekianlah kode2nya yang banyak juga, secara keseluruhan adalah seperti ini:

Public Class Form1
    Dim jam, menit, detik As String

    Private Sub btncancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btncancel.Click
        Shell("shutdown -a")
    End Sub

    Private Sub btnshutdown_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnshutdown.Click
        If Val(txtjam.Text) * 3600 + Val(txtmenit.Text) * 60 + Val(txtdetik.Text) > "86400" Then
            MsgBox("You can't set more than 24 hours")
        Else
            Shell(lblshutdown.Text)
        End If
    End Sub

    Private Sub txtjam_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtjam.TextChanged
        jam = txtjam.Text
        menit = txtmenit.Text
        detik = txtdetik.Text

        lblshutdown.Text = "shutdown -s -f -t " & ((Val(jam) * 3600) + (Val(menit) * 60) + (Val(detik)))
        lblrestart.Text = "shutdown -r -f -t " & ((Val(jam) * 3600) + (Val(menit) * 60) + (Val(detik)))
    End Sub

    Private Sub txtmenit_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtmenit.TextChanged
        jam = txtjam.Text
        menit = txtmenit.Text
        detik = txtdetik.Text

        lblshutdown.Text = "shutdown -s -f -t " & ((Val(jam) * 3600) + (Val(menit) * 60) + (Val(detik)))
        lblrestart.Text = "shutdown -r -f -t " & ((Val(jam) * 3600) + (Val(menit) * 60) + (Val(detik)))
    End Sub

    Private Sub txtdetik_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtdetik.TextChanged
     
        jam = txtjam.Text
        menit = txtmenit.Text
        detik = txtdetik.Text

        lblshutdown.Text = "shutdown -s -f -t " & ((Val(jam) * 3600) + (Val(menit) * 60) + (Val(detik)))
        lblrestart.Text = "shutdown -r -f -t " & ((Val(jam) * 3600) + (Val(menit) * 60) + (Val(detik)))
    End Sub

    Private Sub btnrestart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnrestart.Click
        If Val(txtjam.Text) * 3600 + Val(txtmenit.Text) * 60 + Val(txtdetik.Text) > "86400" Then
            MsgBox("You can't set more than 24 hours")
        Else
            Shell(lblrestart.Text)
        End If

    End Sub

    Private Sub btnexit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnexit.Click
        Me.Close()
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Shell("msconfig.exe")
    End Sub
End Class


13. Sekarang Saatnya menghias, hiaslah sesuka Anda.
- Agar lblshutdown dan lblrestart tidak memenuhi program kita, kita bisa membuatnya jadi unvisible, edit saja di properties.
- Anda juga bisa membuat Backgroundnya dengan cara me-klik bagian form, lalu di bagian properties ada bagian Background.
*Ingat! Sebaiknya kasih Background yang ringan, karena jika tidak program akan lambat dan memakan RAM banyak.

Anda juga bisa meng-edit properties lainnya dengan meng-klik properties pada






Bagian Judul, yaitu klik kanan>properties
Anda bisa mengubah iconnya juga.

Maka Hasil Akhirnya akan menjadi seperti ini:













Saat Dijalankan, akan muncul pemberitahuan, setiap versi Windows berbeda-beda, misalnya







 Pada Windows 7

Dan saat dibatalkan








Tolong beri komentar ya.. Terima Kasih

2 komentar:

Anonim mengatakan...

Bagus sekali

idha mengatakan...

wow..
fantastic

Posting Komentar

Catatan: Hanya anggota dari blog ini yang dapat mengirim komentar.

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | cna certification