Membuat Aplikasi Auto Update di Jaringan Lokal Dengan VB6 (Aplikasi Sederhana)

, , 2 comments
Assalamualaikum wr. wb, selamat apa saja.

Suatu disuatu grup facebook ada yg menanyakan tentang kelebihan aplikasi web dibanding aplikasi desktop. Lucunya tuh orang mosting pertanyaan di grup pengembang aplikasi web. Ya jelas pada banyak yang mengunggulkan aplikasi web base dibanding desktop. Dan seringnya tanpa tabayun dulu sama aplikasi desktop. Bahkan ada yang bilang aplikasi desktop sudah nggak relevan dan sudah digantikan sama aplikasi web base. Hallow, memangnya dikomputermu aplikasi web base bisa jalan sendiri tanpa browser? Aplikasi browser itu aplikasi berbasis web base apa desktop?

Terus apa kelebihan aplikasi web base dibanding aplikasi desktop? kelebihannya banyak. Tapi kelebihan aplikasi desktop dibanding aplikasi web base juga banyak. Jadi sama aja kan, pemilihan platform aplikasi sebenarnya tergantung kebutuhan. Mau pakai web base atau desktop base sama aja.


Tapi ada 1 kelemahan aplikasi desktop yang dijadikan salah satu senjata pamungkas pemuja aplikasi web base:

Aplikasi Desktop Harus Install satu-satu di client.

Ya, itu benar. Karena aplikasi desktop biasanya berbasis compiler maka seyogyanya aplikasi itu berada di komputer yang menjalankan. Karena ini adalah salah satu kelebihan aplikasi desktop juga. Karena dia berbasis compiler, dia punya hak spesial untuk menjalankan resource komputer. Berbeda dengan aplikasi berbasis web yang berjalan di browser yang notabene adalah aplikasi desktop. Aplikasi web tidak bisa mengakses hardware dengan maksimal. Dia hanya bisa mengakses resource yang dimiliki oleh browsernya. Dari segi kecepatan dan fungsi akses harware, Aplikasi berbasis web seharusnya mengaku kalah.

Namun dibalik kelebihan ini ada yang harus dibayar oleh IT perusahaan tersebut. kalau ada update aplikasi, mereka harus rela mengupdate satu persatu komputer.

Mengupdate memang hal yang melelahkan. Tapi itu dulu, setelah ada klinik Tongfang, sekarang aku udah nggak kurus lagi.

FYI, aku kerja di salah satu rumah sakit negeri Kota Semarang dengan jumlah komputer client lebih dari 300 komputer.

Dengan semakin aware-nya user terhadap pemakaian aplikasi komputer maka aplikasi makin berkembang sesuai kebutuhan user. Mau nggak mau proses update jadi makin sering. Ditambah lagi jumlah komputer yang semakin banyak seiring dengan pertumbuhan rumah sakit. Jadi meningkat deh capeknya.

Untuk itu dibutuhkan suatu terobosan di bidang update mengupdate aplikasi, dan salah satu solusi yang aku pikirkan saat itu adalah:

APLIKASI UPDATER

Aplikasi updater adalah aplikasi kecil yang aku kembangkan untuk memudahkan teman-teman bagian operator/teknisi dalam mengupdate aplikasi simrs di tempat kerjaku.

Sebenarnya ada banyak cara untuk membuat aplikasi updater. Kita bisa menggunakan tehnik download seperti yang digunakan oleh aplikasi-aplikasi antivirus atau kalau cuma buat jaringan pakai method copy paste saja sudah cukup.

Konsep aplikasi updater yang aku buat ini sangat sederhana. Aplikasi updater akan membandingkan versi aplikasi (exe) yang ada di server dengan versi aplikasi (exe). Jika versi aplikasi (exe) diserver lebih tinggi, maka apliasi(exe) yang dilokal akan ditimpa dengan aplikasi (exe) dari server. Jika tidak ada versi aplikasi (exe) terbaru, maka Aplikasi updater akan membuka aplikasi yang ada di komputer lokal.

KOMPONEN/OBJECT YANG DIBUTUHKAN

Komponen yang dibutuhkan sebenarnya cuma 1, yaitu FileSystemObyek. File System Obyek sebenarnya bukan bagian dari VB6, tetapi bagian dari Windows Scripting. Karena itu untuk menggunakan obyek ini kita harus menambahkan Microsoft Scripting Runtime di reference aplikasi.

File System Obyek digunakan untuk memperoleh data dan memanipulasi file/folder. Ada banyak perintah yang bisa dilakukan dengan obyek ini, salah banyaknya adalah mengecek versi, mengetahui nama file, folder, melakukan copy, paste, delete dile/folder dsb.

CONTOH PENGGUNAAN UNTUK MENGKOPI FILE

Sebelum melanjutkan ke contoh penggunaannya, tambahkan dulu Microsoft Scriping Runtime di reference Visual Basic 6.
selanjutnya masukkan perintah berikut:

dim fso as FileSystemObyek
dim pathSource as string
dim pathDestination as string

pathSource = "\\xxx.xxx.xx.xxx\simrs.exe"
pathDestination = "D:\FolderApp\simrs.exe"
set fso = new FileSystemObyek
fso.CopyFile pathSource, pathDestination, True

Penjelasan Syntak

dim fso as FileSystemObyek = mendeklarasikan fso sebagai file system obyek
dim pathSource as string       = Path lengkap file yang mau dikopi
dim pathDestination as string = Path Lengkap File hasil kopi dari source

set fso = new FileSystemObyek = menginisiasi fso sebagai obyek baru

fso.CopyFile pathSource, pathDestination, True = fungsi perintah kopi file dengan file system obyek. Formatnya adalah fso.CopyFile PathlengkapFileSumber, PathLengkapHasilKopi, Overwrite atau tidak (true/false).

PENUTUP

Metode updater ini sangat sederhana, namun sangat berguna sekali terutama bagiku, dan mungkin untuk teman-teman IT SIMRS yang menggunakan aplikasi berbasis desktop.

Namun aplikasi ini juga punya kekurangan besar. Karena menggunakan sistem Copy Paste, maka komputer tersebut harus berada di 1 domain.

Lalu bagaimana kalau jaringannya tidak dalam domain?
Tengan saja, masih bisa diakali dengan membuat server samba dengan guest mode. Kalau kita mau berusaha pasti ada jalan :).


TAMBAHAN

TUTORIAL PENGGUNAAN SOURCE CODE APLIKASI UPDATER BUATANKU

di artikel ini aku sertakan source code aplikasi updater versiku, sebelum teman-teman menjalankan/run source codenya ada beberapa setting yang harus disesuaikan.

1. Aku sudah menyertakan file test.exe dengan 2 versi berbeda untuk percobaan. File test.exe yang versinya lebih tinggi diletakkan di server dan yang lebih rendah di komputer lokal
2. Sebagai contoh file lokal aku letakkan di drive D, folder App, sedangkan file server aku masukkan ke folder "exeterbaru"

Aplikasi test versi 1.0.0.1 di komputer lokal
Aplikasi test versi 1.0.0.2 di server


3. Buka Source code, Class Module, kemudian klik file konfugurasi(konfigurasi.cls)

4. Masukkan Path lengkap file di server di PathFileServer dan path lengkap file destinasinya di PathFileLokal

5. Jalankan aplikasi

6. Kalau berhasil tandanya seperti ini nih:

Aplkasi updater mendeteksi versi di server lebih tinggi




7. Kalau form di gambar nggak keluar berarti prosesnya kembali ke nomor 1.

CARA SETTING VERSI APLIKASI DARI VISUAL BASIC 6

Kalau teman-teman belum tahu cara mengeset versi aplikasi di VB6, begini langkah-langkahnya:

1. Buka project
2. Pilih Menu Project ->Project Properties
menu project propertis



3. Klik tab "Make",   disitu teman-teman akan menemukan bagian version number. teman-teman bisa menset versi aplikasinya disitu. Saranku setting di bagian revision terlebih dahulu, kalau sudah penuh baru naik ke minor, kalau minor slotnya sudah penuh baru naik ke major.
setting version number aplikasi

Untuk Source Codenya bisa diambil disini:
DOWNLOAD


















2 comments:

  1. Huahahaha... Jebul mas martin bisa sewot juga utk masalah desktop vs web, dan saya juga SAMAAAAAA.
    Banyak yg gak sadar bahwa web itu butuh desktop. Bahkan kalo mau, cuman pake vb6 aja bisa bikin browser sendiri. Bahkan saya pernah nyoba pake webkit nya mozilla dan buka aplikasi web teman malah bisa Membypass otentikasinya.

    Eh, btw kalo urusan harus nginstall & update di tiap klien, saya kok punya cara tersendiri ya mas. Kalo saya semua exe saya taruh di server app, semua update juga saya tumpuk di sana. Nah folder itu saya share terhidden dan diakses oleh para klien. Jadinya klien itu cuma jalanin exe yg dishare dari server dan gak perlu ngider ke semua kompi. Klien dibuatin satu exe trigger saja. Kalo ada dll baru ya tinggal copy ke system klien dan lakukan regsvr32 secara silent.
    Hingga detik ini vb6 adalah senjata saya, vb6 memang bener2 diehard

    ReplyDelete
  2. Iya mas, kadang sebel juga kalau ada yg bangga2in web, tp nggak tahu app desktop itu kyk apa, pernah jg ada obrolan lucu soal vb6, untungnya yg denger istriku wkt ikut kelas web design, ada tentor dia nanya ke temennya, vb6 itu buat apa? Temennya jawab, vb6 itu bahasa pemrograman dasar, biasanya buat bikin aplikasi2 kecil, misalnya app kasir. Kalau yg denger sy, langsung tak ajak main ke kantor 😂😂😂.
    Cara updatenya keren jg mas, berarti aplikasinya modular ya mas? Pakai dll. Tempatku aplilasinya single exe semua. Sebenarnya Vb6 banyak yg belum ke explore, selama ini sy masih enjoy & belum ada masalah dlm pengembangan aplikasi simrs

    ReplyDelete