Sesi 7
by : Ng Poi Wong, S.Kom., M.T.I.
Dynamic Link Library (DLL)
Dynamic Link Library • • • •
Class Library Form Dinamis User Control Windows Forms Control Library
Pemrograman Berorientasi Objek
2
Class Library • Dynamic Link Library (DLL) dapat berupa berbasis teks dan visual. • DLL berbasis teks dibuat melalui Class Library, sedangkan berbasis visual melalui Windows Forms Control Library. • Dengan menggunakan DLL, dapat dibangun kumpulan prosedur atau fungsi yang dapat digunakan oleh project lain, termasuk project lintas bahasa pemrograman visual studio. Pemrograman Berorientasi Objek
3
Class Library • Contoh : Buat 1 solution dengan 1 project Class Library dengan nama clsTesting. • Secara otomatis, di dalam project tersebut telah tersedia 1 kelas dengan nama Class1. • Ganti nama Class1 menjadi clsMate. • Tambahkan 1 kelas lagi ke dalam project tersebut dengan nama clsString.
Pemrograman Berorientasi Objek
4
Class Library • Tuliskan kode program berikut ke dalam kelas clsMate : public int A { set; public int B { set; public int tambah() return A + B; } public int kurang() return A - B; }
get; } get; } {
{
Pemrograman Berorientasi Objek
5
Class Library • Pada clsString, tambahkan statement public ke bagian deklarasi kelas sehingga menjadi : public class ClsString
• Tuliskan kode program berikut ke dalam kelas clsString : public string namaDepan { set; get; } public string namaBelakang { set; get; } public string namaLengkap() { return String.Concat(namaDepan, " ", namaBelakang); }
Pemrograman Berorientasi Objek
6
Class Library • Buatkan 1 project baru (bebas mau project apapun, dapat berupa project dengan bahasa pemrograman yang berbeda). Project baru ini bebas apakah berada dalam 1 solution yang sama, atau solution baru. • Lakukan Add Reference untuk menambahkan daftar DLL baru, yakni clsTesting.dll.
Pemrograman Berorientasi Objek
7
Class Library • Pada View Code dari project baru tersebut, tambahkan baris program berikut ke bagian teratas dari View Code : using clsTesting;
• Untuk dapat menggunakan ke-2 kelas yang ada di dalam clsTesting, maka harus dibuat objek dari ke-2 kelas tersebut, misalnya : ClsMate mate = new ClsMate(); ClsString str = new ClsString();
Pemrograman Berorientasi Objek
8
Form Dinamis • Untuk membangun program tanpa harus mendesain tampilan Form dengan Click and Drag, melainkan desainnya dibangun dengan kode program. • Dengan Form Dinamis, dapat dibangun Windows Forms Application melalui Console Application. • Contoh : Buat 1 project dengan 1 Form (Form1). Pemrograman Berorientasi Objek
9
Form Dinamis • Tuliskan kode program berikut ke kelas Form1 bagian deklarasi : Label label1 = new Label(); Label label2 = new Label(); Label label3 = new Label(); Label lblHasil = new Label(); TextBox txtA = new TextBox(); TextBox txtB = new TextBox(); Button btnTambah = new Button(); Button btnTutup = new Button();
Pemrograman Berorientasi Objek
10
Form Dinamis • Tambahkan kode program berikut ke dalam constructor Form1 : this.Font = new Font("Courier New", 10, FontStyle.Bold); this.Size = new Size(220, 210); this.ControlBox = false; this.StartPosition = FormStartPosition.CenterScreen; this.Text = "Form Dinamis"; label1.Location = new Point(12, 15); label1.Size = new Size(80, 16); label1.Text = "Nilai A ="; label2.Location = new Point(12, 43); label2.Size = new Size(80, 16); label2.Text = "Nilai B =";
Pemrograman Berorientasi Objek
11
Form Dinamis label3.Location = new Point(12, 108); label3.Size = new Size(80, 16); label3.Text = "Hasil ="; lblHasil.Location = new Point(98, 101); lblHasil.AutoSize = false; lblHasil.BorderStyle = BorderStyle.Fixed3D; lblHasil.Size = new Size(100, 30); lblHasil.TextAlign = ContentAlignment.MiddleCenter; lblHasil.Text = ""; txtA.Location = new Point(98, 12); txtA.Size = new Size(100, 22); txtA.KeyPress += new KeyPressEventHandler(keypressed); txtB.Location = new Point(98, 40); txtB.Size = new Size(100, 22); txtB.KeyPress += new KeyPressEventHandler(keypressed); Pemrograman Berorientasi Objek
12
Form Dinamis btnTambah.Location = new Point(98, 68); btnTambah.Size = new Size(100, 30); btnTambah.Text = "Tambah"; btnTambah.Click += new EventHandler(tambah); btnTutup.Location = new Point(12, 134); btnTutup.Size = new Size(186, 30); btnTutup.Text = "Tutup"; btnTutup.Click += new EventHandler(tutup); this.Controls.Add(lblHasil); this.Controls.AddRange(new Control[] { label1, label2, label3 }); this.Controls.AddRange(new Control[] { txtA, txtB }); this.Controls.AddRange(new Control[] { btnTambah, btnTutup });
Pemrograman Berorientasi Objek
13
Form Dinamis • Saat menuliskan baris program untuk menambahkan event handler, secara otomatis akan menambahkan prosedur yang akan dieksekusi oleh event tersebut, yakni prosedur keypressed, tambah, dan tutup. • Tuliskan kode program berikut ke dalam prosedur keypressed : if (!((Keys)e.KeyChar >= Keys.D0 && (Keys)e.KeyChar <= Keys.D9 || (Keys)e.KeyChar == Keys.Back)) e.KeyChar = (char)Keys.None;
Pemrograman Berorientasi Objek
14
Form Dinamis • Tuliskan kode program berikut ke dalam prosedur tambah : lblHasil.Text = (Convert.ToInt32(txtA.Text) + Convert.ToInt32(txtB.Text)).ToString();
• Tuliskan kode program berikut ke dalam prosedur tutup : this.Close();
• Jalankan programnya dan lihat hasilnya
Pemrograman Berorientasi Objek
15
User Control • Merupakan fitur untuk membuat objek kontrol sendiri, sehingga hasilnya akan muncul objek kontrol baru ke dalam ToolBox. • Setiap objek kontrol memiliki properties tersendiri, dimana tipe dari setiap elemen properties dapat berupa string, numerik, enum, dan sebagainya.
Pemrograman Berorientasi Objek
16
User Control • Contoh : Buat 1 project dengan 1 Form (Form1), kemudian tambahkan 1 UserControl (UserControl1). Pada UserControl tersebut, pasangkan masing-masing 1 TextBox (txtUC), 1 Button (btnUC), dan 1 Label (lblUC). • Tuliskan baris program berikut pada event Click pada tombol btnUC : lblUC.Text = txtUC.Text;
Pemrograman Berorientasi Objek
17
User Control • Tambahkan assesor dan mutator berikut ke dalam UserControl1 : public string teks { set { txtUC.Text = value; } get { return txtUC.Text; } }
Pemrograman Berorientasi Objek
18
User Control • Tambahkan lagi assesor dan mutator berikut ke dalam UserControl1 : public Font labelFont { set { lblUC.Font = value; } get { return lblUC.Font; } }
Pemrograman Berorientasi Objek
19
User Control • Lakukan Build pada project tersebut, kemudian masuk ke View Designer dari Form1. Perhatian pada jendela ToolBox, apa yang terjadi ? • Pasangkan UserControl1 pada Form1, kemudian perhatikan jendela Properties dari UserControl1, apa yang terjadi ?
Pemrograman Berorientasi Objek
20
User Control • Tambahkan assesor dan mutator berikut ke dalam UserControl1 : public bool labelAutoSize { set { lblUC.AutoSize = value; } get { return lblUC.AutoSize; } }
Pemrograman Berorientasi Objek
21
User Control • Kemudian tambahkan 1 enumerasi berikut ke dalam UserControl1 : public enum borderStyle { Normal = 0, FixedSingle = 1, Fixed3D = 2 }
• Kemudian tambahkan assesor dan mutator berikut ke dalam UserControl1 : Pemrograman Berorientasi Objek
22
User Control public borderStyle labelBorderStyle { set { lblUC.BorderStyle = (BorderStyle)value; } get { return (borderStyle)lblUC.BorderStyle; } }
• Lakukan Build kembali pada project, kemudian lihat apa yang terjadi pada jendela Properties dari UserControl1. Pemrograman Berorientasi Objek
23
Windows Forms Control Library • Merupakan fitur untuk membangun DLL berbasis visual. • DLL tersebut berupa Control Library yang dapat digunakan lintas project (dapat beda bahasa). • Contoh : Buat 1 project baru berupa Windows Forms Control Library, kemudian lakukan langkah yang sama dengan contoh User Control. Lakukan Build setelah selesai. Pemrograman Berorientasi Objek
24
Windows Forms Control Library • Buatkan lagi 1 project baru (bebas mau project apapun, dapat berupa project dengan bahasa pemrograman yang berbeda). Project baru ini bebas apakah berada dalam 1 solution yang sama, atau solution baru. • Lakukan Add Reference untuk menambahkan daftar DLL baru, yakni WindowsFormsControlLibrary1.dll. • Perhatian apa yang terjadi pada jendela ToolBox. Pemrograman Berorientasi Objek
25
Pemrograman Berorientasi Objek
26