Pages

Diberdayakan oleh Blogger.

Hakk�mda

Foto Saya
Nini Chen
hi there ! i'm nini. i very love my mom, and very love my daddy ~ i LOVE my family ^^ i have one bro and one sist , i like sleep and eat something delicious :D find me at : facebook : Nini Chen Twitter : @ninichenn
Lihat profil lengkapku

Jumat, 05 Juli 2013

Inhertiance adalah sebuah prinsip berorientasi objek yang digunakan kembali dan membantu membangun hirarki framework dari objek
Class baru disebut class turunan ,dan class itu diwariskan dari class dasar
Base class(class dasar) adalah class yang ada dari class baru yang mewarisi dan sebuah base class dapat memiliki sejumlah derived class
Derived class(class turunan) adalah class yang mewarisi field,properties dan method dari base class dan segala sesuatu di dalam base class secara otomatis menjadi bagian dari derived class

Relationship antara base class dan derived class
- Sekelompok class yang berhubungan dengan warisan bentuk struktur dikenal sebagai class hirarki. Ketika kita bergerak ke atas hirarki,class mewakili konsep yang lebih umum(generalization) dan ketika bergerak kebawah,class mewakili konsep yang lebih khusus(spesification)
- Kedalaman class hirarki adalah jumlah tingkat warisan dalam hirarki. Class hirarki yang lebih dalam lebih sulit untuk digunakan dan sulit untuk diterapkan daripada class hirarki dangkal. Kebanyakan pedoman pemograman menyarankan kedalaman dibatas antara 5 & 7 class.

Single inheritance adalah sebuah deklarasi class yang hanya dapat memiliki satu kelas yang tecantum dalam spesifikasi base classnya. Meskipun sebuah class dapat langsung mewarisi dari single base class,disini tidak ada limit level dari turunannya. Artinya,class terdaftar sebagai base class mungkin berasal dari class lain sampai akhirnya mencapai objek.
Accesbility ada 2 macam yaitu :
Class Accesbilty :
internal : sebuah class internal hanya dapat dilihat oleh class bagiannya sendiri. Ini adalag tingkat aksesbilitas default,dimana code lain tidak bias mengakses class ini. Untuk menyatakan class ini adalah internal makan menggunakan access modifier interal.
public : sebuah class public dapat diakses oleh code lain dari setiap kumpulan dari system. Untuk bias terlihat oleh semuanya maka harus menggunakan access modifier public
Member Accesbility:
private : hanya bias diakses oleh class itu
internal : bisa diakses semua class dengan bagiannya
protected : bisa diakses semua class turunan dari classnya
protected internal : bisa diakses oleh semua class baik yang berasal dari class ini / bagian darinya
public : bisa diakses oleh semua class

Instance constructor : adalah method khusus yang dijalankan setiap kali instance baru dari class itu dibuat
Destructor : melakukan tindakan yang diperlukan untuk release sumber daya yang tidak terkelola sebelum instance class dihancurkan

3 konsep utama OOP(Object-oriented Programming)
- Encapsulation : adalah proses menyembunyikan detail implementasi sebuah objek atau pembungkusan atribut (field/variabel) dan method dalam sebuah class
- Inheritance : adalah relationship antara base class dan derived class. Base class dapat diturunkan ke banyak class. Fungsi utama nya adlah reuse/dapat digunakan kembali , dimana bisa membuat class baru dari class yang ada. Terdapat relationship yaitu generalization dan spesification
- Polymorphism : adalah kemampuan sebuah method untuk bekerja lebih dari 1 tipe argumen,dimana terdapat parent yang memiliki banyak child. Polymorph dapat memiliki banyak bentuk, dan terdapat overloading(penggunaan satu nama untuk beberapa method yang berbeda dan parameter yang berbeda) dan overriding(terjadi ketika deklarasi method subclass dengan nama dan parameter yang sama dengan method dari superclassnya)

3 layer manipulation
- Application : berinteraksi dengan pengguna dan mengirimkan instruksi ke DBMS
- DBMS : bekerja secara langsung dengan data dan mengirimkan kembali ke application
- Data : data yang disimpan di DBMS


Information Proccesing Cycle


Data adalah koleksi yang berupa item yang belum diproses,seperti text,number,images,audio,video
Database adalah kolksi data yang terorganisir dalam cara yang memungkinkan untuk diakses,diambil dan digunakan datanta
Information adalah data yang sudah diproses seperti document,audio,video
Relational database adalah kumpulan informasi dimana data dalam bentuk database yang berhubungan satu sama lain dalam beberapa cara. Relational database terdiri dari rows dan columns,dimana :
-  Setiap rows mempunyai PK
-  Setiap column harus mempunyai nama yang unik
-  Adanya link yang menunjukkan relationship
SQL Command :
select : untuk mengambil field dari satu / lebih table
from : menentukan table darimana untuk mendapatkan field / delete record. Diperlukan dalam setiap select dan delete statement
where : menentukan criteria yang menentukan baris yang akan diambil
inner join : join record dari beberapa table untuk menghasilkan satu set record
group by : menentukan criteria untuk order record
insert : insert data ke dalam table yang ditentukan
update : update data ke dalam table yang ditentukan
delete :  delete data ke dalam table yang ditentukan

.NET FRAMEWORK

Object pada ADO.NET
Data Reader : adalah fast forward streaming object untuk membaca data
DataSet : adalah snapshot di memori data yang dipilih. DataSet menggunakan DataAdapter untuk membaca dan menulis data dan dari ke database
DataAdapter : adalah memiliki 4 properti objek command untuk operasi select,insert,update,dan delete
Command : adalah objek yang dapat digunakan langsung di aplikasi. Object command memegang query yang akan di kirim ke sumber data.
Connection : adalah untuk setiap query memerluka connection yang tau tentang database,karena tanpa connection,perintah tidak akan tahu dimana mereka akan di execute.

DataSource : adalah ebrtanggung jawab menutup connection dengan benar dimana sangat penting untuk kinerja aplikasi yang baik dan skalabilitas.

ARCHITECTURE ADO.NET

Codingannya :
Pertama buat terlebih dahulu New Project,kemudian buat Database nya,setelah itu isi ke dalam DataTable, kemudian baru buat kelas connection .
Caranya adalah sebagai berikut:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;


namespace WindowsFormsApplication1
{
    class Connection
    {
        SqlConnection sqlc;

        public Connection()
        {
            sqlc = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Database1.mdf;Integrated Security=True;User Instance=True");
        }

        public SqlDataReader Execute(string qry)
        {
            if (sqlc.State == ConnectionState.Open) sqlc.Close();
            sqlc.Open();
            SqlCommand cmd = new SqlCommand(qry, sqlc);
            return cmd.Execute();
        }

        public DataTable FillThis(string qry)
        {
            if (sqlc.State == ConnectionState.Open) sqlc.Close();
            sqlc.Open();
            DataTable d = new DataTable();
            SqlDataAdapter adp = new SqlDataAdapter(qry, sqlc);
            adp.Fill(d);
            return d;
        }
    }
}

Setelah itu baru masuk lagi ke form dan masukkan datagridview.
Code yang digunakan untuk melakukan select,insert,update,delete adalah:
Code untuk Select
dataGridView1.DataSource = con.FillThis("SELECT * FROM MsMahasiswa");

Code untuk Insert
con.Execute("INSERT INTO MsMahasiswa VALUES('" + textBox1.Text + "','" + textBox2.Text + "','"+textBox3.Text+"')");

Code untuk Update
con.Execute("UPDATE MsMahasiswa SET Nama='" + textBox2.Text + "', NIM='"+textBox3.Text+"' WHERE UserID='" + textBox1.Text + "'");

Code untuk Delete
con.Execute("DELETE FROM MsMahasiswa WHERE UserID='" + textBox1.Text + "'");

Kamis, 04 Juli 2013

LINQ  adalah fitur yang disediakan Microsoft khusunya pada bahasa pemograman c#.
LINQ adalah sebuah inovasi yang dibuat oleh Microsoft dengan merilis Visual Studio 2008 dan .NET Framework versi 3.5
LINQ menawarkan sintaks umum untuk query semua jenis data source
LINQ memperluas bahasa dengan penambahan ekspresi query ,yang mirip dengan pernyataan SQL,dan dapat digunakan dengan mudah untuk mengekstrak dan memproses data dari :
Array
Enumarable classes
XML Documents
Relational Databases
Third-party Data Source

3 Jenis LINQ
LINQ to Object : menyediakan query pada setiap jenis dari c# pada memory object seperti array,list,dan jenis lainnya
LINQ to XML : menyediakan penciptaan dan manipulasi dokumen XML
LINQ to ADO.NET : merupakan istilah umum yang mencakup semua kelas dan libraries yang berbeda pada .NET untuk mengakses data di database,seperti Microsoft SQL Server ,Oracle,dll . Hal ini juga termasuk:
-          LINQ to Entities : menyediakan support LINQ yang memungkinkan developer menulis query terhadapt model Entity Framework Conceptual menggunakan Visual Basic dan Visual c#
-          LINQ to Dataset : membuatnya lebih mudah dan lebih cepat untuk query dalam objek sebuat Dataset. Secara khusus,LINQ to Dataset menyederhanakan query dengan memungkinkan developer untuk menulis query dari bahasa pemograman itu sendiri,bukan dengan menggunakan bahsa query yang berbeda.
-          LINQ to SQL : adalah komponen .NET Framework versi 3.5 yang menyediakan infrastruktur runtime untuk mengelola dat relasional sebagai objek2.

Sebuah query harus dimulai dengan keyword form dan diakhiri dengan select / group
select : menentukan jenis nilai yang disebutkan query
group : mengembalikan data dari kelompok
where : menetapkan criteria yang item harus penuhi pada order untuk dikembalikan(returned)

LINQ Query Syntax
Query syntax adalah bentuk deklaratif yang terlihat sangat banyak seperti pernyataan SQL. Syntax query ditulis dalam bentuk ekspresi query
Method Syntax adalah bagian yang sangat penting,yang mana menggunakan method pemanggilan standar. Method terdiri dari satu set yang disebut standart query operator
Kemudian combine kedua bentuk tersebut dalam satu query

Minggu, 16 Juni 2013

Ini tugas OFC ke 2 yang diberikan oleh dosen saya,sama sih ini juga simple banget aplikasinya,hehehe

Soal 1
Soal 1 yang dibahas disini adalah membuat program dimana user akan menginput angka yang diinginkan dan nantinya program akan mengeluarkan output yang menunjukkan bilangan prima dari angka yang di input oleh user tadinya,serta jumlah dari bilangan yang merupakan bilangan prima. Jadi,sebagaimana yang telah diketahui bahwa bilangan prima merupakan :

1. Bilangan yang lebih besar dari 1
2. Faktor pembaginya hanya 1
3. ilangan itu adalah dirinya sendiri.

 Jadi untuk lebih mengerti apa saja bilangan prima tersebut adalah bahwa bilangan prima itu baru akan habis (sisa=0) kalau dibagi 1 atau bilangan itu sendiri.Jadi,disini bisa digunakan fungsi modulus untuk mendapatkan sisa pembagian(dalam c# menggunakan %).

Cara kerja program yang saya buat adalah :

Pada saat program dijalankan,maka akan user akan diminta untuk menginput angka sesuai keinginan untuk mengetahui dari angka yang di input user,bilangan manakah yang termasuk bilangan prima.

Kemudian,selanjutnya user akan menginput angka sesuai keinginan,misalnya angka 10. Maka program akan menjalankan/mengecek dari angka 1 sampai 10, bilangan manakah yang termasuk bilangan prima. Disini digunakan Convert.toInt16 karena range yang digunakan tidak panjang sehingga hanya perlu menggunakan Int16 saja.

Selanjutnya , apabila user menekan enter maka akan muncul deret bilangan yang merupakan bilangan prima. Cara nya adalah dengan menggunakan for(looping untuk mengecek) dan apabila a % b = 0, jika iya maka akan di ++ . Selanjutnya akan di print dengan menggunakan writeLine untuk mengetahui bilangan mana saja yang merupakan bilangan prima dari angka yang sudah di input user tadinya. Dan untuk mengetahui jumlah dari angka yang merupakan bilangan prima disini program yang saya buat adalah dapat dengan menggunakan c = c + a; (dimana sebelumnya sudah di tentukan) untuk melakukan penjumlahan.

Jadi,method ini adalah sebuah code block yang berisi serangkaian statement. Method sangat berguna karena memungkinkan kita untuk memisahkan logika kita ke unit yang berbeda.Selain itu,kita juga dapat menyampaikan informasi dengan menggunakan method,melakukan satu/lebih statement dan mengambil kembali value nya.

Dari 2 type method yang ada , program yang saya gunakan disni adalah menggunakan type method void,dimana merupakan method yang hanya mengeksekusi sekelompok statement dan kemudian berakhir tanpa mengembalikan nilai apapun ke statement yang memanggilnya.

Code nya adalah :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Erlini_15011xxxxx_BilPrima
{
    class Program
    {
        public static void Main(string[] args)
        {
            int a;
            int b;
            int c;
            int d;
            int angka;
            c = 0;

            Console.WriteLine("Masukkan angka:");
            d = Convert.ToInt16(Console.ReadLine());
            Console.WriteLine();
            Console.WriteLine("Deret bilangan prima nya adalah:");
            Console.WriteLine();

            for (a = 2; a <= d; a++)
            {
                angka = 0;
                for (b = 2; b <= Math.Sqrt(a); b++)
                {
                    if (a % b == 0)
                    {
                        angka++;
                    }
                }
                if (angka == 0)
                {
                    Console.WriteLine("{0} merupakan bilangan prima", a);
                    c = c + a;
                }
            }
            Console.WriteLine("\nJumlah dari deret bilangan prima diatas adalah {0}", c);
            Console.ReadLine();
        }
    }
}

Soal 2
Sebelumnya saya akan menjelaskan sedikit tentang Tower Hanoi terlebih dahulu. Tower Hanoi adalah sebuah permainan yang terdiri dari 3 tiang dengan sejumlah disk yang ditumpukkan pada tiang. Permainan ini dilakukan dengan memindahkan sejumlah disk dari tiang satu ke tiang lain dengan menggunakan tiang bantuan. Cara nya yaitu memindahkan semua disk yang berada pada tiang A ke tiang C satu persatu dengan bantuan satu tiang dengan syarat disk yang lebih besar tidak boleh diletakkan diatas disk yang lebih kecil.

Pada saat awal program dijalankan maka :
User akan diminta untuk menginput berapa jumlah disk yang diinginkan .
Misalnya user menginput jumlah disk = 3. Setelah itu,maka akan di beritahu solusi untuk cara memindahkan disk agar dapat berpindah dari satu tiang ke tiang lain dengan bantuan satu tiang dengan memperhatikan syarat nya(tiang yang lebih kecil tidak boleh ditempatkan dibawah tiang  yang lebih besar).

Untuk lebih jelas,aplikasi akan dijelaskan dengan menggunakan flowchart:
Penjelasan :

1. Pertama,pada saat program dijalankan maka akan dimulai dengan “Start”

2. Kemudian proses selanjutnya adalah akan dimasukkan data berupa int x(merupakan inputan user)

3. Selain itu juga ada char A (Tiang A),char B(Tiang B),dan char C(Tiang C)

4. Selanjutnya user akan diminta untuk menginput berapa banyak disk yang ingin dimasukkan

5. Maka,setelah user melakukan input disk , proses selanjutnya akan diread x, a,b, dan c

6. Kemudian akan di cek apakah inputan disk yang dimasukkan user adalah lebih besar dari 0, apabila iya maka proses selanjutnya adalah program akan membaca dan melakukan pemindahan disk pada tiang satu ke tiang lain dengan menggunakan tiang bantuan. Cara kerja pemindahan disk dari satu tiang ke tiang lain dengan tiang pembantu adalah:
 

7.Misalnya disk yang di input adalah 3. Maka pertama akan di cek terlebih dahulu,apakah 3 lebih besar dari 0 ? Dan jawabannya adalah benar, 3 lebih besar dari 0 ,maka akan dijalankan proses Hanoi(x-1,a,c,b) dimana x=3 akan di – 1 = 2 ,maka disk 1 dari Tiang A akan di pindahkan ke tiang B, dan disk 2 dari Tiang A akan dipindahkan ke tiang C.
 

8. Selanjutnya akan dijalankan Hanoi(x-1,c,b,a) dimana (x-1=2, 2-1=1) maka disk 1 akan dipindahkan dari tiang B ke tiang C, dan disk 3 dari tiang A akan dipindahkan ke tiang B.
 

9. Kemudian disk 1 akan dipindahkan dari Tiang C ke tiang A. Dan akhirnya akan dipindahkan disk x dari A ke B” maka hasilnya disk 1 dari tiang A akan dipindahkan ke tiang B.

10. Apabila disk yang diinput oleh user tidak lebih besar dari 0 maka program akan diulangi dari start.


Code nya adalah :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Erlini_15011xxxxx_TowerHanoi
{
    class Program
    {
        static void Main(string[] args)
        {
            int x;
            char a='A', b='B', c='C';
            do
            {
                try
                {
                    Console.Write("Masukkan jumlah disk:");
                    x = Int32.Parse(Console.ReadLine());
                }
                catch (FormatException e)
                {
                    x = -10;
                }
            } while (x == -10 || x >= 10);
           hanoi(x, a, b, c);
            Console.Read();
        }
        static void hanoi(int x, char a, char b, char c)
        {
            if (x > 0)
            {
                hanoi(x - 1, a, c, b);
                move(x, a,b);
                hanoi(x - 1, c, b, a);
            }
        }
        static void move(int x, char a, char b)
        {
            Console.WriteLine("move disk " + x + " from " + a + " to " + b);
        }
    }
}


Dari kedua tugas yang diberikan pada OFC02 ini, dapat membantu saya lebih memahami penggunaan method. Jadi,method merupakan cara yang digunakan untuk membagi program menjadi beberapa bagian, dan method biasanya dgunakan ketika kita ingin mengembangkan program dalam skala besar. Dimana type method sendiri ada 2 yaitu yaitu “void” dan “value - returning ”. Perbedaan nya adalah :
Void : merupakan type method yang tidak mereturn/mengembalikan nilai apapun.
Value-returning : merupakan type method yang mengembalikan value kepada statement yang memanggilnya. Untuk type method ini, yang harus dilakukan adalah menghilangkan keyword void pada method yang kita buat , kemudian digantikan dengan variable kembalian kita, misalnya return value nya  int.
Jadi,program yang dibuat disni adalah menggunakan type method yang pertama yaitu void dimana tidak mengembalikan nilai apapun.




Sekarang saya mau share sediki tugas programming 2 yang diberikan dosen saya,aplikasi ini bener2 sangat simple,tapi mana tau ada yang membutuhkan ^^

Teori dasar yang terkait


Sebelum membuat aplikasi,terlebih dahulu ada baiknya mengerti apa yang dimaksud dengan windows form. Windows form adalah platform baru untuk pembuatan aplikasi Microsoft Windows berbasis .NET Framework. Framework ini menyediakan sekelompok class berorientasi object,dan dapat digunakan untuk membangun aplikasi Windows yang lengkap.

Windows terkait pada user interface yang user lihat dan gunakan dalam melakukan interaksi dengan aplikasi. Sedangkan form lebih dikaitkan pada tampilan design saat pembuatan aplikasi,dimana kita dapat melihat,mengatur property,tampilan maupun menambahkan control.

Form adalah objek yang memiliki properti2 yang mendefinisikan tampilan,method yang mendefinisikan behavior dan event yang mendefinisikan interaksi dengan pengguna.Dengan mengatur property form,kita dapat mengcostumize objek untuk memenuhi kebutuhan aplikasi.

Form adalah instance dari class. Form yang dibuat dengan windows form designer adalah sebuah class,dan saat kita menampilkan sebuah instance dari form pada run time,class adalah template yang digunakan untuk membuat form.

Dalam project Windows forms,form adalah alat utama untuk interaksi user. Dengan mengkombinasikan set control dan koding,kita dapat memperoleh informasi dari pengguna dan memberikan respon,bekerja dengan data yang sudah tersimpan ,melakukan query dan menuliskan kembali ke system file dan register pada computer pengguna. Meskipun form dapat dibuat secara manual kseluruhan di code editor,namun lebih mudah menggunakan windows form designer untuk membuat dan memodifikasi form.

Untuk membuat aplikasi berbasis windows forms dapat dilakukan dengan cara berikut:

1.       pilih menu File

2.       New

3.       Project
 

Setelah tampil dialog New Project, pilih Visual Basic untuk Project Types, karena kita sedang membuat aplikasi menggunakan Visual Basic .NET. Pada Templates pilih Windows Forms Application. Setelah itu tentukan nama proyek yang akan kita buat dengan mengisi kotak Name (sesuaikan nama proyek sesuai proyek/aplikasi yang akan dibuat). Dan tentukan lokasi untuk menyimpan proyek .Jika semua sudah dipilih dan diisi sesuai proyek/aplikasi yang akan dibuat, selanjutnya klik tombol Ok di bagian bawah,seperti pada gambar dibawah ini:

Kemudian  akan tampil form kosong seperti pada gambar dibawah ini :

Disini dapat dibuat aplikasi sesuai dengan keinginan dengan menggunakan toolbox yang sudah disediakan.

Pada toolbox terdapat Kontrol dari lingkungan pengembangan, dan digunakan untuk membuat obyek pada form dengan cara sederhana, yaitu dengan drag and drop.Kontrol dari Windows Forms secara khusus dirancang untuk membangun aplikasi Microsoft Windows, dan kita akan menemukan mereka diorganisasikan pada tab All Windows Forms dari Toolbox. Jendela Toolbox menampilkan alat yang dapat digunakan pada dokumen yang sedang aktif. Alat-alat tersebut akan tersedia bila kita mengedit Windows Form.


Kemudian ada juga yang disebut sebagai Properties,dimana disini kita dapat mengubah karakteristik, atau pengaturan properti, dari elemen user interface yang ada pada form (temasuk komponen didalamnya seperti Button, TextBox, Label,GroupBox,CheckBoxes dan lainnya). Pengaturan properti merupakan salah satu yang menentukan kualitas dari aplikasi yang kita buat. Kita dapat mengubah pengaturan properti dari jendela Properties saat kita sedang menciptakan user interface (pada saat design), atau dapat juga dengan menambahkan koding melalui kode editor untuk mengubah satu atau lebih pengaturan properti saat program berjalan (pada saat runtime).

Berikut contoh tampilan untuk Properties:

 
 
Setelah kita selesai membuat rancangan form dan komponen didalamnya,selanjutnya yang akan dilakukan adalah koding dengan mengklik button dua kali,maka akan masuk ke program code nya.Setelah selesai koding,untuk melihat hasilnya dapat menekan tombol F5 pada keyboard,maka aplikasi akan jalan.

Disini juga terdapat Event Handling yang merupakan suatu metode untuk menangani sebuah event/aksi yang diberikan pengguna kepada suatu komponen GUI. Event adalah suatu peristiwa yang dipicu oleh pengguna pada suatu komponen, misalnya tombol ditekan.Jadi event adalah ketika user berinteraksi dengan komponen GUI. Event handler adalah sebuah metode yang melakukan suatu tugas dalam menanggapi suatu peristiwa. Jadi secara umum dapat dikatakan bahwa Event handling adalah proses keseluruhan untuk merespon event

Penjelasan Program 
Program yang dibuat merupakan suatu program sederhana dengan kebutuhan untuk menginput Nama dan Nim mahasiswa di Binus University. Program ini dibuat dengan menggunakan Visual Studio 2012(Microsof Visual C# 20120 Express),dengan pilihan WindowsFormApplication , agar program yang ditampilkan kelihatan menarik. Program ini dibuat dengan menggunakan 2 buah Label (Nama dan Nim), 2 buah TextBox(Nama dan Nim) yang dapat diinput sesuai keinginan user,dan 2 buah Button(Simpan Data dan Data Baru) dengan beberapa control.


Berikut ditampilkan code nya :

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

namespace Erlini_15011xxxxx
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
                String angka = TBNim.Text;
                int angka1;
                Boolean valid;
                try
                {
                    angka1 = int.Parse(angka);
                    valid = true;
                }
                catch (Exception)
                {
                    valid = false;
                }
           
                if (TBNama.Text == "")
                {
                    MessageBox.Show("Maaf,nama harus diisi !", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else if (TBNim.Text == "")
                {
                    MessageBox.Show("Maaf,nim harus diisi !", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else if (TBNim.Text.Length < 10)
                {
                    MessageBox.Show("Maaf,NIM anda tidak lengkap !", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else if (TBNim.Text.Length > 10)
                {
                    MessageBox.Show("Maaf,NIM tidak boleh lebih dari 10 angka !", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else if(valid==false)
                {
                    MessageBox.Show("Maaf,NIM harus berupa angka !","Error",MessageBoxButtons.OK,MessageBoxIcon.Error);
                }
                else
                {
                    MessageBox.Show("Nama: " + TBNama.Text + "\nNim   : " + TBNim.Text, "Simpan data", MessageBoxButtons.OK);
                    TBNama.BackColor = Color.Gray;
                    TBNim.BackColor = Color.Gray;
                    MessageBox.Show("Terimakasih,data telah di simpan", "Confirm", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                  }
        private void ButtonDB_Click(object sender, EventArgs e)
        {
            TBNama.Text = "";
            TBNama.BackColor = Color.White;
            TBNim.Text="";
            TBNim.BackColor = Color.White;
        }
        private void TBNama_KeyPress(object sender, KeyPressEventArgs e)
        {
            char keychar = e.KeyChar;
            if(keychar==13)
            {
                TBNim.Focus();
            }
        }
        private void TBNim_KeyPress(object sender, KeyPressEventArgs e)
        {
            char keychar = e.KeyChar;
            if(keychar==13)
            {
                ButtonSD.Focus();
            }
        }
    }
}
 
Jadi,inti dari aplikasi sederhana ini adalah user akan diminta untuk mengisi nama dan nim,dimana sudah ada validasi nya . Jika apa yang diminta aplikasi tidak sesuai dengan yang diinput maka akan dimunculkan mbox.

Flowchart nya sebagai berikut:

1. Program dimulai dengan “Start”

2. Decision disini menjelaskan :

-          Apabila user menekan button Simpan Data tanpa mengisi Nama pada TextBox , maka akan muncul MessageBox “Nama harus diisi”

-          Apabila user tidak menekan button Simpan Data,maka akan dilanjutkan ke proses selanjutnya yaitu menginput Nama

3. Setelah menginput Nama,maka akan ada decision yang menjelaskan:

-          Apabila user menekan button Simpan Data tanpa mengisi Nim pada TextBox ,maka akan muncul MessageBox “Nim harus diisi”

-          Apabila user tidak menekan button Simpan Data,maka akan dilanjutkan ke proses selanjutnya yaitu menginput Nim

4. Setelah menginput Nama dan Nim maka user akan menekan button Simpan Data

5. Kemudian akan muncul MessageBox Simpan Data yang berisi Nama dan Nim sesuai inputan user

6. Kemudian user akan menekan button OK pada MessageBox Simpan data dan akan ditampilkan kembali Form OFC01_GUI dengan background pada TextBox nama dan nim yang sudah berubah menjadi warna abu-abu(menunjukkan bahwa data telah disimpan)

Setelah itu terdapat decision :

-          Apabila user kembali menekan button Simpan data maka akan ditampilkan kembali MessageBox Simpan Data dan dilanjutkan proses selanjutnya

-          Namun apabila user menekan button Data Baru maka akan dibuka Form OFC01_GUI yang baru,yang mana data sudah dibersihkan dari TextBox dn user dapat kembali menginput Nama dan Nim sesuai keinginan. Dan proses kembali dilanjutkan seperti yang dijelaskan diatas.
 
Kesimpulan yang saya dapatkan dari tugas ini adalah pemahaman tentang GUI dengan menggunakan c#. Dimana terdapat sangat tool yang bisa digunakan dalam membuat sebuah program. Pada program ini tool yang digunakan adalah Label,TextBox,dan Button. Sebenarnya masih sangat banyak tool yang bisa digunakan seperti radioButton(untuk male/female),comboBox,checkbox,dll,tergantung kebutuhan. Dan pada program ini event yang digunakan adalah “KeyPress”,dimana pada saat user menekan enter maka dari textbox Nama akan berpindah ke textbox Nim. Selain itu,event lain yang digunakan adalah button Click,dimana pada saat user mengklik button “Simpan Data” atau “Data baru” akan ada event yang terjadi,misalnya pada saat mengklik button “Simpan Data” akan muncul MesageBox konfirmasi.