Home > Jaringan, Visual Basic > Belajar Winsock bagian akhir – Contoh kasus mengakses data stok barang dari luar

Belajar Winsock bagian akhir – Contoh kasus mengakses data stok barang dari luar

Akhirnya rilis juga artikel terakhir dari 5 seri belajar winsock ini, sebelum kita melanjutkan pembahasan ada baiknya kita melakukan sedikit review :

  1. Dasar-dasar penggunaan winsock sudah kita pelajari
  2. Ini terbukti dengan suksesnya kita membuat aplikasi chat sederhana
  3. Di tambah lagi ada teman kita yang mau nebeng sehingga terciptanya aplikasi chat multiple connection
  4. Jalan tol antara laptop mas Paijo dan komputer server tokonya juga udah selesai dibangun dengan anggaran 0 Rp :D

Berarti sekarang waktu yang tepat untuk mencoba ketangguhan mas Win (maksudnya Winsock :D ) kalo lari jarak dekat (jaringan LAN) masih bisa diandalkan, bagai mana dengan lari jarak jauh (via internet) apakah juga masih bisa diandalkan ?

Objek-objek yang akan dijadikan korban untuk uji coba kali ini :

  1. Database barang dengan format ms access
  2. Aplikasi server
  3. Aplikasi klien

Data yang dikirim dari server dibatasi maksimal 1024 karakter dalam sekali kirim, otomatis jika data > 1024 akan dipecah menjadi beberapa paket, berikut cuplikan kodenya (server) :

Option Explicit

Private Const LOCAL_PORT As Long = 1007

Private Const REC_SPR As String * 1 = "|" 'separator baris
Private Const FLD_SPR As String * 1 = "#" 'separator kolom
Private Const MAX_LIMIT As Long = 1024 '1x kirim dibatasi 1 kb, kalo untuk jaringan lokal masih bisa set 4096

Private Function pembulatanKeAtas(ByVal X As Double, Optional ByVal Factor As Double = 1) As Double
    Dim temp As Double

    temp = Int(X * Factor)
    pembulatanKeAtas = (temp + IIf(X = temp, 0, 1)) / Factor
End Function

Private Function getDataBarang(ByVal param As String) As String()
    Dim rs          As ADODB.Recordset

    Dim div         As Long
    Dim lengthData  As Long
    Dim n           As Long
    Dim i           As Long

    Dim tmp         As String
    Dim arrTmp()    As String

    strSql = "SELECT UCASE(nama), harga, stok FROM barang " & param & ""
    Set rs = openRecordset(strSql)
    If Not rs.EOF Then
        For i = 1 To getRecordCount(rs)
            tmp = tmp & rs(0).Value & FLD_SPR & rs(1).Value & FLD_SPR & rs(2).Value & REC_SPR

            rs.MoveNext
        Next i
        If Len(tmp) > 0 Then tmp = Left(tmp, Len(tmp) - 1)

        'karakter ~ sebagai penanda awal dan akhir data
        'untuk memudahkan pengecekan di klien bahwa data yg diterima sudah lengkap/belum
        'ex : ~DATA BARANG + SEPARATOR KOLOM DAN BARIS~

        'contoh format data disini ada 2 :
        '1. jika data <= 1024 karakter : ~~DATA BARANG + SEPARATOR KOLOM DAN BARIS
        '2. jika data > 1024 karakter  : ~DATA BARANG + SEPARATOR KOLOM DAN BARIS~

        If Len(tmp) > 0 Then tmp = "~" & Left(tmp, Len(tmp) - 1) & "~"
        If Not Len(tmp) > MAX_LIMIT Then
            tmp = Left(tmp, Len(tmp) - 1)
            tmp = "~" & tmp
        End If

        lengthData = Len(tmp)
        If lengthData > 0 Then
            If lengthData > MAX_LIMIT Then 'data > 1024 karakter
                'data dibuat menjadi beberapa package
                'ex : jika jumlah karakter 2345
                '     package 1 -> 1024
                '     package 2 -> 1024
                '     package 3 -> 297
                '     berarti data yg dikirim ke klien sebanyak 3 x

                div = pembulatanKeAtas(lengthData / MAX_LIMIT)
                ReDim arrTmp(div)

                n = 1
                For i = 1 To div
                    arrTmp(i - 1) = Mid(tmp, n, MAX_LIMIT)
                    n = n + MAX_LIMIT
                Next i

            Else
                ReDim arrTmp(0)
                arrTmp(0) = tmp
            End If

        Else
            ReDim arrTmp(0)
            arrTmp(0) = tmp
        End If

    Else
        ReDim arrTmp(0)
        arrTmp(0) = "EOF" 'data barang tidak ditemukan
    End If
    Call closeRecordset(rs)

    getDataBarang = arrTmp
End Function

pengiriman data ke klien akan dihandle oleh event DataArrival :

Private Sub Socket_DataArrival(Index As Integer, ByVal bytesTotal As Long)
    Dim i           As Long
    Dim strData     As String
    Dim ret         As Boolean

    Dim arrTmp()    As String

    'On Error GoTo errHandle

    ' Grab the data from the specified Winsock object, and pass it to the parent.
    Call Socket(Index).GetData(strData)
    DoEvents

    arrTmp = getDataBarang(strData)
    For i = LBound(arrTmp) To UBound(arrTmp)
        If Len(arrTmp(i)) > 0 Then ret = send(Index, arrTmp(i))
    Next i

    Exit Sub
errHandle:
   Call Socket(Index).Close
End Sub

sedangkan untuk aplikasi klien bagian yg bertugas menerima data masih di event yang sama yaitu DataArrival :

Private Sub Socket_DataArrival(ByVal bytesTotal As Long)
    Dim dataMasuk   As String

    'On Error Resume Next

    Socket.GetData dataMasuk

    If Left(dataMasuk, 2) = "~~" Then 'package data <= 1024
        Call execOutput(dataMasuk)

    ElseIf dataMasuk = "EOF" Then 'data tidak ditemukan
        Call execOutput(dataMasuk)

    Else
        'package data > 1024
        'berikut kode untuk penggabungan package data
        tmp = tmp & dataMasuk
        If InStr(1, dataMasuk, "~") > 0 Then packageHdr = packageHdr & "~"

        If Len(packageHdr) = 2 Then Call execOutput(tmp) 'penggabungan package data selesai
    End If
End Sub

dan ini prosedure yang bertanggung jawab untuk memparsing data dan menampilkan ke ListView :

Private Sub execOutput(ByVal data As String)
    Dim rec()   As String
    Dim fld()   As String

    Dim x       As Long
    Dim noUrut  As Long

    On Error GoTo errHandle

    Screen.MousePointer = vbHourglass
    DoEvents

    If Left(data, 2) = "~~" Then 'complete
        data = Replace(data, "~~", "")

    ElseIf data = "EOF" Then
        'do nothing

    Else
        data = Left(data, Len(data) - 1) 'remove ~ left
        data = Right(data, Len(data) - 1) 'remove ~ right
    End If

    lsvBarang.ListItems.Clear

    If data = "EOF" Then
        Screen.MousePointer = vbDefault
        MsgBox "Data barang dengan keyword '" & txtNamaBarang.Text & "' tidak ditemukan", vbInformation, "Informasi"

    Else
        'contoh data :
        '~~SUSU KEDELAI ABC 200M#1000#24|SUSU KEDELAI MELILEA 500#1000#0|KOPI SUSU KPL API 3P#1000#0|SUSU KEDELAI ABC 200#1000#2
        '| -> pemisah baris
        '# -> pemisah kolom

        rec = Split(data, REC_SPR)

        With lsvBarang
            noUrut = 1
            For x = LBound(rec) To UBound(rec)
                fld = Split(rec(x), FLD_SPR)

                .ListItems.Add , , noUrut
                .ListItems(noUrut).SubItems(1) = fld(0) 'nama barang
                .ListItems(noUrut).SubItems(2) = FormatNumber(fld(1), 0) 'harga
                .ListItems(noUrut).SubItems(3) = fld(2) 'stok

                noUrut = noUrut + 1
            Next x
        End With
    End If

    Screen.MousePointer = vbDefault

    Exit Sub
errHandle:
    Screen.MousePointer = vbDefault
End Sub

dan ini hasilnya

mas Paijo mengetikan keyword mie kemudian mengirimkannya ke server dan akan diproses dengan hasil rincian sbb :

  1. Jumlah record yang ditemukan sebanyak 181 record
  2. Jumlah karakter nama barang + harga + stok + seperator = 5084 karakter dan dikirim menjadi beberapa paket
  3. Hasil akhir klien juga menampilkan sebanyak 181 record, yang berarti bahwa uji coba kita berhasil :D

Dan yang terpenting dari pembahasan ini, sample programnya bisa didownload disini :)

Selamat mencoba :)

  1. jimo
    February 25, 2010 at 9:54 am | #1

    mas sharing filenya di indowebster aja ato klo metok2nya di ziddu aja
    lemot bngt di 4shared…

    btw, thanks berat atas ilmunya mas
    tetap berkarya!!!

  2. February 25, 2010 at 1:42 pm | #2

    jimo :

    mas sharing filenya di indowebster aja ato klo metok2nya di ziddu aja
    lemot bngt di 4shared…

    btw, thanks berat atas ilmunya mas
    tetap berkarya!!!

    Oke mas Jimoe thank atas sarannya, akan saya pertimbangkan untuk mencari lokasi kos2xan yang baru :-D

  3. March 1, 2010 at 12:46 pm | #3

    Kalau saya, disimpan dimanapun OK. Trims atas file-filenya.

  4. March 1, 2010 at 12:49 pm | #4

    Asep Hibban :

    Kalau saya, disimpan dimanapun OK. Trims atas file-filenya.

    Oke sama2 mas :)

  5. anggi
    March 13, 2010 at 2:55 pm | #5

    Mantep lah Kang! Lanjutkan! ^.^

  6. anggi
    March 13, 2010 at 3:01 pm | #6

    Tapi,, ini kan di VB6 ya? kalau programnya VB. Net (05/08) bedanya apanya ya Kang? Jgn2 smwnya diganti,, coz kan beda bgt scriptnya juga,. Ada script VB. Net 05/08 untuk Winsock/cSocketMasternya gag Kang? Coz dpake bgt bwt project ne,, sya pakenya yg .Net soalnya,. Mkasih Kang!

  7. March 14, 2010 at 1:25 am | #7

    anggi :

    Tapi,, ini kan di VB6 ya? kalau programnya VB. Net (05/08) bedanya apanya ya Kang? Jgn2 smwnya diganti,, coz kan beda bgt scriptnya juga,. Ada script VB. Net 05/08 untuk Winsock/cSocketMasternya gag Kang? Coz dpake bgt bwt project ne,, sya pakenya yg .Net soalnya,. Mkasih Kang!

    Kan di VB.NET ada fitur upgradenya jadi tinggal open aja project vb6, walaupun hasil upgradenya enggak 100% berhasil jadi sisanya diedit manual terutama yang berhubungan dengan fungsi api.

    Untuk referensi mungkin bisa baca buku UPGRADING Microsoft Visual Basic 6.0 To Microsoft Visual Basic .NET.

    Selamat mencoba :)

  8. Yudhi Purnomo
    March 25, 2010 at 8:34 am | #8

    Kalau konkesi menggunakan Internet VPN atau pakai IP publik so oke..bisa nggak om mengulas memakai dial up lewat jaringan telp, dengan asumsi sewaktu mengirim data dial terlebih dahulu..thanks berat atas infonya

  9. March 25, 2010 at 9:08 am | #9

    Thank mas yudhi atas masukannya, sy mungkin agak kesulitan mencobanya karena belum punya perangkat telp rumah :D .

    Trus mengenai dialup dulu ini, maksudnya seperti mau ngirim fax atau gimana? Pertanyaannya masih belum jelas.

  10. wawan
    April 24, 2010 at 5:03 pm | #10

    Nice info mas…
    Btw linknya dah mati mas, bisa upload lagi? thx before

  11. April 24, 2010 at 5:40 pm | #11

    wawan :

    Nice info mas…
    Btw linknya dah mati mas, bisa upload lagi? thx before

    Oke mas linknya udah aktif lagi, silahkan lanjut download

  12. wawan
    April 25, 2010 at 3:33 pm | #12

    thx ya mas dah bagi2 ilmunya…

  13. April 26, 2010 at 1:24 am | #13

    wawan :

    thx ya mas dah bagi2 ilmunya…

    Oke sama2x

  14. June 7, 2010 at 1:52 pm | #14

    mas source code buat coneksi nya mana?????

  15. June 7, 2010 at 10:28 pm | #15

    endo :

    mas source code buat coneksi nya mana?????

    Dicek aja om yg lebih teliti, yang jelas kode untuk koneksi winsock dan databasenya sudah ada di sample programnya.

  16. arik s
    June 20, 2010 at 3:27 pm | #16

    mas, link untuk download source nya mati, bisa tolong d upload di server lain? saya sedang butuh untuk lengkapin modul tugas akhir saya, thank’s b4 mas.

    • June 20, 2010 at 4:23 pm | #17

      Saya baru cek linknya berfungsi kok, silahkan dicoba lagi.

  17. arik s
    June 21, 2010 at 2:43 pm | #18

    mas, saya sudah download sample winsock 4 nya.. thx,
    mas saya mau tanya,kasus saya :
    saya membangun program sistem rfid dengan vb6 database mysql dengan interface phpmyadmin. yang saya mau tanyakan :

    apakah database pada satu node pc bisa digunakan oleh program pada pc lain? (pc terhubung ke jaringan).kalau bisa bagaimana cara koneksinya? mohon pencerahannya..sebelumnya saya sudah membuat koneksi vb dngan mysql tetapi pada computer yang sama.

    • June 21, 2010 at 4:26 pm | #19

      Yang jelas bisa hanya saja privilage user mysqlnya harus diatur untuk bisa login dari pc lain, untuk masalah ini coba mampir ke SINI.

      untuk koneksinya ya sama seperti konek lokal tinggal ganti attribut SERVERnya :

      DRIVER={MySQL ODBC 5.1 Driver};SERVER=IP_KOMPUTER;DATABASE=nama_db;UID=user_mysql;PWD=pass_mysql;OPTION=3
      
  18. July 12, 2010 at 1:06 pm | #20

    mas qu cuman mau tanya nih,,
    program VB 6 qu ko komponennya banyk yg ga bisa ya, begitu ingin ku tmmbahin ke form malah muncul seperti ini:

    “License information for this component not found.You do not have an aproppriate license to use this functionality in the design environment”

    itu knp ya mas??

    terima kasih

    • July 12, 2010 at 1:48 pm | #21

      Penyebabnya bisa saja :
      1. Waktu nginstall VBnya pake cd installer khusus VB, sy dengar cd installer khusus VB sering bermasalah sebaiknya pake cd installer Visual Studio
      2. Nama komponennya apa ya? DBGrid bukan ? Klo iya coba cek file dg ekstensi .reg di cd installer vbnya trus dijalankan. File tersebut biasanya 1 folder dg file ocxnya.

  19. niki
    August 17, 2010 at 6:42 am | #22

    mas makaasih banget buat artikelnya yah, sangat membantu dalam pengerjaan tugas saya.
    nice info

  20. lela
    September 22, 2010 at 5:10 am | #24

    mas saya mo tanya kalo membuat aplikasi chating multiprotokol menggunakan ajax gimana y?saya sudah banyak tanya ksana sini tapi banyak g msh kurang mngerti.klo mas tw gimana ya mas cara&scriptnya?.klo mo blz kemail saya jg gpp.makasih sbelumnya

    • September 22, 2010 at 6:13 am | #25

      Wah sory sekali mba, sy belom pernah coding menggunakan ajax.
      Kebetulan proyek sy selama ini desktop semua :D

  21. November 11, 2010 at 1:40 am | #26

    artikel bagus & bermanfaat sy udah nyicipin…!! yach membantu lah..! tp kalo untuk kita bisa input barang yang baru kodenya gimana yach bos ??

    • November 11, 2010 at 2:21 am | #27

      Nyicipin, makanan kaleee he he he :D

      Konsepnya masih sama kok om, tinggal buat aja command/keyword khusus pada saat mengirim ke server. ex :

      ins#kode_barang#nama_barang#harga
      

      Nah di aplikasi server kan ada pengecekan data yang masuk, jika diawali dg keyword ins berarti perintah untuk menginputkan data baru (tentunya data diatas harus diparsing terlebih dulu).

      Selamat mencoba :)

  22. erick
    January 18, 2011 at 6:24 am | #28

    sampel codenya gak bisa didownload di 4shared mas…
    bisa diupdate?
    trims

    • January 18, 2011 at 7:12 am | #29

      Oke om tq infonya, silahkan dicoba lagi.

  23. ferdi
    January 18, 2011 at 8:33 pm | #30

    mas, thanks banget ea, kebetulan aq mw belajar bikin billing warnet, mungkin dengan winsock akan sangat membantu.
    tapi mas klo ada boleh donk tutorial program billing warnet, klo bisa dari VB dan Delphi mas, aq masih newbie di dunia pemrograman, tapi mw belajar. hehe
    nanti tolong dikirim via email ea mas, si_ip3y@yahoo.com

    thanks info’y…!
    sukses terus ea buat mas’y….

    • January 19, 2011 at 3:25 am | #31

      Masih newbie ya om ? Setau sy ilmu itu didatangi bukan mendatangi.

      Ini ada sample billing warnet, silahkan dioprek.

  24. Ree
    February 19, 2011 at 10:21 pm | #32

    Maaf Om… Koreksi Link donlot nya…
    yang di atas gak bisa…
    tapi sy nemu yg ini..
    “www.4shared.com/file/Ss6tARNZ/Winsock4.htm”

    • February 20, 2011 at 2:52 am | #33

      Ok om, tq infonya
      tapi udah sy coba masih linknya masih bisa kok

  25. Anthon
    February 20, 2011 at 6:21 pm | #34

    mas,,,mw nanya,,klu untuk menampilkan data pada klien,,tp dari Tabel yg berbeda,,,
    yg ada skrng kan untuk cek stock barang [ mis. TBLSTOCK ],,,klu misalnya d tmbahkan untuk cek hasil penjualan [ mis. TBLJUAL ],,,g mna cara.x,,,? mohon bantuan.x,,,
    thank’s b4…

    • February 21, 2011 at 2:33 am | #35

      Revisi aplikasi server :
      1. Tambah fungsi baru di aplikasi servernya misal dengan nama getDataPenjualan yg tugasnya untuk melakukan query ke tbljual, jd om tinggal modif aja fungsi getDataBarang
      2. Untuk event Socket_DataArrival, harus ditambahkan kondisi untuk mengecek perintah yg dikirim dari klien. ex :

      rivate Sub Socket_DataArrival(Index As Integer, ByVal bytesTotal As Long)
          Dim i           As Long
          Dim strData     As String
          Dim ret         As Boolean
          
          Dim arrTmp()    As String
          Dim param()     As String
          
          On Error GoTo errHandle
          
          ' Grab the data from the specified Winsock object, and pass it to the parent.
          Call Socket(Index).GetData(strData)
          DoEvents
                  
          'contoh isi strData:
          ' barang#datang barang dicari
          ' 0      1
          ' jual#tanggal1#tanggal2
          ' 0    1        2
          
          param = Split(strData, "#")
          Select Case param(0)
              Case "barang"
                  arrTmp = getDataBarang(param(1))
          
              Case "jual"
                  arrTmp = getDataPenjualan(param(1), param(2))
          End Select
          
          For i = LBound(arrTmp) To UBound(arrTmp)
              If Len(arrTmp(i)) > 0 Then
                  ret = send(Index, arrTmp(i))
              End If
          Next i
          
          Exit Sub
      errHandle:
         Call Socket(Index).Close
      End Sub
      

      Revisi aplikasi klien :
      Waktu ngirim data ditambahkan keyword, misal :
      1. untuk data barang : barang#datang barang dicari
      2. untuk data penjualan : jual#tanggal1#tanggal2

      Selamat mencoba :)

  26. Dimas
    June 20, 2011 at 2:30 am | #36

    mas, mau nanya tentang winsock, kalau diimplementasikan di windows mobile apakah bisa running seperti running di desktop atau pakai komponen apa yang semacam winsock untuk windows mobile, terima kasih.

  27. Gilang
    August 6, 2011 at 2:05 pm | #37

    Malam mas,,sya mo tanya klo mo ambil jam dari server tapi DB pke MsAccess gmana y caranya at codingnya??n itu bebanin kinerja databasenya g??

    • August 8, 2011 at 2:13 am | #38

      Enggak usah dari aksesnya om, tinggal gini aja klo mau ngambil tanggal server :

      Dim tglServer As Date
      
      tglServer = Format(Now, "yyyy/MM/dd")
      Debug.Print "Tgl Server : " & tglServer
      
  28. Gilang
    August 8, 2011 at 3:41 am | #39

    btw code di atas pke componen Winsock mz??

    • August 8, 2011 at 4:07 am | #40

      Iya om untuk ngirim ke kliennya pake winsock, bukannya ini membahas winsock om :D

  29. Gilang
    August 9, 2011 at 9:56 am | #41

    mz ttp g bsa tu,, ada contoh projectnya g ambil timer server pke winsock??btw kmrn ak dah dpet artikel ambil timer dari server tpi timer pasiv n pke protokol UDP jadi msih krang memuaskan..sblmnya thanx y mz ats jawabannya

  30. Gilang
    August 9, 2011 at 2:10 pm | #42

    Jadi kyak contoh Winsock4,,Server Listening trus Klien yang aktif ambil data gtu mz

    • August 10, 2011 at 4:57 am | #43

      Dicoba dulu om semua artikel sy yg berhubungan dengan winsock, itu sudah mengcover semua pertanyaan om.

  31. rahadian
    August 11, 2011 at 10:35 pm | #44

    mas q mo tanya apa winsock di vb 6.0 untuk koneksinya memang terbatas untuk jaringan perr to perr apa nggak.klo enggak apa tolls tambahannya. bisa nggak q minta contoh pengujian tentang winsock di vb 6.0 klo bener2 hanya trbatas pada jaringan perr to perr.thanks sebelumnya.

    • August 12, 2011 at 1:10 am | #45

      Enggak om, yg penting komputer yg digunakan untuk mencoba program winsocknya harus sudah terhubung.

      Si om sendiri lah yg harus nguji, contoh program sudah ada tinggal luangkan waktu untuk mencoba.

  32. November 8, 2011 at 2:48 am | #46

    om mau tanya , kalau di buat user yang bisa di ganti settingan port dan ip addres nya untuk user, gimana cara nya yaa om??
    mohon bantuan na…..
    masih nyuuuwwwww… =D

  33. November 10, 2011 at 2:08 pm | #47

    mas kalo untuk membuat aplikasi chat gmna mas (misalkan bikin aplikasi chat fb / ym sendiri ) mohon pencerahannya ,, :) )

  34. December 14, 2011 at 4:33 am | #49

    bagus sekali mas materinya, ada gak mas contoh aplikasi sederhana yang ada input, edit yang menggunakan fasilitas Winsock, baik dari sisi klien maupun server, terima kasih sebelumnya mas semoga sukses selalu

  35. January 2, 2012 at 1:08 pm | #51

    mas kalo itu kan pake listview, kalo pake datagrid control gmn caranya om???
    jadi di klien ntar pake datagrid plus bisa nginput data langsung???
    :hope:

    • January 3, 2012 at 1:19 pm | #52

      Klo datagrid control sy udah lama enggak make om, pake listview aja :D

  36. February 28, 2012 at 3:32 pm | #53

    om, saya kan punya Acces Point dari TP-LINK, kalo pengen setting itu kudu konek via browser yg pake ip addres bawaan dari AP tadi..didalamnya ada data kayak SSID, SIGNAL STRENGHT, RANGE, CHANNEL de el el…lha saya mau buat aplikasi dari VB 6.0 buat baca semua data AP itu, tanpa harus masuk browser…caranya gimana ya om?? mohon bantuannya,
    makasih banyak om..

    • February 28, 2012 at 5:07 pm | #54

      Wah klo informasi ini sy benar2x blank om, cuma setau sy untuk akses hardware itu ada sejenis SDK yg sudah disediain oleh vendornya.

      Coba aja om tanya ke agen reselernya mana tau ada (tapi sy sendiri kurang yakin :D )

      Tapi coba aja link berikut om, mana tau dapat pencerahan :
      1. Wireless Research API
      2. Managed Wifi API

  37. ahmad7802
    April 26, 2012 at 9:40 pm | #55

    Om jujur aku blm ngerti dan paham masalah server dan klien boleh di katakan tdk tau sama sekali , dan terima kasih banyak buat om Admin lewat blog ini aku banyak belajar tentang pemograman khususnya vb6, klo kita dah buat Applikasi yg biasa berbasis database MySql dan pengen buat server dan klien … langkah2 yg harus kita buat apa saja … seperti konek ke server dan input data dari klien … dan terima kasih banyak Om Kamsiah….

    • April 27, 2012 at 9:59 am | #56

      Client/Server adalah arsitektur jaringan yang memisahkan client (biasanya berupa aplikasi desktop, web, mobile dan lain-lain) dengan server.

      Aplikasi yang om buat menggunakan VB dan database MySQL itu sudah bisa dikategorikan dalam aplikasi client server meskipun baru 2-tier

      Gambar 2 tier

      Gambar 3 tier

  38. ahmad7802
    April 27, 2012 at 10:35 am | #57

    Misal kita buat applikasi Admin tuk menampilkan semua data .. terus klo mau insert , delete , update dari clien gimana om ? apa kita harus buat applikasi seperti Admin jg ?

  1. August 29, 2010 at 6:39 am | #1

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s