Monday, September 21, 2015

Membuat database yang baik dan benar

Ada tahapan bagi seseorang untuk bisa sampai ke tahapan advanced, expert, atau apapun sebutannya untuk seorang yang telah menguasai bidangnya, atau bahkan mengembangkan bidangnya. Namun sayang sekali seseorang yang sudah sampai tingkatan expert sangat jarang sekali mendokumentasikan kemampuan, pengalaman, sekaligus eksperimen yang pernah dilakukan. Jelasnya dokumentasi ini sangat bermanfaat untuk orang-orang setelahnya. Bagi para newbie, dan intermediate. Dimana pengalaman adalah sesuatu yang tidak ternilai harganya.
Apa yang akan saya jelaskan kali ini sebetulnya memang di khususkan untuk para programmer pemula, maupun tingkatan menengah, begitu juga untuk para database engineering pemula maupun tingkatan menengah. Dan apa yang akan saya rincikan di sini merupakan sesuatu yang sudah pernah dibuktikan terlebih dahulu. Bukan sekedar teori yang perlu diformulasikan kembali ketika akan dilakukan pembuktiannya.
Bagi seorang programmer, dan database engineer, merupakan hal yang vital ketika akan melakukan develop aplikasi, terlebih lagi pada fase perencanaan dalam pembuatan database, di mana diperlukan analisa yang betul-betul jitu hingga mendapatkan tingkat efektifitas dalam relasi yang menunjang operasi CRUD, Create Read Update Delete. Memang ketika para pemula mendalami CRUD terbilang mudah untuk dikuasai. Tidak jadi masalah ketika programer membuat aplikasi dengan pengguna yang tidak begitu banyak, belasan, sampai puluhan. Namun masalah akan didapatkan ketika aplikasi yang dirancang itu digunakan oleh ribuan, atau bahkan jutaan orang. Server down karena hang akibat query yang lambat dieksekusi, berantai dari terlalu banyak men-JOIN relasi antar table.
Sehingga dari sini betul-betul seorang programmer maupun database engineer harus betul-betul teliti dan bekerja sebagaimana mestinya.
1. Jangan Terlalu Banyak Membuat Relasi Table
Aplikasi yang kompleks pastinya berdampak kepada relasi database, semakin kompleks aplikasi berdampak pada pembuatan relasi table semakin banyak. Tapi bisa juga membuat aplikasi yang kompleks tanpa membuat relasi table yang banyak. Loh? Bagaimana bisa? Bisa. Di ambil alih oleh bahasa pemrogaman itu sendiri, sebagai contohnya adalah penggunaan serialize() di PHP. Lebih jelasnya silahkan membuka http://php.net/manual/en/function.serialize.php Dengan fungsi ini sang programmer bisa dengan leluasa menyimpan atribut ke dalam array, dan arraynya di simpan ke suatu field di dalam table.
Kalaupun harus membuat banyak relasi antar table, anda harus melakukan nasihat di poin ke 2.
2. Jangan Terlalu Banyak Men-Join Relasi Antar Table
Saya sendiri maksimal dalam men-join relasi antar table adalah 5 relasi. Ini pun sudah terlalu berat sekali jika user yang menggunakan aplikasi ini berjumlah ribuan atau bahkan sampai jutaan. Server terasa beraaaaaat sekali. Disarankan untuk menjoin table kurang dari 5 relasi. Karena biasanya optimasi query pun dilakukan termasuk di antaranya adalah memperbaiki join table yang terlalu banyak dan kurang efisien.
Lalu bagaimana jika sudah terlanjur banyak relasi? Karena sudah terlanjut mau bagaimana lagi, gunakanlah field-field yang sudah di jadikan sebagai key dengan atribut INDEX maupun PRIMAY dalam men-JOIN table. Mengapa karena jika tidak di lakukan maka response database server akan terasa sangat lambat sekali.
Sebelum terlanjur maka alangkah baiknya untuk memperhatikan “anjuran untuk tidak terlalu banyak men-join relasi antar table” yang jelasnya ini sangat berhubungan dengan poin pertama. Sehingga planning dalam pembuatan database perlu secara detil diperhatikan.
3. Gunakanlah InnoDB jika… Gunakanlah MyIsam jika…
MyIsam merupakan jenis database engine yang cocok untuk pemula, karena tidak terlalu banyak memikirkan integritas data. Maksudnya bagaimana? Apakah yang tidak ada kontroversi hati? Sederhananya MyIsam itu lebih dulu lahir, ketimbang InnoDB. MyIsam dibuat untuk menunjang database yang hanya digunakan untuk View / Read saja dengan fungsi select pada sql query. Dan tidak terlalu banyak Insert sekaligus Update data, namun lebih banyak di Read saja.
Sedangkan InnoDB betul-betul memperhatikan integritas data, dan innodb ini cocok digunakan dalam database yang sangat banyak sekali menggunakan operasi Insert, dan Update. Namun karena kelebihannya tersebut dibutuhkan ketelitian yang lebih dalam pembuatan database menggunakan InnoDB engine.
Begitulah sedikit nasihat yang mudah-mudahan bermanfaat bagi Anda yang akan memulai membuat aplikasi dengan banyak pengguna. Sehingga nantinya tidak perlu menyalahkan Memory / Resource Server manakala terasa lambat. Tapi sejujurnya adalah ketika perencanaan database itulah penggunaan Resource Server bisa di efisiensikan.

Sunday, September 20, 2015

Menampilkan data di ComboBox dari database

Kali ini penulis akan membuat tutorial cara menampilkan data dari database ke combobox denagn visual basic.net Langkah pertama yang harus dilakukan membuat database terlebih dahulu, dalam kasus ini saya membuat database dengan nama TEST dan satu buah tabel yaitu CUSTOMER

Selanjutnya, Kita membuat form seperti pada gambar dibawah ini dengan 1 label dan 1 Combobox.

Kode di bawah ini untuk membuat koneksi ke database. Sebelumya saya sudah pernah membahas cara membuat koneksi ke berbagai database DISINI. Dalam kasus ini saya memakai database sql server 2005.

Ini adalah hasil dari proses kode yang telah saya buat. Sekian untuk tutorial kali ini, semoga bermanfaat untuk teman-teman semua. Teman-teman juga bisa lihat tutoria cara menampilkan data dari database ke DataGriView DISINI

Saturday, April 11, 2015

Membuat koneksi dari aplikasi ke database


Connection String

adalah representasi String biasanya berisi informasi koneksi database untuk membuat sambungan antara database dan Aplikasi yang kita buat. Connection String meliputi parameter seperti nama driver, nama server dan nama database, serta informasi keamanan seperti user name dan password. Penyedia data menggunakan koneksi string yang berisi kumpulan parameter untuk membuat sambungan dengan database. Framework menyediakan tiga akses terutama  penyedia data:
1.       Microsoft SQL Server -> koneksi untuk sql server
2.       OLEDB -> koneksi untuk datanase microsoft acces
3.       ODBC -> koneksi untuk my MYSQL
Dalam postingan ini saya juga sudah posting cara mengkoneksikan sql server dengan visual basic
Pada bagian berikut dapat kita lihat bagaimana penyedia ADO.NET menyediakan data sambungan ke Databse
  Koneksi String visual basic dengan sql server



  Koneksi string visual basic dengan database microsoft acces



  Koneksi string visual basic dengan database mysql



Penjelasan :
Sebenarnya untuk terhubung ke database dengan menggunakan connection string hampir sama, coba perhatikan contoh yang ada di atas, semua penulisan kode program untuk koneksi ke database hampir sama, hanya saja penulisan parameter seperti nama server, nama database, user id, password nya saja yang berbeda. Dalam kode di atas kita selalu mendefenisikan 2 variabel yaitu :
1.       Dim connetionString As String

Fungsi variable ini di deklarasikan adalah untuk menampung string koneksi yang kita tuliskan didalamnya, dan selanjutnya kita mengerimikan ke server menggunakan object koneksi seperti SqlConnection, OleDbConnection, OdbcConnection. Di sini kita dapat membuat pilihan apakah kita akan terkoneksi dengan datase yang mana.

2.       Dim cnn As SqlConnection, OleDbConnection, OdbcConnection

Selanjutnya setelah koneksi string di inisialisasi maka kita akan mengirimkannya ke database.
Selanjutnya setelah semua selesai maka kita bias membuka koneksi yang telah kita buat dengan menggunakan cnn.open(), yang perlu diperhatikan adalah ketika kita telah selesai melakukan suatu aksi seperti menyimpan data ke database maka sebaiknya kita harus segera menutup koneksi tersebut agar sumber daya databse yang dihabiskan tidak banyak.
Namun kelemahan dari koneksi string ini adalah tidak fleksibel, artinya jika suatu database berpindah server makan kita harus membongkar kode program tersebut untuk mengatur koneksi kembali, namun  ada tekhnik agar koneksi ini dapat fleksibel. Cara yang paling bagus untuk koneksi ini adalah dengan memanfaatkan savesetting, savesetting tersedia dalam vb.net dan kita tinggal memakainya saja. Save setting disini bekerja dalam system computer, dimana saat akan terkoneksi dengan database maka aplikasi akan mengambil pengaturan yang telah kita setiing di savesetting. Sekiran penjelasan ini, mudah-mudahan dapat membantu teman-teman semu

Friday, April 10, 2015

VB.NET Cara menggunakan function, procedure dan rekursif

Kita menggunakan prosedur dan fungsi untuk membuat program yang modular. Pernyataan dasar Visual basic dikelompokkan dalam blok tertutup oleh Sub-end sub, dan function-end function. Perbedaan antara function dan procedure adalah bahwa functionmengembalikan nilai-nilai, procedure tidak mengembalikan nilai. Prosedur dan fungsi merupakan bagian dari kode di program yang lebih besar. Mereka melakukan tugas tertentu.
Keuntungan menggunakan procedure dan function adalah:
1.       Mengurangi duplikasi kode program
2.       Mengatasi masalah yang kompleks menjadi potongan-potongan yang lebih sederhana
3.       Meningkatkan kejelasan kode
4.       Kode yang mudah dibaca
5.       Informasi kode bersembunyi
6.       Dapat dipakai berulang kali
PROCEDURE
Prosedur adalah sebuah blok dari Visual Basic yang dinyatakan dalam Sub, dan diakhiri dengan end, dan Prosedur tidak mengembalikan nilai-nilai apapun.
Contoh procedure dalam vb.net :


Untuk memanggil procedure yang telah kita buat maka sintaksnya adalah



Maka  output :
10 x 5= 50
10 + 5= 15
10 / 5= 2
               10 - 5= 5


FUNCTION
Fungsi adalah sebuah blok dari Visual Basic yang di nyatakan dalam function, dan di akhiri dengan End Function. Function ini akan kembali nilai-nilai.
Ada dua tipe dasar fungsi. Built-in function dan yang ditetapkan pengguna. Fungsi built-in merupakan bagian dari bahasa Visual Basic.

Contoh function dalam vb.net :




Untuk memanggil function yang telah kita buat maka sintaksnya adalah



Maka function tersebut akan mengembalikan nilai atau  output :
10 x 5= 50
10 + 5= 15
10 / 5= 2
10 - 5= 5

RECURSIVE FUNCTION
Rekursif dalam matematika dan ilmu komputer adalah metode mendefinisikan fungsi di mana fungsi yang didefinisikan diterapkan dalam definisi dirinya sendiri. Dengan kata lain, fungsi rekursif menyebut dirinya  sendiri untuk melakukan tugasnya. Rekursif adalah pendekatan secara luas digunakan untuk memecahkan banyak tugas pemrograman.

Sebuah contoh sederhana adalah perhitungan factorial



untuk memanggil function factorial maka sintaksnya adalah call Factorial(24) maka nilai yang akan dikembalikan adalah 3628800

Menggunakan FOR EACH dalam vb.net

Bahasa VB.NET menawarkan beberapa konstruksi perulangan. Salah satu yang paling jelas adalah FOR EACH looping. Dengan menggunakan for each, kita dapat menyesaikan tugas dalam program itu sendiri. For each ini memiliki sintaks khusus yang harus diikuti.
For each Ini mengulangi sekelompok pernyataan untuk setiap elemen dalam pernyataan. Loop ini digunakan untuk mengakses dan memanipulasi semua elemen dalam array atau koleksi VB.Net.


Sintaks for each ini secara umum adalah :
Mari kita buat contoh sederhana dengan perulangan FOR EACH

Maka hasil yang akan ditampilkan dari kode di atas adalah menampilkan pesan sebanyak 5 kali dengan :
Ø  Pesan pertama : “1”
Ø  Pesan pertama : “2”
Ø  Pesan pertama : “10”
Ø  Pesan pertama : “0”
Ø  Pesan pertama : “1”

Waktunya untuk kamu mencoba, semoga berhasil J


Cara menggunakan perulangan FOR NEXT dalam vb.net

Setiap kali menghadapi situasi di pemrograman untuk mengulang tugas beberapa kali (lebih dari satu kali) maka kita harus mengulangi tugas sampai mencapai kondisi tertentu, dalam situasi seperti ini dapat menggunakan pernyataan perulangan untuk mencapai hasil yang diinginkan. Perulangan berguna untuk iterasi array.
Contoh perulangan dengan FOR NEXT

Keterangan :

1.       Kode di atas akan membuat 1 sub bernama PerulanganForNext  “Sub PerulanganForNextt()
2.       Membuat variable I yang bertipe integer dan nilainya adalah 0 dan I akan bertambah sebanyak 10 kali “For i As Integer = 0 To 10
3.       Menampilkan pesan sebanyak 10 kali di mulai dari 0  “ To 10”
Pesan pertama “Perulangan : 0”
Pesan pertama “Perulangan : 1”
Pesan pertama “Perulangan : 2”
Pesan pertama “Perulangan : 3”
Pesan pertama “Perulangan : 4”
Pesan pertama “Perulangan : 5”
Pesan pertama “Perulangan : 6”
Pesan pertama “Perulangan : 7”
Pesan pertama “Perulangan : 8”
Pesan pertama “Perulangan : 9”
4.  Setelah perulangan selesai dilakukan maka selanjutnya program akan menampilkan pesan “lakukan aksi selanjutnya”
5.  Selesai

Mari kita membuat 1 contoh program aplikasi perkalian :
Ketentuan :
Perkalian ini akan menghasilkan output:
1.       0 X 0 = 0
2.       1 X 1 = 1
3.       2 X 2 = 4
4.       3 X 3 = 9
5.       4 X 4 = 16
6.       5 X 5 = 25
7.       6 X 6 = 36
8.       7 X 7 = 47
9.       8 X 8 = 64
10.   9 X 9 = 81



Berikut kode program menampilkan perkalian seperti di atas

Waktunya untuk kamu mencoba, semoga berhasil J







Thursday, April 9, 2015

VB.NET Menggunakan statemen IF, ELSE IF, ELSE

Pernyataan kondisional IF ELSE  digunakan untuk memeriksa kondisi dari suatu aksi, dan membuat keputusan berdasarkan kondisi itu sendiri. Pernyataan kondisional memeriksa data menggunakan operator perbandingan serta operator logika
operator perbandingan dalam vb.net :
1.       >             lebih besa                                          contoh : Apakah 3 > 4
2.       <             lebih kecil                                         contoh : Apakah 3 < 4
3.       =             sama dengan                                     contoh : Apakah 3 <=4
4.       >=           lebih besar atau sama dengan          contoh : Apakah 3 >= 4
5.       <=           lebih kecil atau sama dengan           contoh : Apakah 3 <= 4
6.       <>           tidak sama dengan                            contoh : Apakah 3 <> 4

Beriku juga daftar operator logika dalam vb.net :
1.       And       operaton logika dan
2.       Or          operator logika atau

Biasanya operator logika diatas akan dikombinasikan dengan operator perbandingan agar tercapai suatu tujuan yang diinginkan, berikut contohnya :
1.       Jika NamaMu and NamaKu = Erwin Pasaribu ->Dipakai dalam logika dan
2.       Jika NamaMu Or NamaKu = Erwin Pasaribu -> Dipakai dalam operator or


Jika kondisi bernilai TRUE maka kontrol pergi ke antara IF atau blok Lain, yaitu program akan mengeksekusi kode antara IF dan ELSE pernyataan
If [your condition here]
  Your code here
Else
  Your code Here
End If      
 
Jika Nilai adalah False maka kontrol pergi ke antara ELSE dan END IF blok, yaitu program akan mengeksekusi kode antara ELSE dan END IF pernyataan.


Jika ingin cek lebih dari satu kondisi pada saat yang sama, Anda dapat menggunakan ElseIf
If [your condition here]
  Your code here
ElseIf [your condition here]
  Your code here
ElseIf [your condition here]
  Your code here
Else
  Your code Here
End If

Jika kondisi bernilai TRUE maka kontrol pergi ke antara IF dan blok Lain, yaitu program akan mengeksekusi kode antara IF dan ELSE pernyataan.
Jika kondisi bernilai FALSE maka kontrol pergi ke antara ELSE dan END IF blok, yaitu program akan mengeksekusi kode antara ELSE dan END IF pernyataan.

Berikut contoh pemakaian IF, ELSE IF, ELSE :
1.       Buat form seperti dibawah ini


2.       Ketentuan :
      Ø  Jika nilai angka antara 0 sampai 49 makan nilai huruf E 
      Ø  Jika nilai angka antara 50 sampai 59 makan nilai huruf D
      Ø  Jika nilai angka antara 60 sampai 69 makan nilai huruf C
      Ø  Jika nilai angka antara 70 sampai 79 makan nilai huruf B
      Ø  Jika nilai angka antara 80 sampai 89 makan nilai huruf A
      Ø  Jika nilai angka lebih besar 90 makan nilai huruf A+

3.       Menuliskan kode program menampilkan nilai huruf di dalam tombol nilai
1.  Dim nilai As Double = TextBox1.Text
2.          Dim NilaiHuruf As String
3.          If TextBox1.Text = "" Then
4.              Exit Sub
5.          Else
6.              If nilai >= 0 And nilai < 50 Then
7.                  NilaiHuruf = "E"
8.              ElseIf nilai >= 50 And nilai < 60 Then
9.                  NilaiHuruf = "D"
10.      ElseIf nilai >= 60 And nilai < 70 Then
11.                NilaiHuruf = "C"
12.      ElseIf nilai >= 70 And nilai < 80 Then
13.                NilaiHuruf = "B"
14.      ElseIf nilai >= 80 And nilai < 90 Then
15.                NilaiHuruf = "A"
16.      Else
17.                NilaiHuruf = "A+"
18.      End If
19.   End If

20.            MessageBox.Show("Nilai Huruf " & NilaiHuruf, "",      MessageBoxButtons.OK, MessageBoxIcon.Information)
21.         End Sub


4.       Coba input nilai 70.7 dan lihat hasilnya



Wednesday, April 8, 2015

Sql server membuat tabel dengan query analyzer

   Selamat datang kembali di bahasaprogramvb.blogspot.com, Kali ini admin akan posting bagaimana cara membuat table dengan queri analyzer atau bahasa lerennya how to create table using query analyzer. Dalam postingan lalu saya sudah posting bagaimana caramembuat database dengan query analyzer, nah sekarang waktunya untuk membuat table dengan query analyzer. Membuat table dengan query analyzer menurut saya ini adalah hal yang harus diketahui oleh database administrator.  Sebelumnya kita harus aktif terlebih dahulu ke database yang akan kita buat tabelnya, penulisannya seperti ini USE NamaDatabaseAnda. Contoh Use DatabasePenjualan.
CREATE TABLE OUSER
(
      USER_ID     VARCHAR(10)       PRIMARY KEY,
      USER_NAME   VARCHAR(50)       NOT NULL,
      PASSWORD    VARCHAR(50),
      TDK_AKTIF   SMALLINT          DEFAULT 0,
)

Query di atas artinya adalah kita akan menciptakan 1 tabel dengan nama table OUSER dimana table tersebut mempunya 4 field yaitu user_id,User_Name,Password,Tdk_Aktif dengan tipe data dan panjang yang berbeda.
Untuk membuat primary key kita cukup menuliskan USER_ID VARCHAR(10) PRIMARY KEY, dalam kasus ini hanya ada 1 primary key, jika ada dua primary key atau lebih dalam 1 tabel maka penulisannya akan berbeda.
                                                                         
Pengertian NOT NULL diatas adalah memeberikan field USER_NAME tidak boleh kosong jika kita akan memasukkan data dan TDK_AKTIF nilai default nya adalah 0 yang artinya jika kita mengisikan data ke table OUSER dan field tidak aktif akan akan bernilai 0 jika kita tidak menginput nya.
Sekian penjelasan dari bahasaprogramvb.blogspot.com, terimakasih





Memeriksa status koneksi internet dengan Visual basic.net

TEORI : 
Kali ini bahasaprogramvb.blogspot.com akan sharing cara mengetahui koneksi internet dalam keadaan aktif atau tidak, langsung saja
Microsoft WinINet API memungkinkan aplikasi untuk mengakses protokol Internet standar, seperti FTP dan HTTP.
Banyak dari kita ingin tahu apakah komputer memiliki koneksi internet aktif sebelum mencoba untuk terhubung ke internet menggunakan beberapa antarmuka komunikasi. Kita bisa menentukan dengan menggunakan salah satu fungsi WinINet untuk memeriksa status koneksi internet di komputer.

   Private Declare Function InternetGetConnectedState Lib "WinInet"(ByRef konek As Long, ByVal      val As Long) As Boolean

Fungsi InternetGetConnectedState mengambil keadaan terhubung dari sistem lokal. Nilai pengembalian true dari InternetGetConnectedState menunjukkan bahwa setidaknya satu koneksi ke Internet tersedia.

Berikut Source code :
Imports System.Runtime.InteropServices

Public Class Form1
 Private Declare Function InternetGetConnectedState Lib "wininet" (ByRef conn As Lon        g, ByVal val As Long) As Boolean

 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArg        s) Handles Button1.Click
  Dim Out As Integer
  If InternetGetConnectedState(Out, 0) = True Then
   messagebox.show("Status terkoneksi !")
  Else
   messagebox.show("Status tidak terkoneksi !")
  End If
 End Sub
End Class

Selamat Mencoba, Semoga berhasil

Tuesday, April 7, 2015

Visual Basic.Net Menampilkan data ke DatagGridView


Selamat datang di bahasaprogramvb.blogspot.com, Kali ini  admin akan membuat cara menampilkan data dari database ke dalam datagridview, untuk kasus ini diharapkan aplikasi sudah terkoneksi dengan database sql server,
Ikuti langkah-langkah dibawah ini :



1.       Membuat tabel mwilayah seperti dibawah ini



 2.       Membuat form seperti di bawah ini
Ø  Tambahkan 1 buah DataGridView
Ø  Tambahkan 1 Buah Button dengan ID btnTampil



3.  Masukkan kode di bawah ini

Imports System.Data.SqlClient
Imports System.Data

Public Class Form1
    Dim msql As String
    Dim mconn As SqlConnection
    Dim da As SqlDataAdapter
    Dim dt As DataTable
    Dim cmd As SqlCommand

    Sub Openconnection()
        Try
msql = "DATA SOURCE=DANGEROUS-PC; INITIAL CATALOG=CMD; USER  ID=SA; PASSWORD=12345;"
            mconn = New SqlConnection(msql)
            mconn.Open()
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Call Openconnection()
    End Sub

Private Sub BtnTampilData_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnTampilData.Click
        On Error Resume Next
        DataGridView1.Rows.Clear()

        msql = "select * from mwilayah"
        cmd = New SqlCommand(msql, mconn)
        da = New SqlDataAdapter(cmd)
        dt = New DataTable
        da.Fill(dt)
        DataGridView1.DataSource = dt
    End Sub
End Class