Thursday, December 17, 2009

Menggunakan Timer dalam Program

Menggunakan timer dalam program csharp
Timer adalah salah satu komponen dalam pemrograman yang sering kita pakai. Komponen timer ini biasa kita gunakan untuk menjalankan proses secara rutin pada saat-saat tertentu. Proses itu bisa hanya sekali dijalankan atau diulang per-satuan waktu sesuai dengan interval waktu yang ditentukan dalam komponen timer ini. Kita akan mempelajarinya dengan contoh.

Kita akan membuat sebuah program yang berisi 9 buah komponen label, satu buah tombol, dan satu buah komponen timer. Setiap Label akan berubah warnanya setiap 100ms.

Pada saat tombol mulai diklik, warna label akan berubah bergantian dari label pertama sampai label ke-9. Perubahan warna ini dikontrol dengan menggunakan komponen timer yang kita set interval waktunya adalah 100ms. Gambaran dari program ini adalah seperti yang terlihat pada gambar berikut ini:

Menggunakan timer dalam program csharp


Rutin implementasi nya adalah seperti yang tertulis dibawah ini.
using System;
using System.Windows.Forms;

public class MyTimer : Form
{
  private System.Windows.Forms.Label label1;
  private System.Windows.Forms.Label label2;
  private System.Windows.Forms.Label label3;
  private System.Windows.Forms.Label label4;
  private System.Windows.Forms.Label label5;
  private System.Windows.Forms.Label label6;
  private System.Windows.Forms.Label label7;
  private System.Windows.Forms.Label label8;
  private System.Windows.Forms.Label label9;
  private System.Windows.Forms.Button btnStart;
  private System.Windows.Forms.Timer timer1;
  private int index;  
  private System.ComponentModel.IContainer components = null;

  public MyTimer()
  {
    components = new System.ComponentModel.Container();
    label1 = new System.Windows.Forms.Label();
    label2 = new System.Windows.Forms.Label();
    label3 = new System.Windows.Forms.Label();
    label4 = new System.Windows.Forms.Label();
    label5 = new System.Windows.Forms.Label();
    label6 = new System.Windows.Forms.Label();
    label7 = new System.Windows.Forms.Label();
    label8 = new System.Windows.Forms.Label();
    label9 = new System.Windows.Forms.Label();
    btnStart = new System.Windows.Forms.Button();
    timer1 = new System.Windows.Forms.Timer(components);
    // 
    // label1
    // 
    label1.BackColor = System.Drawing.Color.Lime;
    label1.Location = new System.Drawing.Point(20, 30);
    label1.Size = new System.Drawing.Size(61, 34);
    label1.Text = "1";
    label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
    // 
    // label2
    // 
    label2.BackColor = System.Drawing.Color.White;
    label2.Location = new System.Drawing.Point(87, 30);
    label2.Size = new System.Drawing.Size(61, 34);
    label2.Text = "2";
    label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
    // 
    // label3
    // 
    label3.BackColor = System.Drawing.Color.White;
    label3.Location = new System.Drawing.Point(154, 30);
    label3.Size = new System.Drawing.Size(61, 34);
    label3.Text = "3";
    label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
    // 
    // label4
    // 
    label4.BackColor = System.Drawing.Color.White;
    label4.Location = new System.Drawing.Point(20, 74);
    label4.Size = new System.Drawing.Size(61, 34);
    label4.Text = "4";
    label4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
    // 
    // label5
    // 
    label5.BackColor = System.Drawing.Color.White;
    label5.Location = new System.Drawing.Point(87, 74);
    label5.Size = new System.Drawing.Size(61, 34);
    label5.Text = "5";
    label5.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
    // 
    // label6
    // 
    label6.BackColor = System.Drawing.Color.White;
    label6.Location = new System.Drawing.Point(154, 74);
    label6.Size = new System.Drawing.Size(61, 34);
    label6.Text = "6";
    label6.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
    // 
    // label7
    // 
    label7.BackColor = System.Drawing.Color.White;
    label7.Location = new System.Drawing.Point(20, 118);
    label7.Size = new System.Drawing.Size(61, 34);
    label7.Text = "7";
    label7.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
    // 
    // label8
    // 
    label8.BackColor = System.Drawing.Color.White;
    label8.Location = new System.Drawing.Point(87, 118);
    label8.Size = new System.Drawing.Size(61, 34);
    label8.Text = "8";
    label8.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
    // 
    // label9
    // 
    label9.BackColor = System.Drawing.Color.White;
    label9.Location = new System.Drawing.Point(154, 118);
    label9.Size = new System.Drawing.Size(61, 34);
    label9.Text = "9";
    label9.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
    // 
    // btnStart
    // 
    btnStart.Location = new System.Drawing.Point(140, 167);
    btnStart.Size = new System.Drawing.Size(75, 23);
    btnStart.Text = "Mulai";
    btnStart.Click += new System.EventHandler(btnStart_Click);
    // 
    // timer1
    // 
    timer1.Interval = 1000;
    timer1.Tick += new System.EventHandler(timer1_Tick);
    // 
    // Form6
    // 
    Size = new System.Drawing.Size(480, 230);
    Controls.Add(btnStart);
    Controls.Add(label9);
    Controls.Add(label5);
    Controls.Add(label3);
    Controls.Add(label8);
    Controls.Add(label7);
    Controls.Add(label6);
    Controls.Add(label4);
    Controls.Add(label2);
    Controls.Add(label1);
    Text = "Demo Pemakaian Timer (http://abcsharpind.blogspot.com)";
    index = 0;
  }

  private void btnStart_Click(object sender, EventArgs e)
  {
      timer1.Enabled = !timer1.Enabled;
      if (timer1.Enabled)
      {
          btnStart.Text = "Selesi";
      }
      else
      {
          btnStart.Text = "Mulai";
      }

  }

  private void timer1_Tick(object sender, EventArgs e)
  {
      index = (index + 1) % 9;
      switch (index)
      {
          case 0:
              label9.BackColor = System.Drawing.Color.White;
              label1.BackColor = System.Drawing.Color.Lime;
              break;
          case 1:
              label1.BackColor = System.Drawing.Color.White;
              label2.BackColor = System.Drawing.Color.Lime;
              break;
          case 2:
              label2.BackColor = System.Drawing.Color.White;
              label3.BackColor = System.Drawing.Color.Lime;
              break;
          case 3:
              label3.BackColor = System.Drawing.Color.White;
              label4.BackColor = System.Drawing.Color.Lime;
              break;
          case 4:
              label4.BackColor = System.Drawing.Color.White;
              label5.BackColor = System.Drawing.Color.Lime;
              break;
          case 5:
              label5.BackColor = System.Drawing.Color.White;
              label6.BackColor = System.Drawing.Color.Lime;
              break;
          case 6:
              label6.BackColor = System.Drawing.Color.White;
              label7.BackColor = System.Drawing.Color.Lime;
              break;
          case 7:
              label7.BackColor = System.Drawing.Color.White;
              label8.BackColor = System.Drawing.Color.Lime;
              break;
          case 8:
              label8.BackColor = System.Drawing.Color.White;
              label9.BackColor = System.Drawing.Color.Lime;
              break;
      }
  }

  public static void Main()
  {
     Application.EnableVisualStyles();
     Application.SetCompatibleTextRenderingDefault(false);
     MyTimer p ;
     p = new MyTimer();
     Application.Run(p);        
  }
  
}

Selamat Mencoba!!!

0 comments:

Post a Comment