Fauzian Sebastian (Zian Tech)
Menu
  • Home
  • TKJ
    • Perakitan
    • Installasi
    • Konfigurasi
    • TroubleHosting
  • Rekayasa Perangkat Lunak
    • WEB Design
    • Software Aplication
  • Multimedia
    • Animation
    • Desain Graphic
  • Trending Topic
  • Tentang Saya

Saturday, 30 May 2015

Menggunakan Backgroundworker di C# dan VB.NET

By zianovel21:54:00Tutorial C#, Tutorial VB.Net No comments
Assalamualaikum agan semua, jika sebelumnya saya memposting tentang Menggunakan Application Configuration File (App.Config). Pada malam hari ini saya akan memposting tentang Menggunakan Backgroundworker di C# dan VB.NET.

Apa itu Backgroundworker ?
Backgroundworker adalah component yang dapat menjalankan atau mengeksekusi kode pada background atau secondray thread, atau bisa dibilang dengan backgroundworker kita bisa menjalan atau mengeksekusi kode tanpa mengganggu proses pada program utama,

Pernahkah anda membuat aplikasi dimana pada aplikasi tersebut terdapat proses yang memakan waktu yang cukup lama? jika proses tersebut terlalu lama seringkali form tersebut berada pada keadaan 'Not Responding'. 
Mungkin bagi kita sebagai orang yang membuat aplikasi tersebut kita mengerti bahwa aplikasi sedang menyelesaikan proses yang cukup lama sehingga menyebabkan Not Responding, 
namun tidak bagi orang penggna yang mungkin beranggapan bahwa aplikasi yang kita buat itu mengalami crash atau error. Dengan backgroundworker ini lah kita dapat menjadikan penanganan proses yang rumit dan membutuhkan waktu yang lama terpisah dengan UI.

Baiklah langsung saja Langkah - langkah Menggunakan Backgroundworker di C# dan VB.NET

1. Buat project pada visual studio (disini saya menggunakan visual studio 2013)

2. Tambahkan 2 Button, 2 Label, 1 Progressbar dan 1 Backgroundworker

3. Lalu desain form seperti gambar dibawah ini


4. Pada event Form_Load tambahkan script dibawah ini
C#
' setting property backgroundworker
backgroundWorker1.WorkerSupportsCancellation = True 'agar backgroundworker bisa di cancel
backgroundWorker1.WorkerReportsProgress = True 'agar backgroundworker dapat memperbarui report progress
VB.NET
// setting property backgroundworker
backgroundWorker1.WorkerSupportsCancellation = true; // agar backgroundworker bisa di cancel
backgroundWorker1.WorkerReportsProgress = true; // agar backgroundworker dapat memperbarui report progress

5. Pada Event button_start_Click tambahkan script dibawah ini
C#
// jika backgroundworker tidak sedang berjalan/busy
if (!backgroundWorker1.IsBusy)
{
// menjalankan backgroundworker
backgroundWorker1.RunWorkerAsync();
}
VB.NET
' jika backgroundworker tidak sedang berjalan/busy
If (backgroundWorker1.IsBusy = False) Then
' menjalankan backgroundworker
backgroundWorker1.RunWorkerAsync()
End If

6. Pada Event button_cancel_Click tambahkan script dibawah ini
C#
// jika backgroundworker sedang berjalan
if (backgroundWorker1.IsBusy)
{
// membatalkan proses backgroundworker
backgroundWorker1.CancelAsync();
}
VB.NET
'jika backgroundworker sedang berjalan
If (backgroundWorker1.IsBusy) Then
'membatalkan proses backgroundworker
backgroundWorker1.CancelAsync()
End If

7. Pada Event Backgroundworker1_DoWork tambahkan script dibawah ini
C#
// perulangan untuk mengisi value pada progressbar
for (int i = 0; i <= 100;i++)
{

string status = "";
if (i >= 1 && i < 30)
{
status = "Inisialisasi";
}
else if (i >= 30 && i < 70)
{
status = "Pengecekan file configurasi";
}
else if (i >= 70 && i < 100)
{
status = "Pengecekan Database";
}
else if (i == 100)
{
status = "Selesai";
}

// memperbarui reportprogress
backgroundWorker1.ReportProgress(i, status);

System.Threading.Thread.Sleep(100);

// jika backgroundWorker1 di batalkan
if (backgroundWorker1.CancellationPending)
{
e.Cancel = true;
return;
}
}
VB.NET
 ' perulangan untuk mengisi value pada progressbar
For i As Integer = 0 To 100

Dim status As String = ""
If (i >= 1 And i < 30) Then
status = "Inisialisasi"
ElseIf (i >= 30 And i < 70) Then
status = "Pengecekan file configurasi"

ElseIf (i >= 70 And i < 100) Then
status = "Pengecekan Database"
ElseIf (i = 100) Then
status = "Selesai"
End If

' memperbarui reportprogress
backgroundWorker1.ReportProgress(i, status)

System.Threading.Thread.Sleep(100)

' jika backgroundWorker1 di batalkan
If (backgroundWorker1.CancellationPending) Then
e.Cancel = True
Exit Sub
End If
Next

8. Pada Event Backgroundworker1_Progresschanged tambahkan script dibawah ini
C#
        progressBar1.Value = Convert.ToDouble(e.ProgressPercentage) 'memperbarui value pada progressbar
label1.Text = e.ProgressPercentage.ToString() & "%" ' memperbarui text pada label1
label2.Text = DirectCast(e.UserState, String) ' memberparui text pada label2
VB.NET
        progressBar1.Value = Convert.ToDouble(e.ProgressPercentage) 'memperbarui value pada progressbar
label1.Text = e.ProgressPercentage.ToString() & "%" ' memperbarui text pada label1
label2.Text = DirectCast(e.UserState, String) ' memberparui text pada label2

9. Pada Event Backgroundworker1_RunworkerCompleted tambahkan script dibawah ini
C#
            if (e.Cancelled == true) // jika backgroundWorker1 dibatalkan
{
MessageBox.Show("Proses dibatalkan");
}
else if (e.Error != null) // jika terjadi error selama backgroundworker berjalan
{
MessageBox.Show(e.Error.Message);
}
else
{
MessageBox.Show("Proses selesai");
}
VB.NET
If (e.Cancelled = True) Then 'jika backgroundWorker1 dibatalkan
MessageBox.Show("Proses dibatalkan")
ElseIf (e.Error IsNot Nothing) Then ' jika terjadi error selama backgroundworker berjalan
MessageBox.Show(e.Error.Message)
Else
MessageBox.Show("Proses selesai")
End If

10. Jalankan program yang telah kita buat dengan menekan F5, maka akan seperti gambar dibawah ini

Menggunakan Backgroundworker di C# dan VB.NET

Menggunakan Backgroundworker di C# dan VB.NET
Proses berjalan pada Thread yang berbeda dari UI Sehingga tidak menyebabkan terjadinya Not Responding dan Form menjadi Responsif


Menggunakan Backgroundworker di C# dan VB.NET
Membatalkan proses yang sedang berjalan pada backgroundworker
Kita bisa melihat perbedaan yang cukup terlihat ketika kita menggunakan backgroundworker atau tidak, jika kita menggunakan backgroundworker proses perulangan untuk menambahkan value pada progressbar berada pada Thread yang berbeda dari UI dengan begitu ketika proses tersebut memakan waktu yang cukup lama form tersebut akan tetap responsif dan tidak menyebabkan 'Not Responding' 

Anda dapat mendownload source codenya dibawah ini 
| VB.NET | C# |
Untuk password silahkan klik disini 


Sekian pembahasan tentang Menggunakan Backgroundworker di C# dan VB.NET
Tunggu tutorial menarik lainnya, karena itu kunjungi terus blog ini
Read More

Saturday, 23 May 2015

Menggunakan Application Configuration File (app.config) Untuk Menyimpan Pengaturan Aplikasi

By zianovel10:14:00Tutorial C#, Tutorial VB.Net No comments
Selamat siang agan semua, karena saya sudah jarang posting dikarenakan menyibukan diri :v, kali ini saya akan kembali memposting tutorial kembali.
Kali ini saya akan memposting tutorial tentang Menggunakan Application Configuration File (app.config) Untuk Menyimpan Pengaturan Aplikasi. banyak cara yang bisa kita gunakan untuk menyimpan pengaturan aplikasi yang kita buat misal menggunakan file .ini yang pernah saya bahas sebelumnya pada artikel Read/Write File .ini Dengan VB.NET.

Tapi kali ini saya akan menggunakan Application Configuration FIle (app.config).

Langsung saja Menggunakan Application Configuration File (app.config) Untuk Menyimpan Pengaturan Aplikasi

1. Buat sebuah project baru Visual Basic/Visual C# Windows Forms Application

2. Pada bagian solution explorer, jika tidak ada file app.config maka tambahkan app.config dengan cara klik kanan nama project->add->New Item

Menggunakan Application Configuration File (app.config) Untuk Menyimpan Pengaturan Aplikasi

3. Cari Application Configuration File lalu klik Add

Menggunakan Application Configuration File (app.config) Untuk Menyimpan Pengaturan Aplikasi

4. Klik 2 kali pada file app.config lalu tambahkan script ini setelah <configuration>

<appSettings>
<add key="server" value="localhost"/>
<add key="username" value="root"/>
<add key="password" value=""/>
<add key="database" value="belajar"/>
</appSettings>

5. Tambahkan 4 Label, 4 Textbox dan 2 Button lalu desain form seperti gambar dibawah ini

Menggunakan Application Configuration File (app.config) Untuk Menyimpan Pengaturan Aplikasi


6. Tambahkan references System.Configuration.dll dengan cara klik menu project->add references pilih Assemlby lalu Checklist System.Configuration setelah itu klik add

Menggunakan Application Configuration File (app.config) Untuk Menyimpan Pengaturan Aplikasi


7. Klik 2 kali pada form tersebut tambahkan namespace System.Configuration 
C#
using System.Configuration;
VB.NET
Imports System.Configuration

7. Pada event click tombol Baca tambahkan script dibawah ini
C#
var appSettings = ConfigurationManager.AppSettings;
txt_server.Text = appSettings["server"];
txt_username.Text = appSettings["username"];
txt_password.Text = appSettings["password"];
txt_database.Text = appSettings["database"];
VB.NET
Dim appSettings = ConfigurationManager.AppSettings
txt_server.Text = appSettings("server")
txt_username.Text = appSettings("username")
txt_password.Text = appSettings("password")
txt_database.Text = appSettings("database")

8. Pada event click tombol Simpan tambahkan script dibawah ini
C#
            var appSettings = ConfigurationManager.AppSettings;
txt_server.Text = appSettings["server"];
txt_username.Text = appSettings["username"];
txt_password.Text = appSettings["password"];
txt_database.Text = appSettings["database"];
VB.NET
        Dim configFile = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)
Dim settings = configFile.AppSettings.Settings

settings("server").Value = txt_server.Text
settings("username").Value = txt_username.Text
settings("password").Value = txt_password.Text
settings("database").Value = txt_database.Text

configFile.Save(ConfigurationSaveMode.Modified)
ConfigurationManager.RefreshSection(configFile.AppSettings.SectionInformation.Name)

9. Jalankan program tersebut dengan menekan tombol F5 maka akan seperti gambar dibawah ini

Menggunakan Application Configuration File (app.config) Untuk Menyimpan Pengaturan Aplikasi

Menggunakan Application Configuration File (app.config) Untuk Menyimpan Pengaturan Aplikasi
Ketika Tombol Baca di klik

Menggunakan Application Configuration File (app.config) Untuk Menyimpan Pengaturan Aplikasi
Tekan tombol simpan untuk penyimpan pengaturan yang baru
Anda dapat mendownload source codenya dibawah ini
| VB.NET | C# |
Untuk password silahkan klik disini


Sekian pembahasan tentang Menggunakan Application Configuration File (app.config) Untuk Menyimpan Pengaturan Aplikasi
Tunggu tutorial menarik lainnya, karena itu kunjungi terus blog ini
Read More
Newer Posts Older Posts Home

Popular Posts

  • Mengatasi error "String or binary data would be truncated. The statement has been terminated."
    Malam semua setelah beberapa jam yang lalu saya memposting tentang CRUD dengan VB.NET Bagian 1  kali ini saya akan memposting  C ara mengata...
  • Tutorial Sql Injection Dengan SQLMAP Kali Linux
    Tutorial Sql Injection Dengan SQLMAP Kali Linux - SQL Injection merupakan sebuah teknik hacking dimana seorang penyerang dapat memasukka...
  • Memutuskan Koneksi Orang Lain Dengan Tuxcut Kali Linux
    Memutuskan Koneksi Orang Lain Dengan Tuxcut Kali Linux - Tuxcut adalah sebuah program kecil yang berfungsi ( netcut ) "memotong ...
  • Cara Dual Boot Kali Linux dan Windows
    Kali Linux Indonesia - Cara Install Dual Boot Kali Linux dan Windows halo sobat dimana pun berada disini penulis blog Kali Linux Indonesia...
  • Cara Mengatasi Error di Kali Linux
    Cara Mengatasi Error di Kali Linux - Pernah kah anda mengalami error di kali linux anda? jika pernah pasti menjengkelkan tidak bisa update t...

Blog Archive

  • ►  2020 (1)
    • ►  March (1)
  • ►  2016 (26)
    • ►  October (10)
    • ►  May (1)
    • ►  February (3)
    • ►  January (12)
  • ▼  2015 (35)
    • ►  December (2)
    • ►  October (4)
    • ►  September (18)
    • ►  August (1)
    • ►  June (1)
    • ▼  May (2)
      • Menggunakan Backgroundworker di C# dan VB.NET
      • Menggunakan Application Configuration File (app.co...
    • ►  April (1)
    • ►  March (1)
    • ►  January (5)
  • ►  2014 (99)
    • ►  December (1)
    • ►  November (3)
    • ►  October (1)
    • ►  September (6)
    • ►  August (3)
    • ►  July (3)
    • ►  June (9)
    • ►  May (9)
    • ►  April (27)
    • ►  March (20)
    • ►  February (10)
    • ►  January (7)
  • ►  2013 (17)
    • ►  December (6)
    • ►  November (1)
    • ►  October (9)
    • ►  March (1)

Tentangku Yang tak pernah Usai

My Photo
zianovel
Kenalan dulu yu, karena ada istilah tak kenal maka tak sayang. Ya walaupun terkadang udah lama kenal eh ga disayang-sayang. Giliran udah kenal dan udah sayang, eh malah ditinggal pas lagi sayang-sayangnya.
View my complete profile

Copyright © Design by Muhamad Fauzian