Hello ENGINEER, Welcome to Electrical's Corner

Mei 06, 2015

ALL ABOUT TRANSISTOR - RESUME

1.    Dasar-dasar Transistor
Pada  postingan sebelumnya telah laras sharing tentang karakteristik dasar  diode,  sebuah piranti  dua terminal  (karenanya  disebut  di-ode) beserta aplikasinya. Pada bagian  ini  akan laras posting karakteristik piranti tiga  terminal  atau  lebih dikenal  sebagai  “transistor”.  Pertama-tama  membahas  transistor  bipolar  atau  BJT  (Bipolar Junction  Transistor).  Berikutnya akan kita  bahas  transistor  unipolar  seperti misalnya FET (field-effect transistor).
Dibandingkan dengan  FET,  BJT  dapat memberikan  penguatan  yang  jauh  lebih besar  dan  tanggapan  frekuensi  yang  lebih baik.  Pada  BJT  baik pembawa  muatan mayoritas  maupun pembawa  muatan  minoritas  mempunyai  peranan  yang  sama pentingnya.
Gambar 1 Diagram BJT : a) Jenis n-p-n dan b) Jenis p-n-p

Terdapat dua jenis kontruksi dasar BJT, yaitu jenis n-p-n dan jenis p-n-p.   Untuk jenis  n-p-n,  BJT  terbuat  dari lapisan  tipis semi konduktor  tipe-p dengan  tingkat  doping yang  relatif  rendah,  yang  diapit  oleh dua  lapisan  semikonduktor  tipe-n.  Karena alasan sejarah pembuatannya, bagian di tengah disebut  “basis” (base),  salah  satu bagian  tipe-n (biasanya  mempunyai  dimensi  yang  kecil)  disebut  “emitor”  (emitter)  dan  yang  lainya sebagai “kolektor” (collector). Secara skematik kedua jenis transistor diperlihatkan pada gambar diagram BJT diatas.
Tanda  panah pada  gambar  1  menunjukkan kaki  emitor  dan  titik dari material tipe-pke material tipe-n.  Perhatikan bahwa untuk jenis n-p-n,  transistor  terdiri  dari  dua sambungan  p-n  yang  berperilaku  seperti  diode.  Setiap diode  dapat  diberi  panjar  maju atau berpanjar mundur, sehingga transistor dapat memiliki empat modus pengoperasian. Salah  satu  modus  yang  banyak digunakan disebut  “modus  normal”,  yaitu  sambungan emitor-basis  berpanjar  maju dan  sambungan kolektor-basis  berpanjar  mundur.  Modus ini juga sering disebut sebagai pengoperasian transistor pada “daerah aktif”.

2.      Pabrikasi BJT
Pabrikasi BJT dapat dilakukan dengan dua teknik, yaitu struktur transistor-alloy melalui difusi  dan  struktur  transistor  planar.    Gambar  2.a) diatas  menunjukkan  struktur  transistor alloy  n-p-n.  Kolektor  terbuat  dari  chip  semikonduktor  tipe-n dengan  ketebalan kurang dari  1  . Daerah basis  dibuat  dengan proses  difusi  kemudian dibuat  kontak  logam untuk dihubungkan dengan kaki  basis.  Daerah  emitor  dibuat  dengan  teknik  alloy  pada daerah  basis.    Sebagai  hasilnya  berupa  sebuah  pasangan  sambungan p-n  yang dipisahkan oleh daerah basis kira-kira setebal kertas.
Untuk struktur planar (gambar  2.b)), suatu lapisan tipe-n dengan tingkat doping rendah ditumbuhkan di  atas substrat   (tanda +  menunjukkan  tingkat  doping  sangat tinggi).  Setelah  melalui  proses  oksidasi  pada  permukaan,  sebuah  jendela  (window) dibuka  dengan proses  penggerusan  (etching)  dan  suatu pengotor (p)  dimasukkan ke kristal  dengan proses  difusi  untuk  membentuk  sambungan  (junction).  Sekali lagi setelah melalui reoksidasi, sebuah jendela kecil dibuka untuk proses difusi pembentukan daerah emitor (n).
Gambar 2 Transistor : a) Sumber alloy , b) Sumber planar dan c) Simbol rangkaian

Secara  konvensional  simbol transistor  n-p-n diperlihatkan pada  gambar 2-c dilengkapi  dengan  tanda  panah  pada emitor  yang  menunjukkan  aliran  muatan positif. Walaupun  sebuah  transistor  n-p-n  akan  bekerja  dengan  kedua  daerah  n  dapat  berfungsi sebagai  emitor, namun karena  kedua  daerah  mempunyai tingkat  doping  dan  geometri yang berbeda, maka daerah n yang dimaksud harus diberi label.

3.    Pengoperasian Transistor
Pada gambar 3-a diperlihatkan keping horizontal transistor jenis n-p-n.  Pengoperasian transistor  dapat  diterangkan  secara  kualitatif  dalam  hal  distribusi  potensial  pada sambungan  (gambar  3-b).  Sambungan  emitor  berpanjar  maju,  dengan  efek dari tegangan panjar  terjadi  penurunan  tegangan  penghalang  pada  sambungan  emitor dan memberi kesempatan pada elektron melakukan injeksi  ke basis dimana pada daerah ini miskin elektron (minoritas).
Sambungan kolektor  berpanjar  mundur;  sebagai  efek dari  pemasangan  tegangan panjar    akan  menaikkan potensial  penghalang  pada  sambungan kolektor.  Karena  daerah  basis sangat tipis, hampir  semua elektron  yang  terinjeksi  pada  basis  tersapu ke kolektor  dimana  mereka  melakukan  rekombinasi  dengan  lubang  yang  “disediakan” dengan pemasangan baterai luar.  (Sebenarnya terjadi  pengambilan  elektron oleh  baterai eksternal, meninggalkan lubang untuk proses rekombinasi).
Sebagai  hasilnya  terjadi transfer  arus  dari  rangkaian  emitor  ke  rangkaian kolektor  yang  besarnya  hampir  tidak  tergantung  pada  tegangan kolektor-basis.  Seperti akan kita  lihat,  transfer  tersebut memungkinkan pemasangan hambatan beban  yang besar untuk mendapatkan penguatan tegangan.
Gambar 3 Pengoperasian transistor n-p-n
Gambar 4 Skema pergerakan pembawa muatan pada pengoperasian transistor n-p-n.

4.    Karakteristik DC
Karakteristik  DC  dari  BJT  dapat  diprediksi  dengan  melihat  aliran  pembawa  muatan melewati  sambungan dan  ke  basis.  Dengan  sambungan  emitor  berpanjar  maju dan sambungan kolektor  berpanjar  mundur (biasa  disebut  operasi  normal,  pengoperasian di daerah  aktif),  gerakan pembawa  muatan pada  transistor  n-p-n  seperti  diskemakan pada gambar 4 Komponen  terbesar  dari  arus  emitor  (ϒ) terdiri  atas  elektron  yang  mengalir melewati  penurunan  tegangan potensial  () ke  sambungan  emitor-basis. Efisiensi  emitor (γ)  berharga  mendekati  satu  sehingga arus  hampir  terdiri atas  semua elektron  yang  terinjeksi  dari  emitor.  Komponen  lain  adalah  aliran  lubang  dari  basis yang  juga  difasilitasi  oleh penurunan  tegangan  penghalang  tersebut.  Daerah basis memiliki tingkat  doping yang  lebih  rendah dibandingkan daerah  emitor,  sehingga arus lubang relatif lebih rendah.  Kedua jenis muatan mengalir melalui proses difusi.
Elektron  yang  “terinjeksi”  dari  emitor  ke  basis  dapat mengalir  melalui
sambungan emitor-basis secara bebas karena beberapa sebab:
i)     Tidak ada tegangan yang melawannya,
ii)   Hanya terdapat jarak yang pendek pada daerah basis (tipis) dan
iii) Hanya  terdapat jumlah  lubang  yang  relatif  rendah  sehingga tidak banyak elektron  yang  tertangkap  lubang  dan hilang,  yaitu dengan  proses rekombinasi.

Dengan proses pabrikasi transistor yang benar, kurang lebih 99 - 99,9% electron yang  terinjeksi  berhasil mencapai  sambungan basis-kolektor (faktor  α  biasanya berharga  sekitar  0,98).  Elektron  tersebut tidak  mengalami  kesulitan  akibat  penurunan tegangan penghalang.

Arus  elektron     mendominasi  besarnya arus  kolektor.  Komponen  lain dari arus  kolektor  berupa  arus  drift  melewati  sambungan kolektor-basis  dari  pembawa muatan  minoritas  hasil  generasi termal.    Jika  kita  memasang  tegaangan pada  sambungan  emitor-basis, kita  menginjeksi  arus  yang  diberikan oleh persamaan  arus diode

Mei 03, 2015

Tutorial Membuat Game Tic Tac Toe Sederhana C#

Assalamualaikum Wr. Wb

hai temen-temen..udah lama nih gak posting lagi. dan sekarang laras ada tugas lagi nih tentang game yeeeey :D
kali ini laras mau membuat game tic tac toe sederhana guys!! pada tau kan tic tac toe?? itu loh permainan waktu di SD dan SMP yang namanya SOS, kadang-kadang juga ada di SMA/K (kalau lagi bosen aja) hihihi
game ini asik loh guys! ada player1 dan player 2 guys, kalau dulu kan seringnya mainnya di kertas yakan nah sekarang laras buat di komputer nih :D

program ini memakai banyak kemungkinan, jadi laras memakai beberapa case disini.
begini langkah-langkahnya :
1. Buka new project di Visual Studio 2012, jangan lupa diberi nama dan pilih windows application
2. Pilih Label, Button, Picture Box dan Menu Script di toolbox kemudian susun sesuai keinginan anda.



untuk memakai menu strip kita harus mengubah event click semuanya, mulai dari file sampai help. seperti dibawah ini. 


3. Kemudian tambahkan gambar X dan O untuk permainannya di resource. seperti ini :

4. Masukkan Codingannya, pertama-tama inisialisasi dahulu variabel globalnya.
        //Inisialisasi Variabel Global
        Image pictureX = Properties.Resources.Capture; // lokasi gambar X
        Image pictureO = Properties.Resources.fg; // lokasi gambar O
        Image pctr; int count = 0;
        Boolean checkX = false, checkO = false, easy = false;
        public int pict1 = 0, pict5 = 0, pict9 = 0,
        pict2 = 0, pict6 = 0,
        pict3 = 0, pict7 = 0,
        pict4 = 0, pict8 = 0;

5. Buat fungsi reset untuk mereset aplikasinya.
   private void reset()
        {
            pict1 = pict2 = pict3 = pict4 = pict5 = pict6 = pict7 = pict8 = pict9 = count = 0; //mereset nilai int pict1-pict9
            easy = checkX = checkO = false;
            // mengembalikan ke gambar awal picture box / kosong
            pictureBox1.BackgroundImage = pictureBox2.BackgroundImage =
            pictureBox3.BackgroundImage = pictureBox4.BackgroundImage =
            pictureBox5.BackgroundImage = pictureBox6.BackgroundImage =
            pictureBox7.BackgroundImage = pictureBox8.BackgroundImage =
            pictureBox9.BackgroundImage = null;
            label1.Text = label2.Text = "0";
            // enable semua picture box
            List<PictureBox> pctlist = new List<PictureBox>();
            foreach (PictureBox pct in this.Controls.OfType<PictureBox>())
            {
                pctlist.Add(pct);
                pct.Enabled = true;
            }
        }

6. Nonaktifkan atau disable semua picture box ketika hasil score tampil
        private void disablepicturebox()
        {
            List<PictureBox> pctList = new List<PictureBox>();
            foreach (PictureBox pct in this.Controls.OfType<PictureBox>())
            {
                pctList.Add(pct);
                pct.Enabled = false;
            }
        }

7. Nonaktifkan atau disable picture box yang sudah diclick agar player yang lain tidak dapat menggunakan picture box yang sudah dipakai.
        private void wasclickedbefore(int pic)
        {
            switch (pic)
            {
                case 1: { if (pict1 == 1) pict1++; break; }
                case 2: { if (pict2 == 1) pict2++; break; }
                case 3: { if (pict3 == 1) pict3++; break; }
                case 4: { if (pict4 == 1) pict4++; break; }
                case 5: { if (pict5 == 1) pict5++; break; }
                case 6: { if (pict6 == 1) pict6++; break; }
                case 7: { if (pict7 == 1) pict7++; break; }
                case 8: { if (pict8 == 1) pict8++; break; }
                case 9: { if (pict9 == 1) pict9++; break; }
                default: break;
            }
            if (easyToolStripMenuItem.Checked == true)
                easycomputer_play(pic);
            else if (normalToolStripMenuItem.Checked == true && easy == false)
                normalcomputer_play(pic);
            else if (normalToolStripMenuItem.Checked == true && easy == true)
                easycomputer_play(pic);
        }

8. Jika memilih level easy seperti ini logika fungsi easy modenya
        private void easycomputer_play(int pic)
        {
            if (pict1 == 0) { pictureBox1.BackgroundImage = pictureO; pict1 = 2; }
            else if (pict2 == 0) { pictureBox2.BackgroundImage = pictureO; pict2 = 2; }
            else if (pict3 == 0) { pictureBox3.BackgroundImage = pictureO; pict3 = 2; }
            else if (pict4 == 0) { pictureBox4.BackgroundImage = pictureO; pict4 = 2; }
            else if (pict5 == 0) { pictureBox5.BackgroundImage = pictureO; pict5 = 2; }
            else if (pict6 == 0) { pictureBox6.BackgroundImage = pictureO; pict6 = 2; }
            else if (pict7 == 0) { pictureBox7.BackgroundImage = pictureO; pict7 = 2; }
            else if (pict8 == 0) { pictureBox8.BackgroundImage = pictureO; pict8 = 2; }
            else if (pict9 == 0) { pictureBox9.BackgroundImage = pictureO; pict9 = 2; }
        }

9. dan juga logika fungsi normal mode
        private void normalcomputer_play(int pic)
        {
            if ((pict1 == 2 || pict2 == 2 || pict3 == 2 || pict4 == 2 || pict6 == 2 || pict7 == 2 ||pict8 == 2 || pict9 == 2) && pict5 == 0) { pictureBox5.BackgroundImage = pictureO; pict5 = 2; }
            else if (pict5 == 2 && (pict1 == 0 || pict3 == 0 || pict7 == 0 || pict9 == 0))
            {
                Random Rnd = new Random();
                int rnd = Rnd.Next(1, 5);
                switch (rnd)
                {
                    case 1:
                        {
                            if (pict1 == 0) pictureBox1.BackgroundImage = pictureO;
                            pict1 = 2; break;
                        }
                    case 2:
                        {
                            if (pict3 == 0) pictureBox3.BackgroundImage = pictureO;
                            pict3 = 2; break;
                        }
                    case 3:
                        {
                            if (pict7 == 0) pictureBox7.BackgroundImage = pictureO;
                            pict7 = 2; break;
                        }
                    case 4:
                        {
                            if (pict9 == 0) pictureBox9.BackgroundImage = pictureO;
                            pict9 = 2; break;
                        }
                    default: break;
                }
                easy = true;
            }
        }

10. Kemungkinan Player 1 atau X menang, beginilah fungsi memeriksa ketika User (X) menang:
        private void result()
        {
            if (pictureBox1.BackgroundImage == pictureX &&
            pictureBox2.BackgroundImage == pictureX &&
            pictureBox3.BackgroundImage == pictureX)
            {
                MessageBox.Show("X (You) has WON !!!", "Congratulation"); checkX = true;
            }
            else if (pictureBox4.BackgroundImage == pictureX &&
            pictureBox5.BackgroundImage == pictureX &&
            pictureBox6.BackgroundImage == pictureX)
            {
                MessageBox.Show("X (You) has WON !!!", "Congratulation"); checkX = true;
            }
            else if (pictureBox7.BackgroundImage == pictureX &&
            pictureBox8.BackgroundImage == pictureX &&
            pictureBox9.BackgroundImage == pictureX)
            {
                MessageBox.Show("X (You) has WON !!!", "Congratulation"); checkX = true;
            }
            else if (pictureBox1.BackgroundImage == pictureX &&
            pictureBox4.BackgroundImage == pictureX &&
            pictureBox7.BackgroundImage == pictureX)
            {
                MessageBox.Show("X (You) has WON !!!", "Congratulation"); checkX = true;
            }
            else if (pictureBox2.BackgroundImage == pictureX &&
            pictureBox5.BackgroundImage == pictureX &&
            pictureBox8.BackgroundImage == pictureX)
            {
                MessageBox.Show("X (You) has WON !!!", "Congratulation"); checkX = true;
            }
            else if (pictureBox3.BackgroundImage == pictureX &&
            pictureBox6.BackgroundImage == pictureX &&
            pictureBox9.BackgroundImage == pictureX)
            {
                MessageBox.Show("X (You) has WON !!!", "Congratulation"); checkX = true;
            }
            else if (pictureBox3.BackgroundImage == pictureX &&
            pictureBox5.BackgroundImage == pictureX &&
            pictureBox7.BackgroundImage == pictureX)
            {
                MessageBox.Show("X (You) has WON !!!", "Congratulation"); checkX = true;
            }
            else if (pictureBox1.BackgroundImage == pictureX &&
            pictureBox5.BackgroundImage == pictureX &&
            pictureBox9.BackgroundImage == pictureX)
            {
                MessageBox.Show("X (You) has WON !!!", "Congratulation"); checkX = true;
            }
            else resultO();
        }

11. Begitu juga dengan fungsi memeriksa ketika computer (O) menang
        private void resultO()
        {
            if (pictureBox1.BackgroundImage == pictureO &&
            pictureBox2.BackgroundImage == pictureO &&
            pictureBox3.BackgroundImage == pictureO)
            {
                MessageBox.Show("O (Computer) has WON !!!", "Congratulation"); checkO =
                true;
            }
            else if (pictureBox4.BackgroundImage == pictureO &&
            pictureBox5.BackgroundImage == pictureO &&
            pictureBox6.BackgroundImage == pictureO)
            {
                MessageBox.Show("O (Computer) has WON !!!", "Congratulation"); checkO =
                true;
            }
            else if (pictureBox7.BackgroundImage == pictureO &&
            pictureBox8.BackgroundImage == pictureO &&
            pictureBox9.BackgroundImage == pictureO)
            {
                MessageBox.Show("O (Computer) has WON !!!", "Congratulation"); checkO =
                true;
            }
            else if (pictureBox1.BackgroundImage == pictureO &&
            pictureBox4.BackgroundImage == pictureO &&
            pictureBox7.BackgroundImage == pictureO)
            {
                MessageBox.Show("O (Computer) has WON !!!", "Congratulation"); checkO =
                true;
            }
            else if (pictureBox2.BackgroundImage == pictureO &&
            pictureBox5.BackgroundImage == pictureO &&
            pictureBox8.BackgroundImage == pictureO)
            {
                MessageBox.Show("O (Computer) has WON !!!", "Congratulation"); checkO =
                true;
            }
            else if (pictureBox3.BackgroundImage == pictureO &&
            pictureBox6.BackgroundImage == pictureO &&
            pictureBox9.BackgroundImage == pictureO)
            {
                MessageBox.Show("O (Computer) has WON !!!", "Congratulation"); checkO =
                true;
            }
            else if (pictureBox3.BackgroundImage == pictureO &&
            pictureBox5.BackgroundImage == pictureO &&
            pictureBox7.BackgroundImage == pictureO)
            {
                MessageBox.Show("O (Computer) has WON !!!", "Congratulation"); checkO =
                true;
            }
            else if (pictureBox1.BackgroundImage == pictureO &&
            pictureBox5.BackgroundImage == pictureO &&
            pictureBox9.BackgroundImage == pictureO)
            {
                MessageBox.Show("O (Computer) has WON !!!", "Congratulation"); checkO =
                true;
            }
            checkdraw();
        }

12. Kemungkinan ketika game seri. beginilah fungsi memeriksa ketika game seri:
        private void checkdraw()
        {
            if (pictureBox1.BackgroundImage != null && pictureBox2.BackgroundImage != null
            &&
            pictureBox3.BackgroundImage != null && pictureBox4.BackgroundImage != null
            &&
            pictureBox5.BackgroundImage != null && pictureBox6.BackgroundImage != null
            &&
            pictureBox7.BackgroundImage != null && pictureBox8.BackgroundImage != null
            &&
            pictureBox9.BackgroundImage != null)
                MessageBox.Show("Game is DRAW !!!", "Congratulation");
        }

13. Buat fungsi score untuk menampilkan score pada label 1 dan 2:
    private void score()
        {
            if (checkX)
            {
                disablepicturebox();
                label1.Text = (int.Parse(label1.Text) + 1).ToString();
            }
            else if (checkO)
            {
                disablepicturebox();
                label2.Text = (int.Parse(label2.Text) + 1).ToString();
            }
        }

14. Inilah inti permainannya, event ketika picture box diklik.
        private void Picture_Click(object sender, EventArgs e)
        {
            PictureBox piCTure = (PictureBox)sender;
            int pic = Convert.ToInt32((piCTure.Name).Substring(10, 1));
            count++;
            // switch kondisi masing-masing picture box
         
            switch (pic)
            {
                case 1:
                    {

                        if (pict1 == 0) { pict1++; pictureBox1.BackgroundImage = pctr; }
                        else if (pict1 == 2) { pictureBox1.Enabled = false; } break;
                    }
                case 2:
                    {
                        if (pict2 == 0) { pict2++; pictureBox2.BackgroundImage = pctr; }
                        else if (pict2 == 2) { pictureBox2.Enabled = false; } break;
                    }
                case 3:
                    {
                        if (pict3 == 0) { pict3++; pictureBox3.BackgroundImage = pctr; }
                        else if (pict3 == 2) { pictureBox3.Enabled = false; } break;
                    }
                case 4:
                    {
                        if (pict4 == 0) { pict4++; pictureBox4.BackgroundImage = pctr; }
                        else if (pict4 == 2) { pictureBox4.Enabled = false; } break;
                    }
                case 5:
                    {
                        if (pict5 == 0) { pict5++; pictureBox5.BackgroundImage = pctr; }
                        else if (pict5 == 2) { pictureBox5.Enabled = false; } break;
                    }
                case 6:
                    {
                        if (pict6 == 0) { pict6++; pictureBox6.BackgroundImage = pctr; }
                        else if (pict6 == 2) { pictureBox6.Enabled = false; } break;
                    }
                case 7:
                    {
                        if (pict7 == 0) { pict7++; pictureBox7.BackgroundImage = pctr; }
                        else if (pict7 == 2) { pictureBox7.Enabled = false; } break;
                    }
                case 8:
                    {
                        if (pict8 == 0) { pict1++; pictureBox8.BackgroundImage = pctr; }
                        else if (pict8 == 2) { pictureBox8.Enabled = false; } break;
                    }
                case 9:
                    {
                        if (pict9 == 0) { pict9++; pictureBox9.BackgroundImage = pctr; }
                        else if (pict9 == 2) { pictureBox9.Enabled = false; } break;
                    }
                default: break;
            }
            result(); score();
            if (easyToolStripMenuItem.Checked == true || normalToolStripMenuItem.Checked
            == true)
            {
                pctr = pictureX;
                if (checkX == false && checkO == false) wasclickedbefore(pic);
            }
         
        }

15. Ketika user memilih new game pada menu strip, begini programnya:
   private void newGameToolStripMenuItem_Click(object sender, EventArgs e)
        {
            reset(); label1.Text = label2.Text = "0";
        }

16. Exit Mode
// exit mode
        private void exit()
        {
            DialogResult result = MessageBox.Show("Yakin Mau Keluar???", "Peringatan!", MessageBoxButtons.YesNo);
            if (result == DialogResult.Yes) this.Close();
        }
        private void Exit_Click(object sender, EventArgs e)
        {
            exit();
        }
        private void exitToolStripMenuItem_Click(object sender, EventArgs e)
        {
            exit();
        }

17. Fungsi ketika user memilih level normal :
    private void normalToolStripMenuItem_Click(object sender, EventArgs e)
        {
            easyToolStripMenuItem.Checked = false; normalToolStripMenuItem.Checked = true;
            reset(); label1.Text = label2.Text = "0";
            MessageBox.Show(" \rMode Selected Player (VS) CPU \r\n\tNormal Level ","Created by: Laras Hanisaputri");
        }

18. Fungsi ketika user memilih level easy :
private void easyToolStripMenuItem_Click(object sender, EventArgs e)
        {
            normalToolStripMenuItem.Checked = false; easyToolStripMenuItem.Checked =true;
            reset();
            label1.Text = label2.Text = "0";
            MessageBox.Show(" \rMode Selected Player (VS) CPU \r\n\tEasy Level ","Created by: Laras Hanisaputri");
        }

19. Fungsi Ketika user memilih mode multi player:
private void multiPlayerToolStripMenuItem_Click(object sender, EventArgs e)
        {
            normalToolStripMenuItem.Checked = false; easyToolStripMenuItem.Checked = false;
            reset(); label1.Text = label2.Text = "0";
            MessageBox.Show(" \rMode Selected MultiPlayer ", "Created by: Laras Hanisaputri");
        }

20. Menu strip help > about:
private void aboutToolStripMenuItem_Click(object sender, EventArgs e)
        {
                MessageBox.Show("Created by: Laras Hanisaputri \n\n Powered by : larashanisaa.blogspot.com", "Warning");
        }

21. Button reset dan play again
private void button1_Click(object sender, EventArgs e)
        {
            reset();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            reset();
        }

22. Jika tidak ada error, jalankan programnya seperti ini:




jika masih ada yang belum mengerti dapat mengunjungu youtube laras :

Wassalamualaikum Wr. Wb

April 11, 2015

Lirik Lagu Marry Your Doughter - Brian mcknight

Sir, I’m a bit nervous
‘Bout being here today
Still not real sure what I’m going to say
So bare with me please
If I take up too much of your time.
See in this box is a ring for your oldest.
She’s my everything and all that I know is
It would be such a relief if I knew that we were on the same side
Very soon I’m hoping that I…
Can marry your daughter
And make her my wife
I want her to be the only girl that I love for the rest of my life
And give her the best of me ’till the day that I die, yeah
I’m gonna marry your princess
And make her my queen
She’ll be the most beautiful bride that I’ve ever seen
Can’t wait to smile
When she walks down the aisle
On the arm of her father
On the day that I marry your daughter
She’s been hearing for steps
Since the day that we met (I’m scared to death to think of what would happen if she ever left)
So don’t you ever worry about me ever treating her bad
I’ve got most of my vows done so far (So bring on the better or worse)
And ’till death do us part
There’s no doubt in my mind
It’s time
I’m ready to start
I swear to you with all of my heart…
I’m gonna marry your daughter
And make her my wife
I want her to be the only girl that I love for the rest of my life
And give her the best of me ’till the day that I die, yeah
I’m gonna marry your princess
And make her my queen
She’ll be the most beautiful bride that I’ve ever seen
I can’t wait to smile
As she walks down the aisle
On the arm of her father
On the day that I marry your daughter
The first time I saw her
I swear I knew that I say I do
I’m gonna marry your daughter
And make her my wife
I want her to be the only girl that I love for the rest of my life
And give her the best of me ’till the day that I die
I’m gonna marry your princess
And make her my queen
She’ll be the most beautiful bride that I’ve ever seen
I can’t wait to smile
As she walks down the aisle
On the arm of her father
On the day that I marry your daughter

Just Info :)

Assalamualaikum Wr.Wb

hai guysssssssss, laras mau cerita nih.. hobi laras itu nyanyi..nah, walaupun suara ga bagus-bagus amat ni yaaa, tapi gapapa..belajar terus sampai selevel kayak mbak ariana grande, mbak taylor swift, dll. aamiin wkwkwk. nah, hobi nyanyi laras ini ga laras pendem ajaa loh.. laras punya akun soundcloud guyss follow yaa akun laras namanya : laras hanisa putri. soundcloud itu web tempatnya orang orang yang suka musik.. disini kita bisa merekam suara kita, musikalisasi, dll. nah, bagus banget nih buat publish hobi musik kalian disini.. gapapa jelek kan bukan artis juga dan hak hak tiap manusia dong ngelakuin apa yang dia suka selama ga berlebihan ya kaaaaaaaaaan:) gausah malu guys... ayo buat akun soundcloud:)

April 05, 2015

Parsing Data - C# di Visual Studio 2012

Assalamualaikum Wr.Wb

hai guys, laras mau sharing lagi nih. kali ini soal tugas laras.. yaitu parsing data tentunya memakai strings :)  laras kasih tau ni ya protocol komunikasi di internet itu sangat bergantung pada format teks loh guys. Ketika temen-temen melakukan browsing ke google.com, maka yang terjadi adalah pertukaran string teks terus-menerus antara router-router sampai dengan server google. wuhuuuuuu panjang sangat prosedurnya :D

Sebagai contoh adalah protokol TCP yang memiliki format sebagai berikut:





Misalnya awal dari protokol ditandai dengan karakter “abcde”, akhir dari satu paket protokol ditandai dengan flag “edcba”. Kemudian 2 byte berikutnya menunjukkan source port, diikuti 2 byte destination address. Lalu HLEN sebanyak 5 byte yang menunjukkan banyaknya data. Setelah itu data sebanyak HLEN. Terdapat trailer 4 byte, sebelum ditutup CRC 4 byte. Buat program untuk memisah-misahkan satu paket protokol. Misalnya data yang diterima dari internet sebagai berikut:



Program anda harus bisa mengambil satu paket protokol yang ditandai dengan flag awal dan akhir protokol. Kemudian memisah-misahkan source port, destination port, data dan trailer.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace parsingdata
{
    public partial class Form1 : Form
    {
        string contoh;
        private int sourceport = 2, destinationport = 2, hlen = 5, crc = 4, data = 15, trailer = 4, index;
        int z;
        public Form1()
        {
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
             
        }

        private void button1_Click(object sender, EventArgs e)
        {
            z = 1;
            button1.BackColor = Color.Red;
            button2.BackColor = Color.White;
            button3.BackColor = Color.White;

            contoh = label2.Text;
            int awal = contoh.IndexOf("abcde");
            int akhir = contoh.LastIndexOf("edcba");
            textBox1.Text = contoh.Substring(awal, akhir);

            if (z == 1)
            {
                button1.BackColor = Color.White;
                button2.BackColor = Color.Red;
                button3.BackColor = Color.White;

                textBox3.Text = contoh.Substring(13);
                textBox4.Text = contoh.Substring(15);
                textBox5.Text = contoh.Substring(22);
                textBox8.Text = contoh.Substring(17);
                textBox7.Text = contoh.Substring(37);
                textBox6.Text = contoh.Substring(41);
            }
        }

            private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
            {
            System.Diagnostics.Process.Start(e.Link.LinkData.ToString());
            }
        }
    }


sekian yaa sharingnya :) terimakasih semoga bermanfaat :)

wassalamualaikum Wr.Wb

April 04, 2015

String - Praktikum c#

Assalamualaikum wr.wb

hai guys, laras mau sharing ilmu sedikit nihhh..kali ini meluas lagi yaitu about strings. oke secara umum Strings adalah kumpulan karakter yang dianggap sebagai satu buah unit tersendiri. Karakter ini dapat berupa huruf besar, huruf kecil, angka maupun karakter spesial seperti +, &, $, # dll. String adalah object dari class String di namespace System. Kita menuliskan string biasanya diletakkan dalam tanda petik.

“this is string!”
Untuk inisialisasi dan deklarasi kita tinggal menggunakan, string

strColor = “pink”;
Sama seperti array, string dapat mengetahui jumlah karakter pada dirinya dengan menggunakan property Length. Karena sebenarnya string adalah array dari karakter. Jadi kita dapat menggunakan format array untuk melihat indeks pada string. Misalnya kita ingin tahu huruf pertama, maka tinggal gunakan strColor[0]. Pada praktikum kali ini kita akan mencoba memanipulasi string dengan berbagai method yang telah disediakan di .NET.

berikut ini adalah desain aplikasi laras :)
keterangan :
garis warna merah : menggunakan toolbox "button"
garis warna biru : menggunakan toolbox "textbox"
garis warna hitam : menggunakan toolbox "label"

Beberapa method yang ada (jika diimplementasikan pada strText = “My String”):
Capture
Capture

Apabila kita ingin mencari posisi indeks suatu string di dalam string, kita dapat menggunakan method IndexOf. Misalnya kita punya str = “My string is a long string”, maka:



Pada beberapa aplikasi, kadang-kadang kita butuh untuk meng-copy karakter atau kata atau kalimat dalam sebuah string yang panjang. String yang kita cari dalam sebuah string yang panjang disebut substring (bagian dari string). Oleh karena itu, method yang kita gunakan dinamakan juga dengan Substring.



Kita juga dapat mengganti kemunculan kata dalam suatu string dengan method Replace.



Beberapa method lain yang berguna, misalnya diaplikasikan pada str = “My String” :




using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
string str = “My string”;
string str2 = “My string is a long string”;

public Form1()
{
InitializeComponent();
textBox1.Text = str;
textBox2.Text = str2;
}
private void insert_Click(object sender, EventArgs e)
{
insert.BackColor = Color.Red; remove.BackColor = Color.White; tolower.BackColor = Color.White; toupper.BackColor = Color.White; akhir.BackColor = Color.White;
join.BackColor = Color.White; split.BackColor = Color.White; trim.BackColor = Color.White; awal.BackColor = Color.White; replace.BackColor = Color.White; button1.BackColor = Color.White;

int a = Convert.ToInt16(textBox4.Text);
string y = Convert.ToString(textBox5.Text);

string test1 = str.Insert(a, y) ;
hasil1.Text = test1;
}

private void remove_Click(object sender, EventArgs e)
{
insert.BackColor = Color.White; remove.BackColor = Color.Red; tolower.BackColor = Color.White; toupper.BackColor = Color.White; akhir.BackColor = Color.White;
join.BackColor = Color.White; split.BackColor = Color.White; trim.BackColor = Color.White; awal.BackColor = Color.White; replace.BackColor = Color.White; button1.BackColor = Color.White;

int a = Convert.ToInt16(textBox6.Text);
int y = Convert.ToInt16(textBox7.Text);
string test2 = str.Remove(a, y);
hasil1.Text = test2;
}

private void tolower_Click(object sender, EventArgs e)
{
insert.BackColor = Color.White; remove.BackColor = Color.White; tolower.BackColor = Color.Red; toupper.BackColor = Color.White; akhir.BackColor = Color.White;
join.BackColor = Color.White; split.BackColor = Color.White; trim.BackColor = Color.White; awal.BackColor = Color.White; replace.BackColor = Color.White; button1.BackColor = Color.White;
string test3 = str.ToLower();
hasil1.Text = test3;
}

private void split_Click(object sender, EventArgs e)
{
insert.BackColor = Color.White; remove.BackColor = Color.White; tolower.BackColor = Color.White; toupper.BackColor = Color.White; akhir.BackColor = Color.White;
join.BackColor = Color.White; split.BackColor = Color.Red; trim.BackColor = Color.White; awal.BackColor = Color.White; replace.BackColor = Color.White; button1.BackColor = Color.White;

string a = Convert.ToString(textBox17.Text);
string[] z = str.Split();
hasil1.Text = string.Join(a, z);
}

private void join_Click_1(object sender, EventArgs e)
{
insert.BackColor = Color.White; remove.BackColor = Color.White; tolower.BackColor = Color.White; toupper.BackColor = Color.White; akhir.BackColor = Color.White;
join.BackColor = Color.Red; split.BackColor = Color.White; trim.BackColor = Color.White; awal.BackColor = Color.White; replace.BackColor = Color.White; button1.BackColor = Color.White;

string a = Convert.ToString(textBox11.Text);
string y = Convert.ToString(textBox10.Text);
string z = Convert.ToString(textBox12.Text);
string[] x = { a, y };
string test8 = String.Join(z, x);
hasil1.Text = test8;
}

private void awal_Click(object sender, EventArgs e)
{
insert.BackColor = Color.White; remove.BackColor = Color.White; tolower.BackColor = Color.White; toupper.BackColor = Color.White; akhir.BackColor = Color.White;
join.BackColor = Color.White; split.BackColor = Color.White; trim.BackColor = Color.White; awal.BackColor = Color.Red; replace.BackColor = Color.White; button1.BackColor = Color.White;

string a = Convert.ToString(textBox9.Text);
int y = Convert.ToInt16(textBox8.Text);
int test5 = str2.IndexOf(a, y);
textBox3.Text = str2.Substring(test5);
}

private void akhir_Click(object sender, EventArgs e)
{
insert.BackColor = Color.White; remove.BackColor = Color.White; tolower.BackColor = Color.White; toupper.BackColor = Color.White; akhir.BackColor = Color.Red;
join.BackColor = Color.White; split.BackColor = Color.White; trim.BackColor = Color.White; awal.BackColor = Color.White; replace.BackColor = Color.White; button1.BackColor = Color.White;

string a = Convert.ToString(textBox14.Text);
int y = Convert.ToInt16(textBox13.Text);
int test6 = str2.LastIndexOf(a, y);
textBox3.Text = str2.Substring(test6);
}

private void replace_Click(object sender, EventArgs e)
{
insert.BackColor = Color.White; remove.BackColor = Color.White; tolower.BackColor = Color.White; toupper.BackColor = Color.White; akhir.BackColor = Color.White;
join.BackColor = Color.White; split.BackColor = Color.White; trim.BackColor = Color.White; awal.BackColor = Color.White; replace.BackColor = Color.Red; button1.BackColor = Color.White;

string a = Convert.ToString(textBox15.Text);
string y = Convert.ToString(textBox16.Text);
string test7 = str2.Replace(a, y);
textBox3.Text = test7;
}

private void trim_Click(object sender, EventArgs e)
{
insert.BackColor = Color.White; remove.BackColor = Color.White; tolower.BackColor = Color.White; toupper.BackColor = Color.White; akhir.BackColor = Color.White;
join.BackColor = Color.White; split.BackColor = Color.White; trim.BackColor = Color.Red; awal.BackColor = Color.White; replace.BackColor = Color.White; button1.BackColor = Color.White;
trim.BackColor = Color.Red;
string test10 = str.Trim();
hasil1.Text = test10;
}

private void toupper_Click(object sender, EventArgs e)
{
insert.BackColor = Color.White; remove.BackColor = Color.White; tolower.BackColor = Color.White; toupper.BackColor = Color.Red; akhir.BackColor = Color.White;
join.BackColor = Color.White; split.BackColor = Color.White; trim.BackColor = Color.White; awal.BackColor = Color.White; replace.BackColor = Color.White; button1.BackColor = Color.White;

string test4 = str.ToUpper();
hasil1.Text = test4;
}

private void button1_Click(object sender, EventArgs e)
{
insert.BackColor = Color.White; remove.BackColor = Color.White; tolower.BackColor = Color.White; toupper.BackColor = Color.White; akhir.BackColor = Color.White;
join.BackColor = Color.White; split.BackColor = Color.White; trim.BackColor = Color.White; awal.BackColor = Color.White; replace.BackColor = Color.White; button1.BackColor = Color.Red;

hasil1.Text = ” “; textBox3.Text = ” “; textBox4.Text = ” “; textBox5.Text = ” “; textBox6.Text = ” “; textBox7.Text = ” “; textBox10.Text = ” “; textBox11.Text = ” “; textBox12.Text = ” “;
}
}
}


sekian sharing-sharing laras tentang string ya guys, semoga bermanfaat :) 
wassalamualaikum wr.wb

Maret 29, 2015

Tutorial Membuat Aplikasi "Paint" Menggunakan Visual Studio 2012 (C#)

Tutor : Program Aplikasi "Paint" di VS 2012 (c#)

Assalamualaikum Wr.Wb

hai teman-teman, masih semangat kan yah belajar programnya???????????? ayo belajar lagi!!! sekarang nih lebih greget programnya. temen-temen pasti tau kan aplikasi paint?? ituloh yang ada si start-accesories-paint :D paint itu secara umum adalah tempat uuntuk membuat gambar. jadi, kalau diprogram namanya "Graphic" nah, luas banget kan program kan yah??? ayo kita belajar!!!
kalau gitu, begini langkah-langkah membuat aplikasinya :) pastinya buka ms. visual studio 2012 dulu yaa dan jangan lupa beri nama. pilih yg windows form guys!.

1. Klik Toolbox dan pilih tools nya, kemudian susun seperti ini.
x adalah garis horizontal dan y adalah garis vertikal,
Panjang adalah panjang garis yang telah kita buat.
untuk tulisan X, Y, PANJANG laras pakai label
untuk kotak warna merah, kuning, biru, laras memakai button dan mengganti backcolour nya di properties.
untuk kotak berupa gambar garis, elips dan kotak laras memakai button dan mengubah backimage nya.

2. jika sudah disusun semua, masukkan program ini:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace tugaaas_5
{
    public partial class Form1 : Form
    {
        private Graphics laras  ;
        private double nilaixy;
        private int a = 0, b = 0, warna = 0;
        private int cX, cY, x, y, bX, bY;
        private bool picture = false, tarik = false;
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            laras = panel1.CreateGraphics();
        }

        private void panel1_MouseDown(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                
                picture = true;
                b++;
            }
            cX = e.X;
            cY = e.Y;
            tarik = true;
        }

        private void button7_Click(object sender, EventArgs e)
        {
            this.Refresh();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            warna = 1;
            button1.FlatStyle = FlatStyle.Popup;
            button3.FlatStyle = FlatStyle.Standard;
            button2.FlatStyle = FlatStyle.Standard;
        }

        private void button3_Click(object sender, EventArgs e)
        {
            warna = 2;
            button1.FlatStyle = FlatStyle.Standard;
            button3.FlatStyle = FlatStyle.Popup;
            button2.FlatStyle = FlatStyle.Standard;
        }

        private void button2_Click(object sender, EventArgs e)
        {
            warna = 3;
            button1.FlatStyle = FlatStyle.Standard;
            button3.FlatStyle = FlatStyle.Standard;
            button2.FlatStyle = FlatStyle.Popup;
        }

        private void panel1_MouseClick(object sender, MouseEventArgs e)
        {
            
            if (picture == true)
            {
                x = e.X;
                y = e.Y;
                bX = e.X - cX;
                bY = cY - e.Y;

                if (a == 1)
                {
                    if (warna == 1)
                    {
                        laras.DrawLine(new Pen(Color.Red), cX, cY, e.X, e.Y);
                    }
                    else if (warna == 2)
                    {
                        laras.DrawLine(new Pen(Color.Blue), cX, cY, e.X, e.Y);
                    }
                    else if (warna == 3)
                    {
                        laras.DrawLine(new Pen(Color.Yellow), cX, cY, e.X, e.Y);
                    }
                    else { MessageBox.Show("PILIH WARNA"); }
                }

                else if (a == 2)
                {
                    if (warna == 1)
                    {
                        laras.DrawRectangle(new Pen(Color.Red), cX, cY, e.X, e.Y);
                    }
                    else if (warna == 2)
                    {
                        laras.DrawRectangle(new Pen(Color.Blue), cX, cY, e.X, e.Y);
                    }
                    else if (warna == 3)
                    {
                        laras.DrawRectangle(new Pen(Color.Yellow), cX, cY, e.X, e.Y);
                    }

                    else { MessageBox.Show("PILIH WARNA"); }

                }

                else if (a == 3)
                {
                    if (warna == 1)
                    {
                        laras.DrawEllipse(new Pen(Color.Red), cX, cY, e.X, e.Y);
                    }
                    else if (warna == 2)
                    {
                        laras.DrawEllipse(new Pen(Color.Blue), cX, cY, e.X, e.Y);
                    }
                    else if (warna == 3)
                    {
                        laras.DrawEllipse(new Pen(Color.Yellow), cX, cY, e.X, e.Y);
                    }

                    else { MessageBox.Show("PILIH WARNA"); }
                }
                else { MessageBox.Show("PILIH BENTUKNYA"); }
            }
        }

        private void panel1_MouseMove(object sender, MouseEventArgs e)
        {
            
            textBox1.Text = Convert.ToString(bX);
            textBox2.Text = Convert.ToString(bY);
            nilaixy = Math.Sqrt((bX * bX) + (bY * bY));
            textBox3.Text = Convert.ToString(nilaixy);
        }

        private void button4_Click(object sender, EventArgs e)
        {
            
            a = 1;
            button4.BackColor = Color.Orange;
            button6.BackColor = Color.White;
            button5.BackColor = Color.White;
        }

        private void button5_Click(object sender, EventArgs e)
        {
            
            a = 3;
            button4.BackColor = Color.Orange;
            button6.BackColor = Color.White;
            button5.BackColor = Color.White;
        }

        private void button6_Click(object sender, EventArgs e)
        {
            
            a = 2;
            button4.BackColor = Color.White;
            button6.BackColor = Color.Orange;
            button5.BackColor = Color.White;
        }
    }
}

3. running kan programnya :)

jika kita belum memilih bentuk tapi sudah memilih warna, akan muncul messege box seperti ini :

jika belum memilih warna tapi sudah memilih bentuk, maka akan muncul seperti ini:

sekian tutorial dari ayas,,, semoga bermanfaat :)

wassalamualaikum wr.wb




Maret 23, 2015

Tutorial Membuat Aplikasi Paint Sederhana - Graphics (Praktikum5)

Aplikasi Paint Sederhana - Tutorial

Assalamualaikum Wr.Wb
hai guys, mau share ilmu lagi nih...
hari ini laras praktikum pemrograman lanjut, tentang graphic. temen-temen pasti tau kan "GRAPHIC"? berhubungan dengan gambar-gambar. salah satu pengaplikasiannya itu di paint.nah, sekarang laras akan memberikan tutorial tentang membuat aplikasi paint sederhana. 

disini, laras cuma menggunakan mouse saja sebagai tool nya. kenapa memakai mouse??? karena Mouse sangat dibutuhkan untuk berinteraksi dengan GUI aplikasi Windows.Dengan mouse, user dapat mengarahkan kursor, menge-klik maupunmenge-drag sebuah object. Menekan, melepaskan tombol mouse maupun menggerakkan kursor mouse akan menghasilkan event. 

Pada praktikum ini kita mencoba memanfaatkan event-event mouse tersebut untuk menggambar grafik. Untuk menggambar pada form, atau object lain sebagai base menggambar, kita akan menggunakan object Graphics. Di dalam object ini terdapat beberapa method untuk menggambar text, garis, persegi panjang dan elips.

nah, yuks langsung ke tutorialnya...
1. Buka Sharp Development.
2. Buat solution baru,pilih windows application dan jangan lupa diberi nama.

3. Akan langsung masuk ke dalam mainform.cs 
    Selanjutnya, deklarasikan object Graphics, dan letakkan sebagai global.
    "private Graphics objGraphic;" (tanpa tanda kutip)
    

4. Kemudian baru kita buat instance object-nya. Untuk class Graphics, kita tidak bisa                               mendeklarasikan lalu langsung membuat instancenya. Karena method CreateGraphics tidak bisa         digunakan langsung ketika kita mendeklarasikan Graphics. Oleh karena itu, untuk membuat                 instance object, kita lakukan di event FormLoad. 
    klik design > double klik kotak dialog > buat programnya
    "objGraphic = CreateGraphics();" (Tanpa tanda kutip)
     

5. Di aplikasi yang laras buat, ketika tombol kiri mouse ditekan, kita akan mulai menggambar.                 Selama ini kita membuat program ketika tombol kiri mouse di-klik. Untuk menambahkan program     apabila tombol kiri mouse ditekan (atau apapun selain klik), gunakan event yang ada di toolbox           properties. 

    Klik ganda pada MouseDown, maka kita akan dibawa ke source code untuk event OnMouseDown.     Tambahkan program berikut:
     if (e.Button == MouseButtons.Left) 
      { 
              shouldPaint = true; 
      } 
        


6. Nah, sampai disini kita harus mendeklarasikan variabelnya. salah satu variabelnya adalah                     ShouldPaint. Variabel shouldPaint adalah variabel boolean yang harus kita deklarasikan di awal         sebagai variabel global agar dapat diakses oleh semua fungsi. 
    private Graphics objGraphic; 
    private shouldPaint = false;

7. Lanjut lagu ke event, agar aplikasi mulai menggambar ketika mouse digerakkan, maka kita harus       membuat program ketika mouse bergerak. 

    Klik ganda pada MouseMove, maka kita akan dibawa ke source code untuk event OnMouseMove. 
    Tambahkan program berikut: 
    "objGraphic.FillEllipse(new SolidBrush(Color.BlueViolet), e.X, e.Y, 20, 20);" (Tanpa tanda kutip)
    Statement di atas adalah untuk menggambar elips dengan menggunakan brush berwarna biru               keunguan, di koordinat event X dan event Y, tinggi elips sebesar intDiameter, lebar elips sebesar         intDiameter juga alias lingkaran. 
    kenapa laras memberi nilai 20 langsung??? itu tidak masalah, jika ingin menambahkan variabel           lagi, tambahkan di bawah private boolean.


8. Agar aplikasi berhenti menggambar ketika tombol mouse dilepas, kita harus menambahkan                 program di event OnMouseUp. 
    masuk ke design > klik event (tanda petir berwarna kuning di properties) > double klik pada mouse     up > tambahkan programnya. "shouldPaint = false; " (tanpa tanda kutip)



9. Jalankan programnya. selamat mencoba:)

sekian tutorial dari laras, semoga bermanfaat untuk teman-teman.... ayo kembangkan lagi programnya!:)

Wassalamualaikum Wr.Wb