Senin, 13 Desember 2010

Aplikasi Terkoneksi dan Aplikasi Terputus

0 komentar
 
Nama : Mega Lestari
NIM : 090020010
Kelas : D092

Aplikasi Terkoneksi adalah suatu aplikasi dimana pemakai aplikasi secara terus-menerus melakukan koneksi kes suatu sumber data sepanjang aplikasi tersebut dijalankan

  • Obyek Connection
    Digunakan untuk membuat dan mengatur koneksi ke database.
  • Obyek Command
    Digunakan untuk menjalankan perintah yang akan memanggil data dari database.

Connection : digunakan untuk mengakses penyimpanan data.
CommandText : digunakan untuk menetapkan nama tabel, pernyataan SQL atau nama Store Procedure untuk memilih data.
CommandType : digunakan untuk menetapkan sebuah nilai yang menentukan bagaimana properti CommandText diterapkan (StoreProcedure, TableDirect, Text)

  • Metode ExecuteReader
    metode ini akan menjalankan sebuah command yang menghasilkan sekumpulan data berbentuk DataReader. Jadi dengan metode ini hanya akan dapat membaca saja dan pergerakan pointer hanya ke depan.
  • Metode ExecuteScalar
    metode ini digunakan untuk menjalankan perintah query berupa fungsi Anggregate(sum, max, min, average, count) dari sebuah database.
  • Metode ExecuteNonQuery
    metode ini digunakan untuk menjalankan perintah-perintah query seperti INSERT, UPDATE dan DELETE.

Dim oCommand As SqlCommand = New SqlCommand

StrSQL = "insert into t_tipe_villa(nama_tipe) " _
                   & " values('" & textNama.Text & "')“
oCommand.Connection = mainModule.Koneksi
oCommand.CommandText = StrSQL
oCommand.ExecuteNonQuery()
mainModule.Koneksi.Close()

Aplikasi Terputus adalah suatu aplikasi dimana pemakai aplikasi tidak secara kontinyu melakukan koneksi ke suatu sumber data, melainkan koneksi hanya dibuka pada saat mengambil atau menyimpan perubahan data ke suatu sumber data saja. Sedangkan pada saat melakukan proses yang lain, koneksi dalam keadaan tertutup.

  • Obyek DataAdapter
    obyek DataAdapter bekerja sebagai duta atau media yang menghubungkan antara data dalam memori (dataset) dengan sumber data (database).
Metode Fill() : digunakan untuk mengisi dataset.
Metode Update() : digunakan
  • Obyek Dataset
    sebuah dataset dapat diibaratkan sebagai sebuah database yang ada dalam memori karena dataset dapat menggambarkan sekumpulan data yang tersimpan dalam table-table, constrain (batasan) yang ada, dan relationship (hubungan) antar table.


Dim Adapter As New SqlDataAdapter("select id_tipe as [Id], nama_tipe as [Nama Tipe] from master_merk", mainModule.Koneksi)

Dim dt As New DataTable("tipe")
Adapter.Fill(dt)


.NET Framework
Merupakan middleware antara aplikasi dengan sistem operasi. Infrastruktur yang digunakan untuk membuat aplikasi dalam lingkungan dan device yang beragam. Menyediakan model pemrogramman OOP yang konsisten untuk semua aplikasi Digunakan oleh multi bahasa (VB.NET, C#, C++.NET) dan third party language (Deplhi.NET, Cobol.NET)
Versi .NET Framework :     - .NET 1.0, .NET 1.1, .NET 2.0, .NET 3.0, .NET 3.5, .NET 4.0

CLR (Common Language Runtime)

CLR (Common Language Runtime) adalah lingkungan eksekusi untuk .NET  yang memanggil, mengelola, dan menjalankan kode program yang dibuat.
CLR menangani eksekusi kode dan semua tugas yang berhubungan dengan kompilasi, manajemen memori, sekuriti, dan sebagainya.

BCL (Base Class Library)
Menyediakan model Pemrogramman OOP yang konsisten untuk semua aplikasi Framework untuk semua jenis aplikasi Dikelompokkan secara logik berdasarkan Namespace
Root Namespace = System
Cross Language Feature, digunakan oleh semua bahasa .NET compatible.

Namespace
Kelompok class yang ada di .Net Framework. Setiap namespace yang ada mengelompokkan fungsi-fungsi dengan karakteristik yang sama.
Beberapa namespaces yang ada contohnya System.IO, System.Drawing, System.Linq, System.Data, dan sebagainya.

Kita akan membahas transak/code Dari Program yg Pernah kita buat sebelumnya: BaliVillaReservation & BaliVillaReservation2 :
Yang pertama kita membahas modulnya:
Transak yang terdapat dalam modul, berfungsi untuk menentukan database yang akan kita gunakan dalam program yang akan kita buat. Dan yang didalam lingkaran itu adalah nama database yang akan kita pakai. Nama database itu tidak harus sama dengan yang diatas karena kita menggunakan database yang kita buat sendiri.
Lalu transak diatas digunakan untuk memanggil transak yang sebelumnya untuk digunakan dalam program kita. atau lebih simplenya bisa kita lihat pada diatas, pada transak sebelumnya, QConnDb baru dideklarasikan dan pada transak diatas QConnDb dipanggil.melalui Conn
Selanjutnya kita akan membahas form master tipe
Transak diatas disimpan dalam List Data () yang berfungsi untuk memunculkan data - data yang terdapat dalam tabel t_tipe_villa, yang akan sering dipanggil pada deklarasi yang lain.

Transak yang dilingkari diatas disimpan dalam deklarasi Hapus() yang berfungsi untuk menghapus data dalam tabel yang kodenya sesuai dengan kode data yang dimasukkan pada form master tipe.
Dan jika kolom kode pada form master tipe masih kosong maka yang dimunculkan adalah :
Sekarang untuk menyimpan transak yang dimunculkan adalah:

Transak diatas disimpan dalam Simpan() yang berfungsi untuk menyimpan data yang berurutan sesuai dengan kode yang diberikan.

dan jika kita ingin memperbaharui data yang sudah ada, maka kita juga bisa menyimpan transaknya disini dengan memasukkan:

Link To Purwaloka

Senin, 08 November 2010

Bali Villa Reservation 2

0 komentar

1.      Buatlah form baru untuk form master tipe vlla dengan cara sebagai berikut :
1.      Kemudian klik OK, ubahlah property sebagai berikut :
      Text                             : Master Tipe Villa
      WindowState              : Maximized
      FormBorderStyle         : None
1.      Tambahkan split container dengan ketentuan sebagai berikut :
      Name                           : splUtama
      Dock                           : Fill
      SplitterDistance            : 350
      FixedPanel                  : Panel1
      IsSplitterFixed             : True
1.      Tambahkan 2 label dengan ketentuan sebagai berikut :
      Text : Id Tipe : 
      Text : Tipe :
1.      Tambahkan textbox dengan ketentuan sebagai berikut :
      Name   : textId
      Text     : OTOMATIS

 
1.      Kemudian tambahkan textbox dengan ketentuan sebagai berikut :
      Name               : textNama
      MaxLength     : 30
 
1.      Setelah itu tambahkanlah button dengan ketentuan sebagai berikut :
a)      Tombol new                :
Name            : tombolNew
Text              : New
b)      Tombol simpan            :
Name            : tombolSimpan
Text              : Simpan
c)      Tombol hapus              :
Name            : tombolHapus
Text              : Hapus
d)     Tombol keluar             :
Name            : tombolKeluar
Text              : Keluar
1.      Tambahkan DataGridView dengan ketentuan sebagai berikut :
      Name   : grid1

 

Coding untuk module1.vb
Imports System.Data.SqlClient
Module mainModule
    Public QconnDb As String = "Intregated Security=SSPI;" _
                               & "INITIAL CATALOG =balivillas;" _
                                & "DATA SOURCE =."
    Public strSQL As String
    Public Function Koneksi() As SqlConnection
        Dim conn As New SqlConnection
        conn = New SqlConnection(QconnDb)
        conn.Open()
        Return conn
    End Function
End Module

Coding untuk formMasterTipe
Imports System.Data.SqlClient
Public Class formMasterTipe
    Private Sub listdata()
        Dim Adapter As New SqlDataAdapter("select id_tipe as[Id]," _
                                            & "nama tipe as[Nama Tipe]" _
                                            & "from t_tipe_villa", mainModule.Koneksi)
        Dim dt As New DataTable("tipe")
        adapter.Fill(dt)
        grid1.DataSource = dt
        mainModule.Koneksi.close()
    End Sub
    Private Sub Hapus()
        If Trim(textId.Text) = "" Then
            textId.Text = "OTOMATIS"
        End If
        If Trim(textId.Text) <> "OTOMATIS" Then
            strSQL = "delete from t_tipe_villa where id_tipe ='" & textId.Text & "'"
            Dim command As New SqlCommand(strSQL, mainModule.Koneksi)
            command.ExecuteNonQuery()
            mainModule.Koneksi.close()
            textId.Text = ""
            textNama.Text = ""
            MessageBox.Show("Data Sudah Dihapus", "Penghapusan Sukses", _
                            MessageBoxButtons.OK, MessageBoxIcon.Information)
            listdata()
            kosongkan()
            textNama.Focus()
        Else
            MessageBox.Show("Masukkan dulu data yang akan dihapus", _
                            "Tidak ada data yang akan dihapus", MessageBoxButtons.OK, _
                            MessageBoxIcon.Information)
        End If
    End Sub
    Private Sub simpan()
        Dim ocommand As SqlCommand = New SqlCommand
        If Trim(textId.Text) = "" Then
            textId.Text = "OTOMATIS"
        End If
        If Trim(textNama.Text) = "" Then
            MessageBox.Show("nama merk belum diisi", "Perhatian", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
            textNama.Focus()
            Exit Sub
        End If
        If Trim(textId.Text) = "OTOMATIS" Then
            strSQL = "Insert inti t_tipe_villa(nama_tipe) values ('" & textNama.Text & "')"
            ocommand.Connection = mainModule.Koneksi
            ocommand.CommandText = strSQL
            ocommand.ExecuteNonQuery()
            mainModule.Koneksi.close()
            MessageBox.Show("Data sudah Disimpan", "Perhatian", MessageBoxButtons.OK, MessageBoxIcon.Information)
            textId.Text = ""
            textNama.Text = ""
            listdata()
            kosongkan()
            textNama.Focus()
        Else
            strSQL = "update t_tipe_villa set nama_tipe = '" & textNama.Text & "' " _
                & "where id_tipe = " & textId.Text & " "
            ocommand.Connection = mainModule.Koneksi
            ocommand.CommandText = strSQL
            ocommand.ExecuteNonQuery()
            mainModule.Koneksi.close()
            MessageBox.Show("Data Sudah Update", "perhatian", MessageBoxButtons.OK, MessageBoxIcon.Information)
            textId.Text = ""
            textNama.Text = ""
            listdata()
            kosongkan()
            textNama.Focus()
        End If
    End Sub

    Private Sub textId_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles textId.Validating
        Dim ocommand As SqlCommand = New SqlCommand
        If Trim(textId.Text) = "" Then
            textId.Text = "OTOMATIS"
        End If
        If Trim(textId.Text) = "OTOMATIS" Then
            textNama.Text = ""
        Else
            strSQL = "select nama_tipe from t_tipe_villa" _
                & " where id_tipen = '" & textId.Text & "'"
            ocommand.Connection = mainModule.Koneksi
            ocommand.CommandText = strSQL
            Dim xreader As SqlDataReader = ocommand.ExecuteReader
            If xreader.HasRows = True Then
                xreader.Read()
                textNama.Text = xreader("nama_tipe")
            Else
                MessageBox.Show("maaf... data tipe dengan kode " _
                                 & textId.Text & "tidak ditemukan,", _
                                 "perhatian", MessageBoxButtons.OK, _
                                 MessageBoxIcon.Information)
                e.Cancel = True
            End If
            xreader.Close()
            mainModule.Koneksi.close()
        End If
    End Sub
    Private Sub kosongkan()
        textId.Text = "OTOMATIS"
        textNama.Text = ""
    End Sub

    Private Sub grid1_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles grid1.CellClick
        textId.Text = grid1.Item(0, grid1.CurrentRow.Index).Value.ToString
        textNama.Text = grid1.Item(1, grid1.CurrentRow.Index).Value.ToString
    End Sub

    Private Sub tombolHapus_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles tombolHapus.Click
        If MessageBox.Show("Hapus...?", "perhatian", _
                            MessageBoxButtons.YesNo, _
                            MessageBoxIcon.Question) _
                            = Windows.Forms.DialogResult.Yes Then
            Hapus()
        End If
    End Sub

    Private Sub tombolSimpan_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles tombolSimpan.Click
        simpan()
    End Sub

    Private Sub tombolKeluar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles tombolKeluar.Click
        Me.Dispose()
    End Sub

    Private Sub tombolNew_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles tombolNew.Click
        kosongkan()
        textNama.Focus()
    End Sub

    Private Sub formMasterTipe_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        kosongkan()
        listdata()
    End Sub

    Private Sub splUtama_Panel1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles splUtama.Panel1.Paint

    End Sub
End Class

Coding untuk formUtama

Public Class formUtama

    Private Sub menuTipe_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles menuTipe.Click
        formMasterTipe.TopLevel = False
        formMasterTipe.Parent = Me.splUtama.Panel2
        formMasterTipe.Dock = DockStyle.Fill
        formMasterTipe.Show()
    End Sub

    Private Sub menuKeluar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles menuKeluar.Click
        End
    End Sub

    Private Sub menuKiri_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles menuKiri.DoubleClick
        Select Case menuKiri.SelectedNode.Name
            Case "kirikeluar"
                End
            Case "kiritipe'"
                formMasterTipe.TopLevel = False
                formMasterTipe.Parent = Me.splUtama.Panel2
                formMasterTipe.Dock = DockStyle.Fill
                formMasterTipe.Show()
        End Select
    End Sub

    Private Sub menuKiri_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles menuKiri.AfterSelect

    End Sub

    Private Sub splUtama_Panel2_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles splUtama.Panel2.Paint

    End Sub
End Class