Minggu, 17 November 2013

VB.Net

By : Nurhadi, S. Kom - Nop’13 s/d Jan’14
1.       Install IIS (Internet Information service)
3.       Control Panel (View By category)
1. Program
2. Turn WindowsFuture On or Off kemudian pilih
3. Internet Information Service
·         Windows management tool               
·         IIS 6 management compatibility (all check)
·         IIS Management Console
4. World Wide Web Service
5. Application Development tool
1.       .NET Extensibility
2.       ASP.NET
3.       ISAPI Extention
4.       ISAPI Filetrs
6. Comman HTTP Features
1.       Default Document
2.       Directory Browsing
3.       HTTP Errors
4.       Static  Content
2.       MEMBUAT PROJECT BARU
3.       New Project
4.       Visual Basic
·   Windows
1.       Name Application
·   Web
1.       Name Application
2.       Location
3.       Solution Name
5.       Other Languange
·   C++
·   C#
3.       CREATE WEB SITE
b.      Location
·   File System
·   Http
·   Ftp
c.       Language
4.       PENGENALAN DOTNET
3.       Design GUI (Grapic  User Interface)
4.       Html
5.       Vb / C# Code

LATIHAN I Membuat Program Sederhana
1.       Create Project
·   Name (nama Application)
·   Location
·   Solution(Create New or Add Solution)
·   Solution Name
2.       Buat Tampilan di file Default.aspx
Bagi Page menjadi 3 bagian dengan menggunakan Table
1. Header (10%)
·         Background : Red
2. Content(80%)
·         Background=Green
3. Footer(10%)
·         Background=Red
Listing HTML
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Default.aspx.vb" Inherits="LATIHAN1._Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>LATIHAN PERTAMA</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <table border="1" cellpadding="2" cellspacing="2" bgcolor="#FFFFCC" style="width:1024px; height: 600px;">
            <tr style="background-color:Red">
                <th>header</th>
            </tr>
            <tr style="height:80%; background-color:Green">
                <td>content</td>
            </tr>
            <tr style="height:10%; background-color:Red">
                <td>footer</td>
           </tr>
        </table>
    </div>
    </form>
</body>
</html>
3.       Menjalan / Melihat hasil Program
·   Dari File yang akan di jalankan klik kanan view in  browser
·   F5 untuk Running Program


LATIHAN II (KONEKSI DATABASE I)
a.       Koneksi Database Dengan SqlDataSource
·         Buat Form Baru :
o   Klik Project (Menu Bar di bagian atas)–> Add New Item ->Pilih web Form
o   Beri  nama FrmJurusan.aspx
o   Dari menu toolbaox pilih Group Tab Data
§  Pilih Gridview : untuk menampilkan Data dan tempatkan di form FrmJurusan.
§  Pilih SqlDataSource dan tempatkan di form yang sama (Untuk menghubungkan antara program dan database)
§  Pada object SqlDataSource klik kemudian klik panah yang ada di sebelah kanan dari object ini pilih Configure Data Souce
·        
·         Klik New Connection
·         Setelah muncul Window Add Connection
o   Data Source : untuk menentukan driver koneksi database nya. Pilih Microsoft SQL Server (SqlClient) jika menggunakan database Sql Server
o   Server Name (Nama Server /Nama Komputer/IP Address computer tempat database berada lebih jelasnya buka SQL Server Management Studio seperti tampilan di bawah dan lihat nama server di Connection nya)
o   Pada pilihan log on to server  (pilih User Window Authentication)
§  User Window Authentication : Security / Login di samakan dengan Login window (Login saat menghdupkan komputer)
§  Use Sql server Authentication : Security menggunakan security database Sql Server
o   Select or enter a database name (pilih database yang sudah di siapkan di database Sql Sever 2008) contoh : Akademik
o   Test Connection : untuk meyakinkan apakah koneksi ke database berhasil?
o   Klik OK jika koneksi ke database sukses
·         Setelah muncul tampilan dibawah klik Next
·         Nama koneksi default nya biasanya nama database kemudian di tambah dengan kata ConnectionString (boleh di ganti)  dan pastikan check di pilihan Yes, save this connection as:
·         Klik Next jika sudah tidak ada yang dirubah
·         Klik Specify column from table or view
·         Pada combobox pilih table ListJurusan (jika ingin mena mpilkan data jurusan)
·         Pilih column-column yang ingin ditampilan saja atau (*) jika semua  column akan di tampilkan
·         Klik where jika akan memberikan criteria
·         Klik Order By jika ingin mengurutkan
·         Jika sudah yakin klik Next
·         Klik Test Query jika ingin melihat hasil sementara
·         Klik Finish
                           
·   Pada Object Gridview klik kemudian panah disebalah kanan di klik sehingga muncul tampilan seperti dibawah, pada combo box Choose Data Source pilih SqlDataSource1 yang sudah disiapkan. Kemudian klik :
o   Enable Paging (jika ingin menampilkan data per page/halaman dan masing-masing halaman banyaknya data bisa dibatasi setting properties PageSize=10 (masing – masing halaman menampilkan 10 data))
o   Enable Sorting : mengurutkan data baik Ascending (asc) maupun Descending (Desc)
o   Enable Selection : untuk memberikan pilihan ke user mengambil salah satu data
1.       Setelah selesai kemudian klik F5 untuk menjalan kan program (sebelumnya pada Solution Explorer klik kanan JURUSAN.aspx dan pilih Set as Start Page)

LATIHAN III (KONEKSI DATABASE II) DENGAN MENGAMBIL CONNECTION STRING YANG SUDAH DI BUAT
b.      Buat Form Baru dan beri Nama FrmJurusan.aspx
c.       Buat tampilan seperti di bawah ini :
d.      Object – Object  yang digunakan :
                                                   i.      Label : properties : Text =>JURUSAN
                                                 ii.      textbox :properties: ID=>txtJurusan
                                                iii.      Button1 :
1.       ID=>btnRefresh
2.       Text=>Refresh
                                               iv.      Button2 :
1.       ID=>btnTambah
2.       Text=>Tambah
                                                 v.      Gridview : ID=>Gridview1
e.      Coding Program VB (CodeBehind) untuk menampilkan data dan pencarian data
Imports System.Data
Imports System.Data.SqlClient
Partial Public Class FrmJurusan
    Inherits System.Web.UI.Page
    Dim Constr As String = ConfigurationManager.ConnectionStrings("AkademikConnectionstring").ToString
    Dim Koneksi As New SqlConnection(Constr)
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not IsPostBack Then
            IsiGrid()
        End If
    End Sub
    Sub IsiGrid(Optional ByVal Data As String = "")
        Dim sql As String = "select * from ListJurusan"
        Dim ds As New DataSet
        Dim dv As New DataView
        If Data <> "" Then
            sql = sql & " where Jurusan like '" & "%" & Data & "%" & "'"
        End If
        Try
            Koneksi.Open()
            Dim da As New SqlDataAdapter(sql, Koneksi)
            da.Fill(ds, "Jurusan")
            dv = New DataView(ds.Tables(0))
            Cache("Jurusan") = dv
            GridView1.DataSource = dv
            GridView1.DataBind()
        Catch ex As Exception
            ClientScript.RegisterStartupScript(Type.GetType("System.String"), "message", "<script type='text/javascript'>alert('Pencarian data gagal')</script>")
        End Try
    End Sub
    Sub ReadData(Optional ByVal xSort As String = "")
        Dim dv As New DataView
        dv = Cache("Jurusan")
        If xSort <> "" Then dv.Sort = xSort
        GridView1.DataSource = dv
        GridView1.DataBind()
    End Sub
    Private Sub btnRefresh_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnRefresh.Click
        IsiGrid(txtJurusan.Text)
    End Sub
    Private Sub GridView1_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles GridView1.PageIndexChanging
        GridView1.PageIndex = e.NewPageIndex
        ReadData()
    End Sub
    Private Sub GridView1_Sorting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewSortEventArgs) Handles GridView1.Sorting
        Dim xSort As String
        xSort = ViewState("Urut")
        If xSort = "Asc" Then
            xSort = "Desc"
        Else
            xSort = "Asc"
        End If
        ViewState("Urut") = xSort
        ReadData(e.SortExpression & " " & xSort)
    End Sub
    Protected Sub GridView1_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles GridView1.SelectedIndexChanged
        Dim brs As GridViewRow = GridView1.SelectedRow
        Dim data As String = brs.Cells(1).Text
        Response.Redirect("FrmEntJurusan.aspx?ID=" & data)
    End Sub
End Class
Penjelasan Program :
Imports System.Data
Imports System.Data.SqlClient
Program diatas digunakan untuk memanggil fungsi – fungsi yang berhubungan dengan database  mulai dari koneksi database sampai ke manipulasi datanya
    Dim Constr As String = ConfigurationManager.ConnectionStrings("AkademikConnectionstring").ToString
Membuat variabel  (Constr)untuk menampung connectionstring ke database / script koneksi ke database dimana AkademikConnectionstring adalah nama koneksi yang ada di web.config dan di bentuk saat kita membuat koneksi menggunakan Sqldatasource
    Dim Koneksi As New SqlConnection(Constr)
Membuat variabel (Koneksi) untuk menghubungkan ke database dengan script koneksi Constr
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not IsPostBack Then
            IsiGrid()
        End If
    End Sub
Program pertama kali akan mengeksekusi prosedure Page_Load dan IsPostback adalah fungsi yang digunakan untuk mengetahui apakah Page_Load tersebut dijalankan pertama kali atau dari object yang ada di Form FrmEntjurusan.  Seperti script diatas berarti untuk mengetahui apakah Page_Load dilakukan pertama kali?. Jika ya maka is panggil prosedure IsiGrid
    Sub IsiGrid(Optional ByVal Data As String = "")
        Dim sql As String = "select * from ListJurusan"
        Dim ds As New DataSet
        Dim dv As New DataView
        If Data <> "" Then
            sql = sql & " where Jurusan like '" & "%" & Data & "%" & "'"
        End If
        Try
            Koneksi.Open()
            Dim da As New SqlDataAdapter(sql, Koneksi)
            da.Fill(ds, "Jurusan")
            dv = New DataView(ds.Tables(0))
            Cache("Jurusan") = dv
            GridView1.DataSource = dv
            GridView1.DataBind()
        Catch ex As Exception
            ClientScript.RegisterStartupScript(Type.GetType("System.String"), "message", "<script type='text/javascript'>alert('Pencarian data gagal')</script>")
        End Try
    End Sub
Prosedure Isigrid menggunakan parameter yang bersifat optional (boleh ada atau boleh juga tidak ada) disini nama parameternya data, untuk menampilan kan data menggunakan script sql yang di simpan di variable sql.  Kemudian untuk menampilkan datanya di gunakan gabungan fungsi SqlDataAdapter, Dataset dan Dataview, untuk memastikan data berhasil di baca dan jika ada kesalahan program tidak berhenti gunakan fungsi Try..Catch..End Try, dimana didata yang di baca di tempatkan antara Try dan catch.., jika ada masalah sehingga pembacaan data gagal maka eksekusi akan di lanjutkan ke baris setelah Catch… Pada program diatas digunakan fungsi cache yang digunakan untuk menyimpan dataview ke dalam memori, dimana fungsinya hampir sama dengan session.
    Sub ReadData(Optional ByVal xSort As String = "")
        Dim dv As New DataView
        dv = Cache("Jurusan")
        If xSort <> "" Then dv.Sort = xSort
        GridView1.DataSource = dv
        GridView1.DataBind()
    End Sub
Prosedure ReadData digunakan untuk menampilkan data yang akan di sort dan paging data dengan memanfaatkan dataview yang sudah di panggil di prosedure Isigrid dan hasilnya di simpan di cache(“Jurusan”).
    Private Sub btnRefresh_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnRefresh.Click
        IsiGrid(txtJurusan.Text)
    End Sub
Prosedure diatas digunakan jika akan mencari data baru. Dengan kriteria yang sudah ditentukan yaitu dengan mengisi textbox txtJurusan
    Private Sub GridView1_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles GridView1.PageIndexChanging
        GridView1.PageIndex = e.NewPageIndex
        ReadData()
    End Sub
Prosedure diatas digunakan untuk paging / melihat data per page dengan jumlah data per halaman bisa di setting lewat properties PageSize, dan kemudian panggil lagi prosedure ReadData
    Private Sub GridView1_Sorting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewSortEventArgs) Handles GridView1.Sorting
        Dim xSort As String
        xSort = ViewState("Urut")
        If xSort = "Asc" Then
            xSort = "Desc"
        Else
            xSort = "Asc"
        End If
        ViewState("Urut") = xSort
        ReadData(e.SortExpression & " " & xSort)
    End Sub
Prosedure GridView1_Sorting digunakan untuk mengurutkan data dengan cara mengklik header dari kolom yang akan di sort datanya
    Protected Sub GridView1_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles GridView1.SelectedIndexChanged
        Dim brs As GridViewRow = GridView1.SelectedRow
        Dim data As String = brs.Cells(1).Text
        Response.Redirect("FrmEntJurusan.aspx?ID=" & data)
    End Sub
Prosedure GridView1_SelectedIndexChanged digunakan untuk memilih data

PROGRAM PEMASUKAN DATA JURUSAN
1.       Buat Form baru beri nama FrnEntJurusan.aspx
2.       Buat tampilan seperti gambar di bawah :
3.      
4.       Code Program (CodeBehind)
Imports System.Data
Imports System.Data.SqlClient
Partial Public Class FrmEntJurusan
    Inherits System.Web.UI.Page
    Dim CONSTR As String = ConfigurationManager.ConnectionStrings("AkademikConnectionstring").ToString
    Dim Koneksi As New SqlConnection(CONSTR)
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not IsPostBack Then
            ViewState("refUrl") = Request.UrlReferrer.ToString
            If Request.QueryString("ID") <> "" Then
                IsidataWithDV(Request.QueryString("ID"))
            End If
        End If
    End Sub
    'menampilkan data menggunakan data reader
    Sub IsidatawithDR(ByVal data As String)
        Dim sql As String = "select * from ListJurusan where jurusanId='" & data & "'"
        Koneksi.Open()
        Dim Comm As New SqlCommand(sql, Koneksi)
        Dim dr As SqlDataReader = Comm.ExecuteReader
        dr.Read()
        If dr.HasRows Then
            txtKode.Text = dr("JurusanId").ToString
            txtJurusan.Text = dr("Jurusan").ToString
        End If
    End Sub
    'menampilkan data menggunakan dataview
    Sub IsidataWithDV(ByVal data As String)
        Dim ds As New DataSet
        Dim dv As New DataView
        Dim sql As String = "select * from ListJurusan where jurusanId='" & data & "'"
        Koneksi.Open()
        Dim da As New SqlDataAdapter(sql, Koneksi)
        da.Fill(ds, "Jurusan")
        dv = New DataView(ds.Tables("Jurusan"))
        If dv.Count > 0 Then
            txtKode.Text = dv.Item("JurusanId").ToString
            txtJurusan.Text = dv.Item("Jurusan").ToString
        End If
    End Sub
    Sub SimpanData()
        Dim url As String = ViewState("refUrl")
        Dim sql As String = "Insert into ListJurusan values (@JurusanID, @Jurusan)"
        Dim Comm As New SqlCommand
        Try
            Comm = New SqlCommand(sql, Koneksi)
            Comm.Parameters.Add("JurusanID", SqlDbType.Int).Value = txtKode.Text
            Comm.Parameters.Add("Jurusan", SqlDbType.VarChar, 50).Value = txtJurusan.Text
            Comm.ExecuteNonQuery()
            Response.Redirect(CStr(url))
        Catch ex As Exception
            ClientScript.RegisterStartupScript(Type.GetType("System.String"), "message", "<script type='text/javascript'>alert('Proses penyimpanan data gagal')</script>")
        End Try
    End Sub
End Class

Penjelasan Program :
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not IsPostBack Then
            ViewState("refUrl") = Request.UrlReferrer.ToString
            If Request.QueryString("ID") <> "" Then
                IsidataWithDV(Request.QueryString("ID"))
            End If
        End If
    End Sub
Pada saat program dijalankan maka akan membaca prosedure page_load
Di sini pada saat page / program dijalankan pertama kali dengan adanya baris program If not IsPostBack (tidak ada object di FrmEntjurusan melakukan PostBack) maka simpan Form yang memanggil FrmEntJurusan.aspx dan simpan di ViewState(“refUrl”). Gunanya pada saat selesai proses penyimpanan data maka akan kembali ke Form yang memanggilnya.
Kemudian periksa apakah ada data yang disertakan pada saat memanggil FrmEntJurusan.aspx ini? Yang di simpan dalam variabel ID jika ada datanya / tidak kosong kemudian panggal prosedure untuk menampilan data. Disini saya berikan contoh dua cara yaitu menggunakan datareader (IsidataWithDR)dan menggunakan dataview (IsidataWithDV), gunakan salah satu yng menurut anda mudah contoh kedua prosedure dibawah.
    'menampilkan data menggunakan data reader
    Sub IsidatawithDR(ByVal data As String)
        Dim sql As String = "select * from ListJurusan where jurusanId='" & data & "'"
        Koneksi.Open()
        Dim Comm As New SqlCommand(sql, Koneksi)
        Dim dr As SqlDataReader = Comm.ExecuteReader
        dr.Read()
        If dr.HasRows Then
            txtKode.Text = dr("JurusanId").ToString
            txtJurusan.Text = dr("Jurusan").ToString
        End If
    End Sub
    'menampilkan data menggunakan dataview
    Sub IsidataWithDV(ByVal data As String)
        Dim ds As New DataSet
        Dim dv As New DataView
        Dim sql As String = "select * from ListJurusan where jurusanId='" & data & "'"
        Koneksi.Open()
        Dim da As New SqlDataAdapter(sql, Koneksi)
        da.Fill(ds, "Jurusan")
        dv = New DataView(ds.Tables("Jurusan"))
        If dv.Count > 0 Then
            txtKode.Text = dv.Item("JurusanId").ToString
            txtJurusan.Text = dv.Item("Jurusan").ToString
        End If
    End Sub
Pada saat kita mau menyimpabn data ke dalam database kita bisa gunakan sqlcommand tentunya ini hanyalah salah satunya saja. Ada cara penyimpanan  menggunakan storeprocedure atau langsung menggunakan insert into nya di berikan nilai.
    Sub SimpanData()
        Dim url As String = ViewState("refUrl")
        Dim sql As String = "Insert into ListJurusan values (@JurusanID, @Jurusan)"
        Dim Comm As New SqlCommand
        Try
            Comm = New SqlCommand(sql, Koneksi)
            Comm.Parameters.Add("JurusanID", SqlDbType.Int).Value = txtKode.Text
            Comm.Parameters.Add("Jurusan", SqlDbType.VarChar, 50).Value = txtJurusan.Text
            Comm.ExecuteNonQuery()
            Response.Redirect(CStr(url))
        Catch ex As Exception
            ClientScript.RegisterStartupScript(Type.GetType("System.String"), "message", "<script type='text/javascript'>alert('Proses penyimpanan data gagal')</script>")
        End Try
    End Sub
End Class

LATIHAN IV
(PUBLISH PROJECT)
Setelah program selesai di develop dan program akan digunakan maka perlu Publish, langkah – langkah untuk mempublish project adalah sbb :
2.      Meyakinkan bahwa sudah tidak ada error lagi yaitu dengan cara Compile / Build Solution yaitu klik menu Build kemudian pilih Build <Nama Project
3.      Setelah tidak ada yang error lagi kemudian Publish yaitu dengan cara klik Build kemudian pilih Publish.
4.      Klik Publish, jika tidak kendala maka akan terbentuk folder di D:\PUBLISH_TEST dan di folder tersebut yang akan di jalankan/di publish ke Web

Tidak ada komentar:

Posting Komentar