Upload
aunur-rofik
View
48
Download
7
Embed Size (px)
DESCRIPTION
visual basic
Citation preview
LAPORAN PRAKTIKUM MODUL 8
PEMOGRAMAN VISUAL
Reni Dwi Astutik
130533608139
OFF E
UNIVERSITAS NEGERI MALANG
FAKULTAS TEKNIK ELEKTRO
PROGRAM STUDI S1 PENDIDIKAN TEKNIK
INFORMATIKA
MARET, 2015
LABORATORIUM KOMPUTER
Fakultas Teknik Elektro - Universitas Negeri Malang
Jl.Semarang, Jawa Timur
Nama Reni Dwi Astutik
Nim 130533608139
Prodi S1 Pendidikan Teknik Informatika
Dosen Pembimbing 1. Ashar Ahmad, M.Pd
2. Ahmad Mursyidun Nidhom, M.Pd
APLIKASI WINDOWS LANJUT
A. TUJUAN Memahami komponen-komponen lanjut aplikasi Windows Form. Mampu menggunakan menu, menu popup, tool bar, dan status bar. Mampu menghasilkan aplikasi dengan konsep Multiple Document
Interface (MDI).
B. DASAR TEORI1. Menu
Keberadaan menu memungkinkan pemakai akhir untuk mengakses perintah-perintah dan fungsi-fungsi level atas dalam antarmuka yang familiar dan mudah dipahami. Di Windows Form, menu utama direpresentasikan oleh objek MenuStrip (atau MainMenu). Menu ini berperan sebagai container—yang nantinya akan menampung item-item menu—dalam struktur menu.
2. Menu PopUp Selain dalam bentuk menu bar, menu juga dapat diwujudkan sebagai popup. Jenis menu ini umumnya memerlukan pemicu—misalnya klik kanan—agar dapat ditampilkan.
3. Tool Bar Pada umumnya, tool bar menyediakan akses ke fitur-fitur—dengan frekuensi penggunaan cukup tinggi—yang juga dapat diakses melalui menu.Di Windows Form, tool bar direpresentasikan oleh objek ToolBar, dan button-button di dalamnya direpresentasikan oleh objek ToolBarButton.
4. MDIPada saat membuat aplikasi Windows, kita dapat menggunakan style aplikasi single-document interface (SDI) atau multiple-document interface (MDI). MDI menyediakan metodologi untuk menghasilkan antarmuka “document-centric”. Salah satu keuntungan dari MDI adalah mereduksi clutter dan meningkatkan efisiensi penggunaan ruang layar.
C. LATIHAN1. Menu
Script
Public Class Form1
Private Sub RichTextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RichTextBox1.TextChanged
End Sub
Private Sub mnuCut_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuCut.Click If Me.RichTextBox1.SelectedText <> "" Then Me.RichTextBox1.Cut() End If End Sub
Private Sub mnuCopy_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles mnuCopy.Click If Me.RichTextBox1.SelectedText <> "" Then Me.RichTextBox1.Copy() End If End Sub
Private Sub mnuPaste_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuPaste.Click Me.RichTextBox1.Paste() End Sub
Private Sub mnuAll_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuAll.Click Me.RichTextBox1.SelectAll() End Sub
End Class
Hasil
Keterangan program diatas merupakan sebuah program dengan beberapa komponen yang dengan adanya penambahan tool richtextbox dimana kita bisa menuliskan angka maupun huruf di dalamnya dapat pula dikatakan sebagai notepad sederhana dengan penambahan aksi-aksi seperti cut,copy,paste dll pada menustrip. di dalam menu-menu tersebut yang telah di tuliskan syntak dengan perkondisian. sebgai contoh setelah menyeleksi huruf pada richtextbox yang akan di cut kemudian klik menu cut Private Sub mnuCut_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuCut.Click
If Me.RichTextBox1.SelectedText <> "" Then Me.RichTextBox1.Cut()
dan untuk menu lainnya sudah ada pada syntax diatas.
2. Menu PopUpScript
Public Class Form1
Private Sub RichTextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RichTextBox1.TextChanged
End Sub
Private Sub mnuCut_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuCut.Click If Me.RichTextBox1.SelectedText <> "" Then Me.RichTextBox1.Cut() End If End Sub
Private Sub mnuCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuCopy.Click If Me.RichTextBox1.SelectedText <> "" Then Me.RichTextBox1.Copy() End If End Sub
Private Sub mnuPaste_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuPaste.Click Me.RichTextBox1.Paste() End Sub
Private Sub mnuAll_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuAll.Click Me.RichTextBox1.SelectAll() End Sub
Private Sub popCut_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles popCut.Click If Me.RichTextBox1.SelectedText <> "" Then Me.RichTextBox1.Cut() End If End Sub
Private Sub popCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles popCopy.Click If Me.RichTextBox1.SelectedText <> "" Then Me.RichTextBox1.Copy() End If End Sub
Private Sub popPaste_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles popPaste.Click Me.RichTextBox1.Paste() End Sub
Private Sub popAll_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles popAll.Click Me.RichTextBox1.SelectAll() End Sub
End Class
Hasil
KeteranganProgram latihan 2 ini sama dengan latihan 1 tetapi dengan penambahan menu popup. ketika kita meng-klik kanan pana richtextbox maka akan muncul menu tersebut. isi menu tersebut sama pada yang terdapat pada menustrip. dengan menambahkan komponen ContextMenuStrip pada form kemudian tuliskan menu-menu yang sama pada menu bstrip seperti cut,copy dll. dengan mengubah value “ContextMenuStrip” pada properties RichTextbox agar pada saat di klik menu tersebut muncul.
3. ToolbarScript
Public Class Form1
Private Sub mnuCut_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuCut.Click If Me.RichTextBox2.SelectedText <> "" Then Me.RichTextBox2.Cut() End If End Sub
Private Sub mnuCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuCopy.Click If Me.RichTextBox2.SelectedText <> "" Then Me.RichTextBox2.Copy() End If End Sub
Private Sub mnuPaste_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuPaste.Click Me.RichTextBox2.Paste() End Sub
Private Sub mnuAll_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuAll.Click
Me.RichTextBox2.SelectAll() End Sub
Private Sub popCut_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles popCut.Click If Me.RichTextBox2.SelectedText <> "" Then Me.RichTextBox2.Cut() End If End Sub
Private Sub popCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles popCopy.Click If Me.RichTextBox2.SelectedText <> "" Then Me.RichTextBox2.Copy() End If End Sub
Private Sub popPaste_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles popPaste.Click Me.RichTextBox2.Paste() End Sub
Private Sub popAll_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles popAll.Click Me.RichTextBox2.SelectAll() End Sub
Private Sub btnCut_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCut.Click If Me.RichTextBox2.SelectedText <> "" Then Me.RichTextBox2.Cut() End If End Sub
Private Sub btnCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCopy.Click If Me.RichTextBox2.SelectedText <> "" Then Me.RichTextBox2.Copy() End If End Sub
Private Sub btnPaste_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPaste.Click Me.RichTextBox2.Paste() End Sub
End Class
Hasil
Keterangan Latihan 3 ini merupakan penyempurnaan dari latihan sebelumnya. pada latihan ini kita menambahkan menu toolbar yang merupakan menu di bawah menu strip dengan cara menambahkan ToolStrip agar terdapat gambar kita harus mengimport gambar. untuk syntaknya sama dengan dengan pada sytak menusrtip dan menu popup.
4. Multiple Document Interface (MDI)Script
Public Class Form1
Private Sub mnuNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuNew.Click ' Instansiasi frmChild Dim MDIChild As New FrmChild ' Menetapkan current MDI Parent d MDIChild.MdiParent = Me ' Men-set title di child window MDIChild.Text = "Window " ' Menampilkan form MDIChild.Show() End Sub
Private Sub mnuHorizontally_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuHorizontally.Click Me.LayoutMdi(MdiLayout.TileHorizontal) End Sub
Private Sub mnuVertically_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuVertically.Click Me.LayoutMdi(MdiLayout.TileVertical) End Sub
Private Sub mnuCascade_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuCascade.Click Me.LayoutMdi(MdiLayout.Cascade) End Sub
Private Sub mnuArrange_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles mnuArrange.Click Me.LayoutMdi(MdiLayout.ArrangeIcons) End Sub
Private Sub mnuClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuClose.Click ' Menutup semua child window For Each ChildForm As Form In Me.MdiChildren ChildForm.Close() Next End Sub
End Class
Hasil
Keterangan Latihan 4 diatas merupakan implementasi dari MDI (Multiple Document Interface). terdapat 2 buah form sebagai form anak dan form induk. pada form anak juga ditambahkan komponen RichTextbox. ubah nilai isMdiContainer pada form indul di properties menjadi true. MDIChild.MdiParent = Me
adalah inisialisasi bahwa form satu sebagau induk(parent). pada form desugn anak tidak perlu dituliskan syntak. kemudian untuk mengatur posisi windows seperti horizontal, vertical dll pada menu strip windows telah dituliskan menunya dan kemudian di berikan script sebagi contoh untuk menu agar windows menjadi horizontal Me.LayoutMdi(MdiLayout.TileHorizontal)
5. Kotak DialogScript
Public Class Form1
Private Sub mnuNew_Click(ByVal sender As Object, ByVal e As EventArgs) Handles mnuNew.Click ' Instansiasi frmChild Dim MDIChild As New FrmChild ' Menetapkan current MDI Parent d MDIChild.MdiParent = Me ' Men-set title di child window MDIChild.Text = "Window " ' Menampilkan form MDIChild.Show()
End Sub
Private Sub mnuHorizontal_Click(ByVal sender As Object, ByVal e As EventArgs) Handles mnuHorizontally.Click Me.LayoutMdi(MdiLayout.TileHorizontal) End Sub
Private Sub mnuVertical_Click(ByVal sender As Object, ByVal e As EventArgs) Handles mnuVertically.Click Me.LayoutMdi(MdiLayout.TileVertical) End Sub
Private Sub mnuCascade_Click(ByVal sender As Object, ByVal e As EventArgs) Handles mnuCascade.Click Me.LayoutMdi(MdiLayout.Cascade) End Sub
Private Sub mnuArrange_Click(ByVal sender As Object, ByVal e As EventArgs) Handles mnuArrange.Click Me.LayoutMdi(MdiLayout.ArrangeIcons) End Sub
Private Sub mnuClose_Click(ByVal sender As Object, ByVal e As EventArgs) Handles mnuClose.Click ' Menutup semua child window For Each ChildForm As Form In Me.MdiChildren Dim dlg As DialogResult dlg = MessageBox.Show("Are You Sure to Close All Windows?", "Warning", MessageBoxButtons.YesNoCancel) Select Case dlg Case Windows.Forms.DialogResult.Yes ChildForm.Close() Case Windows.Forms.DialogResult.No Console.WriteLine("No clicked") Case Windows.Forms.DialogResult.Cancel Console.WriteLine("Cancel clicked") End Select
Next End SubEnd Class
Hasil
Keteranganprogram diatas merupakan penyempurnaan dari program sebelumnya dengan penambahan kotak dialog yang menampilkan peringatan untuk menutup semua jendela yang aktif. terdapat 3 case dalam peringatan yang dijadikan 3 opsi pada saat dijalankan yaitu tombol yes apabila ingin menutup windows kemudiam ada uga no dan cancl yang apabila di klik maka program tidak akan menutupkan jendela.
6. Custom ControlScript
Public Class Form1
Private Sub mnuNew_Click(ByVal sender As Object, ByVal e As EventArgs) Handles mnuNew.Click ' Instansiasi frmChild Dim MDIChild As New FrmChild ' Menetapkan current MDI Parent d MDIChild.MdiParent = Me ' Men-set title di child window MDIChild.Text = "Window " ' Menampilkan form MDIChild.Show()
End Sub
Private Sub mnuHorizontal_Click(ByVal sender As Object, ByVal e As EventArgs) Handles mnuHorizontally.Click Me.LayoutMdi(MdiLayout.TileHorizontal) End Sub
Private Sub mnuVertical_Click(ByVal sender As Object, ByVal e As EventArgs) Handles mnuVertically.Click Me.LayoutMdi(MdiLayout.TileVertical) End Sub
Private Sub mnuCascade_Click(ByVal sender As Object, ByVal e As EventArgs) Handles mnuCascade.Click
Me.LayoutMdi(MdiLayout.Cascade) End Sub
Private Sub mnuArrange_Click(ByVal sender As Object, ByVal e As EventArgs) Handles mnuArrange.Click Me.LayoutMdi(MdiLayout.ArrangeIcons) End Sub
Private Sub mnuClose_Click(ByVal sender As Object, ByVal e As EventArgs) Handles mnuClose.Click ' Menutup semua child window For Each ChildForm As Form In Me.MdiChildren Dim dlg As DialogResult dlg = MessageBox.Show("Are You Sure to Close All Windows?", "Warning", MessageBoxButtons.YesNoCancel) Select Case dlg Case Windows.Forms.DialogResult.Yes ChildForm.Close() Case Windows.Forms.DialogResult.No Console.WriteLine("No clicked") Case Windows.Forms.DialogResult.Cancel Console.WriteLine("Cancel clicked") End Select
Next End Sub
End Class
Public Class RedLabel Inherits Label Sub New() ' Misal men-set warna label Me.ForeColor = Color.Red End Sub
End Class
Hasil
Keterangan program diatas sama seperti latihan sebelumnya hanya saja dengan penambahan custom control yang dapat di buat dengan sistem pewarisan. caranya adalah menambah item/membuat class baru dan dibuatlah syntax untuk membuat custom
control. kemudian pada menu toolbox akan muncul custom control itu. jika kita ingin menggunakannya tinggal di drag di dalam form.
D. TUGAS PRAKTIKUM1. Tambahkan form login pada project MDI yang telah Anda buat. Gunakan
pernyataan kondisional If untuk simulasi validasi identitas. Skenarionya cukup sederhana, di mana jika validasi berhasil, tampilkan form MDI; sebaliknya jika gagal, tutup aplikasi.Script
Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If TextBox1.Text = "admin" And TextBox2.Text = "admin" Then MessageBox.Show("Welcome to the Login Form", "Login Form", MessageBoxButtons.OK, MessageBoxIcon.Asterisk) Form2.Show() Me.Hide() Else MessageBox.Show("Wrong Password or Username!!Double Check Your Username and Password ", "WARNING !!!", MessageBoxButtons.OK, MessageBoxIcon.Error) End If End SubEnd Class
Public Class Form2
Private Sub mnuCut_Click(ByVal sender As Object, ByVal e As EventArgs) Handles mnuCut.Click If Me.RichTextBox1.SelectedText <> "" Then Me.RichTextBox1.Cut() End If End Sub
Private Sub mnuCopy_Click(ByVal sender As Object, ByVal e As EventArgs) Handles mnuCopy.Click If Me.RichTextBox1.SelectedText <> "" Then Me.RichTextBox1.Copy() End If End Sub
Private Sub mnuPaste_Click(ByVal sender As Object, ByVal e As EventArgs) Handles mnuPaste.Click Me.RichTextBox1.Paste() End Sub
Private Sub mnuAll_Click(ByVal sender As Object, ByVal e As EventArgs) Handles mnuAll.Click Me.RichTextBox1.SelectAll() End SubEnd Class
Hasil
KeteranganProgram tugas praktikum diatas hampir sama dengan latihan-latihan sebelumnya hanya saja pada program ini diperlukan login agar dapat membuka notepad. agar pada text password tidak terlihat hurufnya maka paa properties textbox untuk password UseSystemPassword diubah menjadi true. Setelah login mendapat 2 kondisi yaitu saat login gagal dan berhasil akan muncul kotak dialog. dimana pada saat login berhasil kotak dialog kita klik ok dan akan menutup kemudian akan terbuka notepadnya sedangkan jika login gagal akan muncul kotak dialog peringatan bahwa username/password salah dan ketika kita klik ok maka akan kembali ke form login. untuk password dan username kita langsung mengisinya paa syntax program.
2. Tambahkan status bar di aplikasi MDI Anda, misal untuk menampilkan current time.Script
Public Class Form1
Private Sub mnuCut_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuCut.Click If Me.RichTextBox1.SelectedText <> "" Then Me.RichTextBox1.Cut() End If End Sub
Private Sub mnuCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuCopy.Click If Me.RichTextBox1.SelectedText <> "" Then
Me.RichTextBox1.Copy() End If End Sub
Private Sub mnuPaste_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuPaste.Click Me.RichTextBox1.Paste() End Sub
Private Sub mnuAll_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuAll.Click Me.RichTextBox1.SelectAll() End Sub
Private Sub popCut_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles popCut.Click If Me.RichTextBox1.SelectedText <> "" Then Me.RichTextBox1.Cut() End If End Sub
Private Sub popCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles popCopy.Click If Me.RichTextBox1.SelectedText <> "" Then Me.RichTextBox1.Copy() End If End Sub
Private Sub popPaste_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles popPaste.Click Me.RichTextBox1.Paste() End Sub
Private Sub popAll_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles popAll.Click Me.RichTextBox1.SelectAll() End Sub Private Sub StatusStrip1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StatusStrip1.Click Me.Close() End SubEnd Class
Hasil
Keterangan
Program tugas parktikum diatas sama dengan program latihan tetapi ada tambahan komponen statusstrip sebagai status bar. dengan syntak Private Sub StatusStrip1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles StatusStrip1.Click Me.Close() maka ketika statusstrip ini diketik maka akan close/exit jangan lupa menuliskan text close pada statusstrip ini. untuk tambahan saya menuliskan label juga.
E. TUGAS RUMAH1. Buat custom control bernama NumericTextBox. Kontrol ini hanya dapat
menerima masukan berupa bilangan. Buat juga kode untuk menguji fungsionalitasnya.Script
Public Class NumericTextBox Inherits System.Windows.Forms.TextBox
Protected Overrides Sub onkeypress(ByVal e As System.Windows.Forms.KeyPressEventArgs) If Not Char.IsDigit(e.KeyChar) And e.KeyChar <> ChrW(Keys.Back) And e.KeyChar <> ChrW(Keys.Delete) Then MessageBox.Show("Input the Number", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning) e.Handled = True Else e.Handled = False End If End SubEnd Class
Hasil
Keterangan Program ini hampir sama dengan dengan latihan 6 yaitu membuat custom control. dimana custom control hanya dapat menerima inputan angka saja. seperti yang telah ditulisankan pada syntax program. setealh mebuat custom control tersebut
pada menu toolbox akan muncul kemudian drag kearah form. jika bukan angka If Not Char.IsDigit(e.KeyChar) maka akan ada peringatan muncul dari textbox dan otomatis inputan akan terhapus. dan jika angka maka akan bernilai true. sehingga kita dapat menginputkan angka.
F. KESIMPULAN
G. DAFTAR PUSTAKATim Asdos FT UM. 2015. Modul 8 Praktikum Pemrograman Visual – Multiple
Document Interface. Malang: Universitas Negeri Malang.