Tuesday, March 24, 2015

membuat trial berdasarkan jumlah pakai dan tanggal dengan vb.net



Fitur trial termasuk hal yang sering ditanyakan para pembuat program, tujuannya sederhana yaitu agar pemakaian program memiliki batas waktu tertentu. Jika anda memahami logikanya pembuatan fitur trial termasuk hal yang mudah dibuat.

Trial Berdasarkan Jumlah Pakai

Tahapan pertama dalam pembuatan program trial ini adalah sebagai berikut:
1.         Buka visual studio 2008
2.         Klik create project
3.         Tulis nama project “Trial Berdasarkan Jumlah Pakai”
4.         OK
5.         Membuat database dengan nama “DBJumlahPakai.mdb” dan simpan di folder Bin>Debug project anda
6.         Membuat tabel dengan nama “TBLJumlahPakai” dengan struktur sebagai berikut :

Tabel JumlahPakai

7.         Selanjutnya memasang password database dengan cara sebagai berikut :
a.       Klik menu tools
b.       Pilih security
c.       Pilih set database password
d.       Ketik password
e.       Ketik  ulang password yang sama
f.        OK
8.         Untuk menghapus password database anda harus membukanya dengan cara sebagai berikut :
a.       Buka access 2003
b.       Klik open
c.       Pilih nama database
d.       Klik option
e.       Pilih open exclusive

Membuka Database Berpassword

9.         Selanjutnya membuat form dengan bentuk seperti gambar di bawah ini

Form Trial Jumlah Pakai

10.   Membuat module koneksi database

Coding module koneksi database :

Imports System.Data.OleDb

Module Module1

    Public CONN As OleDbConnection
    Public STR As String
    Public CMD As OleDbCommand
    Public DR As OleDbDataReader

    Sub Koneksi()
        STR = "provider=microsoft.jet.oledb.4.0;data source=DBJumlahPakai.mdb;Jet OLEDB:Database Password='123456'"
        CONN = New OleDbConnection(STR)
        If CONN.State = ConnectionState.Closed Then
            CONN.Open()
        End If
    End Sub

End Module

Logika program trial dengan jumlah pakai :
1.              Pada saat form load, carilah data di tabel TBLumlahPakai
2.              Jika datanya tidak ada, makak tambahkan ke kolom digunakan =1, ke kolom batas = 10 (10 adalah jumlah batas pakai)
3.              Jika datanya sudah ada maka editlah kolom digunakan +1
4.              Di label1 tampilkan kalimat “Program Sudah Digunakan ‘SEKIAN’ Kali
5.              Di label2 tampilkan kalimat “Batas Penggunaan Program ‘SEKIAN’ Kali
6.              Jika jumlah digunakan >= batas, maka tampilkan pesan “Aplikasi Sudah Habis Masa Berlakuknya Sampai ‘Sekian’ Kali”
7.              Kemudian tutup aplikasi

Coding program trial dengan jumlah pakai :

Imports System.Data.OleDb

Public Class Form1


    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        PictureBox1.Load("5.jpg")
        Call Koneksi()
        CMD = New OleDbCommand("select *  from TBLJumlahPakai", CONN)
        DR = CMD.ExecuteReader
        DR.Read()
        If Not DR.HasRows Then
            Dim simpan As String = "insert into TBLJumlahPakai  values ('1','10')"
            CMD = New OleDbCommand(simpan, CONN)
            CMD.ExecuteNonQuery()
            Label1.Text = ""
            Label2.Text = ""
            MsgBox("Selamat.., anda telah menggunakan aplikasi ini untuk yang pertama kali, silakan RUN kembali...")
            End
        Else
            Dim edit As String = "update TBLJumlahPakai set digunakan='" & DR.Item("digunakan") & "'  + 1"
            CMD = New OleDbCommand(edit, CONN)
            CMD.ExecuteNonQuery()
            Label1.Text = "Program sudah digunakan " & DR.Item("digunakan") & " Kali"
            Label2.Text = "Batas penggunaan program " & DR.Item("batas") & " Kali"
            If DR.Item("digunakan") >= DR.Item("batas") Then
                MsgBox("aplikasi trial sudah habis masa berlakuya sampai " & DR.Item("batas") & " kali", MsgBoxStyle.Critical)
                End
            End If
        End If
       
    End Sub
End Class

Hasil program ketika pertama kali di RUN adalah sebagai berikut :

Pesan Pertama Kali Program Dijalankan

Ketika program di RUN untuk kedua kali atau ketiga kali maka akan tampil pesan sebagai berikut :

Pesan Kedua  Kali Program Dijalankan

Jika jumlah pakai sudah melebihi batasnya maka akan tampil pesan sebagai berikut :

Pesan Habis Masa Trial

Trial Berdasarkan Tanggal Pakai

Program ini berfungsi untuk membatasi penggunaan aplikasi berdasarkan tempo waktu atau tanggal. Tahapan pertama dalam pembuatan trial ini sama dengan program trial sebelumnya yaitu :
1.       Membuat database dengan nama DBTrialTanggal.mdb
2.       Membuat tabel dengan nama TBLTanggalPakai dengan struktur sebagai berikut :

Tabel TanggalPakai

3.       Selanjutnya membuat form dengan bentuk seperti gambar di bawah ini

Form Trial Berdasarkan Tanggal

4.       Membuat module koneksi database

Imports System.Data.OleDb

Module Module1
    Public CONN As OleDbConnection
    Public CMD As OleDbCommand
    Public DR As OleDbDataReader

    Sub Koneksi()
        CONN = New OleDbConnection("provider = microsoft.jet.oledb.4.0;data source=DBTrialTanggal.mdb")
        CONN.Open()
    End Sub

End Module

Logika program pada saat form load adalah sebagai berikut :
1.       Tampilkan tanggal sekarang di label5
2.       Baca isi tbltanggalpakai
3.       Jika tidak ada isinya, maka simpan tanggal sekarang dan tanggal expire adalah tanggal sekarang + 10 (jumlah waktu yang diinginkan)
4.       Jika tbltanggalpakai sudah ada isinya, maka tampilkan tanggal expire di label6
5.       Di label7 tampilkan sisa hari pemakaian aplikasi
6.       Jika tanggal sekarang >= tanggal expire maka munculkan pesan bahwa “Aplikasi Sudah Habis Masa Berlakuknya Sampai Tanggal Expire”
7.       Tutup aplikasi

Coding :
Imports System.Data.OleDb

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Label5.Text = Today
        Call Koneksi()
        CMD = New OleDbCommand("select tglpakai,tglexpire from tbltanggalpakai", CONN)
        DR = CMD.ExecuteReader
        DR.Read()
        If Not DR.HasRows Then
            Dim simpan As String = "insert into tbltanggalpakai values ('" & Label5.Text & "','" & DateAdd(DateInterval.Day, 5, Today) & "')"
            CMD = New OleDbCommand(simpan, CONN)
            CMD.ExecuteNonQuery()
        Else
            Label6.Text = DR.Item("tglexpire")
            MsgBox("aplikasi trial sampai " & DR.Item("tglexpire") & "")
            Label7.Text = "Masa Expire Tinggal  " & DateDiff(DateInterval.Day, Today, DR.Item("tglexpire")) & " Hari"
            If Label5.Text >= DR.Item("tglexpire") Then
                MsgBox("Masa berlaku aplikasi sampai tanggal " & DR.Item("tglexpire") & " - testing www.konsultasivb.com - Uus Rusmawan", MsgBoxStyle.Critical)
                End
            End If
        End If
    End Sub
End Class

Pada saat pertama kali program di RUN, maka akan tampil pesan seperti gambar di bawah ini :

Pesan Pertama Kali Prgram Digunakan

Pada saat program di RUN untuk yang kedua kali, ketiga dan keempat (jika masih di hari yang sama)  maka akan tampil pesan seperti gambar di bawah ini :

Pesan Sebelum Habis Tanggal Pakai

Jika batas waktu (tanggal) sudah habis, maka akan tampil pesan seperti gambar di bawah ini :

Pesan Setelah Habis Tanggal Pakai


2 comments

ko error " Conversion from type 'DBNull' to type 'String' is not valid." di posisi else label 6


EmoticonEmoticon