Minggu, 14 April 2013

Mencari Selisih Tanggal pada Microsoft Visual Basic 6.0

Langkah – langkahnya :
·            Buka proyek Standard EXE yang baru.
·          Klik menu Project  =>  Components atau tekan tombol Ctrl + T pada keyboard atau klik kanan pada ToolBox, lslu pilih Components.
·           Centang Microsoft Windows Common Controls-2 6.0, lalu klik Apply lalu klik OK (perhatikan gambar di bawah)
 
 Gbr 1

Kemudian objek DTPicker akan muncul di ToolBox
 Gbr 2

·   Disain tampilan form seperti gambar berikut dengan menggunakan objek Label, TextBox dan CommandButton dan DTPicker

 
 Gbr 3

·      Atur Properties masing - masing kontrol seperti dibawah ini :

Kontrol
Properties
Pengaturan
CommandButton1
Name        
Caption  
Font
Style
BackColor
cmd_hitung
&Hitung Selisih Tanggal
MS Sans Serif, Bold, 8
1 - Graphical
&H00C0FFFF&
CommandButton2
Name        
Caption  
Font
Style
BackColor
cmd_exit
E&xit
MS Sans Serif, Bold, 8
1 - Graphical
&H00C0FFFF&
Label1
Caption
Font
ForeColor
BackColor
Mencari Selisih 2 Buah Tanggal
MS Sans Serif, Bold, 10
&H00004080&
&H0080FF80&
Label2
Caption
Font
ForeColor
BackColor
Tanggal Pertama   :
MS Sans Serif, Bold, 8
&H00000040&
&H0080FF80&
Label3
Caption
Font
ForeColor
BackColor
Tanggal Kedua     :
MS Sans Serif, Bold, 8
&H00000040&
&H0080FF80&
Label4
Caption
Font
ForeColor
BackColor
Selisih Tanggal Pertama - Tanggal Kedua    =
MS Sans Serif, Bold, 8
&H00000040&
&H0080FF80&
Label5
Name
Caption
Font
ForeColor
BackColor
Lbl_Selisih
(dikosongkan)
MS Sans Serif, Bold, 8
&H00000040&
&H0080FF80&
Line1
BorderColor
BorderWidth
&H00FF0000&
2
Line2
BorderColor
BorderWidth
&H00FF0000&
2
Line2
BorderColor
BorderWidth
&H00FF0000&
2

Form1
Name
Caption
BackColor
Frm_CariSelisihTgl
Program Untuk Mencari Selisih 2 Buah Tanggal
&H0080FF80&

·           Klik menu View  =>  Code, lalu Copy Paste (copas) kode dibawah ini :

Dim TglPertama, TglKedua As Integer
Dim BlnPertama, BlnKedua As Integer
Dim ThnPertama, ThnKedua As Integer
Dim SelisihHari, SelisihBln, SelisihThn As Integer
Private Sub cmd_hitung_Click()
TglPertama = Me.DTPicker1.Day
BlnPertama = Me.DTPicker1.Month
ThnPertama = Me.DTPicker1.Year

TglKedua = Me.DTPicker2.Day
BlnKedua = Me.DTPicker2.Month
ThnKedua = Me.DTPicker2.Year
'cek tahun kabisat untuk tanggal pertama dan tanggal kedua
'jika tahun kabisat, maka jumlah hari untuk bulan februari = 29
If (BlnPertama = 2 And ThnPertama Mod 4 = 0) Or (BlnKedua = 2 And ThnKedua Mod 4 = 0) Then
    If (ThnPertama >= ThnKedua And BlnPertama > BlnKedua And TglPertama < TglKedua) Then
         SelisihHari = (TglPertama - TglKedua) + 29
         SelisihBln = (BlnPertama - BlnKedua) - 1
         SelisihThn = (ThnPertama - ThnKedua)
    ElseIf (ThnPertama >= ThnKedua And BlnPertama = BlnKedua And TglPertama < TglKedua) Then
         SelisihHari = (TglPertama - TglKedua) + 29
         SelisihBln = (BlnPertama - BlnKedua) + 11
         SelisihThn = (ThnPertama - ThnKedua) - 1
    ElseIf (ThnPertama > ThnKedua And BlnPertama < BlnKedua And TglPertama >= TglKedua) Then
         SelisihHari = (TglPertama - TglKedua)
         SelisihBln = (BlnPertama - BlnKedua) + 12
         SelisihThn = (ThnPertama - ThnKedua) - 1
    ElseIf (ThnPertama > ThnKedua And BlnPertama < BlnKedua And TglPertama < TglKedua) Then
         SelisihHari = (TglPertama - TglKedua) + 29
         SelisihBln = (BlnPertama - BlnKedua) + 11
         SelisihThn = (ThnPertama - ThnKedua) - 1
    ElseIf (ThnPertama >= ThnKedua And BlnPertama >= BlnKedua And TglPertama >= TglKedua) Then
         SelisihHari = (TglPertama - TglKedua)
         SelisihBln = (BlnPertama - BlnKedua)
         SelisihThn = (ThnPertama - ThnKedua)
    ElseIf (ThnPertama = ThnKedua And BlnPertama = BlnKedua And TglPertama < TglKedua) Then
         SelisihHari = (TglPertama - TglKedua)
         SelisihBln = (BlnPertama - BlnKedua)
         SelisihThn = (ThnPertama - ThnKedua)
    End If
ElseIf (BlnPertama = 2 And ThnPertama Mod 4 <> 0) Or (BlnKedua = 2 And ThnKedua Mod 4 <> 0) Then
    If (ThnPertama >= ThnKedua And BlnPertama > BlnKedua And TglPertama < TglKedua) Then
         SelisihHari = (TglPertama - TglKedua) + 28
         SelisihBln = (BlnPertama - BlnKedua) - 1
         SelisihThn = (ThnPertama - ThnKedua)
    ElseIf (ThnPertama >= ThnKedua And BlnPertama = BlnKedua And TglPertama < TglKedua) Then
         SelisihHari = (TglPertama - TglKedua) + 28
         SelisihBln = (BlnPertama - BlnKedua) + 11
         SelisihThn = (ThnPertama - ThnKedua) - 1
    ElseIf (ThnPertama > ThnKedua And BlnPertama < BlnKedua And TglPertama >= TglKedua) Then
         SelisihHari = (TglPertama - TglKedua)
         SelisihBln = (BlnPertama - BlnKedua) + 12
         SelisihThn = (ThnPertama - ThnKedua) - 1
    ElseIf (ThnPertama > ThnKedua And BlnPertama < BlnKedua And TglPertama < TglKedua) Then
         SelisihHari = (TglPertama - TglKedua) + 28
         SelisihBln = (BlnPertama - BlnKedua) + 11
         SelisihThn = (ThnPertama - ThnKedua) - 1
    ElseIf (ThnPertama >= ThnKedua And BlnPertama >= BlnKedua And TglPertama >= TglKedua) Then
         SelisihHari = (TglPertama - TglKedua)
         SelisihBln = (BlnPertama - BlnKedua)
         SelisihThn = (ThnPertama - ThnKedua)
    ElseIf (ThnPertama = ThnKedua And BlnPertama = BlnKedua And TglPertama < TglKedua) Then
         SelisihHari = (TglPertama - TglKedua)
         SelisihBln = (BlnPertama - BlnKedua)
         SelisihThn = (ThnPertama - ThnKedua)
    End If

'jika bulan pertama atau bulan kedua = januari, maret, mei, juli,agustus, oktober atau desember, maka jumlah hari = 31
ElseIf (BlnPertama = 1 Or BlnPertama = 3 Or BlnPertama = 5 Or BlnPertama = 7 Or BlnPertama = 8 Or BlnPertama = 10 Or BlnPertama = 12) Or (BlnKedua = 1 Or BlnKedua = 3 Or BlnKedua = 5 Or BlnKedua = 7 Or BlnKedua = 8 Or BlnKedua = 10 Or BlnKedua = 12) Then
    If (ThnPertama > ThnKedua And BlnPertama > BlnKedua And TglPertama < TglKedua) Then
        SelisihHari = (TglPertama - TglKedua) + 31
        SelisihBln = (BlnPertama - BlnKedua) + 11
        SelisihThn = (ThnPertama - ThnKedua)
    ElseIf (ThnPertama > ThnKedua And BlnPertama < BlnKedua And TglPertama < TglKedua) Then
        SelisihHari = (TglPertama - TglKedua) + 31
        SelisihBln = (BlnPertama - BlnKedua) + 11
        SelisihThn = (ThnPertama - ThnKedua) - 1
    ElseIf (ThnPertama > ThnKedua And BlnPertama < BlnKedua And TglPertama >= TglKedua) Then
        SelisihHari = (TglPertama - TglKedua)
        SelisihBln = (BlnPertama - BlnKedua) + 11
        SelisihThn = (ThnPertama - ThnKedua) - 1
    ElseIf (ThnPertama >= ThnKedua Or BlnPertama >= BlnKedua Or TglPertama >= TglKedua) Then
        SelisihHari = TglPertama - TglKedua
        SelisihBln = BlnPertama - BlnKedua
        SelisihThn = ThnPertama - ThnKedua
    End If
'jika bulan pertama atau bulan kedua = april,juni, september atau november, maka jumlah hari = 30
ElseIf (BlnPertama = 4 Or BlnPertama = 6 Or BlnPertama = 9 Or BlnPertama = 11) Or (BlnKedua = 4 Or BlnKedua = 6 Or BlnKedua = 9 Or BlnKedua = 11) Then
    If (ThnPertama > ThnKedua And BlnPertama > BlnKedua And TglPertama < TglKedua) Then
        SelisihHari = (TglPertama - TglKedua) + 31
        SelisihBln = (BlnPertama - BlnKedua) + 11
        SelisihThn = (ThnPertama - ThnKedua)
    ElseIf (ThnPertama > ThnKedua And BlnPertama < BlnKedua And TglPertama < TglKedua) Then
        SelisihHari = (TglPertama - TglKedua) + 31
        SelisihBln = (BlnPertama - BlnKedua) + 11
        SelisihThn = (ThnPertama - ThnKedua) - 1
    ElseIf (ThnPertama > ThnKedua And BlnPertama < BlnKedua And TglPertama >= TglKedua) Then
        SelisihHari = (TglPertama - TglKedua)
        SelisihBln = (BlnPertama - BlnKedua) + 11
        SelisihThn = (ThnPertama - ThnKedua) - 1
    ElseIf (ThnPertama >= ThnKedua Or BlnPertama >= BlnKedua Or TglPertama >= TglKedua) Then
        SelisihHari = TglPertama - TglKedua
        SelisihBln = BlnPertama - BlnKedua
        SelisihThn = ThnPertama - ThnKedua
    End If
End If
Me.Lbl_Selisih.Caption = SelisihThn & " Tahun,  " & SelisihBln & " Bulan,  " & SelisihHari & " Hari"
End Sub
Private Sub Command1_Click()
End
End Sub
Private Sub DTPicker1_Click()
'bersihkan caption objek label
Me.Lbl_Selisih.Caption = ""
End Sub
Private Sub DTPicker2_Click()
'bersihkan caption objek label
Me.Lbl_Selisih.Caption = ""
End Sub

·           Jalankan Program dengan cara menekan tombol F5 pada keyboard atau pilih menu Run  => Start
·           Hasilnya ketika program dijalankan

 Gbr 4

Download Program Cari Selisih Tanggal  disini

Tidak ada komentar:

Posting Komentar

Pos kan komentar anda !